@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700&display=swap";:root{--bg: #FAFAFA;--surface: #FFFFFF;--surface-raised: #FFFFFF;--surface-glass: #FFFFFF;--ink: #18181B;--ink-2: #71717A;--ink-3: #A1A1AA;--line: #E4E4E7;--line-soft: #F4F4F5;--line-glass: #E4E4E7;--accent: #2563EB;--accent-hover: #1D4ED8;--accent-active: #1E40AF;--accent-soft: rgba(37, 99, 235, .06);--accent-rgb: 37, 99, 235;--accent-2: #EA580C;--accent-2-soft: rgba(234, 88, 12, .08);--accent-2-rgb: 234, 88, 12;--focus-ring: var(--accent);--bg-2: #F4F4F5;--bg-3: #E4E4E7;--graphite: #71717A;--vermilion: #EF4444;--ok: #22C55E;--amber: #F59E0B;--warn: #F59E0B;--radius-2xs: 4px;--radius-xs: 6px;--radius-sm: 8px;--radius: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 56px;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: clamp(28px, 4vw, 40px);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-tight: -.01em;--tracking-tighter: -.02em;--tracking-display: -.025em;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-house: cubic-bezier(.16, 1, .3, 1);--ease: cubic-bezier(.2, .8, .2, 1);--duration-instant: .1s;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-spring: .3s;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card-hover: 0 2px 8px rgba(0, 0, 0, .06);--shadow-pop: 0 4px 24px rgba(0, 0, 0, .08);--shadow-glow: 0 0 0 3px var(--accent-soft);--bar: #FAFAFA;--hover-wash: #F4F4F5;--bg-rgb: 250, 250, 250;--glass-border: #E4E4E7;--blur-sm: 0px;--blur: 0px;--blur-lg: 0px;--sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--display: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-optical-sizing:auto}@media(prefers-color-scheme:dark){:root{--bg: #0A0A0B;--surface: #18181B;--surface-raised: #27272A;--surface-glass: #18181B;--ink: #FAFAFA;--ink-2: #A1A1AA;--ink-3: #71717A;--line: #27272A;--line-soft: #1F1F23;--line-glass: #27272A;--accent: #60A5FA;--accent-hover: #2563EB;--accent-active: #1D4ED8;--accent-soft: rgba(96, 165, 250, .1);--accent-rgb: 96, 165, 250;--accent-2: #FB923C;--accent-2-soft: rgba(251, 146, 60, .1);--accent-2-rgb: 251, 146, 60;--bg-2: #27272A;--bg-3: #3F3F46;--vermilion: #F87171;--ok: #4ADE80;--amber: #FBBF24;--warn: #FBBF24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-card-hover: 0 2px 8px rgba(0, 0, 0, .4);--shadow-pop: 0 4px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 0 3px var(--accent-soft);--bar: #0A0A0B;--hover-wash: #27272A;--bg-rgb: 10, 10, 11;--glass-border: #27272A}}[data-density=compact]{--space-1: 3px;--space-2: 6px;--space-3: 9px;--space-4: 12px;--space-5: 15px;--space-6: 21px;--space-7: 27px;--space-8: 36px;--text-xs: 10px;--text-sm: 11.5px;--text-base: 12.5px;--text-md: 13.5px;--text-lg: 15px;--text-xl: 18px;--text-2xl: 21px;--radius: 10px;--radius-sm: 7px;--radius-xs: 5px}[data-density=spacious]{--space-1: 5px;--space-2: 10px;--space-3: 15px;--space-4: 20px;--space-5: 25px;--space-6: 34px;--space-7: 44px;--space-8: 58px;--text-xs: 12px;--text-sm: 13.5px;--text-base: 14.5px;--text-md: 16.5px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 27px;--radius: 18px;--radius-sm: 12px;--radius-xs: 8px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;-webkit-tap-highlight-color:transparent;position:relative;overscroll-behavior-y:contain}button,a,input,textarea,.card-main,.week-day,[role=button]{touch-action:manipulation}button{-webkit-touch-callout:none}#root,.app,.landing,.login-page{position:relative;z-index:1}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:active{transition-duration:var(--duration-instant)!important}input,textarea{font-family:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-3);height:44px;transition:border-color var(--duration-instant) var(--ease),box-shadow var(--duration-instant) var(--ease)}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);transition-duration:var(--duration-instant)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-slow);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-name:otto-fade-out}::view-transition-new(root){animation-name:otto-fade-in}@keyframes otto-fade-out{to{opacity:0}}@keyframes otto-fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sidebar,.task-modal,.task-modal-overlay,.sm-header,.sm-bottombar,.sm-modal,.sm-drawer,.week-fab-wrap{transition:opacity .2s ease!important;transform:none!important;animation:none!important}.spinner{animation:spin .7s linear infinite!important}button:active,.btn:active,.card-main:active{transform:scale(.97)!important;transition-duration:.1s!important}}@media(prefers-reduced-transparency:reduce){.topbar,.sidebar,.sm-header,.sm-bottombar,.task-modal-overlay,.bar,.sm-modal-backdrop,.sm-modal,.sm-drawer,.task-modal{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}@media(prefers-contrast:more){.topbar,.sidebar,.sm-header,.sm-bottombar,.task-modal-overlay,.bar,.sm-modal-backdrop,.sm-modal,.sm-drawer,.task-modal{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:var(--ink-3)!important}}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.logo{color:var(--ink);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:-.005em;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease),transform var(--duration-instant) var(--ease-spring);white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.btn:hover{background:var(--bg-2)}.btn:active{background:var(--bg-3);transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}@media(hover:hover){.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}}.btn.ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn.ghost:hover{background:var(--accent-soft)}.btn.danger{background:var(--vermilion);border-color:var(--vermilion);color:#fff}.btn.danger:hover{filter:brightness(.88)}.btn.xs{position:relative;height:34px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn.xs:after{content:"";position:absolute;top:-5px;right:-3px;bottom:-5px;left:-3px;background:#00000003}.btn.big{height:44px;padding:0 var(--space-6);font-size:var(--text-md);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}@media(hover:hover){.btn.primary.big:hover{background:var(--accent-hover)}}.btn.primary.big:active{background:var(--accent-active)}.btn.opt{background:var(--surface)}.btn.forget{color:var(--warn)}.btn.approved{color:var(--ok);background:transparent;border-color:transparent;pointer-events:none}.send-btn.sent{background:transparent;border-color:transparent;color:var(--ok)}.head-act{margin-left:auto;font-weight:var(--weight-medium)}.screen{min-height:100vh;display:flex;flex-direction:column;gap:var(--space-4);align-items:center;justify-content:center;padding:var(--space-6);text-align:center}.screen h1{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.015em}.screen .sub{color:var(--ink-2);max-width:420px}.warn{color:var(--warn);font-size:13px;max-width:420px}.boot{opacity:.85}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}.crash-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:var(--space-8);max-width:400px;display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:row}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);height:52px;padding:0 var(--space-5);padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top));padding-left:calc(var(--space-5) + env(safe-area-inset-left));padding-right:calc(var(--space-5) + env(safe-area-inset-right));background:var(--bar);border-bottom:1px solid var(--line);transition:background var(--duration-base) var(--ease)}.spacer{flex:1}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:var(--space-5) var(--space-3);height:100vh;height:100dvh;position:sticky;top:0;overflow-y:auto;transition:transform var(--duration-spring) var(--ease)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-5);font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--ink);letter-spacing:-.02em}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);min-height:38px;border-radius:var(--radius-xs);color:var(--ink-2);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease);cursor:pointer}.sidebar-item:hover{background:var(--hover-wash);color:var(--ink)}.sidebar-item.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--weight-semibold)}.sidebar-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sidebar-item svg{width:18px;height:18px;stroke-width:1.5}.sidebar-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:10px;font-weight:var(--weight-semibold);line-height:1}.sidebar-toggle{display:none;position:fixed;bottom:var(--space-4);right:var(--space-4);width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;z-index:100;box-shadow:var(--shadow-pop);transition:transform var(--duration-instant) var(--ease-spring),background var(--duration-fast) var(--ease-spring)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;z-index:50;transform:translate(-100%);transition:transform var(--duration-spring) var(--ease-spring);will-change:transform}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:flex;align-items:center;justify-content:center}.app{flex-direction:column}.topbar{padding-left:calc(var(--space-4) + env(safe-area-inset-left))}.list-wrap{padding:clamp(24px,5vh,72px) var(--space-4) var(--space-7)}}.list-wrap{width:100%;max-width:680px;margin:0;padding:clamp(32px,6vh,72px) clamp(var(--space-5),5vw,64px) var(--space-8);animation:pageIn var(--duration-spring) var(--ease) backwards}.dash-head{margin-bottom:var(--space-5)}.dash-date{margin:0 0 4px;font-size:var(--text-xs);letter-spacing:.02em;color:var(--ink-3);text-transform:capitalize}.dash-grid{display:flex;flex-direction:column}.dash-addtask{margin-bottom:var(--space-6);order:0}.dash-today{order:1}.dash-more{margin-top:24px;order:2}.week-fab-wrap{position:fixed;right:var(--space-4, 16px);bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;animation:fabIn var(--duration-spring) var(--ease-bounce) both}@keyframes fabIn{0%{opacity:0;transform:scale(.7) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.week-fab{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill, 999px);box-shadow:var(--shadow-card);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);transition:background var(--duration-instant) var(--ease-spring),transform var(--duration-instant) var(--ease-spring)}@media(hover:hover){.week-fab:hover{background:var(--hover-wash)}}.week-fab:active{transform:scale(.97)}.week-fab-popover-body{display:flex;flex-direction:column;gap:var(--space-5)}.week-fab-popover-body>*+*{padding-top:var(--space-5);border-top:1px solid var(--line-soft)}.exam-strip-wrap,.due-reviews{margin:0}.due-review-chip{text-decoration:none;background:none;border-top:none;border-right:none;border-bottom:none;font:inherit;text-align:left;cursor:pointer;color:inherit}.exam-strip-label{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--space-2);opacity:.85}.exam-strip{display:flex;flex-direction:column}.exam-chip{flex:none;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-2);border-left:3px solid var(--line);border-radius:var(--radius-xs, 6px);transition:border-color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring)}.exam-chip+.exam-chip{margin-top:1px}@media(hover:hover){.exam-chip:hover{background:var(--hover-wash)}}.exam-chip:active{transform:scale(.98)}.exam-chip.soon{border-left-color:var(--accent);background:var(--accent-soft)}.exam-days{font-family:var(--mono, ui-monospace, monospace);font-size:var(--text-md);font-weight:700;flex:none}.exam-chip.soon .exam-days{color:var(--accent)}.exam-subject{font-size:13px;font-weight:var(--weight-medium);color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-chip{border-left-color:var(--accent);flex-wrap:wrap;row-gap:2px;cursor:default}.milestone-chip .exam-subject{flex:none;color:var(--ink-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.milestone-topic{font-size:13px;font-weight:var(--weight-medium);color:var(--ink)}.exam-when{font-size:var(--text-xs);color:var(--ink-3);text-transform:capitalize;flex:none}.exam-more,.milestone-more{flex:none;align-self:center;white-space:nowrap}.milestone-wrap{margin:0 0 28px}.milestone-list{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:thin}.milestone-chip{flex:none;display:flex;flex-direction:column;gap:var(--space-0);padding:var(--space-2) var(--space-4);border-left:3px solid var(--accent);border-radius:var(--radius-xs, 6px);min-width:160px;max-width:220px;transition:background var(--duration-instant) var(--ease-spring)}@media(hover:hover){.milestone-chip:hover{background:var(--hover-wash)}}.milestone-chip:active{transform:scale(.98)}.milestone-date{font-family:var(--mono, ui-monospace, monospace);font-size:12px;font-weight:700;color:var(--accent)}.milestone-chip.late{border-left-color:var(--ink);background:var(--bg-2)}.milestone-chip.late .milestone-date{color:var(--ink);font-weight:800}.milestone-text{font-size:13px;font-weight:var(--weight-medium);color:var(--ink);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-task{font-size:var(--text-xs);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-load-wrap{margin:0}.week-load-strip{display:flex;flex-direction:column}.week-day{flex:none;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-2);border:none;border-radius:var(--radius-xs, 6px);background:transparent;transition:background var(--duration-instant) var(--ease-spring)}.week-day+.week-day{margin-top:1px}@media(hover:hover){.week-day:hover{background:var(--hover-wash)}}.week-day:active{transform:scale(.98)}.week-day.is-today{background:var(--bg-2)}.week-day.heavy,.week-day.open{background:var(--accent-soft)}.week-day-dow{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--ink)}.week-day.heavy .week-day-dow{color:var(--accent)}.week-day-bar-track{display:none}.week-day-count{font-family:var(--mono, ui-monospace, monospace);font-size:12px;color:var(--ink-3);min-height:14px}.week-day-detail{margin-top:var(--space-2);padding:var(--space-3) var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg);animation:fadeIn var(--duration-spring) var(--ease-spring)}.week-day-detail-head{display:flex;align-items:center;gap:var(--space-2);font-size:13px;font-weight:600;margin-bottom:var(--space-2);text-transform:capitalize}.week-day-items{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.week-day-item{display:flex;align-items:center;flex-wrap:wrap;row-gap:6px;gap:10px;font-size:13px}.week-day-item .btn{margin-left:auto;flex:none}@media(max-width:420px){.week-day-item .btn{flex-basis:100%;margin-left:0}}.week-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-day-picker{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}@media(max-width:420px){.week-day-picker{flex-basis:100%;margin-left:0}}.week-item-dot{flex:none;width:7px;height:7px;border-radius:50%}.week-item-test{background:var(--accent)}.week-item-homework{background:var(--ink-3)}.week-item-task{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.list-head{font-family:var(--display);font-size:clamp(28px,6vw,42px);font-weight:700;letter-spacing:var(--tracking-tighter);line-height:1.05;color:var(--ink);animation:appleRise var(--duration-spring) var(--ease-spring) backwards}.list-head span{color:var(--ink)}.list-head .accent-num{color:var(--accent);font-feature-settings:"tnum"}.list-status{margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--ink-3)}.list-status b{font-weight:var(--weight-medium);color:var(--ink-2)}.dash-line{margin-top:var(--space-3);font-size:15px;line-height:1.5;color:var(--ink-2);display:flex;flex-wrap:wrap;align-items:center;gap:10px;animation:appleRise var(--duration-spring) var(--ease-spring) .05s backwards}.dash-momentum{margin:6px 0 0;font-size:13.5px;line-height:1.4;color:var(--accent, var(--ink-2));animation:appleRise var(--duration-spring) var(--ease-spring) .08s backwards}.dash-late,.dash-working{font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;padding:var(--space-0) var(--space-2);border-radius:var(--radius-pill);white-space:nowrap}.dash-late{background:var(--bg-2);color:var(--ink);font-weight:600}.dash-working{background:var(--accent-soft);color:var(--accent)}.scan-note{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font-size:12px}.scan-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2.2s infinite}.dash-progress{margin-top:18px;height:4px;border-radius:var(--radius-pill);background:var(--line);overflow:hidden;animation:appleRise var(--duration-spring) var(--ease-spring) .1s backwards}.dash-progress-fill{height:100%;border-radius:var(--radius-pill);background:var(--accent);transition:width var(--duration-slow) var(--ease-spring)}.dash-hero{padding:var(--space-6);margin:var(--space-5) 0 var(--space-6);border-radius:var(--radius);background:var(--bg-2);border:none;box-shadow:none;animation:appleRise var(--duration-spring) var(--ease) .05s backwards}.dash-hero-kicker{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2)}.dash-hero-title{font-family:var(--display);font-size:clamp(20px,3.5vw,26px);font-weight:700;letter-spacing:var(--tracking-tight);line-height:1.25;color:var(--ink)}.dash-hero-why{margin-top:var(--space-2);font-size:14.5px;line-height:1.55;color:var(--ink-2);max-width:54ch}.card-source-attribution{margin-top:4px;font-size:var(--text-xs);color:var(--ink-3)}.dash-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.dash-hero-meta .card-quadrant{display:none}.dash-hero-cta{margin-top:var(--space-5)}.task-goal-banner{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--accent-soft);border:none;font-size:13px;line-height:1.45;color:var(--ink-2)}.task-goal-tag{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-right:6px}.chip-tasktype{background:var(--surface-glass);color:var(--ink-2);border:none;text-transform:capitalize;font-size:11px;font-weight:600}.intro{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--accent-soft);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.intro-body{flex:1}.intro-title{font-weight:600;font-size:var(--text-base);margin-bottom:var(--space-0)}.intro p{font-size:13px;color:var(--ink-2);line-height:1.55}.paused-banner{background:var(--bg-2);align-items:center}.paused-banner .intro-title{color:var(--ink)}.toast{display:flex;align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:1.5;color:var(--ink);box-shadow:var(--shadow-sm);animation:appleRise .3s var(--ease)}.toast.error{background:var(--ink);border-color:var(--ink);color:#fff}.toast-x{flex:none;width:22px;height:22px;border:none;background:transparent;cursor:pointer;color:inherit;opacity:.55;font-size:12px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.toast-x:hover{opacity:1;background:#0000000f}.toast-x:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.toast.error .toast-x:hover{background:#ffffff26}.page-info-hint{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.page-info-hint-x{flex:none;width:18px;height:18px;border:none;background:transparent;cursor:pointer;color:inherit;opacity:.55;font-size:12px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.page-info-hint-x:hover{opacity:1;background:var(--bg-2)}.page-info-hint-x:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.empty{color:var(--ink-3);font-size:14.5px;line-height:1.6;padding:40px 2px}.empty-state{text-align:center;padding:var(--space-8) var(--space-5) var(--space-7);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);animation:appleRise .4s var(--ease-spring)}.empty-mark{width:64px;height:64px;margin-bottom:var(--space-2);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);animation:appleRise .5s var(--ease-bounce) backwards .1s}.empty-mark.done{background:var(--bg-2)}.empty-check{font-size:var(--text-2xl);font-weight:700;color:var(--ink-3)}.empty-state h3{font-family:var(--display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--ink);margin:0}.empty-state p{font-size:var(--text-base);color:var(--ink-2);line-height:1.6;max-width:360px;margin:var(--space-1) 0 var(--space-3)}.add-task-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-6);background:var(--bg-2);border:none;border-radius:var(--radius);box-shadow:none}.add-task-row:focus-within{box-shadow:0 0 0 3px var(--accent-soft)}.add-plus{color:var(--ink-3);font-size:var(--text-xl);font-weight:300;line-height:1;flex:none;transition:color var(--duration-fast) var(--ease-spring)}.add-task-row:focus-within .add-plus{color:var(--accent)}.add-task-input{flex:1;height:40px;border:none;background:transparent;padding:0;font-size:15px}.add-task-input:focus{border:none;box-shadow:none}.add-when-toggle{color:var(--ink-3);flex:none}.add-task-when{flex:0 1 140px;min-width:0}.addinput.sm{height:34px;font-size:13px}.addrow{display:flex;gap:var(--space-2)}.addrow .addinput{flex:1}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;display:flex;flex-direction:column;overflow:hidden}.card{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);min-height:56px;background:transparent;border:none;animation:appleRise var(--duration-slow) var(--ease) backwards;transition:background var(--duration-fast) var(--ease)}.card+.card{border-top:1px solid var(--line-soft)}@media(hover:hover){.card:hover{background:var(--hover-wash)}}.list.settled .card{animation-duration:.18s;animation-delay:0s}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.card.dismissed,.card.confirming{overflow:hidden;will-change:transform,opacity,max-height}.card.dismissed{animation:cardOut var(--duration-slow) var(--ease-spring) forwards}@keyframes cardOut{0%{max-height:160px;opacity:1;transform:translate(0)}60%{max-height:160px;opacity:0;transform:translate(24px)}to{max-height:0;opacity:0;transform:translate(24px)}}.card.confirming{animation:cardConfirm var(--duration-slow) var(--ease-bounce) forwards;z-index:1}@keyframes cardConfirm{0%{max-height:160px;background:transparent}20%{max-height:160px;background:var(--accent-soft)}60%{max-height:160px;background:var(--accent-soft);opacity:1}85%{max-height:160px;opacity:0;background:transparent;transform:translate(24px)}to{max-height:0;opacity:0;background:transparent;transform:translate(24px)}}.card.confirming:before{background:var(--accent);box-shadow:none;animation:confirmDot var(--duration-slow) var(--ease-bounce) forwards}@keyframes confirmDot{0%{transform:scale(1)}30%{transform:scale(2)}55%{transform:scale(1.4)}to{transform:scale(1.4);opacity:0}}.confirm-check{position:absolute;right:44px;top:50%;transform:translateY(-50%) scale(.4);opacity:0;font-size:17px;font-weight:var(--weight-bold);color:var(--accent);pointer-events:none;animation:confirmCheck var(--duration-slow) var(--ease-bounce) forwards}@keyframes checkPop{0%{transform:scale(.7)}55%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes confirmCheck{0%{opacity:0;transform:translateY(-50%) scale(.4)}35%{opacity:1;transform:translateY(-50%) scale(1.15)}55%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(1)}}.task-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:0;background:#0000004d;overflow-x:hidden;overflow-y:auto;height:100dvh;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.task-modal{position:relative;width:100%;max-width:none;background:var(--surface);border:none;border-radius:0;box-shadow:none;min-height:100%;min-height:100dvh;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom));padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.note-popup,.deck-popup{max-height:none;overflow-y:visible}.task-modal-x{position:absolute;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:2;width:30px;height:30px;border:none;background:transparent;color:var(--ink-3);font-size:14px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s var(--ease),color .12s var(--ease)}.task-modal-overlay.closing{pointer-events:none}.task-modal-overlay.nested{z-index:55;align-items:safe center;padding:20px 16px;background:#1013178c}.task-modal.nested{max-width:480px;border-radius:var(--radius);min-height:0;padding:8px 20px 20px}.task-modal-x.nested{top:12px;right:12px}.note-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.audit-log{margin-top:6px}.audit-toggle{font-size:var(--text-sm)}.audit-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:220px;overflow-y:auto}.audit-list li{display:flex;align-items:baseline;gap:6px;font-size:var(--text-sm);padding:4px 6px;border-radius:var(--radius-xs, 6px);color:var(--ink-2)}.audit-list li.audit-guardrail{background:var(--bg-2);font-weight:600;color:var(--ink)}.audit-label{flex:1}.audit-at{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.note-popup{padding:6px 2px 2px;max-height:74vh;overflow-y:auto}.note-popup-title{margin:0 28px 12px 0}.note-popup-body h3,.note-popup-body h4,.note-popup-body h5{margin:16px 0 6px}.note-popup-body h3:first-child,.note-popup-body h4:first-child,.note-popup-body h5:first-child{margin-top:0}.note-popup-body p{margin:6px 0;line-height:1.5}.note-list{margin:4px 0;padding-left:20px;line-height:1.5}.note-table-wrap{margin:10px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.note-table{width:100%;border-collapse:collapse;font-size:13px}.note-table th,.note-table td{padding:7px 10px;border:1px solid var(--line-soft);text-align:left;vertical-align:top}.note-table th{font-weight:var(--weight-semibold);background:var(--bg-2);white-space:nowrap}.deck-popup{padding:8px 4px 4px;text-align:center}.deck-retry-label{font-size:12px;font-weight:600;color:var(--accent);margin:0 0 var(--space-2);letter-spacing:-.01em}.deck-progress-bar{height:4px;background:var(--line-soft);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:var(--space-2)}.deck-progress-fill{height:100%;background:var(--accent);border-radius:inherit;transition:width var(--duration-slow) var(--ease-spring)}.deck-progress{font-size:12px;color:var(--ink-3);margin-bottom:var(--space-3);font-family:var(--mono, ui-monospace, monospace);font-weight:var(--weight-medium)}.deck-card-3d{min-height:220px;perspective:1200px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:var(--space-2);transition:transform var(--duration-instant) var(--ease-spring)}@media(hover:hover){.deck-card-3d:hover{transform:translateY(-2px)}}.deck-card-3d:active{transform:scale(.985)}.deck-card-inner{position:relative;width:100%;height:220px;text-align:center;transition:transform var(--duration-slow) var(--ease-spring);transform-style:preserve-3d}.deck-card-3d.flipped .deck-card-inner{transform:rotateY(180deg)}.deck-card-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backface-visibility:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease)}.deck-card-3d:hover .deck-card-face{box-shadow:var(--shadow-card-hover)}.deck-card-front{background:var(--surface);box-shadow:var(--shadow-card),inset 0 1px #fff9}@media(prefers-color-scheme:dark){.deck-card-front{box-shadow:var(--shadow-card),inset 0 1px #ffffff14}}.deck-card-back{transform:rotateY(180deg);background:var(--accent-soft);border-color:rgba(var(--accent-rgb),.3);box-shadow:var(--shadow-card),inset 0 1px #ffffff80}.deck-face-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.deck-box-badge{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-soft)}.deck-box-2{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.2)}.deck-face-text{font-size:18px;line-height:1.5;max-height:190px;overflow-y:auto;white-space:pre-wrap;font-weight:var(--weight-medium);letter-spacing:-.01em}.deck-hint{font-size:12px;color:var(--ink-3);margin:14px 0}.deck-acts{display:flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-1)}.quiz-wrong-review{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);max-height:260px;overflow-y:auto}.quiz-mistake-note{text-align:left;border-top:1px solid var(--line-soft);padding-top:var(--space-2)}.quiz-wrong-review .quiz-mistake-note:first-child{border-top:none;padding-top:0}.quiz-mistake-note label{display:block;margin-bottom:6px}.quiz-mistake-q{font-size:var(--text-sm);font-weight:600;margin-bottom:6px}.quiz-mistake-saved{font-size:var(--text-sm);color:var(--ink-3);border-top:1px solid var(--line-soft);padding-top:var(--space-2);margin:0}.quiz-mistake-textarea{width:100%;resize:vertical;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--surface);color:var(--ink);margin-bottom:var(--space-1);font-family:inherit;transition:border-color var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-spring)}.quiz-mistake-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.deck-btn-back{display:block;margin:var(--space-2) auto 0}.deck-btn-not-needed{display:block;margin:var(--space-1) auto 0;color:var(--ink-3);font-size:12px}.study-help{margin-top:var(--space-3);border-top:1px solid var(--line-soft);padding-top:var(--space-2)}.study-help-toggle{display:block;margin:0 auto}.study-help-panel{margin-top:var(--space-2);background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:var(--space-3)}.study-help-log{max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-2)}.study-help-empty{font-size:12px;color:var(--ink-3);margin:0}.study-help-msg{font-size:13px;line-height:1.45;margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);max-width:92%}.study-help-msg.user{align-self:flex-end;background:var(--accent-soft);color:var(--accent)}.study-help-msg.assistant{align-self:flex-start;background:var(--surface);border:1px solid var(--line-soft)}.study-help-sender{display:block;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--space-0)}.study-help-thinking{opacity:.6}.study-help-input{display:flex;gap:var(--space-1)}.study-help-input input{flex:1;min-width:0}.deck-btn-wrong:hover{background:var(--bg-2);border-color:var(--ink-2)}.deck-btn-right{background:var(--accent);border-color:var(--accent);color:#fff}.deck-done{padding:16px 4px}.deck-score-ring{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:16px auto 14px;border:5px solid var(--line-soft);font-family:var(--mono, ui-monospace, monospace);box-shadow:var(--shadow-sm)}.deck-score-ring.good{border-color:var(--accent)}.deck-score-pct{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em}.deck-done .deck-score{font-size:var(--text-md);color:var(--ink-2);margin:0 0 20px;font-weight:var(--weight-medium)}.quiz-popup{text-align:left}.quiz-q{font-size:17px;font-weight:600;line-height:1.45;margin:4px 0 16px;letter-spacing:-.01em}.quiz-opts{display:flex;flex-direction:column;gap:var(--space-2)}.quiz-opt{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 16px;border:1px solid var(--line-glass);border-radius:var(--radius-sm);background:var(--surface);font-size:14.5px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring),transform var(--duration-instant) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-spring)}.quiz-opt:hover:not(:disabled){border-color:var(--ink-3);background:var(--bg-2);box-shadow:var(--shadow-card)}.quiz-opt:active:not(:disabled){transform:scale(.985)}.quiz-opt:disabled{cursor:default}.quiz-opt-text{flex:1;line-height:1.4}.quiz-opt.correct{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.quiz-opt.wrong{border-color:var(--ink-3);background:var(--bg-2)}.quiz-opt-mark{flex:none;font-size:var(--text-xs);font-weight:var(--weight-bold);margin-left:8px}.quiz-opt.correct .quiz-opt-mark{color:var(--accent)}.quiz-opt.wrong .quiz-opt-mark{color:var(--ink-2)}.quiz-why{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin:var(--space-4) 0 var(--space-1);padding:var(--space-3) var(--space-3);background:var(--bg-2);border-radius:var(--radius-sm);border:1px solid var(--line-soft)}.card.is-done{opacity:.5}.card.is-done:hover{opacity:.8}.card:before{content:"";position:absolute;left:9px;top:22px;width:8px;height:8px;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.card.running:before{background:var(--accent);box-shadow:none;animation:pulse 2.2s infinite}.card.needs-you:before{background:var(--accent);box-shadow:none}.card.is-done:before{background:var(--ink-3);box-shadow:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.card-main{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;text-align:left;cursor:pointer;border-radius:var(--radius);border:0;background:none;font:inherit;color:inherit;padding:0}.card-main:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(hover:none){.card-main:active{background:var(--hover-wash);transform:scale(.994)}}.card-check{position:relative;flex:none;width:22px;height:22px;margin:-2px 0;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:transparent;font-size:12px;font-weight:var(--weight-semibold);line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring),transform var(--duration-instant) var(--ease-spring)}.card-check:after{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px;border-radius:50%;background:#00000003}@media(hover:hover){.card-check:hover{border-color:var(--accent);transform:scale(1.08)}}.card-check:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.card-check.checked{background:var(--accent);border-color:var(--accent);color:#fff;animation:checkPop var(--duration-slow) var(--ease-bounce)}@media(hover:hover){.card-check.checked:hover{transform:none}}.card-check:disabled{cursor:default}.card-text{flex:1;min-width:0}.card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:-.015em;line-height:1.4}.new-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:middle;flex:none}.card-sub{font-size:var(--text-sm);color:var(--ink-2);margin-top:var(--space-1);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-badges{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.card-badges .chip{font-size:10.5px;padding:2px 7px}.card-subject{color:var(--ink-3);font-weight:600;margin-right:8px}.card-quadrant{color:var(--ink-3);font-weight:600;margin-right:8px;text-transform:uppercase;font-size:.85em;letter-spacing:.02em}.card-quadrant-do{color:var(--accent)}.when{color:var(--ink-2);font-weight:var(--weight-medium);margin-right:8px}.when-soon{color:var(--accent);font-weight:700}.row-guardrail{flex:none;font-size:13px;opacity:.7}.card-spin{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card-x{flex:none;width:24px;height:24px;border:none;background:none;color:var(--ink-3);font-size:18px;line-height:1;border-radius:var(--radius-sm);opacity:0;cursor:pointer;transition:opacity var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring),color var(--duration-instant) var(--ease-spring)}.card-x:hover{background:#0000000d;color:var(--ink)}.card-x:active{transform:scale(.82)}.card-x:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(hover:none){.card-x{opacity:.6}}.caret{flex:none;color:var(--ink-3);font-size:17px;font-weight:var(--weight-regular);line-height:1;transition:transform var(--duration-base) var(--ease-spring),opacity var(--duration-fast) var(--ease-spring)}.card-main .caret{opacity:.6}@media(hover:hover){.card:hover .card-main .caret{opacity:1}}.muted{color:var(--ink-2)}.small{font-size:var(--text-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.task-focus{display:flex;flex-direction:column;gap:var(--space-2);padding:4px 2px 2px}.tf-head{display:flex;flex-direction:column;gap:var(--space-2)}.tf-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.3;margin:0 34px 0 0}.tf-why{font-size:var(--text-base);color:var(--ink-2);line-height:1.45;margin:-2px 34px 0 0}.tf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.tf-meta .chip-tasktype,.tf-meta .card-quadrant{display:none}.tf-study-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-instant) var(--ease-spring)}.tf-study-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tf-study-btn:active{transform:scale(.97)}.step-hero{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);background:var(--bg-2);border:none;border-radius:var(--radius-lg, 22px);padding:var(--space-5) var(--space-5);margin-top:var(--space-3);box-shadow:none;transition:box-shadow var(--duration-base) var(--ease-spring),border-color var(--duration-base) var(--ease-spring)}.hero-kicker{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.hero-step{font-size:20px;font-weight:var(--weight-semibold);line-height:1.4;margin:0;letter-spacing:-.015em;color:var(--ink)}.hero-line{font-size:var(--text-md);line-height:1.5;margin:0;color:var(--ink-2);font-weight:var(--weight-medium)}.hero-acts{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%;margin-top:var(--space-1)}.step-hero .step-input{width:100%}.hero-waiting,.hero-done{flex-direction:row;align-items:center;gap:var(--space-3)}.first-action{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:var(--text-sm);color:var(--ink-2);line-height:1.45;margin:-2px 0 0;padding:10px 14px;background:var(--accent-soft);border-radius:var(--radius-sm);border:none}.first-action-label{flex:none;font-weight:var(--weight-semibold);color:var(--accent)}.first-action-minutes{flex:none;color:var(--ink-3);margin-left:auto}.quick-win{color:var(--accent)!important;font-weight:700}.hero-complete{align-items:center;text-align:center}.hero-complete .deck-score-ring{margin:0 auto}.hero-sendable{background:transparent;padding:0;border:none;box-shadow:none}.tf-prepared-inline{margin-top:var(--space-3)}.tf-board-inline{margin-top:var(--space-3);border:none;border-radius:var(--radius-lg);background:var(--bg-2);max-height:360px;overflow:auto}.tf-panels{display:flex;flex-direction:column;margin-top:var(--space-3)}.disclosure{border-top:1px solid var(--line-soft)}.disclosure:last-child{border-bottom:1px solid var(--line-soft)}.disclosure-head{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:48px;padding:8px 4px;background:none;border:0;text-align:left;font:inherit;color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-instant) var(--ease-spring)}.disclosure-head:hover{background:var(--hover-wash)}.disclosure-head:active{transform:scale(.99)}.disclosure-head .caret{transition:transform var(--duration-base) var(--ease-spring)}.disclosure.open .disclosure-head .caret{transform:rotate(90deg)}.disclosure-label{flex:1;font-size:var(--text-base);font-weight:var(--weight-medium)}.disclosure-count{font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.disclosure-body{padding:4px 4px var(--space-3);animation:fadeIn var(--duration-spring) var(--ease-spring)}.tf-foot{display:flex;justify-content:flex-end;margin-top:var(--space-2)}.bullets{margin:0;padding-left:18px}.bullets li{font-size:var(--text-base);line-height:1.55;margin-bottom:var(--space-1)}.prepared-label{display:block;font-size:10.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 8px;opacity:.85}.prepared-label:first-child{margin-top:0}.prepared-chips{flex-direction:column;gap:8px}.prepared-chips .note-chip{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line-glass);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring),transform var(--duration-instant) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-spring)}@media(hover:hover){.prepared-chips .note-chip:hover{border-color:var(--ink-3);background:var(--bg-2);box-shadow:var(--shadow-card)}}.prepared-chips .note-chip:active{transform:scale(.985)}.note-chip-icon{flex:none;font-size:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--bg-2);color:var(--ink-2)}.note-chip-text{display:flex;flex-direction:column;gap:2px;min-width:0}.note-chip-title{font-size:var(--text-base);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-chip-meta{font-size:12px;color:var(--ink-3)}.context-text{white-space:pre-line}.context-body{margin-top:var(--space-2)}.history-list{list-style:none;margin:10px 0 0;padding:8px 0 0;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:5px}.task-chat{margin-top:16px;padding:16px;background:var(--bg-2);border:1px solid var(--line-glass);border-radius:var(--radius-lg, 22px);box-shadow:var(--shadow-sm)}.task-chat h3{font-size:11px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.chat-thread{display:flex;flex-direction:column;gap:var(--space-2);max-height:260px;overflow-y:auto;margin-bottom:12px}.task-focus .chat-thread{max-height:none;overflow-y:visible}.task-focus .chat-row{position:sticky;bottom:0;z-index:2;background:var(--bg-2);margin-top:4px;padding:var(--space-2) 0 calc(4px + env(safe-area-inset-bottom))}.chat-msg{font-size:var(--text-base);line-height:1.5;padding:12px 16px;border-radius:var(--radius-lg, 18px);max-width:88%;white-space:pre-line;box-shadow:var(--shadow-sm)}.chat-msg p{margin:0}.chat-msg p+p{margin-top:10px}.chat-msg .note-list{margin:8px 0;padding-left:18px}.chat-msg .note-list li+li{margin-top:4px}.chat-sender{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.chat-sender-user{color:#ffffffbf}.chat-sender-assistant{color:var(--ink-3)}.chat-msg-toggle{display:block;margin-top:6px;padding:0;border:none;background:none;font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer;color:currentColor;opacity:.75}.chat-msg-toggle:hover{opacity:1}.chat-user{align-self:flex-end;background:linear-gradient(180deg,var(--accent-hover) 0%,var(--accent) 100%);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px rgba(var(--accent-rgb),.25)}.chat-assistant{align-self:flex-start;background:var(--surface);color:var(--ink);border:1px solid var(--line-glass);border-bottom-left-radius:4px;box-shadow:var(--shadow-sm)}.chat-assistant .inline-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.chat-step-tag{display:block;font-size:10.5px;font-weight:600;color:#fffc;margin-bottom:4px;letter-spacing:.02em}.chat-guardrail-tag{display:block;font-size:10.5px;font-weight:600;color:var(--ink-3);margin-top:6px;letter-spacing:.02em}.chat-sources{margin-top:8px;color:var(--ink-3);font-size:var(--text-xs)}.chat-sources summary{cursor:pointer;color:var(--accent)}.chat-sources ul{margin:6px 0 0;padding-left:18px}.chat-sources a{color:var(--accent)}.chat-artifact-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-2)}.chat-assistant .note-chip{background:var(--surface)}.chat-pending{opacity:.6}.chat-typing{display:flex;align-items:center;gap:var(--space-2);padding:11px 14px}.typing-dots{display:inline-flex;align-items:center;gap:var(--space-1)}.typing-dots i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:typingBounce 1.2s var(--ease) infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.typing-slow{font-size:12px;color:var(--ink-3);animation:fadeIn .3s var(--ease)}@media(prefers-reduced-motion:reduce){.typing-dots i{animation:none!important;opacity:.5}}.chat-row{display:flex;gap:var(--space-2);align-items:end}.chat-input{flex:1;font-size:var(--text-base);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);padding:10px 16px;line-height:1.4;min-height:40px;max-height:88px;resize:none;overflow-y:auto}.chat-input:focus-visible{border-color:var(--accent)}.chat-send{flex:none;width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-instant) var(--ease-spring),transform var(--duration-instant) var(--ease-spring),opacity var(--duration-fast) var(--ease-spring)}.chat-send:hover:not(:disabled){background:var(--accent-hover)}.chat-send:active:not(:disabled){transform:scale(.92)}.chat-send:disabled{background:var(--ink-3);opacity:.4;cursor:default}.chat-send:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.history-list li{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.history-when{color:var(--ink-3);margin-right:6px}.walkthrough{margin-top:var(--space-6)}.walk-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.walk-tab{display:flex;align-items:center;gap:var(--space-2);padding:10px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--duration-instant) var(--ease-spring),color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring)}.walk-tab:hover{color:var(--ink-1);background:var(--hover-wash)}.walk-tab:active{transform:scale(.97)}.walk-tab.active{border-color:var(--accent);color:var(--accent)}.walk-tab-n{font-size:var(--text-xs);font-weight:700;opacity:.6}.walk-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px;min-height:180px}.walk-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--text-base)}.walk-row-text{color:var(--ink-2);flex:1;min-width:0}.walk-check{font-size:12px;color:var(--accent);font-weight:600;white-space:nowrap}.walk-caption{margin-top:14px;font-size:var(--text-sm);color:var(--ink-3)}.walk-card .card-title{font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.walk-h{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.02em;color:var(--ink-3);margin:16px 0 6px}.walk-draft-body{font-size:var(--text-base);line-height:1.6;color:var(--ink-2);margin:4px 0 14px}.walk-nav{display:flex;justify-content:space-between;margin-top:14px}@media(max-width:640px){.walk-tabs{flex-direction:column}}.links{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}.links a{font-size:13px;font-weight:var(--weight-medium);color:var(--accent)}.links a:hover{text-decoration:underline}.inline-link{display:inline-flex;align-items:center;font-weight:var(--weight-medium);color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:var(--radius-2xs);text-decoration:none}.inline-link:hover{text-decoration:underline}.milestone-bar{display:flex;gap:var(--space-1);margin:4px 0 16px}.milestone-segment{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.milestone-segment-bar{display:block;height:4px;border-radius:2px;background:var(--line)}.milestone-segment.done .milestone-segment-bar{background:var(--ink-3)}.milestone-segment.current .milestone-segment-bar{background:var(--accent)}.milestone-segment-label{font-size:10.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-segment.current .milestone-segment-label{color:var(--accent);font-weight:600}.milestone-segment.late .milestone-segment-bar{background:var(--ink)}.milestone-segment.late .milestone-segment-label{color:var(--ink);font-weight:700}.steps{list-style:none}.step{display:flex;align-items:flex-start;gap:var(--space-3);padding:10px 0;font-size:14px;line-height:1.5}.step+.step{border-top:1px solid var(--line-soft)}.step.blocked{opacity:.5}.step.done{color:var(--ink-3)}.step.done .step-text{text-decoration:line-through;text-decoration-color:#0003}.step-mark{flex:none;width:22px;height:22px;margin-top:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:var(--weight-semibold);line-height:1;color:transparent;background:transparent;border:1.5px solid var(--line);border-radius:50%;transition:border-color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring),transform var(--duration-instant) var(--ease-spring)}.step-mark.tickable{cursor:pointer}@media(hover:hover){.step-mark.tickable:hover{border-color:var(--accent);transform:scale(1.08)}}.step-mark.tickable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.step.done .step-mark{background:var(--accent);border-color:var(--accent);color:#fff;animation:checkPop var(--duration-slow) var(--ease-bounce)}.step-mark.busy{border-color:var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}.step-hero-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.step-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.step-text-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.step-text{min-width:0}.step-diff{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:1px 7px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;line-height:1.4}.step-diff-easy{background:#34c75924;color:#248a3d}.step-diff-medium{background:#ff950024;color:#c96500}.step-diff-hard{background:#ff3b3024;color:#d70015}.step-done-when{margin:8px 0 4px;padding:6px 10px;border-radius:var(--radius-sm);background:#34c75914;border:1px solid rgba(52,199,89,.2);font-size:12.5px;color:var(--ink-2);line-height:1.4}.step-done-when-tag{font-size:11px;font-weight:700;color:#248a3d;margin-right:4px}.step-done-when-inline{font-size:12px;color:var(--ink-2);background:#34c75914;padding:3px 8px;border-radius:6px;margin-top:3px;width:fit-content;line-height:1.35}.step-checkpoint{margin:4px 0 6px;padding:6px 10px;border-radius:var(--radius-sm);background:#ff950014;border:1px solid rgba(255,149,0,.22);font-size:12.5px;color:var(--ink-2);line-height:1.4;font-weight:500}.step-checkpoint-tag{font-size:11px;font-weight:700;color:#c96500;margin-right:4px}.step-checkpoint-inline{font-size:12px;color:#c96500;background:#ff950014;padding:3px 8px;border-radius:6px;margin-top:3px;width:fit-content;font-weight:500}.step-when{font-size:11.5px;color:var(--ink-3)}.step-result{font-size:var(--text-sm);color:var(--ink-2)}.step-result.note{color:var(--amber)}.step-dep{font-size:11.5px;color:var(--ink-3)}.step-target{font-size:11.5px;color:var(--accent)}.step-minutes{font-size:11.5px;color:var(--ink-3)}.step-target+.step-minutes,.step-minutes+.step-target{margin-left:var(--space-2)}.step-timer-start{background:none;border:none;padding:0;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.step-timer{font-family:var(--mono, ui-monospace, monospace);font-weight:600;color:var(--ink-2)}.step-timer.over{color:var(--accent)}.step-act{flex:none}.step .btn{margin-left:auto;flex:none}.step-input-label{display:block;font-size:12px;font-weight:var(--weight-semibold);color:var(--ink-2);margin-top:var(--space-2)}.step-question{margin-top:var(--space-2);padding:10px 12px;border-radius:var(--radius-sm);background:var(--accent-soft)}.step-question-text{margin:0 0 8px;font-size:13px;font-weight:560;color:var(--ink)}.step-question-opts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-2)}.step-question .step-input{margin-top:0}.step-input{height:34px;font-size:13px;margin-top:var(--space-1);width:100%}.substep-expand{margin-top:6px}.substeps{list-style:none;margin:8px 0 0;padding-left:4px;display:flex;flex-direction:column;gap:var(--space-1);animation:fadeIn var(--duration-spring) var(--ease-spring)}.substep{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-2);font-size:13px}.substep.done .substep-text{color:var(--ink-3);text-decoration:line-through}.substep-text{flex:1 1 auto;min-width:0}.substep-link{flex:none;margin-left:auto}.substep-mark{flex:none;width:16px;height:16px;margin-top:1px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:transparent;font-size:9px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring)}.substep.done .substep-mark{background:var(--accent);border-color:var(--accent);color:#fff;animation:checkPop var(--duration-slow) var(--ease-bounce)}.sendables{display:flex;flex-direction:column;gap:10px;margin-top:var(--space-3)}.sendable{background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:12px 14px}.sendable-to{margin-bottom:10px}.sendable-to-label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.sendable-to-who{font-size:var(--text-base);font-weight:var(--weight-medium);word-break:break-word}.sendable-row{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.sendable-row .btn:first-child{margin-right:auto}.draft{margin-top:10px}.draft-row{display:flex;gap:10px;font-size:13px;padding:3px 0}.draft-label{flex:none;width:58px;font-size:var(--text-xs);font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding-top:2px}.draft-body{font-family:inherit;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);margin-top:var(--space-2)}.confirm{margin-top:var(--space-2)}.confirm-q{font-size:13px;margin-bottom:var(--space-2)}.confirm-acts{display:flex;gap:var(--space-2);flex-wrap:wrap}.change-row{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.change-row input{flex:1}.draft-subject{margin-top:var(--space-2)}.draft-body-edit{width:100%;min-height:160px;max-height:600px;font-family:inherit;font-size:13px;line-height:1.6;resize:vertical;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;margin-top:var(--space-2);transition:opacity var(--duration-instant) var(--ease-spring),border-color var(--duration-instant) var(--ease-spring)}.draft-body-edit:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.draft-body-edit:disabled,.draft-subject:disabled{opacity:.55;cursor:not-allowed}.draft-edit-acts{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.rewrite-toggle{margin-top:10px}.rewrite-row{display:flex;gap:var(--space-2);margin-top:10px;flex-wrap:wrap;align-items:center}.rewrite-row input{flex:1;min-width:160px}.rewrite-error{flex-basis:100%;font-size:var(--text-sm);color:var(--ink);background:var(--bg-2);border-radius:var(--radius-sm);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.rewrite-progress{width:100%;height:3px;margin-top:var(--space-2);border-radius:2px;background:var(--line-soft);overflow:hidden}.rewrite-progress:after{content:"";display:block;height:100%;width:40%;border-radius:2px;background:var(--accent);animation:rewriteSweep 1.1s ease-in-out infinite}@keyframes rewriteSweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}.connect-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:44px 32px 40px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;animation:fadeIn var(--duration-base) var(--ease-spring)}.connect-mark{width:64px;height:64px;margin-bottom:var(--space-2);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.connect-card h2{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:var(--tracking-tight)}.connect-card p{font-size:14px;color:var(--ink-2);line-height:1.6;max-width:400px}.connect-card .btn{margin-top:var(--space-3)}.completed-section{margin-top:52px;padding-top:28px;border-top:1px solid var(--line)}.completed-head{font-family:var(--mono);font-size:10.5px;font-weight:var(--weight-medium);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.loading-screen{animation:fadeIn var(--duration-base) var(--ease-spring)}.loading-head{display:flex;align-items:center;gap:10px;padding:4px 2px 18px}.loading-msg{font-size:14px;color:var(--ink-2);font-weight:var(--weight-medium)}.spinner.sm{width:16px;height:16px;border-width:2px}.spinner.xs{width:11px;height:11px;border-width:1.5px;display:inline-block;vertical-align:-1.5px;margin-right:5px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card.skel{pointer-events:none}.skel-box{display:block;border-radius:var(--radius-xs, 4px);background:var(--bg-2);animation:shimmer 1.4s var(--ease) infinite}.skel-pill{width:8px;height:8px;border-radius:50%;flex:none}.skel-line{height:13px;margin-bottom:7px}.skel-line.sm{height:10px;margin:0}.skel-note{text-align:center;color:var(--ink-3);font-size:var(--text-sm);padding-top:16px}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.55}}.settings-page{width:100%;max-width:660px;margin:0;padding:clamp(32px,6vh,88px) clamp(16px,5vw,64px) 120px;animation:appleRise var(--duration-spring) var(--ease-spring) backwards}.settings-title{font-family:var(--display);font-size:clamp(28px,5vw,38px);font-weight:700;letter-spacing:var(--tracking-tighter);line-height:1.05;color:var(--ink);margin-bottom:var(--space-5)}.settings{display:flex;flex-direction:column}.settings-sec{padding:28px 32px;margin-bottom:var(--space-5);background:var(--surface-glass);border:none;border-radius:var(--radius-lg);box-shadow:none;backdrop-filter:blur(var(--blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%);transition:transform var(--duration-base) var(--ease-spring),box-shadow var(--duration-base) var(--ease-spring)}.settings-sec h2{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:var(--tracking-tight);margin-bottom:var(--space-3);color:var(--ink)}.settings-sec h3{font-family:var(--display);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 12px}.settings-hint{font-size:13px;color:var(--ink-2);line-height:1.5;margin-bottom:4px}.student-model-text{font-size:14px;line-height:1.6;padding:14px 16px;margin:8px 0;background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--ink)}.modal-row-usage-breakdown{align-items:flex-start}.density-picker{display:flex;gap:6px}.usage-breakdown-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;width:100%}.personalization-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.personalization-list li{position:relative;padding-left:14px;font-size:13.5px;color:var(--ink-2)}.personalization-list li:before{content:"•";position:absolute;left:0;color:var(--accent)}.usage-breakdown-list li{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;align-items:center;gap:var(--space-2);font-size:13px;color:var(--ink-2)}.usage-breakdown-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-breakdown-top .usage-breakdown-label{color:var(--ink);font-weight:var(--weight-medium)}.usage-breakdown-bar-track{background:var(--bg-2);border-radius:var(--radius-pill);height:6px;overflow:hidden}.usage-breakdown-bar{display:block;height:100%;background:var(--accent);border-radius:var(--radius-pill)}.usage-breakdown-amount{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-2);font-family:var(--mono)}.usage-breakdown-top .usage-breakdown-amount{color:var(--ink);font-weight:var(--weight-semibold)}.guardrail-stat{margin:0;color:var(--ink);font-weight:var(--weight-medium)}.sec-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:8px 0;cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:background var(--duration-base) var(--ease-spring)}.sec-toggle:hover{background:var(--bg-2)}.sec-toggle h3{margin:0}.sec-toggle .caret{color:var(--ink-3);font-size:20px;line-height:1;transition:transform var(--duration-base) var(--ease-spring)}.sec-toggle .caret.open{transform:rotate(90deg)}.settings-reveal{padding-top:16px;animation:appleRise var(--duration-base) var(--ease-spring)}.modal-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 0}.modal-row+.modal-row{border-top:1px solid var(--line-soft)}.modal-row .lbl{font-size:13.5px;color:var(--ink-2);font-weight:var(--weight-medium)}.modal-row .val{font-size:14px;font-weight:var(--weight-semibold);text-align:right;color:var(--ink)}.set-list{display:flex;flex-direction:column}.set-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:14px 0;min-height:54px}.set-row+.set-row{border-top:1px solid var(--line-soft)}label.set-row{cursor:pointer}label.set-row.disabled{cursor:default;opacity:.5}.set-text{display:flex;flex-direction:column;gap:3px;min-width:0}.set-text>b{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.set-text .settings-hint{margin:0}.set-row>.btn{flex:none}.lang-toggle{display:flex;gap:6px;flex:none}.more-settings-btn{margin-top:10px;align-self:flex-start}.switch{position:relative;flex:none;width:51px;height:31px}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-3);border-radius:var(--radius-pill);transition:background var(--duration-base) var(--ease-spring)}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000026,0 0 1px #00000014;transition:transform var(--duration-base) var(--ease-spring)}.switch input:checked+.switch-track{background:var(--ok)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--accent-soft)}.switch:hover .switch-track{background:var(--bg-2)}.switch input:checked:hover+.switch-track{background:#16a34a}.seg{display:inline-flex;flex:none;background:var(--bg-2);border-radius:var(--radius-pill);padding:3px;gap:2px}.seg-btn{position:relative;min-width:36px;height:28px;padding:0 12px;border:none;background:transparent;color:var(--ink-2);font-size:12.5px;font-weight:600;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--duration-instant) var(--ease-spring)}.seg-btn:hover{color:var(--ink)}.seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001a;font-weight:700}.seg-btn:active{transform:scale(.96)}.int-group{margin-bottom:6px}.pronote-form{display:flex;flex-direction:column;gap:var(--space-2);margin:6px 0 14px;padding:16px;background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--radius)}.pronote-form-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.pronote-form-row .addinput{flex:1;min-width:140px}.int-cat{font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 8px}.int-count{margin-bottom:10px}.int-grid{display:flex;flex-direction:column}.int-tile{display:flex;align-items:center;gap:var(--space-3);padding:11px 0}.int-tile+.int-tile{margin-top:4px}.int-tile-skel{height:46px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-2) 25%,var(--bg-3, var(--line-soft)) 37%,var(--bg-2) 63%);background-size:400% 100%;animation:int-skel-shine 1.4s ease infinite}@keyframes int-skel-shine{0%{background-position:100% 50%}to{background-position:0% 50%}}.int-tile-block+.int-tile-block .int-tile{margin-top:4px}.int-logo{width:24px;height:24px;border-radius:var(--radius-sm);flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink-3)}.pronote-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:3px}.pronote-logo img{width:100%;height:100%;object-fit:contain}.int-info{flex:1;min-width:0}.int-name{display:flex;align-items:center;gap:6px;font-size:var(--text-base);font-weight:var(--weight-medium)}.int-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}.int-blurb{font-size:12px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.int-blurb.warn{color:var(--warn);-webkit-line-clamp:3}.int-accounts{display:flex;flex-direction:column;margin:2px 0 8px 36px}.int-acct{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:5px 0}.int-acct-email{flex:1;min-width:0;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.int-acct-actions{flex:none;display:flex;align-items:center;gap:var(--space-2)}.prof-group{margin-top:var(--space-3)}.prof-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2);opacity:.85}.memory-body{display:flex;flex-direction:column;gap:var(--space-2)}.profile-list,.memory-list{list-style:none}.profile-list li,.memory-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;font-size:var(--text-base)}.profile-list li+li,.memory-list li+li{border-top:1px solid var(--line-soft)}.profile-list .x,.memory-list .x,.grade-list .x{background:none;border:none;color:var(--ink-3);font-size:var(--text-md);line-height:1;padding:2px 6px;border-radius:var(--radius-sm);transition:color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring),transform var(--duration-instant) var(--ease-spring)}.profile-list .x:hover,.memory-list .x:hover,.grade-list .x:hover{color:var(--warn);background:var(--bg-2)}.profile-list .x:active,.memory-list .x:active,.grade-list .x:active{transform:scale(.85)}.errorlog-addform{display:flex;flex-direction:column;gap:var(--space-2);max-width:560px;margin-top:var(--space-3)}.errorlog-groups{display:flex;flex-direction:column;gap:var(--space-2)}.errorlog-group{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.errorlog-group-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background:var(--surface);border:none;padding:12px 14px;cursor:pointer;text-align:left;font:inherit;color:inherit}.errorlog-group-head:hover{background:var(--bg-2)}.errorlog-entries{list-style:none;margin:0;padding:0 14px 12px}.errorlog-entry{padding:10px 0;border-top:1px solid var(--line-soft)}.errorlog-entry:first-child{border-top:none}.errorlog-entry p{margin:3px 0;font-size:var(--text-sm);line-height:1.5}.errorlog-entry-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.exam-grades-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.exam-grades-heading .settings-hint{margin:0}@media(max-width:560px){.exam-grades-heading{align-items:flex-start;flex-direction:column}}.grade-list{list-style:none;margin:4px 0 12px}.grade-row{padding:9px 0}.grade-row+.grade-row{border-top:1px solid var(--line-soft)}.grade-row-top{display:flex;align-items:center;gap:var(--space-2);margin-bottom:5px}.grade-subject{font-size:var(--text-base);font-weight:var(--weight-medium);flex:1}.grade-value{font-family:var(--mono, ui-monospace, monospace);font-size:13px;color:var(--ink-2)}.forget-row{display:flex;align-items:center;gap:10px;margin-top:var(--space-3)}.onboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0000004d;display:flex;align-items:center;justify-content:center;padding:20px}.onboard-card{position:relative;width:min(480px,100%);max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:30px 32px 32px;animation:rise var(--duration-slow) var(--ease-spring)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.onboard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.onboard-brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-md)}.onboard-progress{display:flex;gap:5px}.onboard-progress span{width:22px;height:4px;border-radius:2px;background:var(--line);transition:background .3s var(--ease)}.onboard-progress span.on{background:var(--accent)}.onboard-step{animation:fadeIn .32s var(--ease)}.onboard-step h2{font-family:var(--display);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.025em;margin-bottom:var(--space-2)}.onboard-lead{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-bottom:22px}.onboard-name{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-1)}.onboard-name span{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2)}.onboard-name input{height:46px}.ob-states{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:24px}.ob-state{display:flex;align-items:flex-start;gap:13px;padding:13px 0}.ob-state+.ob-state{border-top:1px solid var(--line-soft)}.ob-state>div{display:flex;flex-direction:column;gap:2px}.ob-state b{font-size:14px;font-weight:600}.ob-state span:last-child{font-size:13px;color:var(--ink-2);line-height:1.5}.ob-state-btn{width:100%;background:none;border:none;text-align:left;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-instant) var(--ease-spring)}.ob-state-btn:hover{background:var(--accent-soft)}.ob-state-btn:active{transform:scale(.99)}.ob-dot{flex:none;width:11px;height:11px;border-radius:50%;margin-top:var(--space-1)}.ob-dot.done{background:var(--accent)}.ob-dot.need{background:transparent;box-shadow:inset 0 0 0 2px var(--accent)}.ob-dot.check{background:var(--ink-3)}.ob-tour{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:20px;max-height:46vh;overflow-y:auto}.ob-tour-row{display:flex;flex-direction:column;gap:2px;padding:10px 0}.ob-tour-row+.ob-tour-row{border-top:1px solid var(--line-soft)}.ob-tour-row b{font-size:14px;font-weight:600}.ob-tour-row span{font-size:13px;color:var(--ink-2);line-height:1.5}.onboard-apps{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:14px}.ob-track-btn{height:44px;justify-content:flex-start;padding:0 16px;font-size:var(--text-sm)}.onboard-app{display:flex;align-items:center;gap:var(--space-3);padding:13px 0}.onboard-app+.onboard-app{border-top:1px solid var(--line-soft)}.onboard-app-name{flex:1;font-size:14px;font-weight:var(--weight-medium)}.onboard-app-ok{color:var(--ok);font-size:var(--text-sm);font-weight:600}.onboard-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;margin-top:22px}.onboard-actions-split{justify-content:space-between}.onboard-done{text-align:center}.onboard-done .onboard-lead{margin-left:auto;margin-right:auto;max-width:340px}.onboard-done .onboard-actions{justify-content:center}.onboard-done-mark{width:60px;height:60px;margin:4px auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);animation:rise var(--duration-slow) var(--ease-spring) .1s backwards}.onboard-skip{position:absolute;top:18px;right:18px;background:none;border:none;color:var(--ink-3);font-size:var(--text-sm);z-index:1}.onboard-skip:hover{color:var(--ink-2)}.chip{flex:none;font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;padding:3px var(--space-2);border-radius:var(--radius-pill);white-space:nowrap}.chip-muted,.chip-busy{background:var(--bg-2);color:var(--ink-3)}.chip-bad{background:var(--bg-2);color:var(--ink)}.chip-good{background:var(--bg-2);color:var(--ink-3)}.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative}.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(400px,100%);background:var(--surface-glass);border:1px solid var(--line-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);backdrop-filter:blur(var(--blur-lg)) saturate(190%);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(190%);padding:32px 28px;display:flex;flex-direction:column;gap:16px;animation:appleRise var(--duration-spring) var(--ease-spring)}.login-title{font-family:var(--display);font-size:var(--text-xl);font-weight:700;letter-spacing:var(--tracking-tight);color:var(--ink)}.login-sub{font-size:14px;color:var(--ink-2);margin-top:-8px;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:12.5px;font-weight:var(--weight-semibold);color:var(--ink-2);letter-spacing:-.01em}.field input{height:44px;border-radius:var(--radius-sm)}.field-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink-2);line-height:1.4;cursor:pointer}.field-check input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--accent)}.autherr{color:var(--vermilion);font-size:13px;font-weight:var(--weight-medium)}.login-back{text-align:center;font-size:13px;color:var(--ink-2);transition:color var(--duration-fast) var(--ease)}.login-back:hover{color:var(--accent)}.landing{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow-x:hidden}.landing-nav.glass-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:54px;padding:0 clamp(20px,5vw,48px);background:var(--surface);border-bottom:1px solid var(--line-soft);transition:background var(--duration-base) var(--ease-spring),border-color var(--duration-base) var(--ease-spring)}.landing-nav .brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.landing-nav .brand-name{font-family:var(--display);font-weight:700}.landing-navlinks{display:flex;align-items:center;gap:var(--space-2)}.landing-navlinks .btn{height:34px;padding:0 16px;font-size:13px;border-radius:var(--radius-pill)}.landing-navlinks .nav-cta{font-weight:var(--weight-semibold)}.lang-toggle{height:32px;padding:0 12px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-2);background:var(--surface-glass);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--duration-instant) var(--ease-spring);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm))}@media(hover:hover){.lang-toggle:hover{background:var(--bg-2);color:var(--ink);border-color:var(--ink-3)}}.lang-toggle:active{transform:scale(.95)}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(64px,12vh,120px) 20px 80px;position:relative;max-width:1040px;margin:0 auto;width:100%}.hero:before{content:"";position:absolute;top:10%;left:50%;transform:translate(-50%);width:min(700px,90vw);height:400px;background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.12) 0%,rgba(var(--accent-rgb),.02) 50%,transparent 70%);pointer-events:none;z-index:-1;filter:blur(40px)}.hero-kicker-pill{display:inline-flex;align-items:center;margin-bottom:var(--space-4);font-size:12.5px;font-weight:var(--weight-semibold);color:var(--accent);letter-spacing:.04em;text-transform:uppercase}.hero-in{animation:appleRise var(--duration-slow) var(--ease-spring) backwards;animation-delay:var(--d, 0s)}@keyframes appleRise{0%{opacity:0;transform:translateY(16px) scale(.98);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}.hero-title{font-family:var(--display);font-size:var(--text-3xl);font-weight:700;letter-spacing:var(--tracking-display);line-height:1.05;max-width:860px;color:var(--ink)}.hero-gradient{color:var(--accent)}.hero-sub{margin-top:var(--space-5);max-width:620px;font-size:clamp(15px,1.8vw,17px);line-height:1.58;color:var(--ink-2);letter-spacing:-.01em}.hero-cta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;justify-content:center}.hero-btn-primary{border-radius:var(--radius-pill);padding:0 28px;height:48px;font-weight:var(--weight-semibold);box-shadow:0 4px 16px rgba(var(--accent-rgb),.28)}.hero-btn-secondary{border-radius:var(--radius-pill);padding:0 24px;height:48px;border:1px solid var(--line);background:var(--surface-glass);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm))}.fineprint{margin-top:var(--space-4);font-size:12.5px;color:var(--ink-3);font-weight:var(--weight-medium)}.hero-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin:var(--space-6) 0 0;padding:0;list-style:none;font-size:13px;font-weight:var(--weight-medium);color:var(--ink-2)}.hero-trust li{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-glass);border:1px solid var(--line-soft)}.trust-icon{font-size:13px;display:inline-flex;align-items:center}.hero-demo{width:min(640px,100%);margin-top:52px;text-align:left}.hero-demo-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:var(--weight-semibold);color:var(--ink-2);margin-bottom:12px;letter-spacing:-.01em}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok);animation:pulse 2.2s infinite}.glass-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden;transition:transform var(--duration-base) var(--ease-spring),box-shadow var(--duration-base) var(--ease-spring)}.demo-window{border-radius:var(--radius-lg);animation:floaty 6s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.demo-titlebar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:rgba(var(--bg-rgb),.5)}.win-ctrl{width:11px;height:11px;border-radius:50%}.win-ctrl.close{background:#ff5f56}.win-ctrl.min{background:#ffbd2e}.win-ctrl.max{background:#27c93f}.demo-title-text{margin-left:8px;font-size:11.5px;font-weight:var(--weight-medium);color:var(--ink-3)}.demo-body{padding:16px;display:flex;flex-direction:column;gap:10px}.demo-item{padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);transition:all var(--duration-instant) var(--ease-spring)}.demo-item.active-item{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft),var(--shadow-sm)}.demo-item-head{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:var(--weight-semibold)}.demo-sub-tag{font-size:10.5px;font-weight:var(--weight-bold);padding:2px 7px;border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.04em}.demo-sub-tag.maths{background:var(--accent-2-soft);color:var(--accent-2)}.demo-sub-tag.physics{background:#ff95001f;color:var(--amber)}.demo-sub-tag.philo{background:#34c7591f;color:var(--ok)}.demo-task-name{flex:1;color:var(--ink)}.demo-badge{font-family:var(--mono);font-size:11.5px;font-weight:var(--weight-semibold);color:var(--accent)}.demo-badge.muted{color:var(--ink-3);font-weight:var(--weight-regular)}.demo-typed-line{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--ink-2);line-height:1.5}.demo-caret{display:inline-block;width:2px;height:13px;background:var(--accent);margin-left:3px;vertical-align:text-bottom;animation:blink 1.1s steps(2) infinite}.showcase-sec{width:100%;padding:clamp(72px,10vh,110px) 20px;background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.sec-header{max-width:720px;margin:0 auto 40px;text-align:center}.sec-kicker{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--space-2)}.sec-header h2{font-family:var(--display);font-size:clamp(28px,4.2vw,44px);font-weight:700;letter-spacing:var(--tracking-tighter);line-height:1.05;margin-bottom:var(--space-3);color:var(--ink)}.sec-header .lead{font-size:16px;color:var(--ink-2);line-height:1.55}.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:980px;margin:0 auto}.showcase-card{display:flex;flex-direction:column;padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;position:relative;transition:transform var(--duration-base) var(--ease-spring),box-shadow var(--duration-base) var(--ease-spring),border-color var(--duration-base) var(--ease-spring)}@media(hover:hover){.showcase-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:var(--accent)}}.showcase-card:active{transform:scale(.985)}.showcase-card h3{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:var(--tracking-tight);margin-top:18px;color:var(--ink)}.showcase-card p{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin-top:6px;padding-right:20px}.showcase-arrow{position:absolute;top:20px;right:20px;color:var(--ink-3);font-size:16px;transition:transform var(--duration-base) var(--ease-spring),color var(--duration-fast) var(--ease-spring)}.showcase-card:hover .showcase-arrow{transform:translate(3px);color:var(--accent)}.showcase-preview{height:110px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px}.showcase-week{display:flex;align-items:flex-end;gap:8px;height:100%}.showcase-bar-col{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.showcase-bar{width:10px;border-radius:4px 4px 0 0;background:var(--accent);opacity:.8;transition:height var(--duration-base) var(--ease-spring)}.showcase-bar-day{font-size:9px;font-weight:600;color:var(--ink-3)}.showcase-card-flip{flex-direction:column;gap:10px}.showcase-flashcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xs);padding:8px 12px;font-size:11.5px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px;width:100%}.flashcard-badge{font-size:9.5px;font-weight:700;text-transform:uppercase;color:var(--accent)}.flashcard-q{font-weight:600;color:var(--ink)}.showcase-boxes{display:flex;gap:5px}.showcase-box{width:18px;height:18px;border-radius:5px;background:var(--line);color:var(--ink-3);font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center}.showcase-box.on{background:var(--accent);color:#fff}.showcase-draft{width:100%;display:flex;flex-direction:column;gap:6px}.showcase-draft-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.draft-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.draft-title{font-size:10px;font-weight:700;color:var(--ink-2);text-transform:uppercase}.showcase-draft-line{height:5px;border-radius:3px;background:var(--line);width:100%}.showcase-draft-line.long{width:92%}.showcase-draft-line.short{width:60%}.showcase-draft-btn{align-self:flex-end;margin-top:2px;font-size:10.5px;font-weight:700;color:var(--accent)}.landing-sec{width:100%;max-width:800px;margin:0 auto;padding:clamp(72px,10vh,110px) 20px}.landing-sec+.landing-sec{border-top:1px solid var(--line-soft)}.glass-row{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--duration-instant) var(--ease-spring),border-color var(--duration-instant) var(--ease-spring)}@media(hover:hover){.glass-row:hover{transform:translate(4px);border-color:var(--accent)}}.glass-row:active{transform:scale(.99)}.outcomes,.features{display:flex;flex-direction:column;gap:12px}.outcome-mark{flex:none;width:24px;height:24px;margin-top:2px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(var(--accent-rgb),.3)}.feature-icon{font-size:22px;line-height:1;flex:none;margin-top:2px;display:flex;align-items:center;color:var(--accent)}.glass-row h3{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:var(--tracking-tight);margin-bottom:4px;color:var(--ink)}.glass-row p{font-size:14px;color:var(--ink-2);line-height:1.55}.walkthrough{margin-top:var(--space-6);display:flex;flex-direction:column;gap:16px}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--bg-2);border:1px solid var(--line-soft)}.segmented-item{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:var(--radius-pill);background:transparent;border:none;font-size:13.5px;font-weight:var(--weight-medium);color:var(--ink-2);cursor:pointer;transition:all var(--duration-instant) var(--ease-spring)}.segmented-item.active{background:var(--surface);color:var(--ink);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm)}.segmented-item:active{transform:scale(.97)}.walk-tab-n{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--accent)}.walk-panel{padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card)}.walk-scan{display:flex;flex-direction:column;gap:10px}.walk-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg);font-size:13.5px}.walk-row-text{flex:1;font-weight:var(--weight-medium);color:var(--ink)}.walk-check{font-size:12px;font-weight:600;color:var(--ok)}.walk-caption{margin-top:14px;font-size:13.5px;color:var(--ink-2);line-height:1.5}.walk-card{display:flex;flex-direction:column;gap:10px}.card-header-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.walk-h{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-top:8px}.walk-draft-body{font-size:14px;line-height:1.7;color:var(--ink);padding:14px;border-radius:var(--radius-sm);background:var(--bg)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;margin-right:6px}.walk-nav{display:flex;justify-content:space-between;margin-top:8px}.research-list{max-width:720px;margin:var(--space-6) auto 0}.research-row{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:var(--space-5);padding:var(--space-4) 0;border-top:1px solid var(--line-soft)}.research-row:last-child{border-bottom:1px solid var(--line-soft)}.research-row dt{font-weight:600;color:var(--ink);font-size:var(--text-sm)}.research-row dd{margin:0;color:var(--ink-3);font-size:var(--text-sm);line-height:1.55}@media(max-width:640px){.research-row{grid-template-columns:1fr;gap:4px}}.research-more{display:block;margin:var(--space-5) auto 0;max-width:720px;text-align:right;font-size:var(--text-sm);font-weight:600;color:var(--accent)}.research-more:hover{text-decoration:underline}.compare-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card)}.compare-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}.compare-table th,.compare-table td{padding:14px 18px;text-align:center;border-top:1px solid var(--line-soft)}.compare-table thead th{border-top:none;font-weight:var(--weight-semibold);color:var(--ink-2);padding-bottom:12px;font-size:13px}.compare-table th[scope=row]{text-align:left;font-weight:var(--weight-medium);color:var(--ink);max-width:260px}.compare-table td{color:var(--ink-3)}.compare-table .compare-yes{color:var(--ok);font-weight:700;font-size:16px}.compare-otto{color:var(--accent);font-weight:700}.compare-table tbody tr:nth-child(odd){background:rgba(var(--bg-rgb),.4)}.card-peak-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:12px;font-size:10px;font-weight:600;color:#34c759;background:#34c7591f;margin-left:4px}.focus-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin:var(--space-3) 0}.focus-stat-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--space-3);text-align:center}.focus-stat-label{display:block;font-size:var(--text-xs);color:var(--ink-3);margin-bottom:var(--space-1)}.focus-stat-value{display:block;font-size:var(--text-lg);font-weight:600;color:var(--ink)}.focus-insights,.focus-recommendations{margin:var(--space-4) 0}.focus-insights h4,.focus-recommendations h4{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--ink)}.focus-insights ul,.focus-recommendations ul{list-style:none;padding:0;margin:0}.focus-insights li,.focus-recommendations li{padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--ink-2);border-bottom:1px solid var(--line-soft)}.focus-insights li:last-child,.focus-recommendations li:last-child{border-bottom:none}.focus-subject-breakdown{margin:var(--space-4) 0}.focus-subject-breakdown h4{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--ink)}.focus-subject-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line-soft)}.focus-subject-name{font-size:var(--text-sm);color:var(--ink-2);min-width:120px}.focus-subject-bar{flex:1;display:flex;align-items:center;gap:var(--space-2)}.focus-subject-fill{height:6px;background:linear-gradient(90deg,#34c759,#ff9f0a);border-radius:3px;min-width:20px;transition:width .3s ease}.focus-subject-value{font-size:var(--text-xs);font-weight:600;color:var(--ink);min-width:40px;text-align:right}.focus-sessions-list{margin:var(--space-4) 0}.focus-sessions-list h4{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--ink)}.focus-session-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--line-soft)}.focus-session-main{display:flex;flex-direction:column;gap:2px}.focus-session-subject{font-size:var(--text-sm);font-weight:500;color:var(--ink)}.focus-session-duration{font-size:var(--text-xs);color:var(--ink-3)}.focus-session-metrics{display:flex;align-items:center;gap:var(--space-2)}.focus-session-concentration{font-size:var(--text-sm);font-weight:600}.focus-session-quality{font-size:var(--text-xs);color:var(--ink-3);text-transform:capitalize}.faq-list{display:flex;flex-direction:column;gap:12px}.faq-item{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);padding:18px 22px;box-shadow:var(--shadow-sm);transition:border-color var(--duration-instant) var(--ease-spring),background var(--duration-instant) var(--ease-spring)}.faq-item summary{cursor:pointer;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:var(--tracking-tight);color:var(--ink);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"›";font-size:22px;font-weight:400;color:var(--ink-3);flex-shrink:0;transform:rotate(90deg);transition:transform var(--duration-base) var(--ease-spring)}.faq-item[open] summary:after{transform:rotate(270deg)}.faq-item p{margin-top:12px;font-size:14.5px;color:var(--ink-2);line-height:1.6}.cta-band{text-align:center;padding:clamp(64px,9vh,96px) 24px;margin:clamp(40px,8vh,80px) auto 0;max-width:860px;border-radius:var(--radius-xl);background:linear-gradient(180deg,var(--surface) 0%,rgba(var(--bg-rgb),.6) 100%);border:1px solid var(--line-glass);box-shadow:var(--shadow-pop);position:relative;overflow:hidden}.cta-kicker{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--space-2)}.cta-band h2{font-family:var(--display);font-size:clamp(30px,4.5vw,48px);font-weight:700;letter-spacing:var(--tracking-display);line-height:1.05;color:var(--ink)}.cta-band p{margin:16px auto 28px;max-width:520px;font-size:16px;color:var(--ink-2);line-height:1.6}.cta-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.cta-band-btn{border-radius:var(--radius-pill);padding:0 28px;height:48px;font-weight:var(--weight-semibold);box-shadow:0 4px 20px rgba(var(--accent-rgb),.35)}.cta-band-sub{border-radius:var(--radius-pill);padding:0 24px;height:48px;border:1px solid var(--line)}.cta-fine{margin-top:var(--space-5);font-size:12.5px;color:var(--ink-3)}.landing-simple{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative}.landing-nav-simple{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 clamp(20px,5vw,48px);background:var(--bg);border-bottom:1px solid var(--line-soft)}.landing-nav-simple .brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.landing-nav-simple .brand-name{font-family:var(--display);font-weight:600}.hero-simple{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(60px,15vh,120px) 20px;text-align:center;max-width:680px;margin:0 auto}.hero-title-simple{font-family:var(--display);font-size:clamp(32px,6vw,48px);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--ink);margin-bottom:24px}.hero-sub-simple{font-size:clamp(16px,2.5vw,18px);line-height:1.6;color:var(--ink-2);margin-bottom:40px;max-width:480px}.hero-cta-simple{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.hero-cta-simple .btn{min-width:140px}.features-simple{display:flex;flex-direction:column;gap:32px;padding:60px 20px 80px;max-width:800px;margin:0 auto}.feature-simple{text-align:center;padding:24px}.feature-simple h3{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}.landing-foot-simple{display:flex;justify-content:center;gap:24px;padding:32px 20px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--ink-3)}.landing-foot-simple a{color:var(--ink-2);transition:color var(--duration-fast) var(--ease)}.landing-foot-simple a:hover{color:var(--accent)}.landing-sec-simple{width:100%;max-width:680px;margin:0 auto;padding:80px 20px}.sec-header-simple{text-align:center;margin-bottom:40px}.sec-header-simple h2{font-family:var(--display);font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.research-list-simple{display:flex;flex-direction:column;gap:24px}.research-row-simple{display:flex;flex-direction:column;gap:4px}.research-row-simple dd{color:var(--ink-2);font-size:14px;line-height:1.5;margin:0}.faq-list-simple{display:flex;flex-direction:column;gap:16px}.faq-item-simple{border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px;background:var(--surface)}.faq-item-simple summary{font-weight:600;color:var(--ink);cursor:pointer;list-style:none}.faq-item-simple summary::-webkit-details-marker{display:none}.faq-item-simple p{margin-top:12px;color:var(--ink-2);font-size:14px;line-height:1.5}.cta-band-simple{text-align:center;padding:80px 20px;max-width:680px;margin:0 auto}.cta-band-simple h2{font-family:var(--display);font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2;margin-bottom:12px}.cta-band-simple p{color:var(--ink-2);font-size:16px;line-height:1.5;margin-bottom:32px}.cta-actions-simple{display:flex;justify-content:center}.foot-top-simple{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding-bottom:24px}.foot-brand-simple .brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--ink);text-decoration:none}.foot-group-simple{display:flex;gap:24px}.foot-group-simple a{color:var(--ink-2);font-size:14px;transition:color var(--duration-fast) var(--ease)}.foot-group-simple a:hover{color:var(--accent)}.foot-bottom-simple{text-align:center;font-size:13px;color:var(--ink-3);padding-top:24px;border-top:1px solid var(--line-soft)}@media(min-width:641px){.features-simple{flex-direction:row;gap:48px}.feature-simple{flex:1;text-align:left}}.landing-foot-rich{width:100%;padding:56px 20px 32px;border-top:1px solid var(--line-soft);margin-top:60px}.foot-top{display:flex;flex-wrap:wrap;gap:48px;max-width:980px;margin:0 auto;padding-bottom:32px}.foot-brand{flex:1 1 260px;display:flex;flex-direction:column;gap:10px}.foot-brand p{font-size:13px;color:var(--ink-3);line-height:1.55;max-width:280px}.foot-group{display:flex;flex-direction:column;gap:10px;min-width:130px}.foot-group h4{font-size:11.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.foot-group a{font-size:13.5px;color:var(--ink-2);transition:color var(--duration-instant) var(--ease-spring)}.foot-group a:hover{color:var(--accent)}.foot-bottom{display:flex;align-items:center;justify-content:space-between;max-width:980px;margin:0 auto;padding-top:24px;border-top:1px solid var(--line-soft)}.foot-mit{color:var(--ink-3);font-size:12px}@media(max-width:640px){.foot-top{gap:28px}.foot-bottom{flex-direction:column-reverse;gap:14px;align-items:flex-start}}.legal{width:100%;max-width:680px;margin:0 auto;padding:clamp(40px,7vh,72px) 24px 96px}.legal h1{font-family:var(--display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700;letter-spacing:var(--tracking-tight);margin-bottom:var(--space-5)}.legal h2{font-family:var(--display);font-size:16px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:30px 0 8px}.legal p,.legal li{font-size:14.5px;line-height:1.65;color:var(--ink-2)}.legal p{margin-bottom:10px}.legal ul{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:6px}.legal b{color:var(--ink);font-weight:600}.legal a{color:var(--accent)}.legal a:hover{text-decoration:underline}.legal-meta{margin-top:32px;padding-top:16px;border-top:1px solid var(--line-soft);font-size:var(--text-sm);color:var(--ink-3)}.legal-back{display:inline-block;margin-top:var(--space-5);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--accent)}.login-legal{text-align:center;font-size:11.5px;color:var(--ink-3);line-height:1.5;margin-top:2px}.login-legal a{color:var(--ink-2);font-weight:var(--weight-medium)}.login-copyright{text-align:center;font-size:11px;color:var(--ink-3);margin-top:4px;letter-spacing:.01em}.legal-foot{width:100%;padding:24px 20px;border-top:1px solid var(--line-soft);text-align:center}.legal-foot .foot-mit{color:var(--ink-3);font-size:12px}.list,.empty{border-radius:0;border-left:none;border-right:none;margin-left:-14px;margin-right:-14px}.set-row,.modal-row,.int-tile,.int-acct{flex-wrap:wrap;row-gap:6px}.step{flex-wrap:wrap}.step-mark{position:relative}.step-mark:after{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px;background:#00000003}.card-x{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.sendable-row .btn{flex:1}.sendable-row .btn:first-child{margin-right:0}.card-badges .chip{font-size:10px;padding:2px 6px}.addinput.sm,.step-input{height:38px}.chat-input,.add-task-input,.addinput,.addinput.sm,.step-input{font-size:16px}.onboard-card{padding:22px 18px 24px}.hero{padding-top:56px}.hero-cta{flex-direction:column;width:100%}.hero-cta .btn{width:100%}.landing-sec{padding:40px 20px}@media(max-width:640px){.step-hero{padding:var(--space-4);border-radius:var(--radius)}.hero-step{font-size:18px}}@media(min-width:641px){.topbar{gap:var(--space-5);padding:0 var(--space-5);padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.list-wrap,.settings-page{padding-left:24px;padding-right:24px;padding-bottom:140px}.list,.empty{margin-left:0;margin-right:0}.card{gap:14px;padding:16px 18px 16px 26px}.card:before{left:11px;top:25px}.card-badges .chip{font-size:var(--text-xs);padding:2px 8px}.hero-cta{flex-direction:row;width:auto}.hero-cta .btn{width:auto}.landing-sec{padding:76px 24px}.hero{padding-top:72px}}.done-list{display:flex;flex-direction:column}.done-row{display:flex;align-items:baseline;gap:10px;padding:8px;cursor:pointer;border-bottom:1px solid var(--line-soft);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease);width:100%;text-align:left;background:none;border-left:0;border-right:0;border-top:0;font:inherit;color:inherit}.done-check{color:var(--ink-3);font-weight:700}.done-title{flex:1;text-decoration:line-through;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.done-when{font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-3);flex-shrink:0}.done-row.just-done{animation:justDone 1.5s var(--ease)}.done-row.just-done .done-check{animation:justDoneCheck 1.5s var(--ease)}@keyframes justDone{0%{background:var(--accent-soft)}70%{background:var(--accent-soft)}to{background:transparent}}@keyframes justDoneCheck{0%{color:var(--accent)}70%{color:var(--accent)}to{color:var(--ink-3)}}.done-footer{font-size:var(--text-sm);color:var(--ink-3)}.list-focus-wrap{display:flex;flex-direction:column;gap:40px}.focus-group{display:flex;flex-direction:column;gap:var(--space-4)}.focus-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px var(--space-4);border-bottom:1px solid var(--line)}.focus-title{font-family:var(--display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2)}.dash-today .focus-title{font-size:var(--text-md);color:var(--ink);letter-spacing:.07em}.focus-badge{font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-3);background:var(--bg-2);padding:2px 9px;border-radius:var(--radius-pill);font-weight:var(--weight-medium)}.show-more-btn{margin-top:var(--space-2);width:100%;justify-content:center}.landing{width:100%;margin:0 auto}.landing-nav{display:flex;align-items:center;justify-content:space-between;height:72px}.nav-acts{display:flex;gap:10px}.hero{text-align:center;padding:60px 0 40px;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.badge{font-family:var(--mono);font-size:12px;color:var(--ink-2);background:var(--bg-2);padding:4px 12px;border-radius:var(--radius-pill)}.hero h1{font-family:var(--display);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;max-width:720px}.hero-sub{font-size:17px;color:var(--ink-2);max-width:580px;line-height:1.55}.hero-cta{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.study-mode{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg);z-index:1000}.study-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line)}.header-left{display:flex;align-items:center;gap:12px}.header-back{padding:6px 12px;font-size:var(--text-lg);color:var(--ink-2)}.header-back:hover{color:var(--ink)}.header-task-name{font-family:var(--display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink)}.header-right{display:flex;align-items:center;gap:16px}.header-timer{font-family:var(--mono);font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--ink);cursor:pointer;padding:4px 12px;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease)}.header-timer:hover{background:var(--bg)}.header-exit{font-size:var(--text-lg);color:var(--ink-2);padding:6px 12px}.header-exit:hover{color:var(--ink)}.study-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:24px;position:relative}.session-objective{position:absolute;top:16px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:12px 20px;border-radius:var(--radius);display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-pop);z-index:10;max-width:90%}.objective-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;opacity:.9}.objective-text{font-size:var(--text-base);font-weight:var(--weight-medium);flex:1}.objective-close{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;opacity:.7;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.objective-close:hover{opacity:1}.study-workspace{display:flex;width:100%;max-width:1200px;gap:24px;flex:1;align-items:flex-start}.workspace-center{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}.workspace-sidebar{width:350px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 200px);box-shadow:var(--shadow-card)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.sidebar-header h3{font-family:var(--display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink);margin:0}.sidebar-content{flex:1;padding:16px;overflow-y:auto}.study-center{text-align:center;max-width:600px}.study-title{font-family:var(--display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--ink);margin-bottom:16px;letter-spacing:-.02em}.study-current-step{font-size:var(--text-lg);color:var(--ink-2);line-height:1.5}.study-timer{display:flex;flex-direction:column;align-items:center;gap:16px}.timer-display{font-family:var(--mono);font-size:clamp(48px,12vw,72px);font-weight:var(--weight-medium);color:var(--ink);letter-spacing:-.02em}.timer-controls{display:flex;gap:12px}.study-progress{font-size:var(--text-sm);color:var(--ink-3)}.study-controls{display:flex;justify-content:center;gap:8px;padding:16px 24px;border-top:1px solid var(--line)}.control-btn{padding:8px 16px;font-size:var(--text-sm);font-weight:var(--weight-medium);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);cursor:pointer;transition:all var(--duration-fast) var(--ease)}.control-btn:hover{background:var(--bg-2)}.control-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.study-mode-start{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;background:var(--bg);z-index:1000;padding:24px}.study-mode-start h1{font-family:var(--display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--ink)}.start-task-info{text-align:center;max-width:500px}.start-task-info h2{font-family:var(--display);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--ink);margin-bottom:8px}.start-task-info p{font-size:var(--text-base);color:var(--ink-2)}.start-duration{font-size:var(--text-sm);color:var(--ink-3)}.break-mode{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;background:var(--bg);z-index:1000;padding:24px}.break-mode h1{font-family:var(--display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--ink);letter-spacing:.2em}.break-timer{font-family:var(--mono);font-size:clamp(64px,16vw,96px);font-weight:var(--weight-medium);color:var(--ink)}.break-mode p{font-size:var(--text-base);color:var(--ink-2)}.session-reflection{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--bg);z-index:1000;padding:24px}.session-reflection h1{font-family:var(--display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--ink)}.reflection-options{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.materials-drawer,.notes-panel,.ai-assistant-panel{position:fixed;right:0;top:0;bottom:0;width:400px;max-width:90vw;background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:1001;box-shadow:var(--shadow-pop)}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.drawer-header h3{font-family:var(--display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink)}.drawer-content{flex:1;padding:20px;overflow-y:auto}.materials-list{list-style:none;padding:0;margin:0}.materials-list li{padding:8px 0;border-bottom:1px solid var(--line-soft)}.materials-list li:last-child{border-bottom:none}.materials-list a{color:var(--accent);text-decoration:none}.materials-list a:hover{text-decoration:underline}.notes-textarea{width:100%;height:100%;min-height:200px;padding:12px;font-family:var(--sans);font-size:var(--text-base);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);resize:none}.ai-options{display:flex;flex-direction:column;gap:8px}.ai-options button{text-align:left;padding:12px 16px}.ai-options button.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.ai-chat{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.ai-message{max-width:85%;padding:10px 14px;border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.4}.ai-message.user{align-self:flex-end;background:var(--accent);color:#fff}.ai-message.assistant{align-self:flex-start;background:var(--bg-2);color:var(--ink)}.ai-message-text{white-space:pre-wrap;word-wrap:break-word}.ai-input{display:flex;gap:8px;margin-top:16px}.ai-response{margin-top:16px;padding:16px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--line)}.card-study{position:absolute;right:40px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast) var(--ease);z-index:2}.card-study:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.card-study:disabled{opacity:.5;cursor:not-allowed}.study-steps{margin-top:24px;text-align:left;max-width:600px}.study-steps h3{font-family:var(--display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink-2);margin-bottom:12px}.steps-list{list-style:none;padding:0;margin:0}.step-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-soft);transition:background var(--duration-fast) var(--ease)}.step-item:last-child{border-bottom:none}.step-item.current{background:var(--accent-soft);border-left:3px solid var(--accent)}.step-item.done{opacity:.6}.step-number{width:24px;height:24px;border-radius:50%;background:var(--bg-2);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-2);flex-shrink:0}.step-item.current .step-number{background:var(--accent);color:#fff}.step-text{flex:1;font-size:var(--text-base);color:var(--ink)}.step-check{color:var(--accent);font-weight:var(--weight-bold)}.study-why{font-size:var(--text-base);color:var(--ink-2);margin-top:8px;line-height:1.5}.materials-fullscreen{width:100%;max-width:none;border-left:none}.material-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.material-type{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);background:var(--bg-2);padding:4px 8px;border-radius:var(--radius-xs)}.material-link{color:var(--accent);text-decoration:none;font-weight:var(--weight-medium)}.material-link:hover{text-decoration:underline}.material-label{color:var(--ink);font-weight:var(--weight-medium)}.material-source{font-size:var(--text-xs);color:var(--ink-3);margin-left:auto}.task-context,.task-synthesis{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.task-context h4,.task-synthesis h4{font-family:var(--display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-2);margin-bottom:8px}.task-context p,.task-synthesis p{font-size:var(--text-base);color:var(--ink);line-height:1.6}.ai-chat{flex:1;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:400px}.chat-message{display:flex;gap:8px}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.message-content{max-width:80%;padding:10px 14px;border-radius:var(--radius-sm);font-size:var(--text-base);line-height:1.5}.chat-message.user .message-content{background:var(--accent);color:#fff}.chat-message.assistant .message-content{background:var(--bg-2);color:var(--ink)}.ai-input{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.ai-input input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--sans);background:var(--bg);color:var(--ink)}.ai-input input:focus{outline:none;border-color:var(--accent)}.ai-input input:disabled{opacity:.6}.inactive-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-pop);z-index:1003;max-width:400px;text-align:center}.inactive-prompt h3{font-family:var(--display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink);margin:0 0 8px}.inactive-prompt p{font-size:var(--text-base);color:var(--ink-2);margin:0 0 24px}.prompt-actions{display:flex;flex-direction:column;gap:12px}.prompt-actions .btn{width:100%}.study-mode:fullscreen{background:var(--bg)}.study-mode:fullscreen .study-header{padding:12px 24px}.study-mode:fullscreen .study-main{padding:16px}.study-mode[data-focus=strict] .study-controls{opacity:.8}.study-mode[data-focus=strict] .control-btn{border-color:var(--line-soft)}.keyboard-hint{position:fixed;bottom:80px;right:24px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--text-xs);color:var(--ink-3);font-family:var(--mono);opacity:.6;pointer-events:none}.workspace-tabs{display:flex;gap:4px;padding:8px;background:var(--bg-2);border-bottom:1px solid var(--line);overflow-x:auto}.workspace-tab{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:var(--text-sm);font-family:var(--sans);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease)}.workspace-tab:hover{background:var(--bg-2)}.workspace-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.workspace-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.workspace-iframe{flex:1;border:none;background:#fff}.workspace-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-3);text-align:center;padding:40px}.workspace-placeholder h3{font-family:var(--display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink-2);margin:0 0 8px}.workspace-placeholder p{font-size:var(--text-base);color:var(--ink-3);margin:0}.study-workspace[data-layout=writing] .workspace-center{flex:3}.study-workspace[data-layout=writing] .workspace-sidebar{flex:1}.study-workspace[data-layout=research] .workspace-center{flex:2}.study-workspace[data-layout=research] .workspace-sidebar{flex:1}.study-workspace[data-layout=math] .workspace-center{flex:2}.study-workspace[data-layout=math] .workspace-sidebar,.study-workspace[data-layout=reading] .workspace-center{flex:1}.study-workspace[data-layout=reading] .workspace-sidebar{display:none}.search-panel{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:1006;min-width:500px;max-width:90vw;overflow:hidden}.search-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line);background:var(--bg-2)}.search-header h3{font-family:var(--display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink);margin:0}.search-input-wrapper{display:flex;gap:8px;padding:16px}.search-input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--sans);background:var(--bg);color:var(--ink)}.search-input:focus{outline:none;border-color:var(--accent)}.philosophy-section p{font-size:var(--text-md);color:var(--ink-2)}.sm-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-rows:auto 1fr auto;width:100vw;height:100vh;overflow:hidden;background:var(--bg);color:var(--ink)}.sm-save-indicator{position:fixed;right:18px;top:14px;z-index:1050;color:var(--ink-3);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.sm-header{z-index:1010;background:var(--surface);border-bottom:1px solid var(--line);transition:opacity .4s var(--ease)}.sm-chrome-idle .sm-header{opacity:.22}.sm-chrome-idle .sm-header:hover{opacity:1}.sm-chrome-idle .sm-bottombar{opacity:.28}.sm-chrome-idle .sm-bottombar:hover{opacity:1}@media(prefers-reduced-motion:reduce){.sm-header,.sm-bottombar{transition:none}}.sm-header-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-5)}.sm-back-btn,.sm-artifact-btn,.sm-drawer-close,.sm-mat-remove{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink-2);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease-spring)}.sm-back-btn{width:36px;height:36px;border-radius:var(--radius-sm);font-size:20px}.sm-back-btn:hover,.sm-artifact-btn:hover,.sm-drawer-close:hover,.sm-mat-remove:hover{background:var(--hover-wash);color:var(--ink)}.sm-back-btn:active,.sm-artifact-btn:active,.sm-drawer-close:active,.sm-mat-remove:active{background:var(--bg-2)}.sm-task-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.015em}.sm-header-right{display:inline-flex;align-items:center;gap:var(--space-3)}.sm-timer{min-width:58px;text-align:right;font-family:var(--mono);font-size:var(--text-md);color:var(--ink-2);font-weight:var(--weight-medium)}.sm-clock{font-family:var(--mono);font-size:var(--text-sm);color:var(--ink-3)}.sm-break-clock{font-family:var(--mono);font-size:var(--text-sm);color:var(--ink-3);margin:0 0 var(--space-2)}.sm-pomodoro-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:var(--text-sm);color:var(--ink-2);padding:3px 8px;border-radius:var(--radius-pill);background:var(--bg-2)}.sm-progress-ring{transform:rotate(-90deg);flex:none}.sm-progress-ring-bg{fill:none;stroke:var(--line);stroke-width:2.5}.sm-progress-ring-fg{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.sm-fullscreen-btn{background:none;border:none;cursor:pointer;font-size:var(--text-lg);line-height:1;color:var(--ink-2);padding:0;transition:color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease-spring)}.sm-fullscreen-btn:hover{color:var(--ink)}.sm-fullscreen-btn:active{transform:scale(.92)}.sm-break-countdown{font-family:var(--mono);font-size:var(--text-sm);color:var(--ink-3);margin-top:calc(-1 * var(--space-2))}.sm-setup-toggle-row{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm)}.sm-pomodoro-config{display:flex;gap:var(--space-4);margin-top:var(--space-3)}.sm-pomodoro-config label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.sm-pomodoro-config input[type=number]{width:56px;padding:var(--space-1) var(--space-2)}.sm-setup-personalized-note{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--accent)}.sm-audio-spotify{margin-top:var(--space-4)}.sm-audio-spotify label{display:block;font-size:var(--text-xs);color:var(--ink-3);margin-bottom:var(--space-2)}.sm-audio-spotify-row{display:flex;gap:var(--space-2)}.sm-audio-spotify-row input{flex:1}.sm-header-step{padding:0 var(--space-5) var(--space-4)}.sm-step-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-4)}.sm-step-label,.sm-modal-step-label,.sm-setup-label,.sm-drawer-header{color:var(--ink-3);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em}.sm-step-text{max-width:860px;margin-top:2px;font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:1.3;letter-spacing:-.015em}.sm-step-meta{display:inline-block;margin-top:var(--space-1);color:var(--ink-3);font-size:var(--text-sm)}.sm-progress-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.sm-progress-bar{height:6px;overflow:hidden;background:var(--bg-2);border-radius:var(--radius-pill)}.sm-progress-fill{height:100%;background:var(--accent);border-radius:inherit;transition:width var(--duration-base) var(--ease-spring)}.sm-progress-label{min-width:36px;color:var(--ink-3);font-family:var(--mono);font-size:var(--text-xs);text-align:right;font-weight:var(--weight-medium)}.sm-canvas{position:relative;overflow:hidden;min-height:0;height:100%;background:linear-gradient(rgba(var(--ink-rgb),.035) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--ink-rgb),.035) 1px,transparent 1px),var(--bg);background-size:32px 32px}.sm-canvas-custom-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:rgba(var(--bg-rgb),.4)}.sm-artifact{display:grid;grid-template-rows:40px 1fr;min-width:240px;min-height:180px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease),border-color .2s var(--ease);animation:smArtifactIn .22s var(--ease)}.sm-artifact:hover{box-shadow:var(--shadow-card-hover);border-color:var(--ink-3)}@keyframes smArtifactIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.sm-artifact{animation:none}}.sm-artifact-titlebar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2);padding:0 var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--line-soft);background:var(--bg-2);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.sm-artifact-titlebar:active{cursor:grabbing}.sm-artifact-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.sm-artifact-controls{display:inline-flex;gap:4px}.sm-artifact-btn{width:28px;height:28px;border-radius:var(--radius-xs);font-size:14px}.sm-artifact-close:hover{color:var(--vermilion)}.sm-artifact-body{min-height:0;overflow:auto;background:var(--surface)}.sm-artifact-resize{position:absolute;right:0;bottom:0;width:28px;height:28px;cursor:nwse-resize;touch-action:none}.sm-artifact-resize:after{content:"";position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-right:2px solid var(--line);border-bottom:2px solid var(--line)}.sm-artifact-minimized{position:absolute}.sm-artifact-minimized button{height:36px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-size:var(--text-sm);font-weight:var(--weight-medium)}.sm-bottombar{z-index:1010;display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-4);min-height:60px;padding:var(--space-2) var(--space-5);background:var(--surface);border-top:1px solid var(--line);transition:opacity .4s var(--ease)}.sm-bottombar-left,.sm-bottombar-right{display:flex;align-items:center;gap:var(--space-2);min-width:0}.sm-bottombar-left{overflow-x:auto}.sm-bar-btn,.sm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease-spring),color var(--duration-fast) var(--ease)}.sm-bar-btn:hover,.sm-btn:hover{background:var(--bg-2);border-color:var(--ink-3)}.sm-bar-btn:active,.sm-btn:active{background:var(--bg-3)}.sm-bar-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sm-bar-btn-end{color:var(--vermilion)}.sm-btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.sm-btn-ghost{border-color:transparent;background:transparent;color:var(--accent);box-shadow:none}.sm-btn-sm{height:34px}.sm-btn-lg{height:48px;padding:0 var(--space-5);font-size:var(--text-md);border-radius:var(--radius)}.sm-btn-danger{border-color:var(--vermilion);color:var(--vermilion)}.sm-btn-danger:hover{background:var(--vermilion);color:#fff}.sm-btn-hold{position:relative;overflow:hidden;isolation:isolate}.sm-btn-hold-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:calc(var(--hold-progress, 0) * 100%);background:var(--vermilion);z-index:0;pointer-events:none}.sm-btn-hold-label{position:relative;z-index:1;transition:color var(--duration-fast) var(--ease)}.sm-btn-holding .sm-btn-hold-label{color:#fff}.sm-modal-hold-hint{font-size:12px;color:var(--ink-3);text-align:center;margin-top:var(--space-2)}.sm-drawer{position:absolute;right:0;top:0;bottom:0;height:100%;z-index:1040;display:grid;grid-template-rows:auto 1fr;width:min(400px,100%);overflow:hidden;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-pop)}.sm-drawer-header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--space-4);border-bottom:1px solid var(--line-soft)}.sm-drawer-close,.sm-mat-remove{width:30px;height:30px;border-radius:var(--radius-sm);font-size:18px}.sm-drawer-body{overflow:auto;padding:var(--space-5)}.sm-drawer-empty,.sm-artifact-empty{color:var(--ink-3);font-size:var(--text-base)}.sm-drawer-task{width:min(480px,calc(100vw - 36px))}.sm-task-artifact-body{height:100%;overflow-y:auto;padding:var(--space-3)}.sm-task-detail-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0 0 var(--space-2)}.sm-task-detail-why{color:var(--ink-2);margin:0 0 var(--space-4);line-height:1.45}.sm-task-detail-section{margin-bottom:var(--space-4)}.sm-task-detail-section h4{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 var(--space-2)}.sm-task-detail-section p{margin:0;line-height:1.5}.sm-task-detail-links{list-style:none;display:grid;gap:var(--space-1)}.sm-task-detail-links a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.sm-task-detail-steps{list-style:none;display:grid;gap:var(--space-3)}.sm-task-detail-steps>li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start}.sm-task-detail-steps>li.done{color:var(--ink-3);text-decoration:line-through}.sm-task-detail-step-mark{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);font-size:var(--text-xs);flex:none;background:var(--surface);color:inherit;cursor:pointer;padding:0}.sm-task-detail-step-mark:disabled{cursor:default}.sm-task-detail-step-mark:not(:disabled):hover{border-color:var(--accent)}.sm-task-detail-steps>li.done .sm-task-detail-step-mark{background:var(--accent);border-color:var(--accent);color:#fff}.sm-task-detail-substeps{list-style:none;margin-top:var(--space-2);padding-left:var(--space-3);display:grid;gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-2)}.sm-task-detail-substeps li.done{text-decoration:line-through;color:var(--ink-3)}.sm-task-detail-substep-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.sm-task-detail-substep-label input[type=checkbox]{flex:none}.sm-task-detail-complete{display:block;width:100%;margin-top:var(--space-2)}.sm-material-list,.sm-setup-materials{list-style:none;display:grid;gap:var(--space-2)}.sm-material-row,.sm-setup-material-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm)}.sm-mat-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-mat-open{border:0;background:transparent;color:var(--accent);font-size:var(--text-sm)}.sm-material-add{display:grid;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.sm-material-add-link{display:flex;gap:var(--space-2)}.sm-material-add-link input{flex:1;min-width:0}.sm-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.sm-tool-btn{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-align:left}.sm-tool-btn-other{color:var(--ink-2)}.sm-tools-divider{grid-column:1 / -1;margin-top:var(--space-2);color:var(--ink-3);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em}.sm-bg-row{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.sm-camera-artifact{height:100%;min-height:0;display:flex;flex-direction:column;padding:var(--space-3);background:var(--bg-2);gap:var(--space-2)}.sm-camera-consent{max-width:330px;margin:auto;text-align:center;color:var(--ink-2)}.sm-camera-consent h3{margin:0 0 var(--space-2);color:var(--ink);font-size:var(--text-lg)}.sm-camera-consent p{margin:0 0 var(--space-4);line-height:1.5;font-size:var(--text-sm)}.sm-camera-icon{width:48px;height:48px;margin:0 auto var(--space-3);display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--surface);border:1px solid var(--line-soft)}.sm-camera-live{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.sm-camera-stage{position:relative;flex:1;min-height:0;border-radius:var(--radius-md);overflow:hidden;background:#111}.sm-camera-stage video{display:block;width:100%;height:100%;min-height:180px;object-fit:cover;transform:scaleX(-1);background:#111}.sm-camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}.sm-camera-video-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:#00000073;font-size:var(--text-xs);pointer-events:none}.sm-camera-live-note{color:var(--ink-3);font-size:var(--text-xs);text-align:center;flex-shrink:0}.sm-camera-error{color:var(--danger, #c0392b)!important;margin-top:var(--space-3)!important}.sm-camera-live .sm-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.sm-camera-ml-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#00000080;color:#fff;font-size:var(--text-xs)}.sm-camera-ml-error{position:absolute;bottom:8px;left:8px;right:8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 10px;border-radius:var(--radius-sm);background:#0009;color:#ff9f0a;font-size:var(--text-xs)}.sm-camera-ml-error-detail{color:#ff6b6b;font-size:10px;opacity:.8;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-spin{animation:sm-spin .8s linear infinite}@keyframes sm-spin{to{transform:rotate(360deg)}}.sm-camera-badge{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sm-camera-badge.is-on{background:#34c75940;color:#34c759}.sm-camera-badge.is-off{background:#ff3b3040;color:#ff3b30}.sm-camera-badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.sm-camera-metrics{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md)}.sm-metric-ring{position:relative;width:64px;height:64px;flex-shrink:0}.sm-metric-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.sm-metric-ring-val{font-size:18px;font-weight:700;color:var(--ink)}.sm-metric-ring-unit{font-size:8px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.sm-metric-chips{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.sm-metric-chip{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-3)}.sm-metric-chip svg{color:var(--ink-3);flex-shrink:0}.sm-metric-chip-label{color:var(--ink-3)}.sm-metric-chip-val{color:var(--ink);font-weight:600;margin-left:auto}.sm-metric-chip-pose{grid-column:1 / -1}@media(max-width:600px){.sm-camera-artifact{padding:var(--space-2)}}.sm-link-input{flex:1;min-width:0;padding:var(--space-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--surface-1);color:var(--ink-1)}.sm-bg-filename{font-size:var(--text-xs);color:var(--ink-3);margin-top:var(--space-1)}.sm-ai-embed{display:flex;flex-direction:column;height:100%;min-height:0}.sm-ai-chat{flex:1;min-height:0;overflow:auto;padding:var(--space-4)}.sm-ai-empty{color:var(--ink-3)}.sm-ai-mode-row{display:flex;justify-content:flex-end;padding:var(--space-2) var(--space-3) 0;flex:none}.sm-canvas-toggle{display:inline-flex;align-items:center;gap:6px}.sm-canvas-toggle.is-on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.first-time-hint{display:flex;align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);font-size:var(--text-sm)}.first-time-hint-body{flex:1;min-width:0}.first-time-hint-title{font-weight:700;color:var(--accent);margin-bottom:2px}.first-time-hint-body p{margin:0;color:var(--ink);line-height:1.5}.first-time-hint-close{flex:none;border:none;background:none;color:var(--accent);font-size:18px;line-height:1;cursor:pointer;padding:2px;opacity:.7}.first-time-hint-close:hover{opacity:1}.sm-canvas-empty{flex:none;margin:var(--space-3) var(--space-3) 0;padding:var(--space-4);border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-3);font-size:var(--text-sm);text-align:center}.sm-canvas-problem{flex:none;margin:var(--space-3) var(--space-3) 0;padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.sm-canvas-problem-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2)}.sm-canvas-problem-q{font-size:var(--text-base);font-weight:600;color:var(--ink);line-height:1.4}.sm-canvas-problem-format{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.sm-canvas-problem-opts{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-3)}.sm-canvas-problem-opt{display:flex;align-items:baseline;gap:8px;padding:6px 10px;background:var(--bg-2);border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--ink)}.sm-canvas-problem-opt-letter{font-weight:700;color:var(--ink-3)}.sm-canvas-problem-hint-row{margin-top:var(--space-3)}.sm-canvas-problem-hint{font-size:var(--text-sm);color:var(--ink-3);font-style:italic}.sm-board-empty{height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-5);text-align:center;color:var(--ink-3);font-size:var(--text-sm)}.sm-board-body{height:100%;overflow:auto;padding:var(--space-4);display:flex;flex-direction:column}@keyframes sm-board-entry-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sm-board-entry{padding:var(--space-3) 0;border-bottom:1px solid var(--line);animation:sm-board-entry-in .45s cubic-bezier(.16,1,.3,1) both}.sm-board-entry:last-child{border-bottom:none}.sm-board-entry-formula{font-family:var(--mono, monospace)}.sm-board-entry-focus .sm-board-entry-kind{color:var(--accent);margin-bottom:6px}.sm-board-entry-focus .sm-board-entry-text{font-size:var(--text-base);font-weight:600;line-height:1.45;color:var(--ink)}.sm-board-entry-insight .sm-board-entry-kind{color:var(--accent)}.sm-board-entry-insight .sm-board-entry-text{background:var(--accent-soft);border-radius:var(--radius-xs);padding:2px 6px;margin:-2px -6px;display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sm-board-entry-kind{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.sm-board-entry-text{font-size:var(--text-sm);color:var(--ink);line-height:1.5}.sm-board-entry-text p{margin:0}.sm-board-diagram-caption{margin-bottom:6px;font-style:italic;color:var(--ink-2)}.sm-board-diagram{display:block;width:100%;aspect-ratio:800 / 600;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-xs)}.sm-board-eq-box{width:100%;height:100%;display:flex;align-items:center;overflow:visible}.sm-board-eq{color:currentColor;font-size:15px}.sm-board-eq .katex{color:inherit}.sm-board-eq-fallback{font-family:var(--mono, monospace);font-size:13px;color:var(--ink-2);white-space:pre-wrap}.sm-board-problem{flex:none;margin:0 0 var(--space-3);padding:var(--space-4);background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.sm-board-problem-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2)}.sm-board-problem-q{font-size:var(--text-base);font-weight:600;color:var(--ink);line-height:1.4}.sm-board-problem-format{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-3)}.sm-board-problem-opts{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-3)}.sm-board-problem-opt{display:flex;align-items:baseline;gap:8px;padding:var(--space-2);background:var(--surface);border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--ink)}.sm-board-problem-opt-letter{font-weight:700;color:var(--ink-3)}.sm-board-problem-hint-row{margin-top:var(--space-3)}.sm-board-problem-hint{font-size:var(--text-sm);color:var(--ink-3);font-style:italic}.sm-board-entry-text p+p{margin-top:8px}.sm-ai-msg{max-width:84%;margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-base)}.sm-ai-msg-user{margin-left:auto;background:var(--accent);color:#fff}.sm-ai-msg-assistant{background:var(--bg-2);color:var(--ink)}.sm-ai-input-row{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--line-soft)}.voice-controls{display:flex;align-items:center;gap:var(--space-2);position:relative}.voice-mic-btn{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:15px;cursor:pointer;transition:background var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease)}.voice-mic-idle-on{border-color:var(--accent);opacity:.7}.voice-mic-listening{border-color:var(--accent);background:var(--accent-soft);animation:voice-pulse 1.3s ease-in-out infinite}.voice-mic-speaking{border-color:var(--accent);background:var(--accent-soft)}@keyframes voice-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 6px transparent}}.voice-interim{position:absolute;bottom:calc(100% + 6px);right:0;max-width:220px;padding:6px 10px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-card-hover)}.sm-ai-input{min-width:0;min-height:40px;max-height:80px;padding:9px var(--space-3);line-height:1.4;resize:none;overflow-y:auto}.sm-ai-step-tag{display:block;font-size:10.5px;font-weight:600;color:#ffffffbf;margin-bottom:3px;letter-spacing:.02em}.sm-ai-sender{display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}.sm-ai-sender-user{color:#ffffffb3}.sm-ai-sender-assistant{color:var(--ink-3)}.sm-ai-msg p{margin:0;white-space:pre-wrap}.sm-ai-msg p+p{margin-top:10px}.sm-ai-artifact-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.sm-inline-problem{margin-top:var(--space-2);padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2)}.sm-inline-problem-q{font-weight:var(--weight-bold);line-height:1.4;margin-bottom:8px}.sm-inline-problem-format{font-size:var(--text-xs);color:var(--ink-3);margin-bottom:8px;font-style:italic}.sm-inline-problem-hint-row{margin-bottom:8px}.sm-inline-problem-hint{font-size:var(--text-sm);color:var(--ink-3);padding:6px 10px;background:var(--bg);border-radius:var(--radius-xs);border:1px solid var(--border)}.sm-inline-problem-opts{display:flex;flex-direction:column;gap:var(--space-2)}.sm-inline-problem-free{margin-top:4px}.sm-inline-problem-input-row{display:flex;gap:var(--space-2);align-items:center}.sm-inline-problem-input{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-xs);font-size:var(--text-sm);background:var(--bg);color:var(--ink)}.sm-inline-problem-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sm-inline-problem-result{padding:8px 10px;border-radius:var(--radius-xs);font-size:var(--text-sm);font-weight:var(--weight-bold)}.sm-inline-problem-result.correct{color:var(--accent);background:var(--accent-soft)}.sm-inline-problem-result.wrong{color:var(--ink-3);background:var(--bg)}.sm-inline-problem-why{margin-top:8px;padding:8px 10px;font-size:var(--text-sm);color:var(--ink-3);background:var(--bg);border-radius:var(--radius-xs);border:1px solid var(--border);line-height:1.4}.sm-ai-guardrail-tag{display:block;font-size:10.5px;font-weight:600;color:var(--ink-3);margin-top:6px;letter-spacing:.02em}.sm-ai-calc-check{display:flex;align-items:baseline;gap:6px;margin-top:6px;padding:5px 9px;border-radius:var(--radius-xs);background:color-mix(in srgb,#d97706 8%,transparent);border:1px solid color-mix(in srgb,#d97706 25%,transparent);font-size:12px;color:var(--ink-2)}.sm-ai-calc-check code{font-size:11.5px;font-weight:600;color:var(--ink)}.sm-ai-calc-check-icon{flex:0 0 auto;font-size:11px;color:#d97706}.sm-ai-msg-pending{opacity:.6}.sm-ai-typing{display:flex;align-items:center;gap:var(--space-2);padding:11px 12px}.sm-typing-dots{display:inline-flex;align-items:center;gap:var(--space-1)}.sm-typing-dots i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:typingBounce 1.2s var(--ease) infinite}.sm-typing-dots i:nth-child(2){animation-delay:.15s}.sm-typing-dots i:nth-child(3){animation-delay:.3s}.sm-typing-slow{font-size:12px;color:var(--ink-3);animation:fadeIn .3s var(--ease)}@media(prefers-reduced-motion:reduce){.sm-typing-dots i{animation:none!important;opacity:.5}}.sm-ai-error{margin:0 var(--space-3);font-size:var(--text-sm);color:var(--ink);background:var(--bg-2);border-radius:var(--radius-sm);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sm-audio-tracks{display:grid;gap:var(--space-2)}.sm-audio-track{min-height:42px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);color:var(--ink);text-align:left}.sm-audio-track.active{border-color:var(--accent);color:var(--accent)}.sm-audio-volume{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.sm-calc-btn{min-height:42px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);color:var(--ink);font-size:var(--text-md)}.sm-calc-fn{color:var(--ink-2)}.sm-calc-op-btn,.sm-calc-eq{border-color:var(--accent);color:var(--accent)}.sm-calc-zero{grid-column:span 2}.sm-pdf-body,.sm-document-body{display:flex;flex-direction:column;height:100%;min-height:0}.sm-embed{width:100%;flex:1;min-height:0;border:0}.sm-notes-body{display:flex;flex-direction:column;height:100%;min-height:0}.sm-notes-textarea{flex:1;width:100%;height:100%;min-height:0;resize:none;border:0;background:transparent;font:inherit;color:inherit;padding:var(--sp-3, 12px);box-sizing:border-box}.sm-pdf-fallback-link,.sm-document-fallback-link{display:block;text-align:center;font-size:var(--text-xs);color:var(--ink-3);padding:var(--space-2)}.sm-artifact-toolbar label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink-3);font-size:var(--text-sm)}.sm-toolbar-number{width:64px;padding:0 var(--space-2)}.sm-toolbar-range{width:120px}.sm-toolbar-value{color:var(--ink-3);font-family:var(--mono);font-size:var(--text-xs)}.sm-document-reference{display:grid;place-content:center;gap:var(--space-3);height:100%;padding:var(--space-5);color:var(--ink-2);text-align:center}.sm-document-url{overflow-wrap:anywhere;color:var(--ink-3);font-family:var(--mono);font-size:var(--text-xs)}.sm-dictionary-body{display:grid;grid-template-rows:auto 1fr}.sm-dictionary-search{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--line-soft)}.sm-dictionary-search input{min-width:0;height:38px}.sm-dictionary-lang{height:38px;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm, 6px);background:var(--surface);color:var(--ink);font-size:var(--text-sm);padding:0 var(--space-2)}.sm-dictionary-results{overflow:auto;padding:var(--space-4)}.sm-dictionary-head{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-4)}.sm-dictionary-head strong{font-size:var(--text-xl);line-height:1.15}.sm-dictionary-head span{color:var(--ink-3);font-family:var(--mono);font-size:var(--text-sm)}.sm-dictionary-meaning{padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.sm-dictionary-meaning+.sm-dictionary-meaning{margin-top:var(--space-4)}.sm-dictionary-meaning h3{margin-bottom:var(--space-2);color:var(--ink-3);font-size:var(--text-xs);font-style:italic;font-weight:var(--weight-semibold)}.sm-dictionary-definition+.sm-dictionary-definition{margin-top:var(--space-3)}.sm-dictionary-definition p{color:var(--ink);font-size:var(--text-base);line-height:1.45}.sm-dictionary-definition blockquote{margin-top:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--line);color:var(--ink-2);font-size:var(--text-sm)}.sm-dictionary-synonyms,.sm-dictionary-error{display:block;margin-top:var(--space-2);color:var(--ink-3);font-size:var(--text-sm)}.sm-citation-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);height:100%;overflow:auto}.sm-citation-style-row{display:flex;gap:var(--space-2)}.sm-citation-style-row .active{border-color:var(--accent);color:var(--accent)}.sm-citation-fields{display:grid;gap:var(--space-2)}.sm-citation-fields label{display:grid;gap:4px;font-size:var(--text-xs);color:var(--ink-3)}.sm-citation-output{margin-top:auto;padding:var(--space-3);background:var(--bg-2);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--space-2)}.sm-citation-output p{margin:0;font-size:var(--text-sm);line-height:1.5}.sm-citation-output button{align-self:flex-start}.sm-citation-hint{margin:0;font-size:var(--text-xs);color:var(--ink-3)}.sm-dictionary-error{color:var(--vermilion)}.sm-image-body{display:grid;place-items:center;overflow:auto;background:#111}.sm-image-body img{max-width:100%;max-height:100%;object-fit:contain}.sm-artifact-empty{display:grid;place-items:center;height:100%}.sm-setup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;overflow:auto;background:var(--bg)}.sm-setup-inner{width:min(920px,calc(100vw - 48px));margin:0 auto;padding:var(--space-7) 0}.sm-setup-back{border:0;background:transparent;color:var(--ink-2);font-size:var(--text-base)}.sm-setup-task{margin-top:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--line)}.sm-setup-title{margin-top:var(--space-2);font-size:var(--text-2xl);line-height:1.2}.sm-setup-step,.sm-setup-meta,.sm-setup-hint,.sm-setup-footer-hint,.sm-mat-size{color:var(--ink-3);font-size:var(--text-base)}.sm-setup-step{margin-top:var(--space-3);color:var(--ink-2)}.sm-setup-resume,.sm-setup-section{margin-top:var(--space-5);padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.sm-setup-resume{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.sm-setup-section h2{font-family:var(--display);margin-bottom:var(--space-1);font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.sm-setup-link-row{display:grid;grid-template-columns:1fr minmax(160px,240px) auto;gap:var(--space-2);margin-top:var(--space-4)}.sm-setup-input{width:100%;height:46px}.sm-setup-error{margin-top:var(--space-2);color:var(--vermilion)}.sm-setup-dropzone{display:grid;gap:var(--space-1);place-items:center;min-height:128px;margin-top:var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background .12s var(--ease),border-color .12s var(--ease)}.sm-setup-dropzone:hover{background:var(--bg-2);border-color:var(--accent)}.sm-setup-dropzone-hint{color:var(--ink-3);font-size:var(--text-sm)}.sm-setup-materials{margin-top:var(--space-4)}.sm-setup-material-item{grid-template-columns:auto 1fr auto auto;background:var(--surface)}.sm-setup-footer{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-5)}.sm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1060;display:grid;place-items:center;padding:var(--space-5);background:#10131773;backdrop-filter:blur(var(--blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%)}.sm-modal{width:min(520px,100%);padding:var(--space-6);border:1px solid var(--line-glass);border-radius:var(--radius-xl, 24px);background:var(--surface);box-shadow:var(--shadow-pop)}.sm-modal h2{font-family:var(--display);margin-top:var(--space-2);font-size:var(--text-xl);line-height:1.25;font-weight:var(--weight-bold);letter-spacing:-.015em}.sm-modal-sub{margin-top:var(--space-3);color:var(--ink-2);line-height:1.45}.sm-submit-options{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.sm-submit-opt{display:flex;align-items:center;gap:var(--space-2);min-height:46px;padding:0 var(--space-3);border:1px solid var(--line-glass);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-align:left;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease-spring)}.sm-submit-opt:hover{background:var(--bg-2)}.sm-submit-opt:active{transform:scale(.985)}.sm-submit-opt.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sm-submit-note{width:100%;height:auto;min-height:94px;margin-top:var(--space-3);padding:var(--space-3);resize:vertical;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.sm-submit-note:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.sm-modal-review{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.sm-modal-review label{display:grid;gap:4px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-3)}.sm-modal-review input{padding:8px 10px}.sm-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.sm-break-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1070;display:grid;place-items:center;background:var(--bg);color:var(--ink)}.sm-break-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);max-width:380px;padding:var(--space-6);border-radius:var(--radius-xl, 30px);background:var(--surface-glass);border:1px solid var(--line-glass);backdrop-filter:blur(var(--blur-lg)) saturate(190%);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(190%);box-shadow:var(--shadow-pop)}.sm-break-label{font-family:var(--display);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.15em;color:var(--accent);margin:0}.sm-break-timer{font-family:var(--mono);font-size:clamp(64px,14vw,88px);font-weight:var(--weight-medium);color:var(--ink);line-height:1;margin:var(--space-2) 0;letter-spacing:-.03em}.sm-break-hint{font-size:var(--text-base);color:var(--ink-2);margin-bottom:var(--space-4);line-height:1.45}.sm-break-inner .btn{width:100%}@media(prefers-color-scheme:dark){.sm-shell,.sm-canvas,.sm-setup,.sm-break-screen{background:#0d0f12}.sm-canvas{background:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),#0d0f12}.sm-header,.sm-bottombar{background:#16191ff0}.sm-whiteboard-canvas{background:#f7f7f2}}@media(max-width:900px){.sm-header-top,.sm-header-step,.sm-bottombar{padding-left:var(--space-3);padding-right:var(--space-3)}.sm-step-text{font-size:var(--text-lg)}.sm-bottombar{grid-template-columns:1fr;gap:var(--space-2)}.sm-bottombar-right{justify-content:flex-end}.sm-setup-link-row{grid-template-columns:1fr}.sm-setup-footer,.sm-setup-resume{align-items:stretch;flex-direction:column}}.studylog-page{display:flex;flex-direction:column;gap:var(--space-3)}.studylog-tabs{margin:var(--space-3) 0}.studylog-weeknav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2)}.studylog-weeklabel{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-2)}.studylog-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.studylog-day-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:11.5px;font-weight:var(--weight-medium);color:var(--ink-2);transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}@media(max-width:380px){.studylog-days{gap:3px}.studylog-day-btn{padding:6px 2px;font-size:10px}.studylog-day-date{font-size:9.5px}}.studylog-day-btn:hover{border-color:var(--ink-3)}.studylog-day-btn.active{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.studylog-day-btn.has-entry span:first-child:after{content:" •";color:var(--accent)}.studylog-day-date{color:var(--ink-3);font-size:11px}.studylog-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:6px}.studylog-stt-live{display:flex;align-items:center;gap:var(--space-2);padding:8px 12px;background:#ff3b3014;border:1px solid rgba(255,59,48,.2);border-radius:var(--radius-xs);font-size:13px;color:var(--vermilion);margin-bottom:8px;animation:pulse-border 1.5s infinite ease-in-out}.stt-dot{width:8px;height:8px;border-radius:50%;background:var(--vermilion);box-shadow:0 0 8px var(--vermilion);display:inline-block;animation:blink 1s infinite alternate}@keyframes blink{0%{opacity:.3}to{opacity:1}}.pulse-btn{background:var(--vermilion)!important;color:#fff!important;border-color:var(--vermilion)!important;animation:pulse-ring 1.5s infinite cubic-bezier(.215,.61,.355,1)}@keyframes pulse-ring{0%{box-shadow:0 0 #ff3b3066}70%{box-shadow:0 0 0 6px #ff3b3000}to{box-shadow:0 0 #ff3b3000}}.studylog-textarea{width:100%;min-height:260px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px;font-size:14.5px;line-height:1.6;font-family:inherit;resize:vertical}.studylog-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.studylog-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.studylog-summary-sec{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.studylog-summary-sec h3{font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:8px}.studylog-day-cards-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:4px}.studylog-day-cards-head h3{font-size:var(--text-md);font-weight:var(--weight-semibold)}.studylog-practice-sec{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-soft)}.studylog-practice-sec h4{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink-2);margin-bottom:8px}.studylog-feynman-gap{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line-soft);font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.practice-problem-q{font-size:15px;font-weight:600;line-height:1.5;margin-bottom:4px}.practice-problem-format{font-size:12px;color:var(--ink-3);margin-bottom:10px}.practice-problem-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.practice-problem-input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:8px 12px;font-size:14.5px;font-family:inherit}.practice-problem-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.practice-problem-input:disabled{opacity:.7}.practice-problem-verdict{font-size:13.5px;font-weight:600;margin-top:10px}.practice-problem-verdict.correct{color:var(--accent)}.practice-problem-verdict.wrong{color:var(--ink-2)}.tutor-session{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:20px;padding:20px 24px;height:calc(100vh - 64px);box-sizing:border-box}.tutor-chat,.tutor-board{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.tutor-pane-title{padding:12px 18px;font-weight:600;border-bottom:1px solid var(--line)}.tutor-back-btn{flex:0 0 auto;background:none;border:none;font-family:inherit;font-weight:700;font-size:14px;color:var(--ink-2);cursor:pointer;padding:4px 6px 4px 0;margin-right:4px}.tutor-back-btn:hover{color:var(--ink)}.tutor-landing .tutor-back-btn{position:absolute;top:16px;left:20px}.tutor-landing{position:relative}.tutor-chat-body,.tutor-board-body{flex:1;min-height:0;overflow-y:auto;padding:8px;max-height:calc(100vh - 200px)}.tutor-board-body{overflow:auto;background-image:repeating-linear-gradient(to bottom,transparent,transparent 31px,color-mix(in srgb,var(--line) 55%,transparent) 32px)}@media(prefers-contrast:more){.tutor-board-body{background-image:none}}.tutor-start{padding:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line)}.tutor-start p{margin:0;font-size:1.1rem}@media(max-width:800px){.tutor-session{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:auto;min-height:calc(100vh - 64px)}}.tutor-board .sm-board-body{padding:28px clamp(20px,4vw,48px) 40px;max-width:760px;margin:0 auto;width:100%;box-sizing:border-box}.tutor-board .sm-board-entry,.tutor-board .sm-board-problem{padding:18px 0}.tutor-board .sm-board-entry-text{font-size:15px;line-height:1.65}.tutor-board .sm-board-header{margin-bottom:18px;padding-bottom:12px}.tutor-board .sm-board-focus-pin{padding:14px 16px;margin-bottom:16px}@media(max-width:800px){.tutor-board .sm-board-body{padding:18px 16px 28px}}.tutor-session.voice-primary{grid-template-columns:minmax(0,.4fr) minmax(0,1.6fr)}.tutor-session.voice-primary .tutor-board{border-color:var(--accent)}.tutor-session .tutor-pane-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.tutor-voice-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2)}.tutor-voice-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-2);opacity:.5}.tutor-voice-pill.listening{color:var(--accent)}.tutor-voice-pill.listening:before{background:var(--accent);opacity:1;animation:tutor-voice-pulse 1.4s ease-in-out infinite}.tutor-voice-pill.speaking{color:var(--accent)}.tutor-voice-pill.speaking:before{background:var(--accent);opacity:.5}@keyframes tutor-voice-pulse{0%,to{opacity:1}50%{opacity:.3}}.tutor-voice-interim{font-weight:400;font-style:italic;color:var(--ink-2);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.tutor-voice-pill.listening:before{animation:none}}.sm-board-focus-pin{margin:4px 4px 10px;padding:10px 12px;border:1px solid var(--accent);border-left-width:3px;border-radius:var(--radius);background:var(--accent-soft)}.sm-board-focus-pin .sm-board-entry-kind{color:var(--accent)}.sm-board-focus-text{margin-top:2px}.sm-board-problem-pinned{margin:4px 4px 14px;box-shadow:var(--shadow-md, 0 4px 16px rgba(0,0,0,.08));border-color:var(--accent);border-width:1.5px}.tutor-board .sm-board-problem-pinned{margin:4px 4px 18px}.tutor-desmos-open{display:inline-flex;align-items:center;gap:5px;font-size:12px}.tutor-desmos-glyph{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:11px;font-style:italic;font-weight:700;flex:0 0 auto}.tutor-desmos-full{flex:1;min-height:0;display:flex;flex-direction:column}.tutor-desmos-full-header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);font-weight:600;font-size:13px}.tutor-desmos-pop{margin-left:auto;font-size:12px;color:var(--ink-2);text-decoration:none}.tutor-desmos-pop:hover{color:var(--accent)}.tutor-desmos-close{flex:0 0 auto}.tutor-desmos-full-frame-wrap{flex:1;min-height:0;position:relative}.tutor-desmos-frame{width:100%;height:100%;border:none;display:block}.tutor-desmos-hint{margin:0;padding:6px 16px;font-size:12px;color:var(--ink-2);border-top:1px solid var(--line);flex:0 0 auto}.sm-board-header{display:flex;align-items:baseline;gap:10px;margin:2px 4px 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.sm-board-header-date{font-size:12px;color:var(--ink-2);text-transform:capitalize}.sm-board-header-subject{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}.sm-board-entry,.sm-board-problem{position:relative}.sm-board-section-num{position:absolute;left:-26px;top:4px;font-size:11px;font-weight:600;color:var(--ink-3, var(--ink-2));opacity:.55;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}@media(max-width:720px){.sm-board-section-num{display:none}}.sm-board-entry-main{min-width:0}.sm-board-glyph{margin-right:5px;opacity:.7;font-size:.9em}@keyframes sm-board-writein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sm-board-writein{animation:sm-board-writein .35s var(--ease-out, ease-out)}@media(prefers-reduced-motion:reduce){.sm-board-writein{animation:none}}@keyframes sm-board-reveal-ink{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0% 0)}}.sm-board-reveal{animation-name:sm-board-writein,sm-board-reveal-ink;animation-timing-function:var(--ease-out, ease-out),linear;animation-fill-mode:both,both}@media(prefers-reduced-motion:reduce){.sm-board-reveal{animation:none!important;clip-path:none!important}}.sm-board-todo-chip{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:11.5px;font-weight:700;letter-spacing:.02em}.sm-board-todo-chip:before{content:"✎";font-size:11px}.sm-board-trace{border-left:2px solid var(--accent);padding-left:10px;margin:2px 0}.sm-board-trace-heading{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.sm-board-trace-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.sm-board-trace-list li{position:relative;padding-left:14px;font-size:.93em;line-height:1.45}.sm-board-trace-list li:before{content:"—";position:absolute;left:0;color:var(--ink-2)}.sm-board-trace-list li.sm-board-trace-turn:after{content:"⟲";margin-left:5px;color:var(--ink-2);font-size:.85em}.sm-board-drafting{display:flex;align-items:center;gap:8px;margin:10px 4px;padding:8px 12px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-2);font-size:13px;font-style:italic}.tutor-landing{display:flex;align-items:center;justify-content:center;padding:60px 20px;min-height:calc(100vh - 60px)}.tutor-landing-inner{max-width:520px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.tutor-hero-kicker{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tutor-landing-inner h2{margin:0;font-size:clamp(2rem,5vw,2.5rem);letter-spacing:-.04em;font-weight:700;color:var(--ink)}.tutor-landing-sub{max-width:480px;margin:0;color:var(--ink-2);font-size:1.1rem;line-height:1.6}.tutor-subject-select{width:100%;max-width:320px}.tutor-subject-select label{display:block;text-align:left;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--ink)}.tutor-subject-select select{width:100%;padding:12px 16px;font-size:1rem}.tutor-principles{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0}.tutor-principles div{display:flex;flex-direction:column;gap:8px;padding:16px 10px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left}.tutor-principles strong{color:var(--accent);font-size:12px}.tutor-principles span{font-size:13px;line-height:1.35;font-weight:600}.tutor-session-note{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:13px;line-height:1.4;text-align:left}.tutor-session-note span{flex:0 0 auto;padding:5px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700}.tutor-start-btn{font-size:1.1rem;padding:14px 32px;font-weight:600;width:100%;max-width:320px}.tutor-start-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}@media(max-width:560px){.tutor-start-actions .tutor-start-btn{width:100%}}@media(max-width:560px){.tutor-principles{grid-template-columns:1fr}.tutor-principles div{flex-direction:row;align-items:center;gap:12px}}.tutor-pane-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.tutor-end-btn{font-size:13px;padding:4px 12px;font-weight:500}.tutor-past-ref{font-size:.9rem;color:var(--ink-2);font-style:italic}.tutor-past-sessions{width:100%;text-align:left;margin-top:32px}.tutor-history-toggle{background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:.95rem;cursor:pointer;padding:12px 16px;font-family:inherit;border-radius:var(--radius-md);font-weight:600;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.tutor-history-toggle:hover{background:var(--surface-hover);border-color:var(--ink-2)}.tutor-history-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:12px}.tutor-history-item{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;text-align:left;background:var(--surface);transition:all .2s ease}.tutor-history-item:hover{border-color:var(--accent-soft);box-shadow:0 2px 8px #0000000d}.tutor-history-date{font-size:.85rem;color:var(--ink-2);margin-bottom:8px;display:flex;align-items:center;gap:8px;font-weight:500}.tutor-history-subject{font-size:.8rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tutor-history-summary{font-size:.95rem;font-weight:500;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.tutor-history-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--ink-2);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tutor-history-message-count{flex:0 0 auto;color:var(--ink-3);font-size:.8rem;font-weight:600;letter-spacing:0;text-transform:none}.tutor-history-topic{display:flex;align-items:flex-start;gap:8px;line-height:1.5;font-size:.95rem;color:var(--ink)}.tutor-history-subject-pill{flex:0 0 auto;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:.8rem;font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:.04em}.tutor-history-takeaways{margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.tutor-history-section-label{margin-bottom:6px;color:var(--ink-2);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tutor-history-board{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.tutor-history-board li{font-size:.9rem;color:var(--ink-2);padding-left:16px;position:relative;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;line-height:1.5}.tutor-history-board li:before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.tutor-history-actions{display:flex;gap:10px;margin-top:12px}.tutor-history-view-board,.tutor-history-view-chat{font-size:.85rem;padding:6px 14px;font-weight:500}.tutor-active-session-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;margin-top:16px;max-width:400px}.tutor-active-session-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.tutor-active-session-badge{padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tutor-active-session-subject{color:var(--ink-2);font-size:.9rem;font-weight:500}.tutor-active-session-text{color:var(--ink);font-size:.95rem;line-height:1.5;margin-bottom:16px}.tutor-active-session-actions{display:flex;gap:12px}.tutor-resume-btn,.tutor-new-btn{flex:1}.tutor-chat-history{display:flex;flex-direction:column;gap:16px;max-height:500px;overflow-y:auto;padding:16px}.tutor-chat-message{display:flex;flex-direction:column;gap:4px}.tutor-chat-message.user{align-items:flex-end}.tutor-chat-message.assistant{align-items:flex-start}.tutor-chat-role{font-size:.75rem;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tutor-chat-text{font-size:.95rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding:10px 14px;border-radius:var(--radius-sm);max-width:85%}.tutor-chat-message.user .tutor-chat-text{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--ink)}.tutor-chat-message.assistant .tutor-chat-text{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.tutor-subject-select{margin:16px 0}.tutor-subject-select label{display:block;font-size:.9rem;color:var(--ink-2);margin-bottom:6px}.tutor-subject-select select{width:100%;max-width:300px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:.95rem;cursor:pointer}.tutor-subject-select select:hover{border-color:var(--ink-2)}.tutor-subject-select select:focus{outline:none;border-color:var(--ink)}.sm-board-problem-mode-toggle{display:flex;gap:8px;margin-bottom:12px}.sm-board-problem-mode-toggle .sm-btn.active{background:var(--ink-2);color:var(--surface)}.sm-board-problem-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:8px 0;border-top:1px solid var(--line)}.sm-board-problem-nav-counter{font-size:.85rem;color:var(--ink-2)}:root{--bg: #FAFAFA;--surface: #FFFFFF;--surface-raised: #FFFFFF;--surface-glass: #FFFFFF;--ink: #18181B;--ink-2: #52525B;--ink-3: #A1A1AA;--line: #E4E4E7;--line-soft: #F4F4F5;--line-glass: #E4E4E7;--accent: #2563EB;--accent-hover: #1D4ED8;--accent-active: #1E40AF;--accent-soft: rgba(37, 99, 235, .06);--accent-rgb: 37, 99, 235;--accent-2: #EA580C;--accent-2-soft: rgba(234, 88, 12, .08);--accent-2-rgb: 234, 88, 12;--focus-ring: rgba(37, 99, 235, .3);--bg-2: #F4F4F5;--bg-3: #E4E4E7;--graphite: #71717A;--radius-2xs: 4px;--radius-xs: 6px;--radius-sm: 8px;--radius: 10px;--radius-lg: 12px;--radius-xl: 16px;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px rgba(0, 0, 0, .05);--shadow-card-hover: 0 2px 8px rgba(0, 0, 0, .06);--shadow-pop: 0 4px 24px rgba(0, 0, 0, .08);--shadow-glow: 0 0 0 3px var(--accent-soft);--bar: #FAFAFA;--hover-wash: #F4F4F5;--bg-rgb: 250, 250, 250;--glass-border: #E4E4E7;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .28s;--duration-spring: .3s;--vermilion: #EF4444;--ok: #22C55E;--warn: #F59E0B;--amber: #F59E0B}@media(prefers-color-scheme:dark){:root{--bg: #0A0A0B;--surface: #18181B;--surface-raised: #27272A;--surface-glass: #18181B;--ink: #FAFAFA;--ink-2: #A1A1AA;--ink-3: #71717A;--line: #27272A;--line-soft: #1F1F23;--line-glass: #27272A;--accent: #60A5FA;--accent-hover: #2563EB;--accent-active: #1D4ED8;--accent-soft: rgba(96, 165, 250, .1);--accent-rgb: 96, 165, 250;--accent-2: #FB923C;--accent-2-soft: rgba(251, 146, 60, .1);--accent-2-rgb: 251, 146, 60;--bg-2: #27272A;--bg-3: #3F3F46;--bar: #0A0A0B;--hover-wash: #27272A;--bg-rgb: 10, 10, 11;--glass-border: #27272A;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-card: 0 1px 3px rgba(0, 0, 0, .3);--shadow-card-hover: 0 2px 8px rgba(0, 0, 0, .4);--shadow-pop: 0 4px 24px rgba(0, 0, 0, .5);--vermilion: #F87171;--ok: #4ADE80;--warn: #FBBF24;--amber: #FBBF24}}.tally-highlight{position:relative;display:inline;white-space:nowrap}.tally-highlight:after{content:"";position:absolute;left:-2px;right:-2px;bottom:-2px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 Q 25 2, 50 7 T 100 6 T 150 7 T 198 5' stroke='%23EA580C' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;pointer-events:none}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent)}a:hover{color:var(--accent-hover)}::selection{background:#2563eb1f}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring);border-radius:var(--radius-xs)}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:500;font-family:var(--sans);box-shadow:none;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.btn:hover{background:var(--bg-2);border-color:#d5d5d5}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:active{background:var(--accent-active)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--bg-2);color:var(--ink);border-color:transparent}.btn.big{height:48px;border-radius:var(--radius);font-weight:600}.btn.primary.big:hover{background:var(--accent-hover);box-shadow:none}input,textarea,select{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--sans);color:var(--ink);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input::placeholder,textarea::placeholder{color:var(--ink-3)}.segmented-control{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented-control button{border-radius:var(--radius-xs);color:var(--ink-2);font-weight:500;border:none;background:transparent;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.segmented-control button:hover{color:var(--ink)}.segmented-control button.active{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}.chip{border-radius:var(--radius-pill);font-weight:500;letter-spacing:0}.chip-muted{background:var(--bg-2);color:var(--ink-3)}.chip-busy{background:var(--accent-2-soft);color:var(--accent-2)}.chip-attention{background:var(--accent-soft);color:var(--accent)}.chip-bad{background:#fff3f0;color:#c6462f}.chip-good{background:#00996614;color:#096}.landing-simple{background:#fff}.landing-nav-simple{height:64px;background:#fff;border-bottom:1px solid var(--line)}.landing-nav-simple .brand{font-weight:700;letter-spacing:-.02em}.landing-nav-simple .brand-name{font-weight:700}.hero-simple{align-items:center;text-align:center;max-width:720px;padding:clamp(80px,14vh,140px) 20px 60px}.hero-title-simple{font-size:clamp(36px,6vw,56px);font-weight:700;letter-spacing:-.035em;line-height:1.1;color:var(--ink);margin-bottom:20px}.hero-sub-simple{font-size:clamp(17px,2.5vw,20px);line-height:1.55;color:var(--ink-2);margin-bottom:36px;max-width:560px}.hero-cta-simple{justify-content:center;gap:12px}.hero-cta-simple .btn{min-width:150px}.features-simple{max-width:920px;padding:40px 20px 80px;gap:40px}.feature-simple{text-align:center;padding:0}.feature-simple h3{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:6px}.feature-simple p{font-size:15px;color:var(--ink-2);line-height:1.5}@media(min-width:641px){.features-simple{flex-direction:row;gap:48px}.feature-simple{flex:1}}.landing-sec-simple{max-width:720px;padding:64px 20px}.sec-header-simple{text-align:center;margin-bottom:36px}.sec-header-simple h2{font-size:clamp(26px,4vw,36px);font-weight:700;letter-spacing:-.03em;color:var(--ink);line-height:1.15}.research-row-simple dt{font-weight:600;color:var(--ink);font-size:15px}.research-row-simple dd{color:var(--ink-2);font-size:14px;line-height:1.5}.faq-item-simple{border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;background:#fff;transition:border-color var(--duration-fast) ease}.faq-item-simple:hover{border-color:#d5d5d5}.faq-item-simple summary{font-weight:600;color:var(--ink)}.faq-item-simple p{color:var(--ink-2)}.cta-band-simple{text-align:center;padding:80px 20px;max-width:720px}.cta-band-simple h2{font-size:clamp(26px,4vw,36px);font-weight:700;letter-spacing:-.03em;color:var(--ink)}.cta-band-simple p{color:var(--ink-2)}.landing-foot-simple{border-top:1px solid var(--line);padding:32px 20px;flex-direction:column;gap:16px;align-items:center}.foot-top-simple{justify-content:space-between;width:100%;max-width:720px}.foot-bottom-simple{border-top:1px solid var(--line)}.landing-foot-simple a:hover,.foot-group-simple a:hover{color:var(--accent)}.login-page{background:#fff}.login-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.login-title{font-weight:700;letter-spacing:-.03em}.landing-nav.glass-nav{background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}.lang-toggle{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink-2)}.lang-toggle:hover{background:var(--bg-2)}.app{background:#fff}.sidebar{width:230px;background:#fff;border-right:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none;padding:20px 12px;transition:none}.sidebar-brand{font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--ink);padding:4px 12px;margin-bottom:20px}.sidebar-nav{gap:2px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--ink-2);font-size:14px;font-weight:500;text-decoration:none;transition:background var(--duration-fast) ease,color var(--duration-fast) ease;will-change:auto}.sidebar-item:hover{background:var(--bg-2);color:var(--ink)}.sidebar-item:active{transform:none}.sidebar-item svg{width:17px;height:17px}.sidebar-badge{background:var(--accent);font-weight:600;border-radius:var(--radius-pill)}.topbar{background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none;transition:none}.list-wrap,.settings-page{max-width:720px;padding-top:clamp(28px,5vh,64px)}.toast{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);color:var(--ink);font-weight:500}.toast.error{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.dash-date{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.list-head{letter-spacing:-.03em;font-weight:700}.list-head .accent-num{color:var(--accent)}.dash-line{color:var(--ink-2);font-size:15px}.dash-next{color:var(--ink-2)}.dash-late{background:#fff3f0;color:#c6462f;font-weight:600;border-radius:var(--radius-pill)}.dash-working{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill)}.scan-note{background:var(--bg-2);color:var(--ink-2);border-radius:var(--radius-pill)}.scan-dot{background:var(--accent)}.dash-progress{background:var(--bg-2);border-radius:var(--radius-pill);overflow:hidden;border:none}.dash-progress-fill{background:var(--accent);border-radius:var(--radius-pill);transition:width var(--duration-slow) ease}.add-task-row{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.add-task-row:hover{border-color:#d5d5d5;transform:none}.add-task-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.add-task-input{font-size:15px;color:var(--ink)}.add-task-input::placeholder{color:var(--ink-3)}.dash-hero{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.dash-hero:hover{border-color:#d5d5d5;box-shadow:var(--shadow-card)}.dash-hero-kicker{color:var(--accent);font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.dash-hero-title{font-weight:700;letter-spacing:-.02em;color:var(--ink)}.dash-hero-why{color:var(--ink-2);line-height:1.55}.dash-hero-meta{color:var(--ink-3);font-size:13px}.list{background:transparent;border:0;box-shadow:none}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background var(--duration-fast) ease}.card+.card{border-top:1px solid var(--line)}.card:hover{border-color:#d5d5d5;box-shadow:var(--shadow-card)}.card:active{transform:none}.card:before{width:3px;border-radius:0 2px 2px 0;box-shadow:none;left:0}.card.running:before{box-shadow:none}.card.needs-you:before{box-shadow:none}.card.is-done{opacity:.55}.card-title{font-weight:600;letter-spacing:-.01em;color:var(--ink)}.card-sub{color:var(--ink-3)}.card-subject{color:var(--ink-3);font-weight:500}.card-peak-badge{background:var(--accent-2-soft);color:var(--accent-2);border-radius:var(--radius-pill)}.card-check{border:1.5px solid #D5D5D5;border-radius:6px;background:#fff;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}.card-check:disabled{border-color:var(--line)}.card-x{border-radius:var(--radius-xs);color:var(--ink-3)}.card-study{border:1px solid transparent;border-radius:var(--radius-xs);color:var(--ink-3);background:transparent;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.card-study:hover{background:var(--accent-soft);color:var(--accent);border-color:transparent}.new-dot{background:var(--accent-2)}.when-soon{color:#c6462f;font-weight:600}.focus-group-head{margin-top:8px}.focus-title{color:var(--ink-3);font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.show-more-btn{color:var(--accent);font-weight:500}.show-more-btn:hover{background:var(--accent-soft);color:var(--accent)}.completed-section{border-top:1px solid var(--line)}.completed-head{color:var(--ink-3);font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.done-row{border-radius:var(--radius-xs);border-bottom:1px solid var(--line-soft);transition:background var(--duration-fast) ease}.done-title{color:var(--ink-2);font-weight:500}.done-when{color:var(--ink-3);font-size:12px}.empty-state{background:#fff;border:1px dashed var(--line);border-radius:var(--radius-lg);padding:32px}.empty-state h3{letter-spacing:-.02em}.page-info-hint{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2)}.page-info-hint-x{color:var(--ink-3)}.page-info-hint-x:hover{background:#0000000f}.task-modal{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.task-modal-x{color:var(--ink-3);border-radius:var(--radius-xs)}.task-modal-x:hover{background:var(--bg-2);color:var(--ink)}.step-hero,.task-chat,.walk-panel,.crash-card,.task-plan-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.step-hero-top .tf-title{font-weight:700;letter-spacing:-.02em}.tf-why,.hero-sub,.hero-line,.steps{color:var(--ink-2)}.step-text-row{color:var(--ink)}.step-input{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.step-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-msg{font-size:14.5px;line-height:1.55}.chat-user{color:var(--ink-2)}.chat-assistant{color:var(--ink)}.chat-input{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-code-block{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-xs)}.settings-page{width:100%;max-width:660px;margin:0 auto}.settings-title{font-weight:700;letter-spacing:-.03em;font-size:clamp(26px,4vw,32px)}.settings-sec{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);backdrop-filter:none;-webkit-backdrop-filter:none;padding:20px 24px;transition:border-color var(--duration-fast) ease}.settings-sec:hover{border-color:#d5d5d5}.settings-sec h2{font-weight:600;letter-spacing:-.015em;color:var(--ink);font-size:16px}.settings-sec h3{color:var(--ink-2);font-weight:600}.settings-hint{color:var(--ink-3);font-size:13px}.set-row{border-top:1px solid var(--line-soft)}.set-text h3,.set-text strong{color:var(--ink);font-weight:600}.field input,.field textarea,.field select{border-radius:var(--radius-sm)}.connect-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.connect-card h2{letter-spacing:-.025em}.int-tile,.int-acct{background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.int-tile:hover,.int-acct:hover{border-color:#d5d5d5;box-shadow:var(--shadow-card)}.studylog-page .studylog-textarea,.studylog-textarea{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.studylog-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.studylog-tabs .segmented-control{background:var(--bg-2)}.studylog-day-cards{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.studylog-editor-toolbar{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.note-chip{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.errorlog-entry{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.errorlog-entry-head{color:var(--ink-2)}.deck-popup,.quiz-popup,.note-popup,.materials-drawer{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.deck-card-face,.deck-card-back{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.deck-btn-right{background:var(--accent);border-color:var(--accent);color:#fff;border-radius:var(--radius-sm)}.deck-btn-wrong{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-sm)}.deck-btn-right:hover{background:var(--accent-hover)}.deck-btn-wrong:hover{background:var(--bg-2)}.deck-progress{background:var(--bg-2);border-radius:var(--radius-pill)}.deck-progress-fill{background:var(--accent)}.deck-score-ring{color:var(--accent)}.quiz-opt-text{color:var(--ink)}.quiz-why{color:var(--ink-2)}.quiz-mistake-textarea{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.study-mode-v2{background:var(--bg-2)}.study-mode-start,.sm-modal,.sm-drawer{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.task-goal-banner{background:var(--accent-2-soft);border:1px solid rgba(var(--accent-2-rgb),.15);border-radius:var(--radius);color:var(--accent-2)}.study-help-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.study-help-input{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.study-help-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.start-duration,.start-task-info,.onboard-lead,.first-time-hint-body{color:var(--ink-2)}.first-action{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.first-action:hover{border-color:#d5d5d5}.spinner{border-color:var(--line);border-top-color:var(--accent)}.milestone-bar,.milestone-segment-bar{border-radius:var(--radius-pill);background:var(--bg-3)}.milestone-bar>div{background:var(--accent)}.links a{color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.modal-row{border-top:1px solid var(--line-soft)}.disclosure-head{border-radius:var(--radius-xs)}@media(max-width:768px){.sidebar{border-right:1px solid var(--line);width:260px}.sidebar-toggle{background:var(--accent);color:#fff;border-radius:50%;box-shadow:var(--shadow-pop)}.hero-title-simple{font-size:32px}.hero-sub-simple{font-size:16px}.features-simple{gap:28px}.card{border-radius:var(--radius)}}.loading-screen{padding:8px 0}.loading-head{display:flex;align-items:center;gap:10px;margin-bottom:24px}.loading-msg{font-size:14px;color:var(--ink-2);font-weight:500}.spinner.sm{width:16px;height:16px}.card.skel{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 14px 20px;box-shadow:none}.card.skel+.card.skel{border-top-left-radius:0;border-top-right-radius:0;border-top:1px solid var(--line)}.skel-box{border-radius:var(--radius-xs)}*{scrollbar-width:thin;scrollbar-color:var(--bg-3) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}.sidebar{width:240px;padding:24px 14px 16px;display:flex;flex-direction:column}.sidebar-brand{padding:2px 10px 0;margin-bottom:28px;font-size:16px}.sidebar-brand .logo{color:var(--ink)}.sidebar-nav{gap:2px;flex:1}.sidebar-item{padding:9px 12px;font-size:14px;line-height:1;gap:11px;border-radius:var(--radius-sm);min-height:36px}.sidebar-item svg{width:18px;height:18px;stroke-width:1.75;flex-shrink:0}.sidebar-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-item.active svg{stroke-width:2}.sidebar-badge{min-width:18px;height:18px;font-size:10px;padding:0 5px}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-soft)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none;transition:background var(--duration-fast) ease}.sidebar-user:hover{background:var(--bg-2)}.sidebar-user-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar{height:56px;height:calc(56px + env(safe-area-inset-top));padding-left:calc(28px + env(safe-area-inset-left));padding-right:calc(28px + env(safe-area-inset-right));background:var(--bg);border-bottom:1px solid var(--line)}.topbar-title{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.topbar .btn.ghost{font-size:14px;font-weight:500;padding:7px 14px;border-radius:var(--radius-sm)}.list-wrap{max-width:720px;margin:0 auto;padding:clamp(32px,5vh,56px) clamp(28px,5vw,48px) 120px}.settings-page{max-width:680px;margin:0 auto;padding:clamp(32px,5vh,56px) clamp(28px,5vw,48px) 120px}.dash-head{margin-bottom:28px}.dash-date{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-3);margin-bottom:6px}.list-head{font-size:clamp(24px,4vw,30px);font-weight:700;letter-spacing:-.03em;line-height:1.2}.dash-line{font-size:14px;color:var(--ink-2);line-height:1.5;margin-top:10px}.dash-progress{height:6px;margin-top:16px}.dash-progress-fill{height:6px}.add-task-row{border-radius:var(--radius);padding:2px 4px 2px 14px;margin-bottom:28px}.add-plus{color:var(--ink-3);font-size:18px;font-weight:400}.add-task-input{font-size:15px;padding:12px 8px}.add-task-input::placeholder{color:var(--ink-3);font-weight:400}.dash-hero{border-radius:var(--radius-lg);padding:28px 28px 24px;margin-bottom:8px}.dash-hero-kicker{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.dash-hero-title{font-size:clamp(20px,3vw,24px);font-weight:700;letter-spacing:-.025em;line-height:1.3;margin-bottom:8px}.dash-hero-why{font-size:15px;line-height:1.6;color:var(--ink-2);margin-bottom:0}.dash-hero-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-soft);font-size:13px}.dash-hero-cta{margin-top:20px;width:100%}.task-goal-banner{margin:12px 0 0;padding:10px 14px;font-size:14px;border-radius:var(--radius)}.card{border-radius:var(--radius);padding:14px 16px 14px 20px;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.card+.card{border-top:1px solid var(--line);border-top-left-radius:0;border-top-right-radius:0}.card:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.card:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.card:only-child{border-radius:var(--radius)}.card:hover{border-color:#d4d4d8;box-shadow:var(--shadow-card);z-index:1}.card:before{width:3px;border-radius:0 3px 3px 0;left:0;top:8px;bottom:8px;height:auto}.card-title{font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.35}.card-sub{font-size:13px;color:var(--ink-3);margin-top:3px}.card-subject{font-size:13px;font-weight:500;color:var(--ink-3)}.card-check{width:20px;height:20px;border:1.5px solid #D4D4D8;border-radius:6px;flex-shrink:0;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}.card-check:hover{border-color:var(--accent)}.card-check.checked{background:var(--accent);border-color:var(--accent)}.card-x{width:28px;height:28px;border-radius:var(--radius-xs);font-size:16px;color:var(--ink-3);opacity:0;transition:opacity var(--duration-fast) ease,background var(--duration-fast) ease,color var(--duration-fast) ease}.card:hover .card-x{opacity:1}.card-x:hover{background:var(--bg-2);color:var(--ink)}.card-study{width:28px;height:28px;border-radius:var(--radius-xs);opacity:0;transition:opacity var(--duration-fast) ease,background var(--duration-fast) ease,color var(--duration-fast) ease}.card:hover .card-study{opacity:1}.card-study:hover{background:var(--accent-soft);color:var(--accent)}.card .chip{font-size:12px;padding:2px 8px}.card-quadrant{font-size:12px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink-3);font-weight:500}.card-source-attribution{font-size:12px;color:var(--ink-3);margin-top:6px}.list-focus-wrap{gap:32px}.focus-group{gap:12px}.focus-group-head{padding:0 0 10px;margin-top:4px;border-bottom:none}.focus-title{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-2)}.dash-today .focus-title{font-size:13px;color:var(--ink-2);letter-spacing:0;font-weight:600}.focus-badge{font-size:12px;padding:1px 8px;border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink-3)}.show-more-btn{margin-top:8px;padding:10px 16px;font-size:14px;font-weight:500;color:var(--accent);border-radius:var(--radius);border:1px solid var(--line);background:#fff;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.show-more-btn:hover{background:var(--accent-soft);border-color:var(--accent-soft)}.completed-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.completed-head{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-2);margin-bottom:12px}.done-row{padding:10px 12px;border-radius:var(--radius-xs);border-bottom:1px solid var(--line-soft);transition:background var(--duration-fast) ease}.done-row:last-child{border-bottom:none}.done-row:hover{background:var(--bg-2)}.done-title{font-size:14px;font-weight:500;color:var(--ink-2)}.done-when{font-size:12px;color:var(--ink-3)}.done-check{color:var(--accent)}.empty-state{border-radius:var(--radius-lg);padding:48px 32px;text-align:center}.empty-state h3{font-size:18px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.empty-state p{font-size:15px;color:var(--ink-2);line-height:1.55;margin-bottom:20px}.empty-mark{width:56px;height:56px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.empty-mark.done{background:#22c55e14;color:#22c55e}.empty-check{font-size:24px;font-weight:700}.page-info-hint{padding:12px 16px;font-size:13px;line-height:1.5;border-radius:var(--radius);margin-bottom:20px}.page-info-hint-x{width:20px;height:20px;border-radius:var(--radius-xs);font-size:14px}.intro.paused-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.intro.paused-banner .intro-title{font-size:14px;font-weight:600;color:var(--ink)}.intro.paused-banner p{font-size:13px;color:var(--ink-2);margin-top:2px}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:200;padding:12px 16px 12px 20px;font-size:14px;display:flex;align-items:center;gap:12px;max-width:90vw;animation:toastSlideIn .3s ease}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.toast-msg{flex:1}.toast-x{background:none;border:none;color:var(--ink-3);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);transition:background var(--duration-fast) ease}.toast-x:hover{background:var(--bg-2)}.toast.error .toast-x{color:#fff9}.toast.error .toast-x:hover{background:#ffffff1a}.settings-title{font-size:clamp(24px,4vw,30px);font-weight:700;letter-spacing:-.03em;margin-bottom:28px}.settings-sec{padding:24px 28px;margin-bottom:16px;border-radius:var(--radius-lg)}.settings-sec h2{font-size:16px;font-weight:600;letter-spacing:-.01em;margin-bottom:4px}.settings-sec h3{font-size:14px;font-weight:600}.settings-hint{font-size:13px;line-height:1.5}.set-row{padding:16px 0;border-top:1px solid var(--line-soft)}.set-row:first-of-type{border-top:none;padding-top:0}.set-text h3,.set-text strong{font-size:14px}.field input,.field textarea,.field select{border-radius:var(--radius-sm);font-size:14px}.connect-card{padding:40px 32px;border-radius:var(--radius-lg);text-align:center}.connect-card h2{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.int-tile,.int-acct{padding:16px 18px;border-radius:var(--radius)}.task-modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.task-modal-x{width:32px;height:32px;border-radius:var(--radius-sm);font-size:16px;display:flex;align-items:center;justify-content:center}.step-hero,.task-chat,.walk-panel,.task-plan-panel{border-radius:var(--radius);padding:20px 22px}.step-hero-top .tf-title{font-size:clamp(18px,3vw,22px);font-weight:700;letter-spacing:-.02em;line-height:1.3}.tf-why{font-size:15px;line-height:1.6}.steps,.step-text-row{font-size:14px}.chat-msg{font-size:14px;line-height:1.6}.chat-input{font-size:14px}.studylog-textarea{border-radius:var(--radius);font-size:15px;line-height:1.6}.studylog-day-cards{border-radius:var(--radius);padding:20px 22px}.errorlog-entry{padding:16px 18px;border-radius:var(--radius);margin-bottom:10px}.errorlog-entry-head{font-size:13px;font-weight:600}.week-fab{padding:10px 18px;font-size:13px;font-weight:500;border-radius:var(--radius-pill);box-shadow:var(--shadow-card)}.study-mode-start{border-radius:var(--radius-lg);padding:32px 28px}.sm-drawer{border-radius:var(--radius-lg)}.study-help-panel{border-radius:var(--radius);padding:16px 18px}.first-action{padding:16px 18px;border-radius:var(--radius)}.disclosure-head{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500}.disclosure-head:hover{background:var(--bg-2)}.disclosure-label{font-size:14px}@media(prefers-color-scheme:dark){.app{background:var(--bg)}.topbar{background:var(--bg);border-bottom-color:var(--line)}.sidebar{background:var(--surface);border-right-color:var(--line)}.card{background:var(--surface);border-color:var(--line)}.card:hover{border-color:var(--bg-3);box-shadow:var(--shadow-card)}.card+.card{border-top-color:var(--line)}.add-task-row{background:var(--surface);border-color:var(--line)}.add-task-row:hover{border-color:var(--bg-3)}.dash-hero{background:var(--surface);border-color:var(--line)}.dash-hero:hover{border-color:var(--bg-3)}.settings-sec{background:var(--surface);border-color:var(--line)}.settings-sec:hover{border-color:var(--bg-3)}.connect-card,.int-tile,.int-acct{background:var(--surface);border-color:var(--line)}.int-tile:hover,.int-acct:hover{border-color:var(--bg-3)}.empty-state,.toast{background:var(--surface);border-color:var(--line)}.toast.error{background:#1a1a1a;border-color:#1a1a1a}.show-more-btn{background:var(--surface);border-color:var(--line)}.show-more-btn:hover{background:var(--hover-wash)}.intro.paused-banner,.step-hero,.task-chat,.walk-panel,.task-plan-panel,.studylog-day-cards,.errorlog-entry,.deck-card-face,.deck-card-back,.study-mode-start,.sm-modal,.sm-drawer,.study-help-panel,.first-action,.week-fab,.page-info-hint,.note-chip{background:var(--surface);border-color:var(--line)}.sidebar-footer{border-top-color:var(--line)}.sidebar-user:hover{background:var(--hover-wash)}.quiz-mistake-textarea,.step-input,.chat-input,.study-help-input{background:var(--surface);border-color:var(--line)}input,textarea,select{background:var(--surface)}.btn{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn:hover{background:var(--hover-wash);border-color:var(--bg-3)}.card-check{background:var(--surface);border-color:var(--bg-3)}.deck-btn-wrong{background:var(--surface);border-color:var(--line)}}@media(max-width:768px){.list-wrap,.settings-page{padding:clamp(24px,4vh,40px) 20px 100px}.topbar{padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.dash-hero{padding:22px 20px}.settings-sec{padding:20px 18px}.card{padding:14px 14px 14px 18px}.card-x,.card-study{opacity:1}.toast{top:12px;left:12px;right:12px;transform:none;max-width:none}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}}
