:root{font-synthesis:none;text-rendering:optimizelegibility;color:#17201d;--background:#f3f5f4;--surface:#fff;--surface-subtle:#f7f8f7;--surface-strong:#e9edeb;--text:#17201d;--muted:#68716e;--faint:#8b9491;--border:#dce2df;--border-strong:#cbd3cf;--accent:#17735b;--accent-strong:#0f5d48;--accent-soft:#e4f1ec;--time:#ad5e1c;--time-soft:#f7eadc;--knowledge:#3f6f9f;--knowledge-soft:#e8f0f8;--ai:#7955a2;--ai-soft:#f0eaf7;--danger:#ad3939;--danger-soft:#f8e7e7;--shadow:0 12px 32px #18241f1a;--shadow-small:0 4px 14px #18241f12;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);background:#f3f5f4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Helvetica Neue,Arial,sans-serif}:root[data-theme=dark]{color:#eef3f0;--background:#151817;--surface:#1d211f;--surface-subtle:#232825;--surface-strong:#2c322f;--text:#eef3f0;--muted:#a9b2ae;--faint:#858f8a;--border:#343b37;--border-strong:#46504b;--accent:#5fc5a2;--accent-strong:#86d8bd;--accent-soft:#183a30;--time:#e6a15f;--time-soft:#412b19;--knowledge:#86b3df;--knowledge-soft:#203246;--ai:#bb98df;--ai-soft:#352743;--danger:#e88;--danger-soft:#482323;--shadow:0 16px 36px #00000047;--shadow-small:0 5px 16px #00000038;background:#151817}*{box-sizing:border-box;letter-spacing:0}html{background:var(--background);scroll-behavior:smooth;-webkit-text-size-adjust:100%;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--background);overscroll-behavior-y:none;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,label,select,input[type=range]{-webkit-tap-highlight-color:transparent}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 34%, transparent);outline-offset:2px}h1,h2,h3,p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.app-main{width:min(100%,780px);min-height:100vh;padding:calc(22px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(108px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}.page-stack{gap:22px;width:100%;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;min-width:0;padding:4px 2px 2px;display:flex}.page-header>div{min-width:0}.eyebrow{color:var(--muted);margin-bottom:5px;font-size:.78rem;font-weight:650;line-height:1.4;display:block}.page-header h1{font-size:2rem;font-weight:760;line-height:1.12}.page-header p{color:var(--muted);margin-top:7px;font-size:.9rem;line-height:1.55}.icon-button{border:1px solid var(--border);width:42px;height:42px;color:var(--muted);background:var(--surface);box-shadow:none;transition:transform .12s var(--ease-out), border-color .16s ease, background-color .16s ease, color .16s ease;border-radius:8px;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-subtle)}.icon-button:active,.button:active,.quick-focus:active,.ai-action:active,.task-check:active,.bottom-nav button:active,.desktop-rail button:active,.plan-row:active,.subject-row:active,.search-result:active,.settings-list button:active,.week-strip button:active{transition-duration:.1s;transform:scale(.97)}.icon-button--primary{color:#fff;border-color:var(--accent);background:var(--accent)}.icon-button--primary:hover{color:#fff;border-color:var(--accent-strong);background:var(--accent-strong)}.icon-button--time{color:var(--time);border-color:color-mix(in srgb, var(--time) 24%, var(--border));background:var(--time-soft)}.icon-button--knowledge{color:var(--knowledge);border-color:color-mix(in srgb, var(--knowledge) 24%, var(--border));background:var(--knowledge-soft)}.icon-button--ai{color:var(--ai);border-color:color-mix(in srgb, var(--ai) 24%, var(--border));background:var(--ai-soft)}.icon-button--danger,.icon-button--danger-quiet{color:var(--danger)}.icon-button--danger{border-color:color-mix(in srgb, var(--danger) 28%, var(--border));background:var(--danger-soft)}.button{min-height:42px;transition:transform .12s var(--ease-out), background-color .16s ease, border-color .16s ease, color .16s ease;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:.9rem;font-weight:680;line-height:1.2;display:inline-flex}.button--primary{color:#fff;border-color:var(--accent);background:var(--accent)}.button--primary:hover{background:var(--accent-strong)}.button--secondary{color:var(--text);border-color:var(--border);background:var(--surface)}.button--secondary:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.button--time{color:#fff;background:var(--time)}.button--knowledge{color:#fff;background:var(--knowledge)}.button--ai{color:#fff;background:var(--ai)}.button--danger-quiet{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 20%, var(--border));background:var(--surface)}.section-block{border-top:1px solid var(--border);min-width:0;padding:20px 0 2px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px;display:flex}.section-heading>div{min-width:0}.section-heading h2,.ai-rules h2{font-size:1.04rem;font-weight:730;line-height:1.3}.section-heading p{color:var(--muted);margin-top:4px;font-size:.83rem;line-height:1.5}.section-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.84rem}.status-strip,.exam-band,.configuration-callout,.configuration-status,.install-panel,.privacy-note,.tool-preview{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:13px 14px;display:flex}.status-strip{justify-content:space-between}.compact-select{color:var(--muted);align-items:center;gap:8px;font-size:.84rem;display:inline-flex}.compact-select select{border:1px solid var(--border);min-height:34px;color:var(--text);background:var(--surface-subtle);border-radius:7px;padding:4px 28px 4px 9px}.status-note{color:var(--muted);text-align:right;font-size:.8rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric{border:1px solid var(--border);min-width:0;min-height:74px;color:var(--text);background:var(--surface);text-align:left;border-radius:8px;align-items:center;gap:11px;padding:13px;display:flex}.metric--button{width:100%}.metric--button>svg{color:var(--faint);flex:none;margin-left:auto}.metric__icon{background:var(--surface-subtle);border-radius:7px;flex:none;place-items:center;width:32px;height:32px;display:grid}.metric>span:not(.metric__icon){min-width:0}.metric small{color:var(--muted);font-size:.75rem;line-height:1.35;display:block}.metric strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.97rem;font-weight:720;line-height:1.25;display:block;overflow:hidden}.score-band{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;padding:17px}.score-band__main{align-items:baseline;gap:9px;display:flex}.score-band__main>span{font-size:.88rem;font-weight:680}.score-band__main>strong{font-variant-numeric:tabular-nums;font-size:2rem;line-height:1}.score-band__main>small{color:var(--muted);font-size:.75rem}.score-breakdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.score-breakdown div{min-width:0}.score-breakdown span,.score-breakdown small{color:var(--muted);font-size:.72rem}.score-breakdown strong{font-variant-numeric:tabular-nums;margin-left:4px;font-size:.9rem}.score-band>p{color:var(--muted);margin-top:13px;font-size:.83rem;line-height:1.5}.task-list,.plan-list,.review-list,.subject-list,.search-results,.settings-list{gap:9px;display:grid}.task-row{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-small);border-radius:8px;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:14px;display:grid}.task-row.is-complete{box-shadow:none;opacity:.72}.task-row.is-complete .task-row__title>strong{text-decoration:line-through;text-decoration-thickness:1px}.task-check{border:1px solid var(--border);width:34px;height:34px;color:var(--accent);background:var(--surface-subtle);transition:transform .12s var(--ease-out), background-color .16s ease;border-radius:50%;place-items:center;padding:0;display:grid}.is-complete .task-check{color:#fff;border-color:var(--accent);background:var(--accent)}.task-row__content{min-width:0}.task-row__title{align-items:center;gap:7px;min-width:0;display:flex}.task-row__title>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.93rem;font-weight:700;overflow:hidden}.subject-dot{border-radius:50%;flex:none;width:7px;height:7px}.priority-badge,.subject-pill{border-radius:5px;flex:none;padding:3px 6px;font-size:.66rem;font-weight:700}.priority-badge--core{color:var(--danger);background:var(--danger-soft)}.priority-badge--normal{color:var(--knowledge);background:var(--knowledge-soft)}.priority-badge--optional{color:var(--muted);background:var(--surface-strong)}.task-row__content>p{color:var(--muted);margin-top:6px;font-size:.76rem;line-height:1.45}.task-progress{grid-template-columns:minmax(80px,1fr) 38px;align-items:center;gap:10px;margin-top:10px;display:grid}.task-progress input{width:100%;accent-color:var(--accent)}.task-progress span{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.74rem}.task-row__actions{grid-template-columns:repeat(2,38px);align-content:start;gap:6px;display:grid}.task-row__actions .icon-button{width:38px;height:38px}.quick-focus{border:1px solid color-mix(in srgb, var(--time) 28%, var(--border));width:100%;min-height:64px;color:var(--time);background:var(--time-soft);text-align:left;transition:transform .12s var(--ease-out);border-radius:8px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 15px;display:grid}.quick-focus>span{min-width:0}.quick-focus strong,.quick-focus small{display:block}.quick-focus strong{color:var(--text);font-size:.9rem}.quick-focus small{color:var(--muted);margin-top:3px;font-size:.76rem}.empty-state{min-height:104px;color:var(--muted);align-items:center;gap:13px;padding:18px 4px;display:flex}.empty-state>svg{color:var(--faint);flex:none}.empty-state>div{flex:1;min-width:0}.empty-state strong{color:var(--text);font-size:.9rem;display:block}.empty-state p{margin-top:4px;font-size:.8rem;line-height:1.45}.exam-band{border-left:4px solid var(--time)}.exam-band>svg{color:var(--time)}.exam-band>div{flex:1;min-width:0}.exam-band span,.exam-band strong{display:block}.exam-band span{color:var(--muted);font-size:.74rem}.exam-band strong{margin-top:3px;font-size:.94rem}.exam-band .exam-band__count{color:var(--time);flex:none;font-size:.92rem;font-weight:720}.section-heading--calendar{align-items:center}.date-icon-control{border:1px solid var(--border);width:42px;height:42px;color:var(--muted);background:var(--surface);border-radius:8px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.date-icon-control input{opacity:0;width:100%;height:100%;position:absolute;inset:0}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:14px;display:grid}.week-strip button{min-width:0;min-height:66px;color:var(--muted);transition:transform .12s var(--ease-out), background-color .16s ease, color .16s ease, border-color .16s ease;background:0 0;border:1px solid #0000;border-radius:8px;align-content:center;place-items:center;gap:2px;padding:5px 1px;display:grid}.week-strip button.is-selected{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 24%, var(--border));background:var(--accent-soft)}.week-strip span,.week-strip small{text-overflow:clip;white-space:nowrap;width:100%;font-size:.66rem;overflow:hidden}.week-strip strong{font-variant-numeric:tabular-nums;font-size:1rem}.plan-row,.subject-row,.search-result,.settings-list>button{border:1px solid var(--border);width:100%;min-width:0;color:var(--text);background:var(--surface);text-align:left;transition:transform .12s var(--ease-out), border-color .16s ease, background-color .16s ease;border-radius:8px}.plan-row:hover,.subject-row:hover,.search-result:hover,.settings-list>button:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.plan-row{grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:62px;padding:11px 13px;display:grid}.plan-row__check{width:34px;height:34px;transition:transform .12s var(--ease-out), background-color .16s ease;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.plan-row__check:hover{background:var(--surface-strong)}.plan-row__content,.subject-row__content{min-width:0}.plan-row strong,.plan-row small,.subject-row strong,.subject-row small{display:block}.plan-row strong,.subject-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.plan-row small,.subject-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.74rem;overflow:hidden}.plan-row__progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.74rem}.plan-row__actions{grid-template-columns:repeat(2,34px);gap:5px;display:grid}.plan-row__actions .icon-button{width:34px;height:34px}.review-row{border-bottom:1px solid var(--border);grid-template-columns:50px minmax(0,1fr);align-items:center;gap:12px;padding:11px 0;display:grid}.review-row:last-child{border-bottom:0}.review-row time{color:var(--knowledge);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:720}.review-row strong,.review-row small{display:block}.review-row strong{font-size:.86rem}.review-row small{color:var(--muted);margin-top:3px;font-size:.73rem}.search-field{border:1px solid var(--border);min-height:48px;color:var(--muted);background:var(--surface);border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;padding:0 13px;display:grid}.search-field:focus-within{border-color:color-mix(in srgb, var(--knowledge) 60%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--knowledge) 14%, transparent)}.search-field input{min-width:0;height:46px;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:1rem}.search-field input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.search-result{gap:7px;padding:13px;display:grid}.search-result .subject-pill{background:var(--surface-strong);justify-self:start}.search-result strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.search-result p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.subject-row{grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:11px;min-height:64px;padding:10px 13px;display:grid}.subject-row>svg{color:var(--faint)}.subject-mark{border-radius:8px;place-items:center;width:40px;height:40px;font-size:.9rem;font-weight:760;display:grid}.document-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin-bottom:12px;font-size:.76rem;display:flex}.markdown-document{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;min-height:240px;padding:14px;overflow:auto}.markdown-document pre,.ai-result pre{overflow-wrap:anywhere;color:var(--text);white-space:pre-wrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.7}.ai-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ai-action{border:1px solid var(--border);min-width:0;min-height:136px;color:var(--text);background:var(--surface);text-align:left;box-shadow:var(--shadow-small);transition:transform .12s var(--ease-out), border-color .16s ease, background-color .16s ease;border-radius:8px;align-content:start;gap:8px;padding:15px;display:grid}.ai-action:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.ai-action__icon{background:var(--surface-subtle);border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.ai-action strong{margin-top:2px;font-size:.93rem}.ai-action p{color:var(--muted);font-size:.76rem;line-height:1.5}.configuration-callout{border-left:4px solid var(--ai)}.configuration-callout>svg{color:var(--ai);flex:none}.configuration-callout>div{flex:1;min-width:0}.configuration-callout strong,.configuration-callout p{display:block}.configuration-callout strong{font-size:.87rem}.configuration-callout p{color:var(--muted);margin-top:3px;font-size:.75rem;line-height:1.4}.configuration-status{min-height:46px;color:var(--muted);font-size:.82rem}.configuration-status strong{color:var(--text)}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot--online{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.ai-rules{border-top:1px solid var(--border);padding:20px 0 2px}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.rule-grid div{min-width:0}.rule-grid strong,.rule-grid span{display:block}.rule-grid strong{font-size:.82rem}.rule-grid span{color:var(--muted);margin-top:4px;font-size:.72rem;line-height:1.5}.ai-tool{gap:15px;display:grid}.tool-preview>svg{color:var(--ai);flex:none}.tool-preview strong{font-size:.88rem}.tool-preview p{color:var(--muted);margin-top:4px;font-size:.78rem;line-height:1.45}.ai-result{border:1px solid color-mix(in srgb, var(--ai) 24%, var(--border));border-radius:8px;overflow:hidden}.ai-result header{min-height:46px;color:var(--ai);background:var(--ai-soft);justify-content:space-between;align-items:center;gap:12px;padding:5px 7px 5px 13px;font-size:.8rem;font-weight:720;display:flex}.ai-result pre{max-height:48vh;padding:14px;overflow:auto}.network-badge{border:1px solid var(--border);border-radius:8px;flex:none;align-items:center;gap:6px;min-height:34px;padding:6px 9px;font-size:.73rem;font-weight:650;display:inline-flex}.network-badge.is-online{color:var(--accent);background:var(--accent-soft)}.network-badge.is-offline{color:var(--muted);background:var(--surface-strong)}.report-section{border-top:0;padding-top:0}.segmented-control{border:1px solid var(--border);background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.segmented-control button{min-width:0;min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 7px;font-size:.78rem;font-weight:650;display:inline-flex}.segmented-control button.is-selected{color:var(--text);background:var(--surface);box-shadow:0 1px 4px #141e1a1f}.report-score{grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:8px 12px;padding:20px 0 16px;display:grid}.report-score>span{color:var(--muted);font-size:.82rem}.report-score>strong{font-variant-numeric:tabular-nums;font-size:2.25rem;line-height:1}.report-score>p{color:var(--muted);font-size:.78rem;line-height:1.5}.report-metrics{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.report-metrics>div{background:var(--surface);min-width:0;padding:11px}.report-metrics span,.report-metrics strong{display:block}.report-metrics span{color:var(--muted);font-size:.7rem}.report-metrics strong{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.83rem;overflow:hidden}.report-bars{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:9px;height:126px;margin-top:17px;padding-top:10px;display:grid}.report-bars>div{grid-template-rows:minmax(0,1fr) 18px;align-items:end;gap:5px;height:100%;display:grid}.report-bars span{background:var(--accent);border-radius:4px 4px 0 0;justify-self:center;width:min(100%,26px);min-height:4px}.report-bars small{color:var(--muted);text-align:center;font-size:.67rem}.settings-list>button{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-height:64px;padding:11px 13px;display:grid}.settings-list strong,.settings-list small{display:block}.settings-list strong{font-size:.88rem}.settings-list small{color:var(--muted);margin-top:4px;font-size:.74rem;line-height:1.35}.settings-icon{border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.settings-icon--time{color:var(--time);background:var(--time-soft)}.settings-icon--knowledge{color:var(--knowledge);background:var(--knowledge-soft)}.settings-icon--accent{color:var(--accent);background:var(--accent-soft)}.button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.install-panel{border-left:4px solid var(--knowledge)}.install-panel>svg{color:var(--knowledge);flex:none}.install-panel>div{flex:1;min-width:0}.install-panel h2{font-size:.9rem}.install-panel p{color:var(--muted);margin-top:4px;font-size:.76rem;line-height:1.45}.form-stack{gap:15px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field{gap:7px;min-width:0;display:grid}.field>span,.segmented-field legend{color:var(--muted);font-size:.78rem;font-weight:650}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;min-width:0;min-height:44px;color:var(--text);background:var(--surface);border-radius:8px;padding:10px 11px;font-size:1rem;line-height:1.4}.field textarea{resize:vertical;min-height:92px}.segmented-field{border:0;min-width:0;padding:0}.segmented-field legend{margin-bottom:7px}.form-note,.form-status,.form-error{border-radius:7px;padding:10px 11px;font-size:.76rem;line-height:1.5}.form-note{color:var(--muted);background:var(--surface-subtle)}.form-status{color:var(--accent);background:var(--accent-soft)}.form-error{color:var(--danger);background:var(--danger-soft)}.toggle-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 0;display:flex}.toggle-row>span{min-width:0}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:.85rem}.toggle-row small{color:var(--muted);margin-top:4px;font-size:.73rem;line-height:1.4}.toggle-row input{appearance:none;border:1px solid var(--border-strong);background:var(--surface-strong);border-radius:14px;flex:none;width:48px;height:28px;transition:background-color .16s,border-color .16s;position:relative}.toggle-row input:after{content:"";width:22px;height:22px;transition:transform .18s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #141e1a47}.toggle-row input:checked{border-color:var(--accent);background:var(--accent)}.toggle-row input:checked:after{transform:translate(20px)}.file-drop{border:1px dashed var(--border-strong);min-height:132px;color:var(--knowledge);background:var(--knowledge-soft);text-align:center;border-radius:8px;align-content:center;place-items:center;gap:6px;display:grid;position:relative;overflow:hidden}.file-drop strong{color:var(--text);font-size:.86rem}.file-drop span{color:var(--muted);font-size:.73rem}.file-drop input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.shortcut-guide{gap:14px;display:grid}.shortcut-guide ol{color:var(--muted);gap:7px;margin:0;padding-left:21px;font-size:.8rem;line-height:1.5;display:grid}.url-field{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;grid-template-columns:minmax(0,1fr) 42px;gap:7px 10px;padding:12px;display:grid}.url-field>span{color:var(--muted);grid-column:1/-1;font-size:.75rem;font-weight:650}.url-field code{min-width:0;color:var(--text);background:var(--surface);white-space:nowrap;border-radius:6px;padding:8px 9px;font-size:.7rem;line-height:1.45;overflow:auto}.privacy-note{color:var(--knowledge);background:var(--knowledge-soft);align-items:flex-start}.privacy-note svg{flex:none;margin-top:1px}.privacy-note p{color:var(--muted);font-size:.76rem;line-height:1.5}.privacy-sections{display:grid}.privacy-sections section{border-bottom:1px solid var(--border);grid-template-columns:26px minmax(0,1fr);gap:10px;padding:14px 0;display:grid}.privacy-sections section:last-child{border-bottom:0}.privacy-sections svg{color:var(--accent)}.privacy-sections strong{font-size:.86rem}.privacy-sections p{color:var(--muted);margin-top:5px;font-size:.77rem;line-height:1.55}.modal-backdrop{z-index:100;background:#080c0a7a;place-items:end center;padding:16px 12px 0;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--border);background:var(--surface);width:min(100%,560px);max-height:min(88vh,760px);box-shadow:var(--shadow);border-bottom:0;border-radius:8px 8px 0 0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.modal-panel--wide{width:min(100%,720px)}.modal-header,.modal-footer{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(18px)saturate(150%);align-items:center;gap:10px;padding:12px 14px;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between}.modal-header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;font-weight:730;overflow:hidden}.modal-body{overscroll-behavior:contain;min-height:0;padding:16px;overflow:auto}.modal-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);justify-content:flex-end}.focus-dock{z-index:70;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));border:1px solid var(--border-strong);width:auto;color:var(--text);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(160%);border-radius:8px;gap:10px;padding:12px;display:grid;position:fixed;left:12px}.focus-dock__summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;display:grid}.focus-dock__status{color:var(--time);font-size:.7rem;font-weight:720}.focus-dock__summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;overflow:hidden}.focus-dock__clock{color:var(--time);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:1.05rem;font-weight:720}.focus-dock__actions{justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.focus-dock__actions .icon-button{width:40px;height:40px}.focus-dock__phone{min-height:34px;color:var(--muted);background:var(--surface-subtle);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:.68rem;display:inline-flex}.bottom-nav{z-index:60;padding:6px max(6px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));border-top:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:color-mix(in srgb, var(--surface) 91%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);position:fixed;bottom:0;left:0;right:0}.navigation-items{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid}.bottom-nav button,.desktop-rail button{min-width:0;min-height:54px;color:var(--muted);transition:transform .12s var(--ease-out), color .16s ease, background-color .16s ease;background:0 0;border:0;border-radius:8px;align-content:center;place-items:center;gap:3px;padding:5px 2px;font-size:.68rem;font-weight:650;display:grid}.bottom-nav button.is-selected,.desktop-rail button.is-selected{color:var(--accent);background:var(--accent-soft)}.desktop-rail{display:none}.brand-lockup{align-items:center;gap:11px;display:flex}.brand-lockup img{border-radius:8px;width:42px;height:42px}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup strong{font-size:.95rem}.brand-lockup small{color:var(--muted);margin-top:3px;font-size:.7rem}.desktop-rail__note{color:var(--faint);margin-top:auto;font-size:.7rem;line-height:1.5}.startup-error{min-height:100vh;color:var(--text);text-align:center;align-content:center;place-items:center;gap:10px;padding:24px;display:grid}.startup-error p{max-width:480px;color:var(--muted);font-size:.85rem;line-height:1.5}.startup-error button{color:#fff;background:var(--accent);border:0;border-radius:8px;min-height:42px;padding:9px 14px;font-weight:680}.spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=460px){.app-main{padding-left:12px;padding-right:12px}.page-stack{gap:19px}.page-header h1{font-size:1.82rem}.task-row{grid-template-columns:34px minmax(0,1fr)}.task-row__actions{grid-column:2;grid-template-columns:repeat(4,38px)}.rule-grid{grid-template-columns:1fr;gap:10px}.report-score{grid-template-columns:auto auto}.report-score>p{grid-column:1/-1}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.focus-dock__phone{width:34px;color:var(--muted);white-space:nowrap;padding:6px;overflow:hidden}.focus-dock__phone svg{flex:none}}@media (width>=680px){.app-main{padding-left:28px;padding-right:28px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.focus-dock{grid-template-columns:minmax(220px,1fr) auto;width:min(100% - 48px,720px);left:50%;right:auto;transform:translate(-50%)}.focus-dock__actions{justify-content:flex-start}.modal-backdrop{place-items:center;padding:24px}.modal-panel{border-bottom:1px solid var(--border);border-radius:8px}.modal-footer{padding-bottom:12px}}@media (width>=1020px){.app-shell{grid-template-columns:220px minmax(0,820px);justify-content:center;gap:36px;display:grid}.desktop-rail{flex-direction:column;gap:28px;min-height:100vh;padding:28px 12px 24px;display:flex;position:sticky;top:0}.desktop-rail .navigation-items{grid-template-columns:1fr;gap:5px;display:grid}.desktop-rail button{grid-template-columns:24px minmax(0,1fr);align-content:center;place-items:center start;gap:11px;min-height:46px;padding:8px 11px;font-size:.82rem}.bottom-nav{display:none}.app-main{border-right:1px solid var(--border);border-left:1px solid var(--border);background:color-mix(in srgb, var(--surface) 35%, var(--background));width:100%;margin:0;padding:32px 34px 96px}.focus-dock{width:min(720px,100vw - 330px);bottom:20px;left:calc(50% + 128px)}.page-header h1{font-size:2.15rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.bottom-nav,.focus-dock,.modal-header,.modal-footer{background:var(--surface);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){:root{--border:#727b77;--border-strong:#39413d}.bottom-nav,.focus-dock,.modal-panel{border-color:var(--border-strong)}}
