@font-face{font-family:Inter;src:local('Inter');font-display:swap}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55;--bg:#f6f1e9;--surface:#fffcf7;--panel:#eeebe4;--text:#252421;--muted:#69655f;--primary:#625abb;--primary-soft:#e9e5f5;--border:#ded8cf;--green:#326848;--green-soft:#e5eee5;--danger:#a44135;--warning:#865719;--shadow:0 12px 35px #39332c08;--nav:rgba(255,252,247,.94)}body[data-theme=dark]{--bg:#111316;--surface:#1c1f24;--panel:#24272d;--text:#f0eee9;--muted:#b1ada6;--primary:#b4aaff;--primary-soft:#302b48;--border:#36383e;--green:#98d2aa;--green-soft:#243b2e;--danger:#f0a295;--warning:#e5ba7d;--shadow:0 12px 35px #0002;--nav:rgba(28,31,36,.94)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.65rem 1rem;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);font-weight:550;cursor:pointer;text-decoration:none;transition:background .16s,transform .16s}button:hover,.button:hover{background:var(--panel);text-decoration:none}button:active,.button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button.primary,.button.primary{background:var(--primary);color:var(--surface);border-color:var(--primary)}body[data-theme=dark] .primary{color:#171421}button.primary:hover,.button.primary:hover{filter:brightness(.94)}button.ghost,.button.ghost{border-color:transparent;background:transparent}button.link{border:0;padding:.3rem;min-height:36px;background:none;color:var(--primary)}button.danger,.danger{color:var(--danger)}.icon-button{padding:.65rem;width:44px;flex-shrink:0}.icon{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.1rem,4vw,3.3rem);letter-spacing:-.045em;line-height:1.13;margin-bottom:.65rem}h2{font-size:1.25rem;font-weight:600;letter-spacing:-.025em}h3{font-size:1.04rem;font-weight:600;margin-bottom:.5rem}.muted{color:var(--muted)}.small{font-size:.875rem}.eyebrow{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:650;color:var(--muted)}.row{display:flex;align-items:center;gap:.75rem}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:grid;gap:1rem}.spacer{height:1.5rem}.wordmark{font-family:Georgia,serif;font-size:2.5rem;letter-spacing:-.055em;line-height:1.05;color:var(--text)}.wordmark span{display:flex;align-items:center;gap:.3rem;font:400 .75rem/1.5 ui-sans-serif,system-ui;letter-spacing:0;color:var(--muted);margin-top:.6rem}.wordmark img{width:72px;height:auto;display:block}.brand-dark{display:none}body[data-theme=dark] .brand-light{display:none}body[data-theme=dark] .brand-dark{display:block}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;padding:38px 25px 22px;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10;background:var(--bg)}.sidebar .wordmark{margin:0 14px 42px}.side-nav{display:grid;gap:8px}.side-nav a{display:flex;gap:14px;align-items:center;padding:12px 16px;border-radius:13px;color:var(--muted);font-size:.93rem}.side-nav a:hover{background:var(--panel);text-decoration:none}.side-nav a.active{color:var(--primary);background:var(--primary-soft);font-weight:600}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:20px;display:grid;gap:10px}.user-button{background:none;border:0;justify-content:flex-start;padding:8px}.avatar{border-radius:50%;width:36px;height:36px;background:var(--panel);display:grid;place-items:center;font-size:.88rem;flex-shrink:0}.main-wrap{margin-left:236px;padding:28px 48px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;max-width:1060px;margin:auto auto 36px;gap:16px}.topbar .breadcrumb{font-size:.875rem;color:var(--muted)}.topbar .breadcrumb span{margin:0 10px;color:var(--border)}.topbar .mobile-brand{display:none}.top-actions{display:flex;gap:8px;align-items:center}.status-dot{display:inline-flex;gap:7px;align-items:center;color:var(--green);font-size:.8rem}.status-dot:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.page{max-width:1060px;margin:auto;animation:arrive .25s ease}.page.narrow{max-width:840px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:30px}.page-heading p{margin:0}.home-date{margin-bottom:10px}.home-header{margin:0 0 35px}.home-header p{margin:0}.home-next{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:25px;padding:30px;box-shadow:var(--shadow);margin-bottom:38px}.next-top{margin-bottom:32px;display:flex;align-items:center;justify-content:space-between}.badge{display:inline-flex;gap:6px;align-items:center;border-radius:8px;padding:3px 9px;background:var(--panel);color:var(--muted);font-size:.75rem;max-width:100%}.badge.purple{background:var(--primary-soft);color:var(--primary)}.badge.green{background:var(--green-soft);color:var(--green)}.next-icon{width:55px;height:55px;border-radius:17px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);margin-bottom:20px}.next-icon .icon{width:28px;height:28px}.home-next h2{font-family:Georgia,serif;font-weight:400;font-size:2.1rem;letter-spacing:-.03em;margin-bottom:10px;line-height:1.2}.next-footer{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:28px}.next-footer p{margin:0;max-width:440px}.today-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.today-head h2{margin:0;font-size:1.04rem}.agenda{display:grid}.agenda-row{display:flex;align-items:center;gap:18px;padding:19px 0;border-bottom:1px solid var(--border);min-height:88px}.agenda-time{width:76px;flex-shrink:0;color:var(--muted);font-size:.84rem;line-height:1.4}.agenda-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);border-radius:12px;flex-shrink:0}.agenda-icon.work{color:var(--warning);background:var(--panel)}.agenda-title{border:0;padding:0;min-height:0;display:block;text-align:left;background:transparent;font-weight:550;line-height:1.45;overflow-wrap:anywhere}.agenda-title:hover{color:var(--primary);background:none}.agenda-meta{font-size:.82rem;color:var(--muted);margin-top:4px}.day-note{margin:24px 0 0;font-size:.87rem;color:var(--muted)}.empty{padding:36px 18px;border:1px dashed var(--border);border-radius:20px;text-align:center;color:var(--muted);margin:12px 0}.empty .icon{width:32px;height:32px;margin-bottom:10px}.empty h2,.empty h3{color:var(--text)}.empty p{max-width:480px;margin:0 auto 18px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:21px;padding:25px;margin-bottom:20px;box-shadow:var(--shadow)}.panel h2{margin-bottom:18px}.notice{padding:14px 18px;border:1px solid var(--border);background:var(--panel);border-radius:13px;margin-bottom:20px;font-size:.9rem}.notice p:last-child{margin-bottom:0}.notice.purple{background:var(--primary-soft);color:var(--primary);border-color:transparent}.notice.danger{border-color:var(--danger)}.notice.warning{color:var(--warning)}.notice .row{gap:16px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.filters button{background:transparent;min-height:38px;border-radius:50px;padding:.45rem 1rem;font-size:.875rem}.filters button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.search-line{display:flex;gap:12px;margin:20px 0}.search-line input{flex:1}.search-line select{max-width:240px}.task-row{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--border);padding:18px 0}.task-row:last-child{border-bottom:0}.task-row.completed .agenda-title{text-decoration:line-through;color:var(--muted)}.check-button{border-radius:50%;width:26px;height:26px;min-height:26px;padding:2px;flex-shrink:0}.check-button .icon{width:15px;height:15px}.check-button.complete{background:var(--green-soft);color:var(--green);border-color:transparent}.task-actions{display:flex;gap:4px}.task-actions button{border:0;background:none}.due-danger{color:var(--danger)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.calendar-toolbar h2{margin:0}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin-bottom:28px}.day-button{display:grid;gap:6px;text-align:center;padding:12px 5px;border-radius:16px;background:transparent}.day-button strong{font-size:1.2rem}.day-button span{font-size:.75rem;color:var(--muted)}.day-button.active{background:var(--primary-soft);border-color:transparent;color:var(--primary)}.day-button.today{border-color:var(--primary)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-column{min-height:230px;border-left:1px solid var(--border);padding-left:8px}.calendar-item{display:block;text-align:left;font-size:.78rem;padding:10px;border-radius:11px;min-height:65px;width:100%;background:var(--primary-soft);border-color:transparent;color:var(--text);margin-bottom:8px;overflow-wrap:anywhere}.calendar-item.fixed{background:var(--panel)}.calendar-item strong{display:block;font-size:.83rem;line-height:1.4}.calendar-item small{display:block;font-size:.75rem;margin:3px 0}.view-switch button{min-height:35px;font-size:.8rem;padding:.35rem .65rem}.view-switch .active{background:var(--panel)}.settings-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.settings-tabs a{color:var(--muted);padding:8px 12px;border-radius:10px}.settings-tabs a.active{background:var(--primary-soft);color:var(--primary)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .panel{margin:0}.settings-grid .full{grid-column:1/-1}.form-stack{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{font-size:.875rem;font-weight:550;display:grid;gap:7px}input,select,textarea{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--border);background:var(--bg);color:var(--text);min-height:44px;font-size:1rem;outline:none}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--primary);margin:0}.checkbox-label{display:flex;align-items:center;gap:10px;min-height:35px;font-weight:400}.help{font-size:.8rem;color:var(--muted);font-weight:400;margin-top:2px}.field-error{color:var(--danger);font-size:.88rem;white-space:pre-line}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.auth-card{max-width:460px;margin:8vh auto;padding:32px;border:1px solid var(--border);border-radius:25px;background:var(--surface);box-shadow:var(--shadow)}.auth-card .wordmark{margin-bottom:40px}.auth-card h1{font-size:2.4rem}.auth-card .eyebrow{margin-top:0}.auth-card .form-stack{margin-top:28px}.auth-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:.875rem}.auth-footer{text-align:center;font-size:.8rem;color:var(--muted);margin-top:30px}.requirements{font-size:.875rem;padding-left:20px;color:var(--muted)}.loading{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.loading .wordmark{margin-bottom:20px}.bottom-nav{display:none}.onboard{max-width:660px;margin:auto}.stepper{display:flex;gap:8px;margin-bottom:36px}.stepper span{height:3px;border-radius:8px;background:var(--border);flex:1}.stepper .done{background:var(--primary)}.onboard .panel{margin-top:30px}.onboard .page-heading{display:block}.course-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding:18px 0}.course-row:last-child{padding-bottom:0}.chat-log{display:flex;flex-direction:column;gap:20px;margin:30px 0}.message{max-width:85%;padding:18px 22px;border-radius:19px;background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.96rem}.message.user{align-self:flex-end;background:var(--panel);border-color:transparent}.message .eyebrow{display:block;margin-bottom:10px;font-size:.7rem;white-space:normal}.chat-compose{position:sticky;bottom:20px;background:var(--nav);border:1px solid var(--border);backdrop-filter:blur(18px);border-radius:21px;padding:12px;display:flex;align-items:end;gap:10px;margin-top:30px}.chat-compose textarea{border:0;background:transparent;min-height:56px;max-height:150px;padding:12px;resize:vertical}.chat-compose textarea:focus{box-shadow:none}.chat-suggestions{display:flex;gap:10px;flex-wrap:wrap}.chat-suggestions button{font-size:.85rem;font-weight:400}.proposal-card{padding:20px;background:var(--primary-soft);border-radius:18px;border:1px solid var(--border)}.proposal-card h3{margin-bottom:8px}.proposal-diff{display:grid;gap:12px;margin:18px 0}.diff-row{border:1px solid var(--border);padding:14px;border-radius:13px;background:var(--surface);font-size:.875rem;overflow-wrap:anywhere}.diff-row strong{display:block;margin-bottom:5px}.diff-values{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.conflict-list{display:grid;gap:12px;margin:15px 0}.conflict-list>div{padding:12px;border-left:3px solid var(--warning);font-size:.875rem;background:var(--panel)}.conflict-list p{margin:.3rem 0 0}.history-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.focus-page{text-align:center;max-width:740px;margin:auto;padding-top:10px}.focus-page h1{font-size:2.5rem}.focus-dial{width:280px;height:280px;border:1px solid var(--border);border-radius:50%;margin:35px auto 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);box-shadow:0 0 0 12px var(--bg),0 0 0 13px var(--border)}.timer{font-size:3.9rem;font-weight:300;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.focus-dial .eyebrow{margin:8px 0 0}.focus-actions{display:flex;gap:12px;justify-content:center;margin:32px 0}.focus-task-picker{text-align:left;max-width:540px;margin:25px auto}.focus-note{font-size:.9rem;color:var(--muted);max-width:440px;margin:20px auto}progress{appearance:none;border:0;background:var(--border);height:4px;width:120px;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:var(--border)}progress::-webkit-progress-value{background:var(--primary)}progress::-moz-progress-bar{background:var(--primary)}dialog{border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--text);width:min(660px,calc(100% - 30px));max-height:90dvh;padding:28px;box-shadow:0 35px 120px #0003}dialog::backdrop{background:#15131e55;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:24px}.dialog-heading h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1.2;margin:0}.dialog-heading button{margin-top:-8px;margin-right:-8px}dialog .form-actions{position:sticky;bottom:-28px;padding:16px 0;background:var(--surface);border-top:1px solid var(--border);z-index:1}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.detail-grid dt{font-size:.75rem;color:var(--muted);margin-bottom:5px}.detail-grid dd{margin:0;font-size:.94rem}.detail-notes{white-space:pre-wrap;overflow-wrap:anywhere}.divider{height:1px;background:var(--border);margin:22px 0}.install-code{font-family:ui-monospace,monospace;font-size:2rem;letter-spacing:.13em;padding:20px;text-align:center;background:var(--panel);border-radius:15px}#toast{position:fixed;bottom:28px;left:calc(50% + 90px);transform:translateX(-50%);z-index:100;background:var(--text);color:var(--bg);border-radius:12px;padding:12px 20px;max-width:90%;box-shadow:0 10px 30px #0002;display:none;font-size:.875rem}#toast.show{display:block}.skip-link{position:fixed;left:20px;top:-100px;z-index:999;background:var(--surface);padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid var(--primary);outline-offset:4px}details{margin:10px 0}summary{cursor:pointer;font-size:.875rem;color:var(--primary);padding:8px 0}table{width:100%;border-collapse:collapse;font-size:.875rem}td,th{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.table-scroll{overflow:auto}.hidden,[hidden]{display:none!important}.busy-indicator{position:fixed;inset:0 0 auto;height:3px;background:var(--primary);z-index:1000;animation:pulse 1s ease infinite}.footer-brand{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.75rem;color:var(--muted);margin-top:42px}.footer-brand img{width:78px;height:auto}.sync-row{border-bottom:1px solid var(--border);padding:14px 0}.days-check{display:flex;gap:16px;flex-wrap:wrap}.days-check label{display:flex;align-items:center;gap:5px;font-weight:400}.mobile-menu{display:none}.install-banner{border-top:1px solid var(--border);padding-top:18px;margin-top:18px}.line-clamp{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.4}}@media(min-width:1440px){.main-wrap{padding:35px 70px 80px}.home-header{margin-top:20px}.home-next{padding:36px}.sidebar{width:254px}.main-wrap{margin-left:254px}}@media(max-width:1100px){.sidebar{width:200px;padding:30px 16px}.main-wrap{margin-left:200px;padding:25px 28px 70px}.week-grid{gap:4px}.calendar-item{padding:8px}}@media(max-width:800px){.sidebar{display:none}.main-wrap{margin:0;padding:20px 22px calc(115px + env(safe-area-inset-bottom))}.topbar{margin-bottom:30px}.topbar .breadcrumb{display:none}.topbar .mobile-brand{display:block;font-family:Georgia,serif;font-size:1.75rem;letter-spacing:-.04em}.topbar .top-actions .status-dot{display:none}.topbar .top-actions .desktop-label{display:none}.mobile-menu{display:inline-flex}.bottom-nav{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:20;display:flex;gap:5px;align-items:center;justify-content:space-around;width:min(460px,calc(100% - 26px));padding:8px;border:1px solid var(--border);border-radius:24px;background:var(--nav);backdrop-filter:blur(20px);box-shadow:0 8px 35px #24202012}.bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:20%;min-height:53px;color:var(--muted);border-radius:17px;font-size:.68rem}.bottom-nav a.active{color:var(--primary);background:var(--primary-soft)}.bottom-nav .icon{width:20px;height:20px}.bottom-nav a:hover{text-decoration:none}.home-header{margin-bottom:25px}.home-next{padding:24px;margin-bottom:30px}.next-top{margin-bottom:26px}.next-footer{align-items:center}.next-footer p{font-size:.84rem}.next-footer .primary{white-space:nowrap}.page-heading{align-items:start;flex-wrap:wrap;margin-bottom:25px}.page-heading h1{font-size:2.5rem}.settings-grid{grid-template-columns:1fr}.settings-grid .full{grid-column:auto}.chat-compose{bottom:90px}.message{max-width:94%}#toast{left:50%;bottom:calc(102px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 35px)}.week-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(140px,1fr));padding-bottom:15px}.auth-card{margin:5vh auto}.focus-page{padding-top:0}}@media(max-width:480px){.main-wrap{padding-left:20px;padding-right:20px}.topbar{margin-bottom:28px}.home-next h2{font-size:1.8rem}.home-next{padding:22px}.home-header h1{font-size:2.3rem;max-width:310px}.home-next .eyebrow{font-size:.69rem}.next-top .badge{font-size:.7rem}.next-footer{gap:10px;flex-wrap:wrap}.agenda-row{gap:12px;padding:17px 0}.agenda-time{width:58px;font-size:.75rem}.agenda-icon{width:34px;height:34px;border-radius:10px}.agenda-row .icon-button{width:30px;padding:.4rem}.agenda-title{font-size:.91rem}.agenda-meta{font-size:.75rem}.search-line{flex-direction:column}.search-line select{max-width:none}.task-actions{flex-direction:column}.task-actions button{min-height:35px;height:35px;width:35px}.panel{padding:20px}.week-strip{gap:5px}.day-button{padding:9px 1px;border-radius:12px;min-height:64px}.day-button span{font-size:.69rem}.day-button strong{font-size:1rem}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar h2{font-size:1.05rem}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.auth-card{border:0;background:transparent;box-shadow:none;margin:3vh auto;padding:25px}.auth-card .wordmark{margin-bottom:45px}.detail-grid{gap:15px}.form-actions{flex-wrap:wrap}.form-actions button{flex:1}.settings-tabs{gap:3px;font-size:.82rem}.settings-tabs a{padding:8px 9px}.diff-values{grid-template-columns:1fr}.diff-values .icon{transform:rotate(90deg)}dialog{padding:23px;border-radius:22px;max-height:92dvh}dialog .form-actions{bottom:-23px}.focus-dial{width:245px;height:245px}.timer{font-size:3.4rem}.focus-page h1{font-size:2rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.wordmark .brand-dark,.footer-brand .brand-dark{display:none}body[data-theme=dark] .wordmark .brand-dark,body[data-theme=dark] .footer-brand .brand-dark{display:block}
