/* Planner uses the site palette while keeping its functional controls intact. */
.study-page{--border:var(--line);--blue:var(--ink)}
.study-page main,.study-page footer{max-width:1200px;margin:auto;padding-left:40px;padding-right:40px}
.study-page button,.file-button{cursor:pointer;border:1px solid #b8c2b2;border-radius:4px;padding:10px 17px;background:var(--surface);color:var(--ink);font-weight:500;min-height:44px;font-size:13px}
.study-page button:disabled{cursor:not-allowed;opacity:.5;transform:none}
.study-page .primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.study-page .intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:42px 0 32px}
.study-page h1{font-size:clamp(38px,4.4vw,58px);line-height:1.1;margin:0;letter-spacing:-.045em}
.study-page h1 em{font-style:normal}
.study-page h2{font-size:24px;letter-spacing:-.6px;line-height:1.2;margin:0}
.study-page .intro p:last-child{color:var(--muted);margin:14px 0 0;font-size:14px}
.local-badge{font-size:11px;color:var(--muted);white-space:nowrap}
.local-badge:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:7px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;padding:18px 0}
.stat{padding:0 28px}.stat:first-child{padding-left:0}.stat+.stat{border-left:1px solid var(--line)}
.stat span,.stat small{display:block;color:var(--muted);font-size:11px}.stat span{font-size:12px}
.stat strong{display:block;font-family:var(--serif);font-size:35px;font-weight:400;line-height:1.3;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:5px 0}
.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:24px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:27px;min-width:0}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pill{background:var(--wash);color:var(--ink);font-size:10px;border-radius:3px;padding:5px 9px;white-space:nowrap}
.muted{color:var(--muted);font-size:13px}.timer-panel>p.muted{margin:10px 0 0;min-height:20px}
.clock-area{text-align:center;padding:31px 0 13px}.phase{color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.16em}
.clock{font-family:var(--sans);font-size:clamp(72px,7.8vw,104px);font-weight:450;letter-spacing:-6px;line-height:1.22;font-variant-numeric:tabular-nums;margin:5px 0}
.clock-area p{color:var(--muted);font-size:12px;min-height:20px;margin:8px 0 15px}
.timer-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.timer-actions .primary,.timer-actions #pause{min-width:200px;background:var(--ink);color:var(--surface);font-size:15px;min-height:49px;border-color:var(--ink)}
.timer-help{font-size:11px;color:var(--muted);text-align:center;margin:14px 0 25px}
progress{appearance:none;display:block;width:100%;height:4px;border:0;border-radius:1px;background:#e7e8da;color:var(--ink);overflow:hidden}
progress::-webkit-progress-bar{background:#e7e8da}progress::-webkit-progress-value{background:var(--ink)}progress::-moz-progress-bar{background:var(--ink)}
#interval-progress::-webkit-progress-value{background:var(--accent)}#interval-progress::-moz-progress-bar{background:var(--accent)}
.settings{border-top:1px solid var(--line);padding-top:11px}.settings summary,.data-panel summary{cursor:pointer;font-size:12px;font-weight:550;min-height:44px;padding:10px 0}
.settings form{margin-top:14px}.device-note,.hint{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0 15px}.device-note{margin:10px 0 0;font-size:11px;max-width:450px}
.step-label{font-size:9px;color:var(--accent);font-weight:650;letter-spacing:.12em}.plan-panel form{margin-top:23px}
fieldset{padding:0;border:0;margin:0;min-width:0}label{display:block;font-size:12px;font-weight:500;margin-bottom:17px}label span{font-weight:400;color:var(--muted)}
input[type=text],input[type=date],input[type=number]{display:block;width:100%;min-width:0;height:45px;padding:9px 11px;background:var(--surface);border:1px solid #bec7b7;border-radius:4px;font-size:16px;color:var(--ink);margin-top:7px}
input:disabled{background:#f0f0e8;opacity:.7}input::placeholder{color:#72796c}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.days legend{font-size:12px;font-weight:500;margin-bottom:10px}.weekday-picker{display:flex;gap:7px;justify-content:space-between}.weekday-picker label{position:relative;flex:1;text-align:center;margin:0}.weekday-picker input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;margin:0;cursor:pointer}.weekday-picker span{display:flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:4px;font-size:12px;font-weight:500;color:var(--muted);pointer-events:none}.weekday-picker input:checked+span{background:var(--wash);color:var(--ink);border-color:#9aac93}.weekday-picker input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.weekday-picker input:disabled+span{opacity:.55}.full{width:100%}
.plan-progress{border-top:1px solid var(--line);padding-top:19px;margin-top:23px}.plan-progress>div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px;gap:12px}.plan-progress strong{color:var(--accent);font-weight:600}.plan-progress .hint{margin-bottom:0}
.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.lower-grid form{margin-top:17px}.lower-grid>section:last-child{background:transparent}
.week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:13px;align-items:end;margin-top:22px;height:120px}.week-day{text-align:center;font-size:11px;color:var(--muted)}.bar-space{height:76px;display:flex;align-items:end;margin:5px 0 6px}.bar{background:#c4cdb9;border-radius:2px 2px 0 0;width:100%;min-height:3px}.week-day.today .bar{background:var(--accent)}.week-day.today .day-label{font-weight:650;color:var(--ink)}.week-value{font-size:10px;white-space:nowrap}
.history{margin-top:24px}.history ul{list-style:none;padding:0;margin:12px 0 0}.history li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.history li small{display:block;color:var(--muted);margin-top:3px}.history li .log-right{display:flex;align-items:center;gap:15px;font-variant-numeric:tabular-nums}.study-page .remove{font-size:11px;padding:7px 10px;background:transparent;min-height:44px;color:var(--muted);border-color:transparent}
.data-panel{padding:18px 0 10px}.data-panel p{max-width:700px}.inline-actions,.presets{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.presets{margin-bottom:16px}.presets button{font-size:12px;min-height:44px;padding:6px 12px}.presets span{font-size:11px}.check{display:flex;align-items:center;gap:9px;margin:12px 0;font-size:12px;min-height:30px}.check input{accent-color:var(--ink);width:18px;height:18px;margin:0}.study-page .danger{color:#a23626}.file-button{position:relative;overflow:hidden;font-size:13px;margin:0;display:flex;align-items:center}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-button:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.notice{background:var(--wash);border:1px solid #bac7ad;color:var(--ink);padding:13px 16px;border-radius:4px;font-size:13px}.notice.error{background:#fff0e9;border-color:#d9b8a7;color:#923a22}.footer-note{font-size:11px;color:var(--muted);max-width:710px;margin:12px 0 30px}.study-page footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:32px;display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.study-page footer a{text-decoration:none;color:var(--muted)}.study-page footer span{margin-left:auto;color:var(--muted)}
@media(hover:hover) and (pointer:fine){.study-page button:not(:disabled):hover,.file-button:hover{border-color:var(--ink);background:var(--wash)}.study-page .primary:not(:disabled):hover,.study-page #pause:hover{background:#245744;color:var(--surface)}.study-page footer a:hover{text-decoration:underline}}
@media(max-width:900px){.study-page main,.study-page footer{padding-left:28px;padding-right:28px}.panel{padding:22px}.workspace{gap:20px}.study-page .intro{align-items:start}.local-badge{max-width:125px;white-space:normal;margin-top:8px}.clock{font-size:82px}.panel-heading{flex-wrap:wrap;gap:8px}}
@media(max-width:760px){.study-page main,.study-page footer{padding-left:20px;padding-right:20px}.study-page .intro{margin:30px 0 24px;display:block}.local-badge{display:block;max-width:none;margin-top:14px}.study-page h1{font-size:39px}.study-page h2{font-size:24px}.workspace,.lower-grid{grid-template-columns:1fr}.plan-panel{grid-row:1}.stats{padding:15px 0}.stat{padding:0 12px}.stat strong{font-size:26px;letter-spacing:-.7px}.stat span,.stat small{font-size:10px}.panel{padding:22px}.clock{font-size:90px}.field-grid.three{gap:8px}.field-grid.three label{font-size:11px}.field-grid.three label span{display:block}.study-page footer span{width:100%;margin-left:0}.lower-grid{gap:18px;margin-top:18px}.panel-heading{flex-wrap:nowrap}.study-page footer a{min-height:30px}}
@media(max-width:360px){.study-page main{padding-left:15px;padding-right:15px}.panel{padding:17px}.stat strong{font-size:22px}.weekday-picker{gap:4px}.study-page h1{font-size:35px}.panel-heading h2{font-size:22px}.clock{font-size:80px}.field-grid{gap:10px}.history li .log-right{gap:7px}}
