/* Study planning and distraction-free, viewport-sized clock. */
.study-plan-summary{display:grid;gap:5px;margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--muted);font-size:13px}
.study-plan-summary strong{color:var(--ink);font-size:17px;font-weight:600}
.study-sound{display:flex;align-items:center;gap:8px;margin-top:12px;min-height:44px;font-size:12px}
.study-active-subject{font-size:20px;font-weight:600;margin-bottom:6px}
.study-active-clock{font-size:clamp(44px,6vw,76px);font-weight:400;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:18px 0 8px}
.focus-open{overflow:hidden}
.focus-mode{position:fixed;inset:0;width:100%;height:100dvh;z-index:100;background:#090c0b;color:#f2f4ee;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:env(safe-area-inset-top) max(24px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(24px,env(safe-area-inset-left));overflow:hidden}
.focus-mode[hidden]{display:none!important}
.focus-mode:fullscreen{width:100vw;height:100dvh}
.focus-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 0;color:#9ba59e;min-width:0}
.focus-top button{background:transparent;border-color:#303833;color:#a8b2ab;font-size:12px}
.focus-brand{font-size:10px;letter-spacing:2px}
.focus-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:0;min-width:0;text-align:center}
.focus-phase{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#b8ce8c}
.focus-subject{font-size:16px;color:#c5cec7;max-width:90%;overflow-wrap:anywhere}
.focus-digits{font-family:'SF Pro Rounded','SF Pro Display','Segoe UI',-apple-system,sans-serif;font-size:min(17vw,28dvh,230px);font-weight:300;letter-spacing:-.055em;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap;color:#edf0ea}
.focus-task{font-size:14px;color:#a1ada4;max-width:min(600px,90%);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.focus-block{font-size:12px;color:#8e9a91}
.focus-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.focus-controls button{min-width:125px;min-height:46px;background:#1a211c;border-color:#364038;color:#edf0ea}
.focus-controls .primary{background:#b8ce8c;border-color:#b8ce8c;color:#172014}
.focus-state{font-size:12px;color:#99a59c;min-height:18px;max-width:90%}
.focus-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #283129;padding:24px 0;color:#9da99f;max-width:800px;width:100%;justify-self:center;text-align:center}
.focus-bottom div{display:flex;flex-direction:column;gap:6px}.focus-bottom span{font-size:9px;letter-spacing:1.6px}.focus-bottom strong{font-size:17px;font-weight:500;color:#dfe7dd}
.focus-bottom p{grid-column:1/-1;font-size:10px;color:#7d8b80;margin-top:4px}
.focus-mode[data-phase=break] .focus-phase{color:#d8bc8b}.focus-mode[data-phase=break] .focus-digits{color:#ded4c2}
.focus-mode[data-phase=complete] .focus-phase{color:#b8ce8c}
@media(max-width:640px){.focus-mode{padding-inline:max(16px,env(safe-area-inset-left))}.focus-top{padding:14px 0;gap:8px}.focus-top button{font-size:11px;padding:10px}.focus-brand{display:none}.focus-content{gap:12px}.focus-phase{font-size:11px;letter-spacing:2px}.focus-subject{font-size:14px}.focus-task{font-size:12px}.focus-controls{margin-top:10px}.focus-controls button{font-size:13px;min-width:115px}.focus-state{font-size:11px}.focus-bottom{padding:20px 0;gap:12px 6px}.focus-bottom span{font-size:8px;letter-spacing:1px}.focus-bottom strong{font-size:15px}}
@media(max-height:520px){.focus-top{padding:8px 0}.focus-content{gap:6px}.focus-digits{font-size:min(17vw,22dvh,180px)}.focus-task,.focus-block,.focus-state,.focus-bottom p{display:none}.focus-controls{margin-top:2px}.focus-controls button{min-height:44px;padding:8px 14px}.focus-bottom{padding:10px 0}.focus-bottom strong{font-size:14px}.focus-subject{font-size:12px}.focus-phase{font-size:10px}}
@media(prefers-reduced-motion:reduce){.focus-mode *{transition:none!important}}
