:root{--paper: #F3F1EA;--paper-2: #EAE7DD;--surface: #FCFBF7;--surface-2: #F4F1E9;--ink: #26241F;--ink-2: #5A554C;--ink-3: #8B8578;--ink-4: #B6B0A2;--line: #E4DFD3;--line-2: #EDE9DE;--accent: #33302A;--accent-2: #1E1C18;--accent-wash: #E7E3D8;--urgent: #B0473C;--urgent-wash: #EFDED9;--warn: #9C7420;--warn-wash: #EEE6CF;--ok: #5C7350;--ok-wash: #E4EADD;--now: #B0473C;--r: 12px;--r-sm: 8px;--r-xs: 6px;--sh: 0 1px 2px rgba(50,42,28,.05), 0 14px 34px -16px rgba(50,42,28,.16);--mono: ui-monospace, "SFMono-Regular", Menlo, monospace;--sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Segoe UI", sans-serif;--keyboard-inset: 0px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;letter-spacing:-.006em}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:is(input,textarea,select,[contenteditable=true],.modal-body,.etl-content,.etl-body,.selectable,pre,code){-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;border:none;background:none}input,textarea,select{outline:none}h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:2px solid var(--surface)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.shell{height:100vh;display:flex;flex-direction:column}.topbar{height:46px;flex-shrink:0;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line)}.home-btn{font-size:17px;font-weight:800;letter-spacing:.14em;color:var(--ink);padding:4px 6px;border-radius:6px}.home-btn:hover{background:var(--surface-2);color:var(--accent)}.screen-tag{font-size:12px;font-weight:600;color:var(--accent-2);background:var(--accent-wash);padding:3px 10px;border-radius:20px}.spacer{flex:1}.clock{display:flex;align-items:baseline;gap:10px;font-variant-numeric:tabular-nums}.clock .c-date{font-size:12.5px;font-weight:600;color:var(--ink-3)}.clock .c-time{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.01em}#stage{flex:1;min-height:0}#app{height:100%;display:grid;gap:11px;padding:11px;grid-template-columns:.82fr 1fr 1.05fr 1.28fr;grid-template-rows:minmax(0,.72fr) minmax(0,1.28fr);grid-template-areas:"today etl proj cal" "tt tt tt cal"}.z-today{grid-area:today}.z-tt{grid-area:tt}.z-cal{grid-area:cal}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);display:flex;flex-direction:column;min-height:0;overflow:hidden}.phead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line-2);flex-shrink:0}.phead .pt{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:7px}.phead .pt .sub{font-weight:500;color:var(--ink-3);font-size:12px;font-family:var(--mono)}.phead .tools{display:flex;align-items:center;gap:5px}.pbody{flex:1;min-height:0;overflow:auto;padding:9px 12px}.pbody.tight{padding:5px 7px}.pbody.flush{padding:0}.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:var(--r-sm);font-weight:600;font-size:12.5px;background:var(--surface);color:var(--ink);border:1px solid var(--line);transition:.12s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--ink-4)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-2)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2)}.btn-sm{padding:4px 9px;font-size:12px}.btn-icon{padding:0;width:27px;height:27px;justify-content:center}.btn-icon svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}.btn-danger{color:var(--urgent)}.btn[disabled]{opacity:.45;pointer-events:none}.tk{display:flex;align-items:center;gap:8px;padding:5px 2px;border-bottom:1px solid var(--line-2)}.tk:last-child{border-bottom:none}.box{width:15px;height:15px;border-radius:5px;border:1.7px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center}.box:hover{border-color:var(--accent)}.box.on:after{content:"";width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.tk .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk.done .nm{color:var(--ink-4);text-decoration:line-through}.tk.big3 .nm{color:var(--urgent);font-weight:600}.tk .rank{width:15px;height:15px;border-radius:4px;background:var(--urgent);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tk .rt{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);flex-shrink:0}.tk .star{color:var(--ink-4);opacity:.42;font-size:11px;flex-shrink:0;padding:0 2px;font-weight:700}.tk .star.on{opacity:1;color:var(--urgent)}.tk .rm{color:var(--ink-4);opacity:.42;font-size:12px;padding:0 2px}.quick{display:flex;gap:5px;margin-top:7px}.quick input.qt{flex:1;min-width:0;padding:6px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:12.5px}.quick input.qm{width:46px;padding:6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:12px;text-align:center}.quick input:focus{border-color:var(--accent)}.quick-add{min-height:34px;padding-inline:11px;white-space:nowrap}.empty{color:var(--ink-4);text-align:center;padding:16px 8px;font-size:12px}.etl-split{display:grid;grid-template-columns:1fr 1fr;height:100%}.ecol{min-width:0;display:flex;flex-direction:column;overflow:hidden}.ecol+.ecol{border-left:1px solid var(--line-2)}.ecol h4{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:8px 11px 5px;flex-shrink:0}.ecol .elist{flex:1;overflow:auto;padding:0 11px 8px}.er{padding:5px 0;border-bottom:1px solid var(--line-2)}.er:last-child{border-bottom:none}.er .n{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.er .m{display:flex;gap:6px;align-items:center;margin-top:1px}.er .c{font-size:10px;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.er .dd{font-family:var(--mono);font-size:10px;color:var(--ink-3);flex-shrink:0;margin-left:auto}.er .dd.soon{color:var(--urgent)}.er.link{cursor:pointer}.er.link:hover .n{text-decoration:underline}.proj-row{display:flex;align-items:center;gap:9px;padding:7px 3px;border-bottom:1px solid var(--line-2);cursor:pointer}.proj-row:last-child{border-bottom:none}.proj-row:hover{background:var(--surface-2)}.proj-row .pdot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.proj-row .pn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.proj-row .pmeta{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);flex-shrink:0}.proj-row .pbar{width:40px;height:5px;border-radius:3px;background:var(--line-2);overflow:hidden;flex-shrink:0}.proj-row .pbar>i{display:block;height:100%}.ev-item{border:1px solid var(--line-2);border-radius:var(--r-sm);margin-bottom:8px;overflow:hidden}.ev-hd{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;background:var(--surface-2)}.ev-hd .en{flex:1;font-weight:600;font-size:13px}.ev-hd .ed{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.ev-tasks{padding:4px 10px 8px}.ms-row,.step-row{display:grid;grid-template-columns:1fr 128px 24px;gap:7px;align-items:center;margin-bottom:6px}.ms-row .input,.step-row .input{padding:6px 9px;font-size:12.5px}.ms-row .x,.step-row .x{color:var(--ink-4);text-align:center}.addline{font-size:12px;font-weight:600;color:var(--accent-2);padding:3px 0}.swatches{display:flex;flex-wrap:wrap;gap:7px}.swatch{width:24px;height:24px;border-radius:6px;border:2px solid transparent;cursor:pointer}.swatch.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}.cal-nav{display:flex;align-items:center;gap:3px}.cal-nav .mt{font-family:var(--mono);font-weight:700;font-size:13px;min-width:76px;text-align:center}.cal-wrap{display:flex;flex-direction:column;height:100%;min-height:0}.cal-dows{display:grid;grid-template-columns:repeat(7,1fr);flex-shrink:0}.cal-dows .dw{text-align:center;padding:3px 0 5px;font-size:10px;font-weight:700;color:var(--ink-4)}.cal{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:1px;background:var(--line-2);min-height:0;border-top:1px solid var(--line-2)}.cell{background:var(--surface);padding:3px 4px;display:flex;flex-direction:column;gap:1px;cursor:pointer;overflow:hidden;min-height:0;position:relative}.cell:hover{background:var(--surface-2)}.cell.dim{background:var(--paper-2)}.cell.dim .dn{color:var(--ink-4)}.dn{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.dn.sat{color:#4d6a97}.dn.sun{color:var(--urgent)}.cell.today .dn{color:#fff;background:var(--accent);border-radius:4px;width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center}.ev{font-size:10px;line-height:1.3;padding:0 4px;border-radius:3px;background:var(--accent-wash);color:var(--accent-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.ev.done{opacity:.5;text-decoration:line-through}.ev.due{background:var(--urgent-wash);color:var(--urgent);font-weight:600}.ev-bar{height:4px;border-radius:3px;flex-shrink:0;margin:0 -1px}.ev-ms{font-size:10px;font-weight:700;padding:0 4px;border-radius:3px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.mo{font-size:9px;color:var(--ink-4)}.tt-fit{height:100%;display:flex;flex-direction:column}.tt-head{display:grid;grid-template-columns:30px repeat(7,1fr);flex-shrink:0;border-bottom:1px solid var(--line)}.tt-head .dh{text-align:center;padding:4px 0;font-size:11px;font-weight:700;color:var(--ink-2);border-left:1px solid var(--line-2)}.tt-head .dh.today{color:var(--accent-2);background:var(--accent-wash)}.tt-body{flex:1;display:grid;grid-template-columns:30px repeat(7,1fr);min-height:0;position:relative}.tt-hours{position:relative}.tt-hours .hl{position:absolute;right:3px;font-family:var(--mono);font-size:8.5px;color:var(--ink-4);transform:translateY(-4px)}.tt-day{position:relative;border-left:1px solid var(--line-2);background-image:repeating-linear-gradient(to bottom,transparent,transparent calc(100% / var(--tt-hours) - 1px),var(--line-2) calc(100% / var(--tt-hours)))}.tt-day.today{background-color:#33302a0d}.tt-day .hit{position:absolute;left:0;right:0}.blk{position:absolute;left:2px;right:2px;border-radius:5px;padding:2px 5px;font-size:10px;color:#fff;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.blk.dragging{opacity:.85;z-index:20;cursor:grabbing}.blk.sel{outline:2px solid var(--ink);outline-offset:1px;z-index:15}.blk.locked{cursor:default}.blk b{display:block;font-weight:600;font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blk small{font-family:var(--mono);opacity:.85;font-size:8.5px}.blk .lk{position:absolute;top:2px;right:3px;width:11px;height:11px;opacity:.9}.blk .lk svg{width:11px;height:11px;stroke:#fff;fill:none;stroke-width:2}.blk .rz{position:absolute;left:0;right:0;bottom:0;height:10px;cursor:ns-resize}.blk.placing{outline:2px dashed rgba(255,255,255,.9);outline-offset:-3px;box-shadow:0 4px 14px #00000040;z-index:18}.blk .dur{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:12px;background:#00000047;border-radius:5px}.blk.dragging .dur{display:flex}.blk.dragging b,.blk.dragging small{opacity:.25}.paint{position:absolute;left:2px;right:2px;border-radius:5px;padding:2px 5px;font-size:10px;overflow:hidden;cursor:pointer;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent) 26%,transparent),color-mix(in srgb,var(--accent) 26%,transparent) 6px,color-mix(in srgb,var(--accent) 15%,transparent) 6px 12px);border:1.5px dashed var(--accent);color:var(--accent-2)}.paint b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paint.big3{border-color:var(--urgent);color:var(--urgent);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--urgent) 24%,transparent),color-mix(in srgb,var(--urgent) 24%,transparent) 6px,color-mix(in srgb,var(--urgent) 13%,transparent) 6px 12px)}.paint-sel{position:absolute;left:2px;right:2px;border-radius:5px;background:color-mix(in srgb,var(--accent) 22%,transparent);border:1.5px dashed var(--accent);pointer-events:none}.now-line{position:absolute;left:30px;right:0;height:0;border-top:2px solid var(--now);z-index:12;pointer-events:none}.now-line:before{content:"";position:absolute;left:-4px;top:-4px;width:6px;height:6px;border-radius:50%;background:var(--now)}.paste-hint{font-size:11px;color:var(--accent-2);background:var(--accent-wash);padding:2px 8px;border-radius:20px;font-weight:600}.place-wrap{height:100%;display:grid;grid-template-columns:240px 1fr;gap:12px;padding:12px}.place-tray{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);display:flex;flex-direction:column;overflow:hidden}.place-tray .pth{padding:12px 14px;border-bottom:1px solid var(--line-2);font-weight:700}.place-tray .ptbody{flex:1;overflow:auto;padding:10px 12px}.place-chip{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;border:1px solid var(--line);margin-bottom:7px;cursor:grab;background:var(--surface);font-weight:600;font-size:12.5px}.place-chip.placed{opacity:.5}.place-chip.picked{outline:2px solid var(--accent)}.place-cal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);display:flex;flex-direction:column;overflow:hidden}.ph-bar{height:17px;margin:0 -1px;border-radius:4px;font-size:10px;font-weight:600;line-height:17px;padding:0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;touch-action:none}.ph-bar:active{cursor:grabbing}body.pwa-standalone .topbar{padding-top:env(safe-area-inset-top);height:calc(46px + env(safe-area-inset-top))}body.pwa-standalone .shell{height:100dvh}.install-invite{position:fixed;z-index:60;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));margin-inline:auto;max-width:460px;display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh);animation:pop .2s var(--spring, ease)}.install-invite p{flex:1;min-width:0;font-size:12.5px;color:var(--ink-2);line-height:1.45}.install-invite-actions{display:flex;gap:6px;flex-shrink:0}body.note-focus .install-invite,body.note-drawing .install-invite{display:none}body:has(.nb-area) .install-invite{display:none}.overlay{position:fixed;inset:0;background:#1e181057;display:flex;align-items:flex-start;justify-content:center;padding:20px;padding-top:clamp(20px,8vh,96px);overflow-y:auto;z-index:50;animation:fade .14s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border-radius:16px;box-shadow:var(--sh);width:100%;max-width:460px;max-height:90vh;overflow:auto;animation:pop .16s}@keyframes pop{0%{transform:translateY(8px) scale(.985);opacity:0}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 6px}.modal-head h3{font-size:16px}.modal-body{padding:8px 18px 16px}.modal-foot{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:0 18px 18px}.timetable-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-top:10px}.timetable-create-btn{min-height:44px;white-space:nowrap}.soft-keyboard-open .overlay{bottom:var(--keyboard-inset);padding-top:16px}.soft-keyboard-open .modal{max-height:calc(100% - 24px)}.soft-keyboard-open :is(.modal-body,.e-body,.subject-settings-page,.project-board,.nb-area){scroll-padding-bottom:calc(var(--keyboard-inset) + 24px)}.seg{display:flex;gap:6px;margin-bottom:14px}.seg button{flex:1;padding:8px 4px;font-size:13px;font-weight:600;color:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.seg button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:12px;font-weight:600;color:var(--ink-2)}.input{width:100%;padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:13px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}textarea.input{resize:vertical;min-height:56px;line-height:1.5}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:9px 16px;border-radius:10px;font-size:12.5px;box-shadow:var(--sh);z-index:60;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%) translateY(-4px)}@media(max-width:1080px){html,body{overflow:auto}.shell{height:auto;min-height:100vh}#app{height:auto;grid-template-columns:1fr 1fr;grid-template-areas:"today etl" "proj proj" "tt tt" "cal cal"}.z-cal{min-height:440px}.z-tt{min-height:360px}}.e-wrap{height:calc(100vh - 46px);display:flex;flex-direction:column;background:var(--paper);min-height:0}.e-head{height:46px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line)}.e-head .crumb{font-weight:700;font-size:14px;display:flex;align-items:center}.e-head .crumb .sep{color:var(--ink-4);margin:0 7px;font-weight:400}.e-head .crumb .cur{color:var(--accent-2)}.e-head .sp{flex:1}.e-body{flex:1;min-height:0;overflow:auto;padding:24px}.e-title{font-size:20px;font-weight:800;margin-bottom:4px}.e-desc{color:var(--ink-3);font-size:13px;margin-bottom:20px}.e-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;max-width:860px}.e-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;box-shadow:var(--sh);transition:transform .16s var(--spring),box-shadow .18s var(--ease),border-color .15s}.e-card .ec-menu{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:7px;color:var(--ink-3);font-size:15px;line-height:1;opacity:0;transition:opacity .12s,background .12s;z-index:2}.e-card:hover .ec-menu{opacity:1}.e-card .ec-menu:hover{background:var(--surface-2);color:var(--ink)}.e-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;max-width:560px}.e-card:hover{transform:translateY(-3px);border-color:var(--ink-4)}.e-card:active{transform:scale(.98)}.e-card .ec-dot{width:11px;height:11px;border-radius:50%}.e-card .ec-title{font-weight:700;font-size:15.5px;margin-top:10px}.e-card .ec-sub{color:var(--ink-3);font-size:12px;margin-top:3px}.e-card.soon{opacity:.5;pointer-events:none}.e-card.big{padding:22px}.e-card.big .ec-title{font-size:18px}.e-card.add{display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-weight:600;border-style:dashed}.etl-course-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-top:8px}.etl-course-row{display:flex;align-items:center;gap:9px;padding:7px 6px;border-radius:7px;cursor:pointer;font-size:13.5px}.etl-course-row:hover{background:var(--surface-2)}.etl-feed-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.etl-feed-row{display:block;width:100%;text-align:left;padding:7px 8px;border-radius:7px;text-decoration:none;color:inherit;cursor:pointer;background:none;border:none;font:inherit}.etl-feed-row:hover{background:var(--surface-2)}.etl-feed-title{font-size:13.5px;font-weight:600}.etl-feed-meta{font-size:11.5px;color:var(--ink-3);margin-top:2px}.etl-content-body{font-size:13.5px;line-height:1.6;overflow-wrap:break-word}.etl-content-body img{max-width:100%;height:auto}.etl-content-body p{margin:0 0 10px}.e-term-head{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--ink-4);text-transform:uppercase;margin:18px 2px 8px}.e-term-head:first-child{margin-top:0}.t1{height:100%;display:flex;flex-direction:column;min-height:0}.t1-slides{height:47%;min-height:170px;flex-shrink:0;background:#201d19;display:flex;align-items:stretch;gap:8px;padding:10px}.sarrow{width:30px;flex-shrink:0;border-radius:8px;background:#ffffff1a;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center}.sarrow:active{background:#ffffff42}.slide-strip{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-width:0}.slide-cell{position:relative;background:#000;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.slide-cell.empty{border:1.5px dashed #4a453e;background:#262320;color:#7a7368;font-size:12px;cursor:pointer}.slide-view{width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:zoom-in}.slide-view.zoomed{cursor:grab}.slide-view img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform}.slide-cell .sidx{position:absolute;bottom:3px;right:5px;font-family:var(--mono);font-size:9.5px;color:#fff9;pointer-events:none}.slide-cell .sdel{position:absolute;top:3px;right:4px;color:#fff;opacity:.8;font-size:11px;background:#00000073;border-radius:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.slide-empty-full{flex:1;display:flex;align-items:center;justify-content:center;color:#8a8378;border:1.5px dashed #4a453e;border-radius:8px;cursor:pointer;font-size:13px}.t1-note{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--paper-2)}.t1-toolbar{display:flex;align-items:center;gap:7px;padding:7px 12px;overflow-x:auto;overflow-y:hidden;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:nowrap;flex-shrink:0}.t1-toolbar .divider{width:1px;height:22px;background:var(--line);margin:0 3px}.tool-btn{min-width:34px;height:30px;padding:0 11px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);font-size:12.5px;font-weight:600;transition:.12s var(--ease)}.tool-btn:active{transform:scale(.9)}.tool-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.pen-color{width:22px;min-width:22px;max-width:22px;height:22px;flex:0 0 22px;aspect-ratio:1 / 1;box-sizing:border-box;padding:0;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--line);transition:transform .12s var(--spring)}.pen-color:active{transform:scale(.85)}.pen-color.on{border-color:var(--surface);box-shadow:0 0 0 2px var(--ink);transform:scale(1.12)}.save-status{width:60px;flex:0 0 60px;color:var(--warn);font-size:11.5px;font-weight:600;text-align:center;white-space:nowrap}.save-status.ok{color:var(--ink-4)}.blk-tabs{display:inline-flex;gap:3px}.blk-tab{min-width:26px;height:26px;padding:0 4px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-2)}.blk-tab.on{background:var(--accent-wash);color:var(--accent-2);border-color:var(--accent)}.blk-ruler{display:inline-flex;align-items:flex-end;height:28px;padding:0 4px;border-bottom:1.5px solid var(--line)}.blk-tick{width:27px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;cursor:pointer;padding-bottom:1px}.blk-tick .tk{width:1.5px;height:9px;background:var(--ink-4);border-radius:1px;transition:height .12s var(--ease),background .12s}.blk-tick .lb{font-size:9px;color:var(--ink-4);font-family:var(--mono)}.blk-tick:hover .tk{background:var(--ink-2);height:12px}.blk-tick.on .tk{height:17px;width:2.5px;background:var(--accent)}.blk-tick.on .lb{color:var(--accent-2);font-weight:700}.note-grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr))}.note-card{padding:0;overflow:hidden}.e-thumb{width:100%;aspect-ratio:3 / 1;background:#faf5e4;border-bottom:1px solid var(--line);overflow:hidden}.e-thumb img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}.note-card .ec-title{padding:10px 12px 0;margin-top:0}.note-card .ec-sub{padding:2px 12px 12px}.size-range{width:78px;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--line);outline:none}.size-range::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--ink-2);border:2.5px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer}.size-range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--ink-2);border:2.5px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer}.nb-area[data-tool=pen] canvas,.nb-area[data-tool=hl] canvas{cursor:crosshair}.nb-area[data-tool=eraser] canvas{cursor:cell}.nb-area{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;display:flex;justify-content:center;align-items:flex-start;padding:14px 0 24px;overscroll-behavior:contain;touch-action:none}.nb-area.zoomed{cursor:grab}.nb-doc{display:flex;flex-direction:column;background:#faf5e4;box-shadow:0 2px 10px #322a1c1a,0 18px 44px -20px #322a1c4d;flex-shrink:0}.nb-area.zoomed .nb-doc{will-change:transform}body.note-drawing .nb-area *{transition:none!important}.nb-canvas{display:block;touch-action:none;contain:layout paint style;-webkit-user-drag:none}.t2{flex:1;min-height:0;display:flex}.t2-left{width:54%;min-width:0;display:flex}.t2-left .t1-slides{height:100%;flex:1;min-height:0}.t2-right{position:relative;width:46%;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--paper-2)}.problem-practice .t2-left{width:40%}.problem-practice .t2-right{width:60%}.problem-practice .slide-cell .sdel,.problem-practice .sarrow{display:none}.problem-practice .t1-slides{padding:6px}.practice-mode{color:var(--ink-3);font-size:11px;font-weight:600;white-space:nowrap}.nb-area.stack{overflow-y:auto;overflow-x:hidden;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;padding:12px}.nb-stack{display:flex;flex-direction:column;box-shadow:0 2px 6px #322a1c1a,0 10px 26px -12px #322a1c33;border-radius:3px;overflow:hidden;flex-shrink:0}.nb-stack .nb-page{box-shadow:none;border-radius:0}.e-wrap.t3-rotor{position:fixed;top:0;left:0;z-index:45;width:100vh;height:100vw;transform-origin:top left;background:var(--paper)}.e-wrap.t3-rotor.cw{transform:rotate(90deg) translateY(-100%)}.e-wrap.t3-rotor.ccw{transform:rotate(-90deg) translate(-100%)}.ec-type{position:absolute;top:8px;left:8px;z-index:2;font-family:var(--mono);font-size:10px;font-weight:700;background:#26241fb8;color:#fff;padding:1px 7px;border-radius:5px;pointer-events:none}.print-only{display:none}@media print{html,body{height:auto!important;overflow:visible!important}body>.shell,body>#toast,body>#modal-root{display:none!important}.print-only{display:block!important}.print-only .p-note{display:block;width:100%;page-break-after:always;page-break-inside:avoid}.print-only .p-note:last-child{page-break-after:auto}@page{margin:8mm}}:root{--ease: cubic-bezier(.4, 0, .2, 1);--spring: cubic-bezier(.34, 1.3, .5, 1)}button,.btn,.box,.seg button,.chip,.place-chip,.proj-row,.cell,.tk .nm,.tk .rt,.route-btn,.swatch,.navitem,.home-btn,.ph-bar,.paint{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn{transition:background .15s var(--ease),border-color .15s var(--ease),color .12s var(--ease),transform .09s var(--ease),box-shadow .15s var(--ease)}.btn:active{transform:translateY(1px) scale(.975)}.btn-primary:active{box-shadow:inset 0 2px 6px #0000002e}.btn-icon:active{transform:scale(.88)}.home-btn{transition:background .14s var(--ease),color .12s}.home-btn:active{transform:scale(.96)}.box{transition:background .13s var(--ease),border-color .13s var(--ease),transform .12s var(--spring)}.box:active{transform:scale(.84)}.box.on{animation:pop-check .24s var(--spring)}@keyframes pop-check{0%{transform:scale(.72)}55%{transform:scale(1.14)}to{transform:scale(1)}}.seg button{transition:background .16s var(--ease),color .14s,border-color .14s,transform .08s var(--ease)}.seg button:active{transform:scale(.97)}.swatch{transition:transform .12s var(--spring),border-color .12s}.swatch:active{transform:scale(.86)}.swatch.on{transform:scale(1.06)}.route-btn{transition:border-color .13s,color .13s,background .13s,transform .09s}.route-btn:active{transform:scale(.95)}.proj-row,.place-chip,.er,.cell,.tk{transition:background .13s var(--ease)}.cell:active,.proj-row:active{background:var(--paper-2)}.status-sel{transition:border-color .14s,background .14s}.stage-in{animation:stage-in .28s var(--ease) both}@keyframes stage-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.blk{transition:box-shadow .16s var(--ease)}.blk:not(.dragging):active{box-shadow:0 4px 14px #00000038}.paint:active{filter:brightness(.96)}.ph-bar:active{filter:brightness(.94)}#toast{transition:opacity .22s var(--ease),transform .28s var(--spring)}.modal{animation:pop .2s var(--spring)}.overlay{animation:fade .18s var(--ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.btn:focus-visible,.tool-btn:focus-visible,.box:focus-visible,.swatch:focus-visible,.blk-tick:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}@media(hover:none){.tk .rm,.tk .star,.slide-cell .sdel,.rowitem .acts,.e-card .ec-menu,.proj-row .pmeta{opacity:1!important}}.pen-sizes{display:inline-flex;align-items:center;gap:3px}.pen-size{width:30px;min-width:30px;max-width:30px;height:30px;flex:0 0 30px;box-sizing:border-box;padding:0;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;transition:.12s var(--ease)}.pen-size .dot{display:block;flex:0 0 auto;aspect-ratio:1 / 1;border-radius:50%;background:var(--ink-3);transition:background .12s}.pen-size:active{transform:scale(.9)}.pen-size.on{background:var(--accent);border-color:var(--accent)}.pen-size.on .dot{background:#fff}.type-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.type-seg .seg-b{width:30px;height:28px;font-size:12.5px;font-weight:700;color:var(--ink-2);background:transparent;border-right:1px solid var(--line);transition:background .12s var(--ease),color .12s}.type-seg .seg-b:last-child{border-right:none}.type-seg .seg-b:hover{background:var(--surface-2)}.type-seg .seg-b.on{background:var(--accent);color:#fff}.type-opts{display:flex;gap:12px}.type-opt{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;text-align:center}.type-opt .type-num{font-size:40px;font-weight:800;color:var(--accent);line-height:1}.type-opt:hover .type-num{color:var(--accent-2)}.type-opt .ec-sub{font-size:11.5px}.user-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:4px 12px;white-space:nowrap;transition:.12s var(--ease)}.user-chip:hover{border-color:var(--ink-4);color:var(--ink)}.user-chip.admin{color:var(--accent-2);background:var(--accent-wash);border-color:transparent}.etl-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-4);flex-shrink:0}.etl-dot.on{background:var(--ok)}.ro-val{font-size:13px;color:var(--ink);padding:2px 0}.ro-val.ok{color:var(--ok);font-weight:600}.ro-val.err{color:var(--urgent);font-weight:600}.ro-sub{font-size:11.5px;color:var(--ink-3);margin-bottom:4px}.auth-screen{height:calc(100vh - 46px);display:flex;align-items:center;justify-content:center;padding:20px;background:var(--paper)}.auth-card{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);padding:34px 28px 26px}.auth-brand{font-size:42px;font-weight:800;letter-spacing:.12em}.auth-brand span{color:var(--ink-4)}.auth-brand b{color:var(--accent)}.auth-tag{color:var(--ink-3);font-size:12.5px;text-align:center;margin-bottom:10px;letter-spacing:.02em}.auth-form{width:100%;display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-field span{font-size:12px;font-weight:600;color:var(--ink-2)}.auth-hint{font-size:11.5px;color:var(--ink-4);min-height:0}.auth-hint:empty{display:none}.auth-err{font-size:12.5px;color:var(--urgent);font-weight:600;min-height:0}.auth-err:empty{display:none}.auth-submit{justify-content:center;height:40px;font-size:14px;margin-top:2px}.auth-toggle{font-size:12.5px;color:var(--ink-2);font-weight:600;padding:8px;margin-top:4px;border-radius:8px}.auth-toggle:hover{color:var(--accent);background:var(--surface-2)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.seg button{padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:transparent;border-right:1px solid var(--line);white-space:nowrap}.seg button:last-child{border-right:none}.seg button.on{background:var(--accent);color:#fff}.srow{display:flex;gap:12px;flex-wrap:wrap}.s-files{display:flex;flex-direction:column;gap:4px;margin-top:8px}.s-file{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 10px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px}.s-file .fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.s-file .st{flex-shrink:0;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.s-file .st.ok{color:#3f6b58;font-weight:600}.s-file .st.err{color:var(--urgent)}.gen-center{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.gen-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);padding:26px 24px;display:flex;flex-direction:column;gap:12px}.gen-title{font-size:18px;font-weight:800;color:var(--ink)}.gen-title.err{color:var(--urgent)}.gen-sub{font-size:12.5px;color:var(--ink-3)}.gen-track{position:relative;height:12px;border-radius:7px;background:var(--paper-2);overflow:hidden;border:1px solid var(--line-2);margin-top:4px}.gen-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:7px;transition:width .35s var(--ease)}.gen-track.active:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-100%);animation:gen-shimmer 1.3s var(--ease) infinite}@keyframes gen-shimmer{to{transform:translate(100%)}}.gen-row{display:flex;justify-content:space-between;align-items:baseline}.gen-phase{font-size:13px;font-weight:600;color:var(--ink)}.gen-pct{font-size:16px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.gen-elapsed{font-size:11.5px;color:var(--ink-4);font-variant-numeric:tabular-nums}.gen-note{font-size:12px;color:var(--ink-3);line-height:1.55;background:var(--paper-2);border-radius:8px;padding:10px 12px}.gen-actions{display:flex;gap:8px;margin-top:4px}@media(prefers-reduced-motion:reduce){.gen-track.active:after{animation:none}}.s-thumb{height:96px;border-radius:10px;background:linear-gradient(135deg,var(--surface-2),var(--paper-2));border:1px solid var(--line-2);display:flex;flex-direction:column;justify-content:center;padding:0 14px;gap:4px}.s-thumb-topic{font-size:11px;color:var(--ink-3);font-weight:600}.s-thumb-title{font-size:14px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.s-meta{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.s-chip{display:inline-flex;align-items:baseline;gap:6px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:20px;padding:4px 12px}.s-chip .k{font-size:11px;color:var(--ink-3);font-weight:600}.s-chip .v{font-size:13px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.s-blueprint{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 14px;margin-bottom:6px}.s-blueprint>summary{cursor:pointer;font-weight:700;font-size:13px;padding:8px 0;color:var(--accent-2)}.s-blueprint.scope{border-color:var(--accent);border-left:3px solid var(--accent)}.s-blueprint.scope>summary{color:var(--accent)}.s-bpsec{padding:4px 0 8px}.s-bpsec h5{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--ink-4);text-transform:uppercase;margin-bottom:4px}.s-bpsec ul{margin:0;padding-left:18px;font-size:12.5px;color:var(--ink-2);line-height:1.6}.s-itemlist{display:flex;flex-direction:column}.s-itemrow{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line-2)}.s-itemrow.clickable{cursor:pointer;border-radius:8px}.s-itemrow.clickable:hover,.s-itemrow.clickable:focus-visible{background:var(--accent-wash);outline:none}.s-inum{width:22px;height:22px;border-radius:6px;background:var(--accent-wash);color:var(--accent-2);font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.s-itype{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:5px;flex-shrink:0;background:var(--accent-wash);color:var(--accent-2)}.s-itype.mcq{background:#e1e9f4;color:#3b5a86}.s-itype.short{background:#e7eedd;color:#5c7040}.s-itype.essay{background:#ede4f0;color:#6b4b78}.s-anslabel{font-size:11.5px;font-weight:700;color:var(--ink-3);margin-top:6px;letter-spacing:.02em}.katex{font-size:1.04em}.katex-display{margin:8px 0;overflow-x:auto;overflow-y:hidden}.s-choice .katex-display{margin:2px 0}.s-istem{flex:1;min-width:0;font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-idiff{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);flex-shrink:0}.s-solve{flex:1;display:flex;min-height:0}.s-nav{width:54px;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:12px 8px;border-right:1px solid var(--line);background:var(--surface)}.s-navbtn{width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:13px;color:var(--ink-2);flex-shrink:0}.s-navbtn.done{border-color:var(--accent);color:var(--accent-2)}.s-navbtn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.s-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;padding:18px 22px;gap:12px}.s-qhead{display:flex;align-items:center;gap:10px}.s-qnum{font-weight:700;font-size:13px;color:var(--ink)}.s-est{font-size:11.5px;color:var(--ink-3);margin-left:auto;font-variant-numeric:tabular-nums}.s-stem{font-size:15px;line-height:1.7;color:var(--ink);white-space:pre-wrap}.s-figwrap{margin:10px 0;display:flex;justify-content:center}.s-figure{max-width:100%;max-height:320px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px}.s-choices{display:flex;flex-direction:column;gap:8px}.s-choice{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;color:var(--ink);transition:.12s var(--ease)}.s-choice:hover{border-color:var(--ink-4)}.s-choice.on{border-color:var(--accent);background:var(--accent-wash)}.s-clabel{width:24px;height:24px;border-radius:6px;background:var(--paper-2);color:var(--ink-2);font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.s-choice.on .s-clabel{background:var(--accent);color:#fff}.s-choices.review .s-choice{cursor:default}.s-choice.ans{border-color:#4e7a6a;background:#e7efea}.s-choice.wrong{border-color:var(--urgent);background:var(--urgent-wash)}.s-tag{margin-left:auto;font-size:11px;font-weight:700;color:#3f6b58}.s-tag.wrong{color:var(--urgent)}.s-bbbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:4px 0}.s-bbbar .divider{width:1px;height:22px;background:var(--line);margin:0 3px}.bluebook-area{border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}.s-move{display:flex;justify-content:space-between;margin-top:6px}.s-timer{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:4px 12px;font-variant-numeric:tabular-nums}.s-timer.warn{color:var(--urgent);border-color:var(--urgent);background:var(--urgent-wash)}.s-score{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:16px}.s-score-big{font-size:34px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.s-score-sub{font-size:12.5px;color:var(--ink-3)}.s-review{display:flex;flex-direction:column;gap:12px}.s-rcard{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.s-rcard.ok{border-left-color:#4e7a6a}.s-rcard.no{border-left-color:var(--urgent)}.s-rcard.written{border-left-color:var(--ink-4)}.s-rhead{display:flex;align-items:center;gap:8px}.s-rmark{margin-left:auto;font-size:11.5px;font-weight:700;padding:2px 10px;border-radius:20px}.s-rmark.ok{color:#3f6b58;background:#e7efea}.s-rmark.no{color:var(--urgent);background:var(--urgent-wash)}.s-rmark.written{color:var(--ink-2);background:var(--paper-2)}.s-rblock{background:var(--paper-2);border-radius:8px;padding:8px 12px}.s-rblock h6{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-4);text-transform:uppercase;margin-bottom:4px}.s-rblock ol{margin:0;padding-left:18px;font-size:13px;color:var(--ink-2);line-height:1.65}.s-tags{display:flex;flex-wrap:wrap;gap:6px}.s-mtag{font-size:11.5px;font-weight:600;color:var(--accent-2);background:var(--accent-wash);padding:2px 9px;border-radius:20px}.s-bbprev{display:flex;flex-direction:column;gap:4px}.s-blabel{font-size:11px;font-weight:700;color:var(--ink-4)}.s-bbprev img{max-width:100%;border:1px solid var(--line);border-radius:8px}.e-head-slot{flex-shrink:0}.r-acts{display:flex;gap:6px;align-items:center}.r-grid{max-width:980px}.r-card{padding-top:34px}.r-card.muted .ec-title{color:var(--ink-2)}.r-badge{position:absolute;top:11px;left:14px;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:20px;background:var(--surface-2);color:var(--ink-3)}.r-badge.ok{background:var(--ok-wash);color:var(--ok)}.r-badge.err{background:var(--urgent-wash);color:var(--urgent)}.r-badge.run{background:var(--warn-wash);color:var(--warn)}.r-card .ec-sub{display:flex;align-items:center;gap:6px}.r-subj{font-size:10.5px;font-weight:600;color:#fff;padding:1px 7px;border-radius:20px}.r-meta{font-size:11px;color:var(--ink-3);margin-top:8px}.r-err{font-size:11.5px;color:var(--urgent);margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r-stage{font-size:11px;color:var(--ink-3);margin-top:5px}.r-bar{position:relative;height:5px;border-radius:3px;background:var(--line-2);overflow:hidden;margin-top:10px}.r-bar>i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s var(--ease)}.r-bar.running:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 34%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.12) 66%,transparent 100%);transform:translate(-100%);animation:gen-shimmer 1.35s linear infinite;pointer-events:none}.r-bar.big{height:8px;max-width:420px;margin-top:16px}@media(prefers-reduced-motion:reduce){.r-bar.running:after{animation:none}}.r-progress{padding:30px 0}.r-hint{font-size:12px;color:var(--ink-4);margin-top:12px}.r-warn{background:var(--warn-wash);border:1px solid transparent;border-radius:var(--r);padding:12px 14px;margin-bottom:18px;font-size:12.5px;color:var(--ink-2);max-width:720px}.r-warn b{display:block;color:var(--ink);margin-bottom:3px}.r-warn code{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-top:6px}.r-note{font-size:12px;color:var(--warn);margin-bottom:12px}.r-drop{border:1.5px dashed var(--line);border-radius:14px;padding:26px 18px;text-align:center;cursor:pointer;transition:.14s var(--ease);background:var(--surface-2)}.r-drop:hover,.r-drop.over{border-color:var(--accent);background:var(--accent-wash)}.r-drop.has{border-style:solid;background:var(--surface)}.r-drop-t{font-size:13.5px;font-weight:600}.r-drop-s{font-size:12px;color:var(--ink-3);margin-top:4px}.r-drop-s.err{color:var(--urgent)}.r-opts{margin-top:18px}.r-seg{display:flex;gap:6px}.r-seg-b{padding:7px 16px;font-size:12.5px;font-weight:600;color:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.r-seg-b.on{background:var(--accent);color:#fff;border-color:var(--accent)}.r-toggles{display:flex;flex-wrap:wrap;gap:6px}.r-tog{padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--ink-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.r-tog.on{background:var(--accent-wash);color:var(--accent-2);border-color:var(--ink-4)}.r-seg.off,.r-tog.off{opacity:.4;pointer-events:none}.r-sum{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.r-sum .sp{flex:1}.r-tabs{display:flex;gap:6px;margin-left:auto}.r-tab{padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--ink-3);border-radius:20px}.r-tab.on{background:var(--accent);color:#fff}.r-chip{width:22px;height:22px;border-radius:6px;font-size:11px;color:var(--ink-4);display:inline-flex;align-items:center;justify-content:center;transition:.12s}.r-chip:hover{background:var(--line-2);color:var(--ink)}.r-chip.on{color:var(--urgent)}.r-chip.on.ok{color:var(--ok)}.r-chip.r-solve{width:auto;padding:0 7px;background:var(--accent);color:var(--paper);font-weight:700}.r-chip.r-solve:hover{filter:brightness(.92)}.r-review{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.r-review figure{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.r-review figcaption{padding:6px 11px;font-size:12px;font-weight:600;background:var(--surface-2);border-bottom:1px solid var(--line-2)}.r-review img{width:100%;display:block}.r-view{position:fixed;inset:0;z-index:55;background:#1c17109e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;gap:10px;padding:22px;animation:fade .14s}.r-view-box{background:var(--surface);border-radius:14px;box-shadow:var(--sh);width:min(860px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;animation:pop .16s}.r-view-cap{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-2);font-size:13px}.r-view-cap .sp{flex:1}.r-view-cap .mono{font-size:11.5px;color:var(--ink-3)}.r-view-scroll{flex:1;overflow:auto;background:#fff}.r-view-img{width:100%;display:block}.r-nav{width:42px;height:42px;border-radius:50%;background:#ffffffe6;color:var(--ink);font-size:22px;line-height:1;flex-shrink:0;box-shadow:var(--sh);transition:.12s}.r-nav:hover{background:#fff;transform:scale(1.06)}@media(max-width:720px){.r-nav{display:none}}:root{color-scheme:dark;--paper: #111111;--paper-2: #141313;--surface: #181717;--surface-2: #201f1f;--ink: #f5f3f1;--ink-2: #c4c1be;--ink-3: #918e8c;--ink-4: #666462;--line: #343232;--line-2: #292727;--accent: #e5e2e1;--accent-2: #fdfdfc;--accent-wash: #2a2929;--urgent: #ffb4ab;--urgent-wash: #3d1f20;--warn: #e2c789;--warn-wash: #382f20;--ok: #a8c9aa;--ok-wash: #203126;--now: #ffb4ab;--r: 4px;--r-sm: 3px;--r-xs: 2px;--sh: 0 18px 44px rgba(0, 0, 0, .24);--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--sans: "Inter", "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, sans-serif;--serif: "Libre Caslon Text", "Gowun Batang", Georgia, "Times New Roman", serif}*{scrollbar-color:var(--line) transparent}html,body{height:100%;overflow:hidden;background:var(--paper)}body{font-size:13px;line-height:1.5;letter-spacing:-.008em}button,input,textarea,select{border-radius:0}button{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:#171616}::-webkit-scrollbar-thumb{background:var(--line);border-color:var(--paper)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:17px;height:17px;flex:none;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:default;opacity:.45}@media(pointer:coarse){input[type=checkbox],input[type=radio]{width:21px;height:21px}}.shell{height:100dvh;min-height:0;display:flex;flex-direction:row;background:var(--paper)}.app-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.side-nav{width:236px;height:100%;flex:0 0 236px;display:flex;flex-direction:column;padding:28px 20px 22px;background:#151414;border-right:1px solid var(--line-2)}.side-brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:0 8px 30px;color:var(--ink);text-align:left}.brand-word{font-family:var(--serif);font-size:25px;line-height:1.1;letter-spacing:.12em}.brand-sub{font-family:var(--mono);font-size:9px;line-height:1.4;letter-spacing:.09em;color:var(--ink-4);text-transform:uppercase}.side-links{display:flex;flex-direction:column;gap:4px}.module-nav{min-height:42px;display:flex;align-items:center;gap:12px;padding:0 10px;color:var(--ink-3);border:1px solid transparent;transition:color .16s ease,background .16s ease,border-color .16s ease}.module-nav:hover{color:var(--ink);background:var(--surface-2)}.module-nav.active{color:var(--ink);background:var(--accent-wash);border-color:var(--line)}.nav-glyph{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:13px;border:1px solid var(--line);color:inherit}.module-nav.active .nav-glyph{background:var(--accent);border-color:var(--accent);color:#151414}.side-foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:18px 8px 0;border-top:1px solid var(--line-2);font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--ink-4);text-transform:uppercase}.side-status-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 12%,transparent)}.topbar{height:64px;padding:0 28px;gap:16px;background:var(--paper);border-bottom:1px solid var(--line-2)}.home-btn{display:none;font-family:var(--serif);font-size:19px;font-weight:400;letter-spacing:.12em}.screen-tag{padding:0;border-radius:0;background:transparent;color:var(--ink-2);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.clock{gap:14px;font-family:var(--mono)}.clock .c-date{color:var(--ink-4);font-size:10px;font-weight:400}.clock .c-time{color:var(--ink-2);font-size:12px;font-weight:500}#stage{flex:1;min-height:0;overflow:hidden;background:var(--paper)}.mobile-nav,.auth-mode .side-nav,.auth-mode .mobile-nav{display:none}.auth-mode .home-btn{display:block}.auth-mode #stage{padding-bottom:0}#app{height:100%;padding:20px;gap:12px;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(210px,.78fr) minmax(330px,1.22fr);grid-template-areas:"today today today etl etl etl proj proj proj cal cal cal" "tt tt tt tt tt tt tt tt tt cal cal cal"}.panel{background:var(--surface);border-color:var(--line);border-radius:var(--r);box-shadow:none}.panel:hover{border-color:#434141}.phead{min-height:45px;padding:9px 13px;border-bottom-color:var(--line-2)}.phead .pt{font-size:12px;font-weight:600;letter-spacing:.015em}.phead .pt .sub{color:var(--ink-4);font-size:9px;font-weight:400;letter-spacing:.04em}.pbody{padding:11px 13px}.empty{color:var(--ink-4)}.btn{min-height:32px;padding:6px 11px;border-radius:var(--r-sm);border-color:var(--line);background:transparent;color:var(--ink-2);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.035em}.btn:hover{background:var(--surface-2);border-color:#555252;color:var(--ink)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#151414}.btn-primary:hover{background:#fff;border-color:#fff;color:#111}.btn-ghost{background:transparent;border-color:transparent}.btn-sm{min-height:28px;padding:5px 9px;font-size:9px}.btn-icon{min-height:28px;width:28px;padding:0}.input,.quick input.qt,.quick input.qm{border-radius:var(--r-sm);border-color:var(--line);background:#151414;color:var(--ink)}.input:focus,.quick input:focus{border-color:#777372;box-shadow:0 0 0 2px #ffffff0f}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--ink-4)}.field label,.auth-field span{color:var(--ink-3);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.045em;text-transform:uppercase}.seg button,.r-seg-b,.r-tog{border-radius:var(--r-sm);background:transparent;border-color:var(--line);color:var(--ink-3)}.seg button.on,.r-seg-b.on{background:var(--accent);border-color:var(--accent);color:#151414}.r-tog.on{background:var(--accent-wash);border-color:#555252;color:var(--ink)}.box{border-radius:2px;border-color:#575454}.box.on{background:var(--accent);border-color:var(--accent)}.box.on:after{border-color:#151414}.tk,.proj-row,.er,.s-itemrow{border-bottom-color:var(--line-2)}.proj-row{border-radius:2px;padding-inline:6px}.proj-row:hover,.cell:hover,.etl-course-row:hover,.etl-feed-row:hover{background:var(--surface-2)}.ecol+.ecol,.tt-day,.tt-head .dh{border-color:var(--line-2)}.ecol h4,.cal-dows .dw{color:var(--ink-4);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.08em}.cal{background:var(--line-2);border-color:var(--line-2)}.cell{background:var(--surface)}.cell.dim{background:#141313}.cell.today .dn{background:var(--accent);color:#151414;border-radius:2px}.ev{border-radius:2px;background:var(--accent-wash);color:var(--ink-2)}.ev.due{background:var(--urgent-wash);color:var(--urgent)}.tt-day.today{background-color:#ffffff06}.tt-head .dh.today{background:var(--accent-wash);color:var(--ink)}.paint{color:var(--ink)}.e-wrap{height:100%;background:var(--paper)}.e-head{height:53px;padding:0 clamp(18px,3vw,40px);background:var(--paper);border-bottom-color:var(--line-2)}.e-head .crumb{font-size:12px;font-weight:500}.e-head .crumb .sep{color:var(--ink-4)}.e-body{padding:clamp(28px,4vw,56px)}.e-title{font-family:var(--serif);font-size:clamp(30px,4vw,48px);line-height:1.15;font-weight:400;letter-spacing:-.025em;margin-bottom:8px}.e-desc{max-width:680px;color:var(--ink-3);font-size:13px;margin-bottom:32px}.e-term-head{margin-top:32px;color:var(--ink-4);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.08em}.e-grid{max-width:1100px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.e-card{min-height:150px;padding:20px;border-radius:var(--r);border-color:var(--line);background:var(--surface);box-shadow:none}.e-card:hover{transform:translateY(-1px);border-color:#565252;background:#1c1b1b}.e-card .ec-title{margin-top:18px;font-family:var(--serif);font-size:19px;font-weight:400}.e-card .ec-sub{color:var(--ink-3);font-size:11px}.e-card .ec-dot{border-radius:2px}.e-card.add{color:var(--ink-3);border-style:dashed;font-family:var(--mono);font-size:10px;letter-spacing:.04em}.e-card .ec-menu{border-radius:2px}.subject-card{border-top-width:3px}.subject-card .ec-dot{width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 8%,transparent)}.subject-color-preview{--preview-color: #8B9A8C;min-height:76px;display:flex;align-items:center;gap:15px;margin:4px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(90deg,color-mix(in srgb,var(--preview-color) 16%,var(--surface)),var(--surface) 58%)}.subject-preview-mark{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--preview-color);box-shadow:inset 0 0 0 1px #ffffff24}.subject-color-preview div{min-width:0;display:flex;flex-direction:column;gap:3px}.subject-color-preview strong{overflow:hidden;color:var(--ink);font-family:var(--serif);font-size:18px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.subject-color-preview div span{color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.035em}.subject-palette-field{margin-bottom:2px}.subject-palette-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.palette-reset{padding:4px 0;color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.03em}.palette-reset:hover{color:var(--ink)}.subject-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.subject-swatch{min-width:0;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink-3);text-align:left;transition:background .14s ease,border-color .14s ease,transform .14s ease}.subject-swatch:hover{transform:translateY(-1px);border-color:#555252;background:var(--surface-2)}.subject-swatch.on{border-color:var(--ink-2);background:var(--surface-2);box-shadow:0 0 0 1px var(--ink-2)}.subject-swatch-color{width:28px;height:28px;flex:0 0 28px;border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff29,0 0 0 1px #00000047}.subject-swatch-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.subject-swatch-copy strong{overflow:hidden;color:var(--ink-2);font-size:9px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.subject-swatch-copy small{overflow:hidden;color:var(--ink-4);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.subject-swatch.on .subject-swatch-copy strong{color:var(--ink)}.e-thumb,.s-thumb{border-radius:2px;border-color:var(--line-2);background:#141313}.s-thumb-title{font-family:var(--serif);color:var(--ink);font-weight:400;font-size:17px}.s-thumb-topic{font-family:var(--mono);color:var(--ink-4);font-size:9px;letter-spacing:.05em;text-transform:uppercase}.s-chip,.s-blueprint,.s-choice,.s-score,.s-rcard,.s-rblock,.r-warn,.r-drop,.r-review figure{border-radius:var(--r);box-shadow:none}.s-chip{background:transparent;border-color:var(--line)}.s-inum,.s-clabel,.s-itype{border-radius:2px}.s-choice{background:var(--surface);border-color:var(--line)}.s-choice.on{background:var(--accent-wash);border-color:#686564}.s-choice.on .s-clabel,.s-navbtn.on,.r-tab.on{background:var(--accent);border-color:var(--accent);color:#151414}.s-nav{background:#151414;border-color:var(--line-2)}.s-navbtn{border-radius:2px;background:transparent;border-color:var(--line)}.s-panel{padding:clamp(20px,4vw,52px)}.s-stem{max-width:860px;font-size:15px;line-height:1.75}.s-score-big{font-family:var(--serif);color:var(--ink);font-weight:400;font-size:46px}.r-drop{background:#151414;border-color:#4a4747;padding:40px 18px}.r-drop:hover,.r-drop.over{background:var(--surface-2);border-color:var(--ink-3)}.r-review figcaption{background:var(--surface-2);border-color:var(--line-2)}.r-review figure,.r-view-scroll{background:#fff}.r-view{background:#050505d1}.r-view-box{border:1px solid var(--line);border-radius:var(--r)}.overlay{background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh)}.modal-head{padding:18px 20px 8px}.modal-head h3{font-family:var(--serif);font-size:21px;font-weight:400}.modal-body{padding:12px 20px 18px}.modal-foot{padding:0 20px 20px}#toast{bottom:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--accent);color:#151414;font-family:var(--mono);font-size:10px}.user-chip{border-radius:2px;border-color:var(--line);background:transparent;color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.035em}.user-chip:hover{border-color:#555252;color:var(--ink)}.user-chip.admin{background:var(--accent-wash);color:var(--ink)}.auth-screen{height:100%;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.045),transparent 30%),var(--paper)}.auth-card{max-width:380px;gap:14px;padding:44px 36px 34px;border-radius:var(--r);border-color:var(--line);background:var(--surface);box-shadow:none}.auth-brand{font-family:var(--serif);font-size:48px;font-weight:400}.auth-brand span{color:var(--ink)}.auth-brand b{color:var(--ink-4);font-weight:400}.auth-tag{color:var(--ink-3);font-size:12px;margin-bottom:16px}.auth-submit{height:42px}@media(max-width:1240px){#app{grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:minmax(210px,auto) minmax(320px,1fr) minmax(380px,1.15fr);grid-template-areas:"today today today etl etl etl proj proj proj" "tt tt tt tt tt tt cal cal cal" "tt tt tt tt tt tt cal cal cal";overflow:auto}}@media(max-width:900px){html,body{overflow:hidden}.shell{min-height:0;height:100dvh}.side-nav{display:none}.app-main{height:100dvh}.topbar{height:58px;padding:0 16px}.home-btn{display:block}.screen-tag,.clock .c-date{display:none}.clock .c-time{font-size:10px}#stage{overflow:auto;padding-bottom:64px}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:0 6px env(safe-area-inset-bottom);background:#151414f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav .module-nav{min-height:58px;flex-direction:column;justify-content:center;gap:3px;padding:4px;border:0;background:transparent;font-family:var(--mono);font-size:8px;letter-spacing:.03em}.mobile-nav .module-nav.active{color:var(--ink);background:transparent}.mobile-nav .nav-glyph{width:25px;height:24px;border:0;font-size:15px}.mobile-nav .module-nav.active .nav-glyph{border-radius:2px}#app{height:auto;min-height:100%;padding:12px;grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"today" "etl" "proj" "tt" "cal";overflow:visible}.panel{min-height:260px}.z-tt{min-height:420px}.z-cal{min-height:470px}.e-wrap{height:auto;min-height:100%;overflow:visible}.e-head{position:sticky;top:0;z-index:15;height:50px;padding:0 14px;background:#111111f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.e-body{overflow:visible;padding:28px 16px 40px}.e-title{font-size:34px}.e-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.e-card{min-height:138px;padding:16px}.place-wrap{height:auto;grid-template-columns:1fr}.s-solve{min-height:calc(100dvh - 172px)}}@media(max-width:540px){.topbar{gap:10px}.user-chip{max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.e-grid{grid-template-columns:1fr 1fr}.e-card{min-height:126px}.s-nav{width:46px;padding-inline:5px}.s-navbtn{width:34px;height:34px}.s-panel{padding:18px 14px}.row2,.row3{grid-template-columns:1fr}.subject-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-swatch-copy small{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.material-symbols-outlined{font-family:Material Symbols Outlined;font-size:20px;font-weight:300;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}.side-nav{width:256px;flex-basis:256px;padding:30px 24px 24px;background:#1c1b1b;border-color:#353434}.side-brand{gap:8px;padding:0 0 42px}.brand-word{font-size:30px;line-height:36px;letter-spacing:.035em}.brand-sub{font-size:11px;line-height:16px;letter-spacing:.08em;color:#b1aeab}.side-new-instance{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:24px;border:1px solid #e0dedc;border-radius:2px;color:#e5e2e1;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em}.side-new-instance:hover{background:#e5e2e1;color:#1c1b1b}.side-new-instance .material-symbols-outlined{font-size:18px}.side-links{gap:6px}.module-nav{min-height:46px;gap:14px;padding:0 16px;border-radius:4px;color:#c4c1be;font-size:14px;font-weight:500}.module-nav .nav-icon{width:22px;font-size:23px;color:inherit}.module-nav.active{border-color:transparent;background:#353434;color:#fdfdfc}.module-nav.active .nav-icon{font-variation-settings:"FILL" 1}.side-foot{gap:4px;padding:22px 0 0}.side-foot button{width:100%;min-height:38px;display:flex;align-items:center;gap:14px;padding:0 16px;color:#aaa7a4;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:none}.side-foot button:hover{color:#fdfdfc;background:#242323}.side-foot .material-symbols-outlined{font-size:18px}.topbar{height:80px;padding:0 30px;background:#141313;border-color:#353434}.screen-tag{color:#fdfdfc;font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.02em;text-transform:none}.clock{display:none}.top-actions{display:flex;align-items:center;gap:4px}.top-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#c4c7c8}.top-icon:hover{color:#fdfdfc;background:#201f1f}.top-icon .material-symbols-outlined{font-size:23px}.user-chip{min-width:38px;min-height:38px;justify-content:center;padding:0 11px;border-radius:4px;font-size:9px}.thread-dot{width:7px;height:7px;border-radius:50%}#app.vision-page{height:100%;display:block;padding:0 40px 96px;overflow-y:auto}.vision-intro{width:min(1200px,100%);display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:0 auto;padding:44px 0 25px;border-bottom:1px solid #353434}.vision-intro h1{font-family:var(--serif);font-size:28px;line-height:36px;font-weight:400}.vision-intro p{margin-top:8px;color:#c4c1be;font-size:15px}.vision-intro-actions{display:flex;gap:10px}.vision-intro-actions .btn{min-height:44px;padding-inline:17px}.vision-intro-actions .material-symbols-outlined{font-size:17px}.vision-workspace{width:min(1200px,100%);display:grid;grid-template-columns:minmax(0,3fr) minmax(290px,1.15fr);gap:24px;margin:40px auto 0}.vision-workspace .z-cal{min-height:610px}.vision-page .panel{border-radius:0;background:#1a1919}.vision-page .phead{min-height:58px;padding:13px 20px}.vision-page .phead .pt{font-family:var(--serif);font-size:20px;font-weight:400}.vision-page .pbody{padding:18px 20px}.vision-page .cal-dows .dw{padding:7px 0 12px;font-size:10px}.vision-page .cell{padding:7px 8px}.vision-page .dn{font-size:12px}.e-head.root{display:none}.e-head:not(.root){height:58px;padding:0 32px;background:#141313}.e-body{width:min(1200px,100%);margin:0 auto;padding:56px 40px 104px}.module-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:64px}.module-hero .e-title{margin:0 0 12px;font-size:clamp(48px,5vw,64px);line-height:1.02}.module-hero .e-desc{max-width:720px;margin:0;color:#c4c1be;font-size:17px;line-height:1.6}.module-primary-action{min-height:46px;padding-inline:18px;flex:0 0 auto}.module-hero-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.module-search-input{width:240px;height:44px;padding:0 14px 0 38px;border:1px solid #353434;border-radius:2px;background-color:#1a1919;background-image:linear-gradient(45deg,transparent 46%,#8f8c89 47%,#8f8c89 53%,transparent 54%),radial-gradient(circle,transparent 42%,#8f8c89 44%,#8f8c89 54%,transparent 56%);background-position:21px 23px,14px 14px;background-size:7px 7px,10px 10px;background-repeat:no-repeat;color:#e5e2e1;font-size:12px}.module-search-input:focus{border-color:#e0dedc}.e-term-head{margin:40px 0 16px}.e-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.e-card{min-height:272px;display:flex;flex-direction:column;padding:30px;border-radius:0;background:#1a1919}.e-card:hover{transform:none;background:#201f1f;border-color:#4a4747}.e-card .ec-title{margin-top:28px;font-size:27px;line-height:1.25}.e-card .ec-sub{display:-webkit-box;margin-top:12px;overflow:hidden;color:#c4c1be;font-size:14px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.e-card.add{align-items:center;justify-content:center;color:#aaa7a4}.subject-card{border-top-width:1px;border-top-color:#353434!important;border-left-width:3px}.subject-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.subject-card-kicker{display:inline-flex;align-items:center;gap:8px;color:#aaa7a4;font-family:var(--mono);font-size:9px;letter-spacing:.07em}.subject-card-arrow{color:#c4c1be;font-size:22px}.subject-card .ec-menu{top:19px;right:54px}.subject-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:24px;border-top:1px solid #2a2929;color:#888583;font-family:var(--mono);font-size:9px;letter-spacing:.055em}.subject-card-foot span:last-child{color:#c4c1be}.resource-hero{margin-bottom:40px}.resource-table{width:100%;min-height:520px;border:1px solid #353434;background:#1a1919}.resource-table-head,.resource-row{display:grid;grid-template-columns:minmax(280px,2.2fr) 110px minmax(120px,.9fr) 120px 54px;align-items:center;gap:18px}.resource-table-head{min-height:42px;padding:0 20px;border-bottom:1px solid #353434;color:#aaa7a4;font-family:var(--mono);font-size:9px;letter-spacing:.065em}.resource-row{min-height:82px;padding:10px 20px;border-bottom:1px solid #353434;color:#e5e2e1;cursor:pointer}.resource-row:hover{background:#222121}.resource-row.muted{opacity:.72}.resource-name{min-width:0;display:flex;align-items:center;gap:15px}.resource-name>.material-symbols-outlined{color:#747170;font-size:23px}.resource-name>span:last-child{min-width:0;display:flex;flex-direction:column;gap:4px}.resource-name strong{overflow:hidden;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.resource-name small{overflow:hidden;color:#8f8c89;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.resource-row .r-badge,.resource-row .r-subj{position:static;width:fit-content;border-radius:2px;font-family:var(--mono);font-size:9px}.resource-date,.resource-muted{color:#aaa7a4;font-family:var(--mono);font-size:10px}.resource-action{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:#aaa7a4}.resource-action:hover{background:#2a2929;color:#fdfdfc}.resource-empty-row{width:100%;min-height:140px;color:#8f8c89;font-family:var(--mono);font-size:10px;letter-spacing:.04em}.resource-empty-row:hover{background:#201f1f;color:#e5e2e1}.resource-table-foot{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;color:#8f8c89;font-family:var(--mono);font-size:9px;letter-spacing:.06em}.subject-settings-page{width:min(1200px,100%);margin:0 auto;padding:48px 40px 112px}.subject-settings-back{margin-bottom:26px;color:#aaa7a4;font-family:var(--mono);font-size:9px;letter-spacing:.1em}.subject-settings-back:hover{color:#fdfdfc}.subject-settings-page>header{max-width:650px;margin-bottom:48px}.subject-settings-page>header h1{font-family:var(--serif);font-size:clamp(46px,5vw,64px);line-height:1.08;font-weight:400;letter-spacing:-.03em}.subject-settings-page>header p{margin-top:18px;color:#c4c1be;font-size:16px;line-height:1.65}.subject-settings-layout{display:grid;grid-template-columns:minmax(500px,1fr) 400px;align-items:start;gap:56px}.subject-settings-controls{padding:32px;border:1px solid #353434;background:#181717}.subject-settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.subject-palette-head{margin-bottom:20px}.subject-palette-head h2{font-size:13px;font-weight:500}.subject-palette-head>span{color:#777472;font-family:var(--mono);font-size:8px;letter-spacing:.08em}.subject-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px;margin:0}.subject-swatch{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:0;border:0;border-radius:0;background:transparent;color:#e5e2e1}.subject-swatch:hover{transform:none;border-color:transparent;background:transparent}.subject-swatch.on{border-color:transparent;background:transparent;box-shadow:none}.subject-swatch-color{width:100%;height:auto;aspect-ratio:1;flex:none;border-radius:0;box-shadow:inset 0 0 0 1px #ffffff1f}.subject-swatch.on .subject-swatch-color{outline:1px solid #fdfdfc;outline-offset:4px}.subject-swatch-copy{gap:3px}.subject-swatch-copy strong{color:#e5e2e1;font-size:10px}.subject-swatch-copy small{color:#8f8c89;font-size:8px}.subject-settings-actions{display:flex;align-items:center;gap:9px;margin-top:36px;padding-top:24px;border-top:1px solid #2a2929}.subject-live-preview{--preview-color: #8B9A8C;position:sticky;top:38px}.subject-preview-label{margin-bottom:14px;color:#aaa7a4;font-family:var(--mono);font-size:9px;letter-spacing:.11em}.subject-preview-card{overflow:hidden;border:1px solid #353434;background:#1a1919}.subject-preview-cover{height:132px;background-color:var(--preview-color);background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.24) 1px,transparent 0);background-size:24px 24px;transition:background-color .2s ease}.subject-preview-body{position:relative;padding:52px 24px 24px}.subject-preview-icon{position:absolute;left:24px;top:-30px;width:60px;height:60px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #353434;border-radius:6px;background:#201f1f;color:var(--preview-color);font-size:28px}.subject-preview-body>span:nth-of-type(2){display:inline-flex;padding:3px 7px;background:color-mix(in srgb,var(--preview-color) 16%,transparent);color:var(--preview-color);font-family:var(--mono);font-size:8px;letter-spacing:.045em}.subject-preview-body h2{margin-top:10px;font-family:var(--serif);font-size:27px;line-height:1.25;font-weight:400}.subject-preview-body>p{margin-top:10px;color:#c4c1be;font-size:13px;line-height:1.65}.subject-preview-links{display:flex;flex-direction:column;gap:8px;margin-top:24px}.subject-preview-links>div{display:grid;grid-template-columns:8px 1fr 12px;align-items:center;gap:10px;min-height:54px;padding:0 14px;border:1px solid #353434}.subject-preview-links i{width:6px;height:6px;border-radius:50%;background:var(--preview-color)}.subject-preview-links span{font-size:12px}@media(max-width:1180px){.subject-settings-layout{grid-template-columns:minmax(460px,1fr) 340px;gap:32px}.vision-workspace{grid-template-columns:minmax(0,2fr) minmax(270px,1fr)}}@media(max-width:900px){.topbar{height:64px}.top-actions{display:none}.screen-tag{display:block;font-size:21px}.mobile-nav .module-nav{font-size:8px}.mobile-nav .nav-icon{width:auto;font-size:21px}.mobile-nav .module-nav.active .nav-icon{width:34px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#353434}#app.vision-page{padding:0 16px 92px}.vision-intro{align-items:flex-start;padding-top:30px}.vision-intro-actions{display:none}.vision-workspace{grid-template-columns:1fr;margin-top:24px}.vision-workspace .z-cal{min-height:520px}.e-body{padding:40px 20px 100px}.module-hero{align-items:flex-start;margin-bottom:42px}.module-hero .e-desc{font-size:15px}.e-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.e-card{min-height:238px;padding:22px}.subject-settings-page{padding:34px 20px 100px}.subject-settings-layout{grid-template-columns:1fr}.subject-live-preview{position:static;order:-1}.subject-preview-card{max-width:520px}.resource-table-head,.resource-row{grid-template-columns:minmax(220px,1fr) 96px 110px 42px}.resource-table-head>:nth-child(4),.resource-row>:nth-child(4){display:none}}@media(max-width:620px){.module-hero{flex-direction:column}.module-hero-actions{width:100%;flex-wrap:wrap}.module-search-input{width:100%;flex:1 1 220px}.module-primary-action{width:100%;justify-content:center}.e-grid{grid-template-columns:1fr}.e-card{min-height:220px}.subject-settings-controls{padding:20px}.subject-settings-fields{grid-template-columns:1fr}.subject-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-swatch-copy small{display:block}.subject-settings-actions{flex-wrap:wrap}.subject-settings-actions .spacer{display:none}.subject-settings-actions .btn{flex:1}.resource-table{overflow-x:auto}.resource-table-head,.resource-row{min-width:520px}}:root[data-theme=light]{color-scheme:light;--paper: #fbf9f6;--paper-2: #f4f3f2;--surface: #ffffff;--surface-2: #efeeeb;--ink: #1b1c1a;--ink-2: #444748;--ink-3: #747878;--ink-4: #929594;--line: #c4c7c7;--line-2: #e4e2df;--accent: #1c1b1b;--accent-2: #000000;--accent-wash: #e4dfd7;--urgent: #ba1a1a;--urgent-wash: #ffdad6;--warn: #80631b;--warn-wash: #eee6cf;--ok: #506b55;--ok-wash: #e4eadd;--now: #ba1a1a;--r: 8px;--r-sm: 4px;--r-xs: 2px;--sh: none}:root[data-theme=dark]{color-scheme:dark}[data-theme=light] body,[data-theme=light] .shell,[data-theme=light] .app-main,[data-theme=light] #stage{background:var(--paper);color:var(--ink)}[data-theme=light] ::selection{background:var(--accent);color:#fff}[data-theme=light] .side-nav{background:#f4f3f2;border-color:#e3e2e1}[data-theme=light] .side-brand,[data-theme=light] .brand-word{color:#030303}[data-theme=light] .brand-sub,[data-theme=light] .side-foot button,[data-theme=light] .module-nav{color:#706254}[data-theme=light] .side-new-instance{border-color:#1a1c1c;color:#1a1c1c}[data-theme=light] .side-new-instance:hover{background:#1c1b1b;color:#fff}[data-theme=light] .module-nav:hover,[data-theme=light] .module-nav.active{background:#e9e8e7;color:#030303}[data-theme=light] .module-nav.active:after{content:"";width:4px;height:18px;margin-left:auto;border-radius:99px;background:#6a5c4e}[data-theme=light] .side-foot{border-color:#e3e2e1}[data-theme=light] .side-foot button:hover{background:#e9e8e7;color:#030303}[data-theme=light] .topbar{background:#faf9f8;border-color:#e3e2e1}[data-theme=light] .screen-tag,[data-theme=light] .top-icon{color:#444748}[data-theme=light] .top-icon:hover{background:#e9e8e7;color:#030303}[data-theme=light] .user-chip{color:#1a1c1c;border-color:#c4c7c7}[data-theme=light] .panel,[data-theme=light] .e-card,[data-theme=light] .resource-table,[data-theme=light] .subject-settings-controls,[data-theme=light] .subject-preview-card{background:var(--surface);border-color:var(--line-2);color:var(--ink)}[data-theme=light] .panel:hover{border-color:var(--line)}[data-theme=light] .phead,[data-theme=light] .tk,[data-theme=light] .proj-row,[data-theme=light] .er,[data-theme=light] .subject-card-foot,[data-theme=light] .resource-row,[data-theme=light] .resource-table-head{border-color:var(--line-2)}[data-theme=light] .input,[data-theme=light] .quick input.qt,[data-theme=light] .quick input.qm,[data-theme=light] .module-search-input{background-color:#fff;border-color:var(--line);color:var(--ink)}[data-theme=light] .input:focus,[data-theme=light] .quick input:focus{border-color:#747878;box-shadow:0 0 0 2px #0000000a}[data-theme=light] .btn{background:transparent;border-color:var(--line);color:var(--ink-2)}[data-theme=light] .btn:hover{background:var(--surface-2);border-color:#747878;color:var(--ink)}[data-theme=light] .btn-primary{background:#1c1b1b;border-color:#1c1b1b;color:#fff}[data-theme=light] .btn-primary:hover{background:#30312f;border-color:#30312f;color:#fff}[data-theme=light] .seg button.on,[data-theme=light] .r-seg-b.on{background:#1c1b1b;border-color:#1c1b1b;color:#fff}[data-theme=light] .box.on:after{border-color:#fff}[data-theme=light] .cell{background:#fff}[data-theme=light] .cell.dim{background:#f4f3f2}[data-theme=light] .cell.today .dn{background:#1c1b1b;color:#fff}[data-theme=light] .tt-day.today{background-color:#6a5c4e0d}[data-theme=light] .e-card:hover,[data-theme=light] .resource-row:hover,[data-theme=light] .resource-empty-row:hover{background:#f4f3f2}[data-theme=light] .resource-row,[data-theme=light] .subject-swatch,[data-theme=light] .subject-swatch-copy strong{color:var(--ink)}[data-theme=light] .subject-swatch.on .subject-swatch-color{outline-color:#1b1c1a}[data-theme=light] .subject-settings-back:hover{color:var(--ink)}[data-theme=light] .subject-preview-icon{background:#fff;border-color:var(--line)}.side-brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.side-brand-mark{display:none}.home-mode .side-nav,.home-mode .topbar,.home-mode .mobile-nav{display:none!important}.home-mode .app-main{width:100%}.home-mode #stage{padding:0;overflow:auto}.monument-home{--grid-line: rgba(0, 0, 0, .035);width:100%;min-height:100%;display:grid;grid-template-rows:96px minmax(390px,1fr) auto 58px;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-position:-1px -1px;background-size:32px 32px;isolation:isolate}[data-theme=dark] .monument-home{--grid-line: rgba(255, 255, 255, .035)}.monument-home:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.monument-header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;gap:50px;min-height:96px;padding:0 64px;border-bottom:2px solid var(--ink);background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.monument-brand{align-self:center;color:var(--ink);font-family:"EB Garamond",var(--serif);font-size:42px;line-height:1;font-weight:600;letter-spacing:-.04em}.monument-tabs{display:flex;align-items:stretch;gap:24px}.monument-tabs button{position:relative;padding:0 8px;color:var(--ink-2);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em}.monument-tabs button:hover{background:var(--surface-2);color:var(--ink)}.monument-tabs button.on{color:var(--ink);font-weight:700}.monument-tabs button.on:after{content:"";position:absolute;right:8px;bottom:-2px;left:8px;height:2px;background:var(--ink)}.monument-tools{display:flex;align-items:center;gap:8px}.monument-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;color:var(--ink)}.monument-icon:hover{border-color:var(--ink)}.monument-icon .material-symbols-outlined{font-size:24px}.monument-tools>i{width:2px;height:24px;margin:0 8px;background:var(--ink)}.system-active{display:inline-flex;align-items:center;gap:9px;padding:7px 12px;border:2px solid var(--ink);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.07em}.system-active b{width:8px;height:8px;border-radius:50%;background:var(--ink);animation:vers-pulse 2s ease-in-out infinite}@keyframes vers-pulse{50%{opacity:.35}}.monument-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 24px 26px;text-align:center}.monument-hero h1{color:var(--ink);font-family:"EB Garamond",var(--serif);font-size:clamp(120px,12vw,180px);line-height:.78;font-weight:600;letter-spacing:-.065em}.monument-build{min-width:min(510px,90vw);margin-top:42px;padding-top:14px;border-top:2px solid var(--ink);color:var(--ink-2);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.15em}.core-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:9px;color:var(--ink-3);font-size:11px;opacity:.7}.core-toggle:hover{color:var(--ink);opacity:1}.core-toggle .material-symbols-outlined{font-size:15px}.monument-modules{position:relative;width:min(1180px,calc(100% - 128px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:34px auto 50px}.monument-modules:before{content:"";position:absolute;z-index:-1;top:50%;right:-10vw;left:-10vw;height:2px;background:var(--line);opacity:.55}.monument-card{aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-between;padding:30px;overflow:hidden;border:2px solid var(--ink);background:var(--surface);color:var(--ink);box-shadow:4px 4px color-mix(in srgb,var(--ink) 10%,transparent);text-align:left;transition:transform .2s ease,box-shadow .2s ease,background .35s ease,color .35s ease}.monument-card:hover{transform:translate(-2px,-2px);background:var(--ink);color:var(--paper);box-shadow:7px 7px color-mix(in srgb,var(--ink) 15%,transparent)}.monument-card-top{display:flex;align-items:flex-start;justify-content:space-between;color:currentColor}.monument-card-top span:first-child{font-family:var(--mono);font-size:11px;letter-spacing:.06em;opacity:.68}.monument-card-top .material-symbols-outlined{font-size:24px}.monument-card h2{margin:auto;font-family:"EB Garamond",var(--serif);font-size:64px;line-height:1;font-weight:500;text-align:center}.monument-card-label{padding-top:10px;border-top:1px solid currentColor;font-size:11px;font-weight:500;letter-spacing:.16em;text-align:center;opacity:.72}.monument-footer{min-height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 64px;border-top:1px solid var(--line);color:var(--ink-2);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.monument-footer>span{display:inline-flex;align-items:center;gap:8px}.monument-footer>span:last-child{justify-self:end}.monument-footer .material-symbols-outlined{font-size:14px}.monument-footer i{width:6px;height:6px;border-radius:50%;background:var(--ok)}.monument-barcode{width:88px;height:19px;background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 3px,var(--ink) 3px 5px,transparent 5px 8px);opacity:.7}.vision-mode .topbar{display:none}.vision-mode #stage{overflow:hidden}.vision-mode .side-new-instance{display:none}.vision-mode .side-nav{width:256px;flex-basis:256px;padding:24px}.vision-mode .side-brand{flex-direction:row;align-items:center;gap:10px;padding:0 0 40px}.vision-mode .side-brand-mark{display:inline-block;color:var(--ink);font-size:26px;font-variation-settings:"FILL" 1}.vision-mode .brand-word{font-family:"Libre Caslon Text",var(--serif);font-size:23px;font-weight:700;letter-spacing:-.025em}.vision-mode .brand-sub{font-size:10px;letter-spacing:.02em;text-transform:none}.vision-mode .side-links{gap:8px}.vision-mode .module-nav{min-height:42px;padding:0 14px;border-radius:8px}.vision-mode .module-nav.active{transform:scale(.96);border-color:transparent}.vision-mode .side-foot{flex-direction:column;align-items:stretch;gap:8px;padding:16px 0 0}.vision-workspace .z-cal,.vision-workspace .z-today{grid-area:auto}#app.vision-page{height:100%;display:block;padding:0 56px 80px;overflow-y:auto}.vision-intro{width:min(1200px,100%);align-items:flex-end;margin:0 auto;padding:58px 0 34px;border:0}.vision-intro h1{color:var(--ink);font-family:"Libre Caslon Text","EB Garamond",var(--serif);font-size:48px;line-height:56px;font-weight:400;letter-spacing:-.02em}.vision-intro p{margin-top:5px;color:var(--ink-2);font-size:17px;line-height:26px}.vision-intro-actions{display:flex;gap:8px}.vision-intro-actions .btn{min-height:38px;padding:8px 15px;font-family:var(--sans);font-size:13px;letter-spacing:.01em}.vision-stat-grid{width:min(1200px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 auto}.vision-stat-card{min-height:132px;display:flex;flex-direction:column;gap:8px;padding:23px;border:1px solid var(--line-2);border-radius:12px;background:var(--paper-2)}.vision-stat-card>span{color:var(--ink-2);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.vision-stat-line{display:flex;flex-direction:column;gap:5px}.vision-stat-line strong{overflow:hidden;color:var(--ink);font-family:"Libre Caslon Text",var(--serif);font-size:31px;line-height:38px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.vision-stat-card.milestone .vision-stat-line strong{font-family:var(--sans);font-size:18px;font-weight:500}.vision-stat-line small{overflow:hidden;color:var(--ink-3);font-size:11px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.vision-workspace{width:min(1200px,100%);grid-template-columns:minmax(0,1.75fr) minmax(300px,.8fr);gap:24px;margin:24px auto 0}.vision-workspace .z-cal,.vision-workspace .vision-actions{min-height:680px}.vision-page .panel{border:1px solid var(--line-2);border-radius:12px;background:var(--paper-2)}.vision-page .phead{min-height:57px;padding:13px 20px;border-bottom:1px solid var(--line-2);background:var(--surface)}.vision-page .phead .pt{color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:600}.vision-page .phead .pt .sub{font-family:var(--mono);font-size:9px}.vision-page .pbody{padding:16px 18px}.vision-page .cal-dows .dw{padding:9px 0 12px;font-size:10px}.vision-page .cal{border-color:var(--line-2);background:var(--line-2)}.vision-page .cell{min-height:92px;padding:8px}.vision-page .tk{min-height:42px;padding:8px 2px}.vision-page .quick{margin-top:14px}.vision-page .quick input{min-height:36px}@media(max-width:1180px){.monument-header{padding-inline:40px}.monument-modules{width:calc(100% - 80px);gap:20px}.monument-card{padding:24px}#app.vision-page{padding-inline:36px}.vision-workspace{grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr)}}@media(max-width:900px){.home-mode #stage{padding-bottom:0}.monument-home{grid-template-rows:76px auto auto 58px}.monument-header{min-height:76px;grid-template-columns:auto 1fr auto;gap:22px;padding-inline:22px}.monument-brand{font-size:34px}.monument-tabs{justify-content:center;gap:8px}.monument-tabs button{padding-inline:6px;font-size:9px}.monument-tools>i,.system-active{display:none}.monument-hero{min-height:410px;padding-top:76px}.monument-hero h1{font-size:clamp(92px,23vw,150px)}.monument-modules{width:calc(100% - 44px);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}.monument-footer{padding-inline:22px}.vision-mode .topbar{display:flex}#app.vision-page{padding:0 20px 96px}.vision-intro{padding-top:38px}.vision-intro-actions{display:flex}.vision-stat-grid{grid-template-columns:1fr;gap:12px}.vision-stat-card{min-height:108px}.vision-workspace{grid-template-columns:1fr}.vision-workspace .z-cal,.vision-workspace .vision-actions{min-height:560px}}@media(max-width:620px){.monument-header{grid-template-columns:1fr auto}.monument-tabs{display:none}.monument-tools .monument-icon:nth-child(2){display:none}.monument-hero{min-height:350px;padding-inline:16px}.monument-hero h1{font-size:88px}.monument-build{min-width:0;width:100%;font-size:9px;letter-spacing:.09em}.monument-modules{width:calc(100% - 32px);grid-template-columns:1fr;gap:16px}.monument-card{aspect-ratio:auto;min-height:240px}.monument-footer{grid-template-columns:1fr 1fr}.monument-barcode{display:none!important}.vision-intro{align-items:flex-start}.vision-intro h1{font-size:38px;line-height:46px}.vision-intro p{font-size:14px}.vision-intro-actions{width:100%}.vision-intro-actions .btn{flex:1;justify-content:center}.vision-workspace .z-cal{min-height:500px}.vision-workspace .vision-actions{min-height:360px}.vision-page .cell{min-height:70px;padding:5px}}.monument-home,.monument-home *{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none}.monument-home{touch-action:pan-y}.vision-mode .side-new-instance{display:flex}.instance-intro{margin-bottom:18px;color:var(--ink-2);font-size:13px;line-height:1.65}.instance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.instance-grid>button{min-height:92px;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);text-align:left}.instance-grid>button:hover{border-color:var(--ink-3);background:var(--surface-2)}.instance-grid .material-symbols-outlined{font-size:25px}.instance-grid span:last-child{display:flex;flex-direction:column;gap:4px}.instance-grid strong{font-size:14px;font-weight:600}.instance-grid small{color:var(--ink-3);font-size:11px}.vision-stat-card.linked{width:100%;color:var(--ink);text-align:left;cursor:pointer}.vision-stat-card.linked:hover{border-color:var(--ink-3);background:var(--surface);transform:translateY(-1px)}.vision-stat-card>span{display:flex;align-items:center;justify-content:space-between}.vision-stat-card>span .material-symbols-outlined{font-size:16px}.month-cal{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));grid-auto-rows:unset}.month-label{padding:3px 6px;border:1px solid var(--line);border-radius:3px}.month-range{min-width:86px!important}.month-cal .cell{min-height:0}.month-cal .cell.weekend{background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}.month-cal .cell.dim{opacity:.48}.month-cal .dn{display:flex;align-items:center;justify-content:space-between;gap:6px}.month-cal .dn-month{color:var(--ink-4);font-family:var(--mono);font-size:8px;font-weight:500}.proj-row{width:100%;text-align:left}.proj-row.status-done{opacity:.58}.proj-row.status-someday{opacity:.72}.project-status{padding:2px 6px;border:1px solid var(--line);border-radius:99px;color:var(--ink-3);font-family:var(--mono);font-size:8px;white-space:nowrap}.project-progress-input{width:100%;accent-color:var(--accent)}.project-progress-value{margin-left:6px;color:var(--ink-2);font-family:var(--mono);font-size:10px}html[lang=ko] .e-wrap,html[lang=ko] .e-wrap button,html[lang=ko] .e-wrap input,html[lang=ko] .e-wrap textarea,html[lang=ko] .e-wrap select{font-family:Gowun Dodum,Pretendard Variable,sans-serif}.e-wrap .e-title,.e-wrap .ec-title{font-family:Gowun Dodum,Pretendard Variable,sans-serif;letter-spacing:-.035em}.folder-grid{gap:38px 22px;padding-top:18px}.subject-folder{--folder-color: #8b9a8c;position:relative;overflow:visible;margin-top:15px;border:1px solid color-mix(in srgb,var(--folder-color) 48%,var(--line));border-left:1px solid color-mix(in srgb,var(--folder-color) 48%,var(--line));border-radius:0 9px 9px;background:color-mix(in srgb,var(--folder-color) 8%,var(--surface))}.subject-folder:before{content:"";position:absolute;left:-1px;top:-17px;width:42%;height:17px;border:1px solid color-mix(in srgb,var(--folder-color) 48%,var(--line));border-bottom:0;border-radius:8px 10px 0 0;background:color-mix(in srgb,var(--folder-color) 14%,var(--surface))}.subject-folder:hover{border-color:var(--folder-color);background:color-mix(in srgb,var(--folder-color) 13%,var(--surface))}.subject-folder:focus-visible{outline:2px solid var(--folder-color);outline-offset:4px}.subject-folder-icon{color:var(--folder-color);font-size:21px;font-variation-settings:"FILL" 1}.subject-folder .subject-card-foot{border-color:color-mix(in srgb,var(--folder-color) 32%,var(--line-2))}.e-term-head{display:flex;align-items:center;gap:7px}.e-term-head .material-symbols-outlined{font-size:17px;font-variation-settings:"FILL" 1}@media(max-width:720px){.instance-grid{grid-template-columns:1fr}.month-range{min-width:72px!important;font-size:9px!important}.month-cal .cell{min-height:56px}.folder-grid{gap:32px 14px}}::view-transition-old(root){z-index:1;animation:none}::view-transition-new(root){z-index:2;animation:vers-theme-reveal .66s cubic-bezier(.22,1,.36,1) both}@keyframes vers-theme-reveal{0%{clip-path:circle(0 at var(--theme-x, 50%) var(--theme-y, 50%))}to{clip-path:circle(var(--theme-radius, 140vmax) at var(--theme-x, 50%) var(--theme-y, 50%))}}.theme-fallback *,.theme-fallback *:before,.theme-fallback *:after{transition:background-color .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1),fill .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1)!important}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.global-back[hidden]{display:none!important}.global-back{flex:0 0 38px}.user-chip[hidden]{display:none}.view-back-icon{width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;color:var(--ink)}.view-back-icon:hover{background:var(--surface-2)}.view-back-icon .material-symbols-outlined{font-size:20px}.vision-title-row{display:flex;align-items:center;gap:16px}.side-brand{flex-direction:column!important;align-items:flex-start!important;gap:0!important;padding:0 0 42px!important}.side-brand-mark{display:none!important}.brand-word,.vision-mode .brand-word{color:var(--ink);font-family:"EB Garamond",var(--serif);font-size:30px;line-height:34px;font-weight:600;letter-spacing:-.025em}.brand-sub,.vision-mode .brand-sub{color:var(--ink-3);font-family:var(--mono);font-size:10px;line-height:16px;letter-spacing:.075em;text-transform:uppercase}.monument-brand{font-size:38px;letter-spacing:-.035em}.home-mode #stage{height:100dvh;overflow:hidden!important;touch-action:none}.monument-home{height:100%;min-height:0;grid-template-rows:88px minmax(210px,1fr) minmax(220px,32vh);overflow:hidden}.monument-header{min-height:88px}.monument-hero{min-height:0;padding:20px 24px}.monument-hero h1{font-size:clamp(96px,11vw,164px);line-height:.82}.monument-build,.core-toggle,.monument-footer,.system-active,.monument-tools>i{display:none!important}.monument-modules{width:min(1180px,calc(100% - 96px));height:min(28vh,290px);align-self:end;gap:28px;margin:0 auto 24px}.monument-modules:before{display:none}.monument-card{height:100%;aspect-ratio:auto;padding:24px 30px}.monument-card h2{font-size:clamp(48px,5vw,68px)}.monument-card-label{margin-top:auto}html[lang=ko] .e-wrap,html[lang=ko] .e-wrap button,html[lang=ko] .e-wrap input,html[lang=ko] .e-wrap textarea,html[lang=ko] .e-wrap select{font-family:var(--sans)}.e-wrap .e-title,.e-wrap .ec-title,.subject-settings-page>header h1,.subject-preview-body h2{font-family:"Libre Caslon Text","EB Garamond",var(--serif)}.module-hero .e-desc,.vision-intro>div>p,.subject-settings-page>header p{display:none}.e-wrap>.subject-settings-page{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.subject-settings-page{padding-top:56px}.subject-settings-page>header{margin-bottom:38px}[data-theme=light] .e-head:not(.root){background:var(--surface);border-color:var(--line-2);color:var(--ink)}[data-theme=light] .e-head .crumb,[data-theme=light] .e-head .crumb .cur,[data-theme=light] .e-head .crumb span,[data-theme=light] .r-acts,[data-theme=light] .r-acts .btn,[data-theme=light] .subject-settings-page,[data-theme=light] .subject-settings-page h1,[data-theme=light] .subject-settings-page h2,[data-theme=light] .subject-preview-card,[data-theme=light] .subject-preview-body h2,[data-theme=light] .subject-preview-links span{color:var(--ink)}[data-theme=light] .subject-preview-body>p,[data-theme=light] .subject-swatch-copy small,[data-theme=light] .resource-muted,[data-theme=light] .resource-date{color:var(--ink-2)}[data-theme=light] .subject-preview-body>span:first-child{color:var(--preview-color)}[data-theme=light] .e-head .btn,[data-theme=light] .r-acts .btn{border-color:var(--line);background:var(--surface)}[data-theme=light] .r-sum,[data-theme=light] .r-progress{color:var(--ink)}.subject-preview-body{padding-top:32px}.subject-preview-body>p[hidden]{display:none}.instance-grid>button{grid-template-columns:32px 1fr}.instance-grid>button strong{align-self:center}@media(max-width:900px){.monument-home{grid-template-rows:76px minmax(170px,.85fr) minmax(280px,1.15fr)}.monument-hero{min-height:0;padding:16px}.monument-modules{width:calc(100% - 36px);height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.monument-card{min-height:0;padding:16px 20px}.monument-card h2{font-size:44px}}@media(max-width:620px){.monument-header{grid-template-columns:1fr auto}.monument-hero h1{font-size:72px}.monument-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.monument-card{min-height:0}.monument-card-label{font-size:8px}.subject-settings-page{padding:32px 18px 72px}}.topbar{height:68px;min-height:68px;padding:0 34px;gap:16px;background:var(--paper)}.screen-tag{padding:0;background:none;color:var(--ink);font-family:"Libre Caslon Text","EB Garamond",var(--serif);font-size:27px;line-height:1.34;font-weight:400;letter-spacing:-.02em;text-transform:none}.global-back{width:42px;height:42px;flex-basis:42px;border:1px solid var(--line);border-radius:50%}.global-back:hover{border-color:var(--ink-3);background:var(--surface-2)}.module-mode .module-hero .e-title{display:none}.module-mode .module-hero{min-height:44px;justify-content:flex-end;margin-bottom:30px}.module-mode .e-body{padding-top:34px}.vision-intro{justify-content:flex-end;padding:26px 0 18px}.vision-intro-actions{margin-left:auto}#app.vision-page{padding-top:0}.vision-workspace .z-cal,.vision-workspace .vision-actions{min-height:470px;max-height:470px}.vision-page .cell{min-height:0}.vision-actions .phead,.vision-actions .pbody,.vision-actions input,.vision-actions button{font-family:Pretendard Variable,Pretendard,Inter,sans-serif}.vision-actions .phead .pt{font-weight:600}.folder-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:28px 14px}.folder-grid .subject-folder{min-height:210px;padding:18px}.folder-grid .subject-folder .ec-title{margin-top:22px;font-size:22px;line-height:1.3}.folder-grid .subject-folder .ec-sub{font-size:11px;line-height:1.55}.folder-grid .subject-card-foot{padding-top:14px;font-size:8px}.folder-grid .subject-card-kicker{font-size:8px}[data-theme=light] .r-drop,[data-theme=light] .s-material-drop{background:var(--surface-2);border-color:var(--line);color:var(--ink)}[data-theme=light] .r-drop:hover,[data-theme=light] .r-drop.over,[data-theme=light] .s-material-drop:hover,[data-theme=light] .s-material-drop.over{background:var(--accent-wash);border-color:var(--ink-3)}[data-theme=light] .r-drop-t,[data-theme=light] .r-drop-s,[data-theme=light] .s-material-drop .r-drop-t,[data-theme=light] .s-material-drop .r-drop-s{color:var(--ink)}.s-material-drop{margin-top:5px;padding:28px 18px}.s-files{margin-top:8px}.monument-home{grid-template-rows:92px minmax(230px,1fr) minmax(235px,33vh)}.monument-header{min-height:92px}.monument-brand{font-size:40px}.monument-hero h1{font-size:clamp(104px,11.5vw,178px)}.monument-build{display:block!important;min-width:min(520px,86vw);margin-top:30px;padding-top:12px;font-size:11px}.monument-modules{width:min(1240px,calc(100% - 80px));height:min(30vh,315px);gap:30px}.monument-card h2{font-size:clamp(52px,5.3vw,72px)}.e-head:not(.root){background:var(--paper);border-bottom:1px solid var(--line)}.e-head .crumb{color:var(--ink-2);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.055em;text-transform:uppercase}.e-head .crumb .cur{color:var(--ink)}@media(max-width:1240px){.folder-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(max-width:980px){.topbar{height:62px;min-height:62px;padding-inline:22px}.screen-tag{font-size:24px}.folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vision-workspace .z-cal,.vision-workspace .vision-actions{min-height:460px;max-height:none}.monument-home{grid-template-rows:76px minmax(190px,.9fr) minmax(280px,1.1fr)}}@media(max-width:680px){.topbar{height:56px;min-height:56px;padding-inline:14px}.screen-tag{font-size:20px}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.folder-grid .subject-folder{min-height:190px}.vision-intro-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.vision-intro-actions .btn{justify-content:center;padding-inline:7px}.monument-build{margin-top:20px;font-size:8px}}.vision-mode .side-nav,.module-mode .side-nav{width:256px;flex-basis:256px;padding:30px 24px 24px}.vision-mode .side-links,.module-mode .side-links{gap:6px}.vision-mode .module-nav,.module-mode .module-nav{min-height:46px;padding:0 16px;border-radius:4px;transform:none}.vision-mode .module-nav.active,.module-mode .module-nav.active{transform:none}.vision-mode .side-foot,.module-mode .side-foot{flex-direction:column;align-items:stretch;gap:8px;padding:16px 0 0}.subject-empty{padding:72px 20px;border-top:1px solid var(--line-2)}.project-manager-body{padding:0}.project-manager-toolbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line-2)}.project-manager-toolbar>span{color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.045em}.project-manager-body>.pbody{max-height:min(62vh,560px);overflow-y:auto;padding:10px 20px 22px}.folder-grid{align-items:stretch;gap:30px 16px}.folder-grid .subject-folder{min-height:220px;margin-top:0;padding:18px 16px 15px;overflow:hidden;border:1px solid color-mix(in srgb,var(--folder-color) 20%,var(--line-2));border-left:6px solid var(--folder-color);border-radius:0;background:color-mix(in srgb,var(--folder-color) 5%,var(--surface));box-shadow:0 10px 24px color-mix(in srgb,var(--ink) 4%,transparent)}.folder-grid .subject-folder:before{display:none}.folder-grid .subject-folder:hover{border-color:color-mix(in srgb,var(--folder-color) 58%,var(--line));border-left-color:var(--folder-color);background:color-mix(in srgb,var(--folder-color) 9%,var(--surface));transform:translateY(-2px)}.folder-grid .subject-card-top{min-height:28px;align-items:flex-start}.folder-grid .subject-card-kicker{color:var(--folder-color);letter-spacing:.08em}.folder-grid .subject-folder-icon{font-size:20px}.subject-card-version{max-width:88px;padding:3px 5px;overflow:hidden;background:color-mix(in srgb,var(--folder-color) 9%,var(--surface-2));color:var(--ink-3);font-family:var(--mono);font-size:7px;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.folder-grid .subject-folder .ec-title{min-height:56px;margin-top:18px;font-family:"Libre Caslon Text","EB Garamond",var(--serif);font-size:21px;line-height:1.28}.folder-grid .subject-folder .ec-sub{display:-webkit-box;min-height:34px;overflow:hidden;color:var(--ink-2);font-size:11px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.folder-grid .subject-card-foot{margin-top:auto;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--folder-color) 22%,var(--line-2));color:var(--folder-color)}.folder-grid .subject-card-foot span:last-child{color:var(--ink-3)}.subject-term-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:13px 14px;border:1px solid var(--line-2);background:var(--surface-2)}.subject-term-confirm span{color:var(--ink-3);font-family:var(--mono);font-size:8px;letter-spacing:.09em}.subject-term-confirm strong{font-size:12px;font-weight:600}.semester-select{width:100%}.vision-mode #stage{overflow:hidden!important;overscroll-behavior:none;touch-action:none}#app.vision-page{height:100%;min-height:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:none;grid-auto-flow:row;padding:18px 42px 24px;overflow:hidden}#app.vision-page>.vision-intro,#app.vision-page>.vision-stat-grid,#app.vision-page>.vision-workspace{grid-column:1;width:min(1200px,100%);min-width:0;justify-self:center}.vision-intro{padding:18px 0 12px}.vision-stat-grid{gap:16px}.vision-stat-card{min-height:86px;padding:13px 16px}.vision-stat-line strong{font-size:26px;line-height:31px}.vision-workspace{height:100%;min-height:0;margin-top:16px}.vision-workspace .z-cal,.vision-workspace .vision-actions{height:100%;min-height:0;max-height:none}.vision-page .cal-dows .dw{color:var(--ink-2);font-family:Gowun Dodum,Pretendard Variable,Pretendard,sans-serif;font-size:11px;font-weight:400}.vision-page .cell{min-height:0;background:var(--surface);color:var(--ink)}.vision-page .cell:hover{background:color-mix(in srgb,var(--surface-2) 72%,var(--surface))}.vision-page .month-cal .dn{width:auto;height:auto;color:var(--ink);background:transparent;font-family:Gowun Dodum,Pretendard Variable,Pretendard,sans-serif;font-size:13px;font-weight:400}.vision-page .cell.today .dn{width:auto;height:auto;color:var(--ink);background:transparent}.vision-page .cell.today .dn-day{width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:var(--paper)}.vision-page .dn-month{color:var(--ink-3)}.vision-page .month-range{color:var(--ink);font-size:11px}.vision-page .ev,.vision-page .ev-ms{min-height:20px;padding:2px 5px;color:var(--ink);font-family:Gowun Dodum,Pretendard Variable,Pretendard,sans-serif;font-size:11px;line-height:16px;font-weight:400}.vision-page .ev{background:color-mix(in srgb,var(--accent) 13%,var(--surface))}.vision-page .ev.due{color:var(--urgent);background:color-mix(in srgb,var(--urgent) 10%,var(--surface))}.vision-actions .phead .pt{font-family:"Gowun Batang","Libre Caslon Text",var(--serif);font-size:17px;font-weight:700}.vision-actions .tk .nm,.vision-actions .quick input.qt{color:var(--ink);font-family:Gowun Dodum,Pretendard Variable,Pretendard,sans-serif;font-size:13px;font-weight:400}.vision-actions .tk{min-height:38px}.vision-actions .quick input::placeholder{color:var(--ink-3);opacity:1}.etl-detail-body{padding:0}.etl-detail-body>.phead{padding:14px 20px}.etl-detail-body>.pbody{max-height:min(62vh,560px);overflow-y:auto}.folder-grid .subject-folder .ec-title{font-family:"Gowun Batang","Libre Caslon Text","EB Garamond",var(--serif);font-weight:700;letter-spacing:-.025em}.folder-grid .subject-folder .ec-sub{font-family:Gowun Dodum,Pretendard Variable,Pretendard,sans-serif;font-weight:400}.folder-grid .subject-card-kicker{min-width:20px}.folder-grid .subject-card-foot{min-height:14px}@media(max-width:980px){#app.vision-page{padding:0 22px 18px}.vision-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vision-workspace{grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr);gap:12px}.vision-workspace .z-cal,.vision-workspace .vision-actions{min-height:0;max-height:none}}@media(max-width:680px){#app.vision-page{padding:0 10px 70px}.vision-intro{padding:10px 0 8px}.vision-intro-actions .btn{font-size:9px}.vision-stat-card{min-height:68px;padding:9px}.vision-stat-line strong{font-size:18px;line-height:22px}.vision-stat-line small{display:none}.vision-workspace{grid-template-columns:minmax(0,1.45fr) minmax(180px,.75fr);gap:8px;margin-top:8px}}.shell>.app-main{width:100%;flex:1 1 100%}.vision-mode .topbar{display:flex}.vision-mode .home-btn{display:none}.home-btn{color:var(--ink);font-family:"EB Garamond",var(--serif);font-size:22px;font-weight:600;letter-spacing:-.025em}.vision-mode #stage{padding-bottom:0}#app.vision-page{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:none;padding:0 34px 24px}#app.vision-page>.vision-workspace{grid-column:1;width:min(1440px,100%);height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(202px,246px) minmax(0,1fr);gap:20px;margin:0 auto;justify-self:center}.subject-rail{min-height:0;display:flex;flex-direction:column;gap:5px;padding:1px 4px 1px 0;overflow-y:auto}.rail-term{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px;padding:0 4px 8px;border-bottom:1px solid var(--line-2);color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.04em}.rail-sync{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:99px;color:var(--ink-2);font-family:var(--sans);font-size:10.5px;transition:background .14s var(--ease),color .14s var(--ease)}.rail-sync:hover{background:var(--surface-2);color:var(--ink)}.rail-sync[disabled]{opacity:.5;pointer-events:none}.rail-sync .material-symbols-outlined{font-size:13px}.rail-empty{padding:26px 6px;color:var(--ink-3);font-size:12.5px}.rail-item,.vision-workspace .z-cal{--subject-ink: var(--subject-color, var(--accent))}[data-theme=dark] .rail-item,[data-theme=dark] .vision-workspace .z-cal{--subject-ink: color-mix(in srgb, var(--subject-color, var(--accent)) 60%, #ffffff)}.rail-item{--subject-color: var(--accent);overflow:hidden;border:1px solid transparent;border-radius:10px;transition:background .24s var(--ease),border-color .24s var(--ease)}.rail-item:hover{background:color-mix(in srgb,var(--subject-ink) 7%,transparent)}.rail-item.active{border-color:color-mix(in srgb,var(--subject-ink) 38%,var(--line-2));background:color-mix(in srgb,var(--subject-ink) 8%,var(--surface))}.rail-subject{width:100%;min-height:46px;display:flex;align-items:center;gap:10px;padding:11px 12px;color:var(--ink-2);font-size:13.5px;text-align:left;transition:color .18s var(--ease)}.rail-item.active .rail-subject{color:var(--ink);font-weight:600}.rail-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--subject-ink);transition:box-shadow .26s var(--ease)}.rail-item.active .rail-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--subject-ink) 26%,transparent)}.rail-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-count{padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--subject-ink) 20%,var(--surface-2));color:var(--ink-2);font-family:var(--mono);font-size:9.5px}.rail-count[hidden]{display:none}.rail-connect{width:100%;display:flex;flex-direction:column;gap:3px;padding:16px 12px;border:1px dashed var(--line);border-radius:10px;color:var(--ink-2);text-align:left;transition:border-color .16s var(--ease),background .16s var(--ease)}.rail-connect:hover{border-color:var(--ink-3);background:var(--surface)}.rail-connect strong{color:var(--ink);font-size:13px}.rail-connect span{color:var(--ink-3);font-size:11px;line-height:1.5}.rail-circuit{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:0;padding:0 10px;opacity:0;transition:max-height .34s var(--ease),padding .34s var(--ease),opacity .22s var(--ease)}.rail-item.open .rail-circuit{max-height:130px;padding:0 10px 11px;opacity:1}.rail-circuit:before{content:"";position:absolute;top:50%;left:44%;right:44%;border-top:1px dashed color-mix(in srgb,var(--subject-ink) 55%,transparent)}.rail-circuit button{position:relative;z-index:1;min-width:0;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 2px;border:1px solid color-mix(in srgb,var(--subject-ink) 32%,var(--line-2));border-radius:8px;background:var(--surface);color:var(--ink);transition:border-color .16s var(--ease),background .16s var(--ease),transform .12s var(--ease)}.rail-circuit button:hover{border-color:var(--subject-ink);background:color-mix(in srgb,var(--subject-ink) 12%,var(--surface));transform:translateY(-1px)}.rail-circuit button:active{transform:translateY(0) scale(.97)}.rail-circuit .material-symbols-outlined{color:var(--subject-ink);font-size:20px}.rail-track-label{color:var(--ink);font-size:13px;font-weight:600}.rail-track-sub{color:var(--ink-3);font-size:9.5px;line-height:1.4;text-align:center}.clock{display:flex;gap:8px;font-family:var(--mono)}.clock .c-date{color:var(--ink-3);font-family:var(--sans);font-size:11.5px;font-weight:500}.clock .c-time{color:var(--ink-2);font-size:11px;font-weight:500}.vision-workspace .z-cal{width:100%;height:100%;min-height:0;max-height:none;display:flex;flex-direction:column}.vision-page .panel{border:1px solid var(--line-2);border-radius:12px;background:var(--surface)}.vision-page .cal-head{min-height:54px;padding:10px 16px}.subject-calendar-title{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}.subject-calendar-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--subject-ink)}.cal-nav{display:flex;align-items:center;gap:4px}.cal-arrow,.cal-add{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--ink-3);font-size:16px;line-height:1;transition:background .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease)}.cal-arrow:hover{background:var(--surface-2);color:var(--ink)}.cal-add{border:1px solid var(--line);color:var(--ink-2);font-size:13px}.cal-add:hover{border-color:var(--subject-ink);background:color-mix(in srgb,var(--subject-ink) 12%,var(--surface));color:var(--ink)}.cal-today{margin-left:2px;padding:4px 10px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);font-size:11px;font-weight:600}.cal-today:hover{color:var(--ink)}.month-range{min-width:72px!important;color:var(--ink);font-family:var(--mono);font-size:12px;font-weight:600;text-align:center}.vision-page .pbody.tight{padding:0 10px 10px}.vision-page .cal-dows .dw{padding:7px 0 8px;color:var(--ink-4);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0}.vision-page .cal-dows .dw:nth-child(6){color:color-mix(in srgb,#4d6a97 70%,var(--ink-4))}.vision-page .cal-dows .dw:nth-child(7){color:color-mix(in srgb,var(--urgent) 60%,var(--ink-4))}.vision-page .cal{column-gap:0;row-gap:1px;overflow:hidden;border-top:1px solid var(--line-2);border-radius:8px;background:var(--line-2)}.vision-page .cell{min-height:0;gap:2px;padding:5px 5px 4px;border-left:1px solid var(--line);background:var(--surface);transition:background .14s var(--ease)}.vision-page .cell:nth-child(7n+1){border-left:0}.vision-page .cell:hover{background:color-mix(in srgb,var(--ink-3) 6%,var(--surface))}.vision-page .month-cal .cell.weekend{background:color-mix(in srgb,var(--paper) 60%,var(--surface))}.vision-page .month-cal .cell.dim{opacity:.42}.vision-page .month-cal .cell.today{background:color-mix(in srgb,var(--subject-ink) 10%,var(--surface))}.vision-page .month-cal .dn{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:1px;font-size:11px;font-weight:600}.vision-page .month-cal .cell.today .dn{width:auto;height:auto;color:var(--ink);background:transparent}.vision-page .month-cal .cell.today .dn-day{min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:var(--paper);font-weight:700}.vision-page .dn-month{color:var(--ink-4);font-family:var(--sans);font-size:9.5px;font-weight:500}.vision-page .ev{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:1px 5px;border-radius:4px;border-left:2px solid var(--subject-ink);background:color-mix(in srgb,var(--subject-ink) 13%,var(--surface));color:var(--ink);font-size:10.5px;line-height:1.55;cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease)}.vision-page .ev:hover{background:color-mix(in srgb,var(--subject-ink) 26%,var(--surface))}.vision-page .ev .ev-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vision-page .ev .ev-time{flex:0 0 auto;color:var(--ink-3);font-family:var(--mono);font-size:9px}.vision-page .ev.done{border-left-color:var(--line);background:transparent;color:var(--ink-4);text-decoration:line-through}.vision-page .ev.due{border-left-color:var(--urgent);background:color-mix(in srgb,var(--urgent) 12%,var(--surface));color:var(--urgent);font-weight:600}.vision-page .ev.gcal{border-left:2px solid var(--ink-4);background:var(--surface-2);color:var(--ink-2)}.vision-page .ev.gcal:hover{background:color-mix(in srgb,var(--ink-3) 16%,var(--surface))}.vision-page .ev-ms{flex-shrink:0;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600}.vision-page .ev-bar{height:3px;flex-shrink:0;margin:1px -6px;border-radius:0;background:var(--project-line)}.vision-page .ev-bar.line-start{margin-left:0}.vision-page .ev-bar.line-end{margin-right:0}.vision-page .mo{padding-left:3px;color:var(--ink-4);font-family:var(--mono);font-size:9px}.subject-calendar-empty{height:100%;display:grid;place-items:center;padding:40px 20px;color:var(--ink-3);font-size:13px}.day-sheet{--subject-color: var(--accent)}.day-subject{--subject-ink: var(--subject-color)}[data-theme=dark] .day-subject{--subject-ink: color-mix(in srgb, var(--subject-color) 60%, #ffffff)}.day-subject{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid var(--line-2);font-size:14px}.day-subject strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-circuit{display:flex;gap:5px}.day-circuit button{min-width:52px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid color-mix(in srgb,var(--subject-color) 40%,var(--line-2));border-radius:7px;color:var(--ink);font-size:12.5px;font-weight:600;transition:background .14s var(--ease),border-color .14s var(--ease)}.day-circuit button:hover{border-color:var(--subject-color);background:color-mix(in srgb,var(--subject-color) 12%,var(--surface))}.day-sheet .day-list{display:flex;flex-direction:column}.day-row{display:flex;align-items:center;gap:9px;min-height:40px;padding:5px 0;border-bottom:1px solid var(--line-2)}.day-row:last-child{border-bottom:none}.day-time{width:42px;flex:0 0 42px;color:var(--ink-2);font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums}.day-time.none{color:var(--ink-4);font-family:var(--sans);font-size:10.5px}.day-name{flex:1;min-width:0;overflow:hidden;color:inherit;font-size:13.5px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.day-name:hover{text-decoration:underline}.day-row.done .day-name{color:var(--ink-4);text-decoration:line-through}.day-row.gcal .day-name{color:var(--ink-2)}.day-tag{padding:1px 6px;border:1px solid var(--line-2);border-radius:99px;color:var(--ink-4);font-family:var(--mono);font-size:8px;letter-spacing:.04em}.day-sheet .day-add{width:100%;margin-top:12px}@media(max-width:1100px){#app.vision-page{padding:0 22px 18px}#app.vision-page>.vision-workspace{grid-template-columns:minmax(180px,212px) minmax(0,1fr);gap:14px}.rail-circuit button{min-height:58px}}@media(max-width:780px){#app.vision-page{padding:0 12px 12px}#app.vision-page>.vision-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px}.subject-rail{max-height:38vh;padding-right:0}.rail-circuit-label{display:none}.rail-circuit button{min-height:52px}.vision-page .cal-head{flex-wrap:wrap;row-gap:6px}}.track-wrap{--subject-color: var(--accent);--subject-ink: var(--subject-color);height:100%;min-height:0;display:flex;flex-direction:column;gap:18px;padding:4px 34px 26px;overflow-y:auto}[data-theme=dark] .track-wrap{--subject-ink: color-mix(in srgb, var(--subject-color) 60%, #ffffff)}.track-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line-2)}.track-title{display:flex;align-items:center;gap:11px}.track-title h1{color:var(--ink);font-family:"Libre Caslon Text","EB Garamond",var(--serif);font-size:27px;font-weight:400;letter-spacing:-.02em}.track-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--subject-ink)}.track-kind{padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--subject-ink) 14%,var(--surface));color:var(--ink-2);font-size:11px;font-weight:600}.lecture-list{display:flex;flex-direction:column;gap:8px}.lecture-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:14px;min-height:62px;padding:10px 14px;border:1px solid var(--line-2);border-left:3px solid color-mix(in srgb,var(--subject-ink) 55%,var(--line-2));border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease)}.lecture-row:hover{border-color:color-mix(in srgb,var(--subject-ink) 45%,var(--line));border-left-color:var(--subject-ink);background:color-mix(in srgb,var(--subject-ink) 5%,var(--surface))}.lecture-row:focus-visible{outline:2px solid var(--subject-ink);outline-offset:2px}.lecture-main{min-width:0;display:flex;flex-direction:column;gap:2px}.lecture-name{width:100%;padding:2px 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font-size:15px;font-weight:600}.lecture-name:hover{border-color:var(--line-2)}.lecture-name:focus{border-color:var(--subject-ink);background:var(--surface)}.lecture-when{position:relative;display:flex;align-items:center;gap:7px;padding-left:4px}.lecture-date{display:inline-flex;align-items:center;gap:5px;padding:1px 3px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink-3);font-family:var(--mono);font-size:11px;cursor:pointer}.lecture-date:hover{border-color:var(--line-2);color:var(--ink)}.lecture-date .material-symbols-outlined{font-size:14px}.lecture-date-picker{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.lecture-date-picker:focus-visible{border-color:var(--ink-3);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink-3) 14%,transparent);outline:none}.lecture-date-swipe{min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 12px;border-inline:1px solid var(--line-2);cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none}.lecture-date-swipe strong{color:var(--ink);font-family:"Libre Caslon Text","EB Garamond",var(--serif);font-size:20px;font-weight:400}.lecture-date-swipe small{color:var(--ink-4);font-size:9.5px}.lecture-date-arrow{display:grid;place-items:center;color:var(--ink-3)}.lecture-date-arrow:hover{background:var(--surface-2);color:var(--ink)}.lecture-date-arrow .material-symbols-outlined{font-size:19px}.lecture-tools{display:flex;align-items:center;gap:6px}.lecture-file{max-width:210px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px dashed var(--line);border-radius:99px;color:var(--ink-3);font-size:11.5px;transition:border-color .14s var(--ease),color .14s var(--ease),background .14s var(--ease)}.lecture-file span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lecture-file:hover{border-color:var(--subject-ink);color:var(--ink)}.lecture-file.on{border-style:solid;border-color:color-mix(in srgb,var(--subject-ink) 40%,var(--line-2));background:color-mix(in srgb,var(--subject-ink) 10%,var(--surface));color:var(--ink)}.lecture-mic{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:50%;color:var(--ink-3);transition:border-color .14s var(--ease),color .14s var(--ease),background .14s var(--ease)}.lecture-mic:hover{border-color:var(--ink-3);color:var(--ink)}.lecture-mic.on{border-color:var(--urgent);background:color-mix(in srgb,var(--urgent) 14%,var(--surface));color:var(--urgent);animation:mic-pulse 1.6s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--urgent) 34%,transparent)}50%{box-shadow:0 0 0 6px transparent}}.lecture-open{display:inline-flex;align-items:center;gap:2px;padding:7px 10px 7px 13px;border-radius:8px;color:var(--ink-2);font-size:12.5px;font-weight:600;transition:background .14s var(--ease),color .14s var(--ease)}.lecture-open:hover{background:color-mix(in srgb,var(--subject-ink) 12%,var(--surface));color:var(--ink)}.lecture-open .material-symbols-outlined{font-size:17px}.lecture-remove{width:24px;color:var(--ink-4);font-size:13px;opacity:0;transition:opacity .14s var(--ease)}.lecture-row:hover .lecture-remove{opacity:1}.lecture-remove:hover{color:var(--urgent)}.lecture-empty{display:flex;flex-direction:column;gap:5px;padding:40px 20px;border:1px dashed var(--line);border-radius:12px;color:var(--ink-3);text-align:center}.lecture-empty strong{color:var(--ink);font-size:15px}.lecture-empty span{font-size:12px}.file-list{max-height:min(52vh,420px);margin-top:10px;overflow-y:auto}.file-row{width:100%;display:flex;align-items:center;gap:9px;padding:10px 8px;border-bottom:1px solid var(--line-2);color:var(--ink);font-size:13px;text-align:left}.file-row:last-child{border-bottom:none}.file-row:hover{background:var(--surface-2)}.file-row .material-symbols-outlined{color:var(--ink-4);font-size:17px}.file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-module{color:var(--ink-4);font-family:var(--mono);font-size:9px}.file-row.hint .file-name{font-weight:600}.file-row.hint:after{content:"\c774  \c8fc\cc28";padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--ok) 20%,var(--surface));color:var(--ok);font-size:9px}.record-done{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.material-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.material-tab{min-width:0;display:flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--line-2);border-radius:8px;color:var(--ink-3);text-align:left;transition:border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.material-tab-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.material-tab .material-symbols-outlined{flex:0 0 auto;font-size:19px}.material-tab small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-tab strong{color:var(--ink-2);font-size:13.5px;font-weight:600}.material-tab small{font-size:10px}.material-tab:hover{border-color:var(--ink-4)}.material-tab.on{border-color:color-mix(in srgb,var(--subject-ink) 45%,var(--line-2));background:color-mix(in srgb,var(--subject-ink) 10%,var(--surface))}.material-tab.on strong{color:var(--ink)}.material-wrap{overflow:hidden}.material-pane{min-height:0;flex:1;overflow-y:auto;scrollbar-gutter:stable}.material-view{min-height:100%}.material-loading{padding:36px 4px;color:var(--ink-4);font-size:12px}.material-pane .e-head,.material-pane .e-title,.material-pane .e-desc{display:none}.material-pane .e-wrap{height:auto}.material-pane .stage-in{animation:none}.material-pane .e-body{padding:0}.material-pane .module-hero{min-height:0;margin-bottom:16px}.subject-calendar-dot.muted{background:var(--ink-4)}@media(max-width:900px){.track-wrap{padding:4px 18px 20px}.lecture-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main open" "tools tools";row-gap:10px}.lecture-main{grid-area:main}.lecture-tools{grid-area:tools}.lecture-open{grid-area:open}.lecture-remove{position:absolute}}.tool-icon{min-width:34px;width:34px;padding:0}.tool-icon .material-symbols-outlined{font-size:18px}.tool-icon[disabled]{opacity:.35;pointer-events:none}.tool-icon.on .material-symbols-outlined{font-variation-settings:"FILL" 1}.note-tool-swap{position:absolute;left:max(18px,calc(env(safe-area-inset-left) + 12px));right:auto;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));z-index:8;min-width:54px;min-height:54px;display:grid;place-items:center;gap:1px;padding:7px 9px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink-2);box-shadow:0 10px 26px -12px #0000006b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:manipulation}.note-tool-swap .material-symbols-outlined{font-size:21px}.note-tool-swap small{font-size:9px;font-weight:700}.note-tool-swap:active{transform:scale(.94)}.eraser-tool{position:relative;display:inline-flex}.eraser-options{position:absolute;top:calc(100% + 7px);left:50%;z-index:30;display:flex;gap:5px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--sh);transform:translate(-50%)}.eraser-options .tool-btn{min-width:48px}#toast{bottom:26px;padding:11px 18px;border:none;border-radius:12px;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:-.01em;box-shadow:0 12px 32px -12px #00000080}.nb-area{position:relative}.pen-dot{position:absolute;top:0;left:0;z-index:6;border-radius:50%;opacity:0;pointer-events:none;transform-origin:center;translate:-50% -50%;will-change:transform;transition:opacity .12s var(--ease),width .1s var(--ease),height .1s var(--ease);box-shadow:0 0 0 1px #ffffff8c,0 1px 3px #00000040}.pen-dot.on{opacity:var(--pen-dot-opacity, 1)}.pen-dot.eraser{border:1.5px solid var(--ink-2);background:color-mix(in srgb,var(--ink) 8%,transparent)!important;box-shadow:0 0 0 1px #ffffff80}.nb-area[data-tool=pen] .nb-canvas,.nb-area[data-tool=hl] .nb-canvas,.nb-area[data-tool=eraser] .nb-canvas{cursor:none}.cal-proj{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--ink-3);transition:background .14s var(--ease),color .14s var(--ease)}.cal-proj:hover{background:var(--surface-2);color:var(--ink)}.cal-proj .material-symbols-outlined{font-size:17px}.record-bar{position:fixed;bottom:22px;left:50%;z-index:70;max-width:min(680px,calc(100vw - 40px));display:flex;align-items:center;gap:14px;padding:11px 14px 11px 16px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface);box-shadow:0 16px 40px -16px #00000080;transform:translate(-50%);animation:stage-in .24s var(--ease) both}.record-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--urgent);animation:mic-pulse 1.6s ease-in-out infinite}.record-meta{display:flex;flex-direction:column;gap:1px}.record-meta strong{font-size:12.5px;white-space:nowrap}.record-time{color:var(--ink-3);font-family:var(--mono);font-size:10.5px}.record-tail{flex:1;min-width:0;overflow:hidden;color:var(--ink-2);font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.record-text{width:100%;min-height:190px;line-height:1.7}.lecture-script{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--line-2));border-radius:99px;background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ink);font-size:11.5px}.lecture-script .material-symbols-outlined{font-size:15px}.lecture-script:hover{border-color:var(--ok)}.rail-term{margin-bottom:6px;padding:0 4px 11px}.rail-subject{min-height:52px;padding:13px;gap:11px;font-size:14px}.rail-name{line-height:1.5}.track-title{gap:13px}.track-title h1{letter-spacing:0;line-height:1.45;padding:2px 0}.day-subject strong{letter-spacing:0;line-height:1.5}.subject-calendar-title{letter-spacing:0}.lecture-name{width:auto;min-width:120px;max-width:340px}.lecture-main{align-items:flex-start}.file-group{position:sticky;top:0;z-index:1;padding:9px 8px 5px;background:var(--surface);color:var(--ink-3);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0}.file-group.now{color:var(--ok)}.file-kind{flex:0 0 auto;padding:1px 6px;border-radius:99px;background:var(--surface-2);color:var(--ink-3);font-family:var(--mono);font-size:8.5px}.file-row.hint{background:color-mix(in srgb,var(--ok) 7%,var(--surface))}.file-row.hint:after{content:none}.day-time.tap{cursor:pointer;border-radius:5px}.day-time.tap:hover{background:var(--surface-2);color:var(--ink)}.day-addbar{display:grid;grid-template-columns:minmax(128px,.34fr) minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-top:12px;padding-bottom:2px}.day-addbar .input{min-width:0;min-height:46px;margin-top:0}.day-add-btn{min-height:46px;padding-inline:18px;white-space:nowrap}.day-owner{width:100%}.day-row .day-name{cursor:pointer}.day-row .day-name:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}:root{--mark-important: #c0392b;--mark-anniv: #3f6fb5}[data-theme=dark]{--mark-important: #e2705f;--mark-anniv: #7fa8e0}.vision-page .ev.mark-important{--mark-color: var(--mark-important)}.vision-page .ev.mark-anniv{--mark-color: var(--mark-anniv)}.vision-page .ev.mark-important,.vision-page .ev.mark-anniv{border-left-color:var(--mark-color);background:color-mix(in srgb,var(--mark-color) 17%,var(--surface));color:color-mix(in srgb,var(--mark-color) 62%,var(--ink));font-weight:600}.vision-page .ev.done.mark-important,.vision-page .ev.done.mark-anniv{border-left-color:var(--line);font-weight:400}.day-row.mark-important,.day-row.mark-anniv{--task-color: var(--mark-color);border-radius:7px;padding-inline:9px;background:color-mix(in srgb,var(--mark-color) 16%,transparent);box-shadow:inset 3px 0 0 var(--mark-color)}.day-row.mark-important{--mark-color: var(--mark-important)}.day-row.mark-anniv{--mark-color: var(--mark-anniv)}.day-row.mark-important .day-name,.day-row.mark-anniv .day-name{color:var(--ink);font-weight:600}.day-row.done.mark-important,.day-row.done.mark-anniv{background:transparent;box-shadow:inset 3px 0 0 var(--line)}.day-row.done .day-name{color:var(--ink-4)!important;font-weight:400!important}.day-row.subject-colored:not(.mark-important):not(.mark-anniv) .day-name{color:color-mix(in srgb,var(--task-color) 78%,var(--ink))}.day-mark{width:16px;height:16px;flex:0 0 16px;border:1.5px solid var(--line);border-radius:50%;background:transparent;transition:border-color .14s var(--ease),background .14s var(--ease)}.day-mark:hover{border-color:var(--ink-3)}.day-mark.mark-important{border-color:var(--mark-important);background:var(--mark-important)}.day-mark.mark-anniv{border-color:var(--mark-anniv);background:var(--mark-anniv)}.vision-page .month-cal .cell.today.all-clear{position:relative;border-color:color-mix(in srgb,var(--ok) 52%,var(--line));background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--ok) 20%,transparent),transparent 62%),color-mix(in srgb,var(--ok) 8%,var(--surface))}.vision-page .month-cal .cell.today.all-clear .dn-day{background:var(--ok);color:#fff}.cell-clear{position:absolute;right:6px;bottom:5px;width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ok);color:#fff;pointer-events:none}.cell-clear .material-symbols-outlined{font-size:13px}.cell.just-cleared{animation:cell-clear-pop 1.1s cubic-bezier(.22,1,.36,1)}.cell.just-cleared .cell-clear{animation:cell-clear-badge .9s cubic-bezier(.22,1,.36,1) .12s backwards}.cell.just-cleared:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 32%,color-mix(in srgb,var(--ok) 42%,transparent) 50%,transparent 68%);background-size:260% 100%;opacity:0;animation:cell-clear-sweep 1.05s ease-out both;pointer-events:none}@keyframes cell-clear-pop{0%{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent)}28%{transform:scale(1.035);box-shadow:0 0 0 9px color-mix(in srgb,var(--ok) 22%,transparent)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}@keyframes cell-clear-badge{0%{transform:translateY(9px) scale(.6);opacity:0}to{transform:none;opacity:1}}@keyframes cell-clear-sweep{0%{background-position:160% 0;opacity:1}to{background-position:-60% 0;opacity:0}}@media(prefers-reduced-motion:reduce){.cell.just-cleared,.cell.just-cleared .cell-clear{animation:none}.cell.just-cleared:after{display:none}}.cal-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.cal-head .cal-nav{justify-self:end}.cal-head .cal-proj{justify-self:center}.cal-proj{border:1px solid var(--line-2);background:var(--surface)}.cal-proj:hover{border-color:var(--subject-ink);color:var(--subject-ink)}body.app-interaction-locked{cursor:progress}body.app-interaction-locked .shell{pointer-events:none;-webkit-user-select:none;user-select:none}.slide-progress{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:#12110f7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.slide-progress-card{width:min(430px,100%);padding:22px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface);box-shadow:0 24px 70px #0000003d;color:var(--ink)}.slide-progress-head,.slide-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:18px}.slide-progress-head b{font-size:16px}.slide-progress-percent{font:700 15px var(--mono);font-variant-numeric:tabular-nums}.slide-progress-file{display:block;overflow:hidden;margin:8px 0 18px;color:var(--ink-3);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.slide-progress-track{height:7px;overflow:hidden;border-radius:99px;background:var(--line)}.slide-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--ink);transition:width .12s linear}.slide-progress-copy{margin-top:10px;font-size:11px}.slide-progress-stage{font-weight:700}.slide-progress-detail{color:var(--ink-3)}.rail-term-select{padding:3px 6px 3px 4px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink-2);font-family:var(--sans);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .14s var(--ease),color .14s var(--ease)}.rail-term-select:hover{border-color:var(--line);color:var(--ink)}.rail-term-select:focus{border-color:var(--ink-3);outline:none}.material-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:4px}.material-tab{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;min-height:66px;padding:12px 18px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);color:var(--ink-3);text-align:left;transition:border-color .18s var(--ease),background .18s var(--ease),transform .12s var(--ease)}.material-tab .material-symbols-outlined{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--surface-2);color:var(--ink-3);font-size:19px;transition:background .18s var(--ease),color .18s var(--ease)}.material-tab-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.material-tab strong{color:var(--ink-2);font-size:15px;font-weight:600}.material-tab small{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.material-tab:hover{border-color:var(--ink-4);transform:translateY(-1px)}.material-tab:hover,.material-tab:active{transform:none!important}[data-theme=light] .material-tab.on{border-color:color-mix(in srgb,var(--subject-ink) 28%,#1c1b1b);background:color-mix(in srgb,var(--subject-ink) 24%,#242322);color:#fff;box-shadow:inset 0 1px 2px #0003}[data-theme=light] .material-tab.on strong{color:#fff}[data-theme=light] .material-tab.on .material-symbols-outlined{background:#ffffff21;color:#fff}[data-theme=light] .material-tab.on small{color:#ffffffb8}@media(max-width:640px){.material-tabs{grid-template-columns:1fr;gap:8px}.material-tab{min-height:56px}}.tool-btn.erase-mode{min-width:40px;width:auto;padding:0 10px;font-size:12px}.day-row.due .day-time{color:var(--urgent);font-family:var(--sans);font-size:10.5px;font-weight:600}.day-row.due .day-name{color:var(--urgent);font-weight:600}.day-row.due.done .day-time,.day-row.due.done .day-name{color:var(--ink-4);font-weight:400;text-decoration:line-through}.vision-page .ev.due.done{border-left-color:var(--line);background:transparent;color:var(--ink-4);font-weight:400;text-decoration:line-through}.scope-cta[hidden]{display:none}.scope-list{max-height:min(48vh,380px);margin-top:12px;overflow-y:auto}.scope-row{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--line-2);cursor:pointer}.scope-row:last-child{border-bottom:none}.scope-row:hover{background:var(--surface-2)}.scope-row.empty-row{opacity:.5;cursor:default}.scope-name{flex:1;min-width:0;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.scope-has{color:var(--ink-3);font-size:11px}.vision-page .ev{border-left-color:var(--ev-color, var(--ink-3));background:color-mix(in srgb,var(--ev-color, var(--ink-3)) 13%,var(--surface))}.vision-page .ev.subject-colored:not(.mark-important):not(.mark-anniv){color:color-mix(in srgb,var(--ev-color) 78%,var(--ink))}.vision-page .ev:hover{background:color-mix(in srgb,var(--ev-color, var(--ink-3)) 26%,var(--surface))}[data-theme=dark] .vision-page .ev{border-left-color:color-mix(in srgb,var(--ev-color, var(--ink-3)) 60%,#ffffff)}.cal-target{margin-left:4px;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--subject-ink) 14%,var(--surface));color:var(--ink-2);font-size:11px;font-weight:600}.day-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%}#app.vision-page{padding:6px 34px 18px}.subject-rail{gap:6px;padding:2px 0}.rail-term{gap:12px;min-height:48px;margin-bottom:12px;padding:0 2px 17px}.rail-term-select{min-height:34px;padding:6px 8px;border-color:var(--line-2);font-size:13px}.rail-sync{padding:7px 11px;border-radius:8px;font-size:11.5px}.rail-item{border-radius:12px}.rail-subject{min-height:56px;padding:15px 14px;gap:12px}.rail-name{font-size:14px}.vision-workspace{gap:20px}#app.vision-page>.vision-workspace{width:min(1800px,100%);height:min(800px,100%);align-self:start;grid-template-columns:minmax(230px,286px) minmax(0,1fr)}.vision-page .cal-head{min-height:52px;padding:8px 14px}.vision-page .pbody.tight{padding:0 8px 8px}.vision-page .panel,.vision-page .cal{border-radius:10px}@media(max-width:1100px){#app.vision-page>.vision-workspace{grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:14px}.rail-subject{min-height:50px;padding:12px}}@media(max-width:780px){#app.vision-page{padding:2px 8px 8px}#app.vision-page>.vision-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.subject-rail{max-height:38vh}}.project-list{display:flex;flex-direction:column;gap:8px}.project-card{--project-color: var(--accent);width:100%;display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:62px;padding:12px 14px 12px 0;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);overflow:hidden;text-align:left;transition:border-color .16s var(--ease),background .16s var(--ease),transform .12s var(--ease)}.project-card:hover{border-color:color-mix(in srgb,var(--project-color) 50%,var(--line));background:color-mix(in srgb,var(--project-color) 5%,var(--surface));transform:translateY(-1px)}.project-rail{align-self:stretch;margin:-12px 0;background:var(--project-color)}.project-main{min-width:0;display:flex;flex-direction:column;gap:4px}.project-name{overflow:hidden;color:var(--ink);font-size:14.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.project-meta{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:11px}.project-meta .project-status{padding:2px 8px;border:0;border-radius:99px;background:color-mix(in srgb,var(--project-color) 16%,var(--surface-2));color:var(--ink-2);font-family:var(--sans);font-size:10.5px;font-weight:600}.project-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.project-dday{color:var(--ink-2);font-family:var(--mono);font-size:12px;font-weight:600}.project-dday.soon{color:var(--warn)}.project-dday.over{color:var(--urgent)}.project-dday.none{color:var(--ink-4);font-family:var(--sans);font-size:11px;font-weight:400}.project-bar{width:96px;height:5px;overflow:hidden;border-radius:99px;background:var(--line-2)}.project-bar>i{display:block;height:100%;border-radius:99px;background:var(--project-color)}.project-card.status-done{opacity:.6}.project-card.status-someday{opacity:.75}.project-empty{display:flex;flex-direction:column;gap:6px;padding:34px 20px;border:1px dashed var(--line);border-radius:12px;color:var(--ink-3);text-align:center}.project-empty strong{color:var(--ink);font-size:15px}.project-empty span{font-size:12px;line-height:1.6}.project-preview{--project-color: var(--accent);display:flex;align-items:center;gap:11px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--line-2);border-radius:10px;background:color-mix(in srgb,var(--project-color) 7%,var(--surface))}.project-preview-bar{width:30px;height:6px;flex:0 0 30px;border-radius:99px;background:var(--project-color)}.project-preview strong{flex:1;min-width:0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.project-preview-hint{color:var(--ink-3);font-size:11px}.project-palette{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.project-swatch{aspect-ratio:1;display:grid;padding:3px;place-items:stretch;border:2px solid transparent;border-radius:9px;transition:border-color .14s var(--ease),transform .12s var(--spring)}.project-swatch>span{display:block;border-radius:6px}.project-swatch:hover{transform:scale(1.06)}.project-swatch.on{border-color:var(--ink)}.project-manager-body .ms-row{grid-template-columns:1fr 140px 28px}@media(max-width:620px){.project-palette{grid-template-columns:repeat(6,1fr)}.project-card{grid-template-columns:4px minmax(0,1fr)}.project-side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}}.cal-nav{gap:2px}.month-range{min-width:84px!important;font-variant-numeric:tabular-nums}.month-range.now{color:var(--ink)}.cal-proj{width:auto;gap:6px;padding:6px 12px;border-radius:99px;font-size:12px;font-weight:600}.cal-proj .material-symbols-outlined{font-size:15px}.month-cal.slide-next{animation:cal-in-next .22s var(--ease) both}.month-cal.slide-prev{animation:cal-in-prev .22s var(--ease) both}@keyframes cal-in-next{0%{opacity:.35;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes cal-in-prev{0%{opacity:.35;transform:translate(-10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.month-cal.slide-next,.month-cal.slide-prev{animation:none}}.lecture-list{gap:0;border:1px solid var(--line-2);border-radius:12px;overflow:hidden}.lecture-row{grid-template-columns:56px 132px minmax(180px,1fr) auto 26px;gap:10px;min-height:58px;padding:8px 12px 8px 4px;border:0;border-bottom:1px solid var(--line-2);border-left:3px solid transparent;border-radius:0}.lecture-row:last-child{border-bottom:0}.lecture-row:hover{border-left-color:var(--subject-ink);background:color-mix(in srgb,var(--subject-ink) 6%,var(--surface))}.lecture-no{min-width:0;overflow:hidden;color:var(--ink-4);font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.lecture-main{align-items:center;justify-content:center}.lecture-name{width:100%;min-width:0;max-width:none;padding:2px 5px;font-size:13.5px;text-align:center}.lecture-when{gap:6px;padding-left:0}.lecture-date,.lecture-day{font-size:10.5px}.lecture-tools{gap:6px;justify-content:flex-end}.lecture-file{max-width:190px;min-height:34px;padding:5px 11px;font-size:11.5px}.lecture-file .material-symbols-outlined{font-size:15px}.lecture-script{min-height:34px;padding:5px 10px;font-size:11px}.lecture-mic{width:34px;height:34px}.lecture-mic .material-symbols-outlined{font-size:17px}.lecture-open{padding:5px 4px;color:var(--ink-4)}.lecture-open .material-symbols-outlined{font-size:19px}.lecture-open:hover{background:transparent;color:var(--subject-ink)}.lecture-remove{width:26px;height:34px;font-size:13px}.lecture-list .lecture-empty{border:0;border-radius:0;box-shadow:none}.lecture-add-row{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid var(--line-2);background:color-mix(in srgb,var(--subject-ink) 3%,var(--surface));color:var(--ink-3);font-size:12px;font-weight:600}.lecture-add-row:hover{background:color-mix(in srgb,var(--subject-ink) 9%,var(--surface));color:var(--ink)}.lecture-add-row .material-symbols-outlined{font-size:17px}.simulation-add-row{max-width:1100px;margin-top:12px;border:1px solid var(--line-2);border-radius:12px}@media(max-width:900px){.lecture-row{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"no main open" "date tools tools";row-gap:6px}.lecture-no{grid-area:no}.lecture-main{grid-area:main}.lecture-when{grid-area:date;justify-content:center}.lecture-tools{grid-area:tools;padding-left:0}.lecture-open{grid-area:open}}.probe-list{max-height:min(56vh,460px);margin-top:12px;overflow-y:auto}.probe-scope{padding:0 0 8px;color:var(--ink-3);font-size:11px}.probe-row{display:grid;grid-template-columns:16px 132px minmax(0,1fr);align-items:baseline;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line-2);font-size:12.5px}.probe-row:last-child{border-bottom:none}.probe-mark{color:var(--ok);font-size:10px}.probe-row.off .probe-mark{color:var(--ink-4)}.probe-name{color:var(--ink);font-weight:600}.probe-note{min-width:0;overflow:hidden;color:var(--ink-3);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.probe-row.off .probe-name{color:var(--ink-3);font-weight:400}.vision-page .ev.due.missed{border-left-color:var(--urgent);background:color-mix(in srgb,var(--urgent) 22%,var(--surface));color:var(--urgent);font-weight:700}.vision-page .ev.due.missed.done{border-left-color:var(--line);background:transparent;color:var(--ink-4);font-weight:400}.day-row.due.missed .day-time,.day-row.due.missed .day-name{color:var(--urgent);font-weight:700}.day-row.due.missed.done .day-time,.day-row.due.missed.done .day-name{color:var(--ink-4);font-weight:400;text-decoration:line-through}.rail-since{color:var(--ink-4);font-family:var(--sans);font-size:10.5px;margin-left:auto}.rail-term{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 10px;min-height:0;padding:0 2px 12px}.rail-term-select{grid-column:1 / -1;width:100%}.rail-since{grid-column:1;min-width:0;margin-left:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.rail-sync{grid-column:2;justify-self:end;flex:0 0 auto;padding:6px 10px;white-space:nowrap}.rail-sync>span{white-space:nowrap}.vision-page .panel{border:1px solid var(--line);box-shadow:0 1px 2px #1414140a,0 16px 32px -22px #1414144d}[data-theme=dark] .vision-page .panel{box-shadow:none}.vision-page .phead{border-bottom:1px solid var(--line)}.vision-page .cal-dows{padding-bottom:2px}.vision-page .cal{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--line) 62%,var(--surface))}.cal{grid-auto-rows:minmax(0,1fr)}.vision-page .pbody.tight{overflow:hidden}.cell-evs{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:1px;overflow:hidden}.vision-page .cell-evs{gap:2px}.cell-evs>.hide{display:none}.mo{width:max-content;flex:0 0 auto;margin-top:1px;padding:1px 3px;border-radius:4px;color:var(--ink-3);font-size:9.5px;font-weight:600;letter-spacing:-.01em;text-align:left}.mo:hover{background:var(--surface-2);color:var(--ink)}.screen-subject{display:inline-flex;align-items:center;gap:6px;max-width:15em;margin-left:11px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink-2);font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;vertical-align:middle}.screen-subject-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--subject-color, var(--accent))}[data-theme=dark] .screen-subject-dot{background:color-mix(in srgb,var(--subject-color, var(--accent)) 60%,#ffffff)}.screen-subject-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-slot{display:flex;align-items:center;gap:9px;margin-right:14px}.top-slot[hidden]{display:none}body.note-focus .topbar,body.note-focus .e-head{display:none!important}body.note-focus #stage,body.note-focus .e-wrap:not(.t3-rotor){height:100dvh!important;padding:0!important}.rail-personal{--subject-color: var(--ink-3)}.rail-personal .material-symbols-outlined{color:var(--ink-3);font-size:18px}.rail-item.active .rail-name{color:var(--subject-ink)}[data-theme=light] button:not(:disabled):not(.pen-color):not(.swatch):not(.subject-swatch):not(.rail-subject):not(.rail-gear):not(.rail-order):not(.us-subject-button):active{border-color:#292827;background-color:#292827;color:#fff;transform:translateY(1px)}[data-theme=light] :is(.type-seg .seg-b.on,.tool-btn.on,.r-seg-b.on,.r-tog.on,.seg button.on,button[aria-pressed=true]):not(.pen-color):not(.swatch):not(.subject-swatch):not(.rail-subject):not(.us-subject-button){border-color:#292827;background:#292827;color:#fff;box-shadow:inset 0 1px 2px #0003}[data-theme=light] .box.on{border-color:#292827;background:#292827}.track-wrap{padding-top:16px}@media(max-width:680px){.screen-subject{max-width:8em;margin-left:7px;font-size:11px}.top-slot{gap:6px;margin-right:8px}}@media(max-width:480px){.module-mode .home-btn,.module-mode .screen-name{display:none}.module-mode .screen-subject{flex:1 1 auto;max-width:none;margin-left:0}.module-mode .topbar-left{gap:8px}.module-mode .topbar-right .clock,.module-mode .topbar-right .top-actions{display:none}.module-mode .user-chip{max-width:92px}}[data-theme=light] .topbar{background:#171615;border-color:#34312e;color:#faf7f0}[data-theme=light] .topbar :is(.home-btn,.screen-tag,.screen-subject,.clock .c-date,.clock .c-time){color:#faf7f0}[data-theme=light] .topbar :is(.top-icon,.global-back){border-color:#514c47;color:#ddd5cb}[data-theme=light] .topbar :is(.top-icon,.global-back):hover{background:#2b2825;color:#fffdf8}[data-theme=light] .topbar .user-chip,[data-theme=light] .topbar .user-chip.admin{border-color:#514c47;background:#2b2825;color:#faf7f0}[data-theme=light] .topbar .top-slot .btn{border-color:#514c47;color:#f3eee7}[data-theme=dark] .topbar{background:#f3eee4;border-color:#d7cec1;color:#302a25}[data-theme=dark] .topbar :is(.home-btn,.screen-tag,.screen-subject,.clock .c-date,.clock .c-time){color:#302a25}[data-theme=dark] .topbar :is(.top-icon,.global-back){border-color:#cec3b5;color:#655c54}[data-theme=dark] .topbar :is(.top-icon,.global-back):hover{background:#e5ddd2;color:#211d19}[data-theme=dark] .topbar .user-chip,[data-theme=dark] .topbar .user-chip.admin{border-color:#cec3b5;background:#e6ded3;color:#302a25}[data-theme=dark] .topbar .top-slot .btn{border-color:#cec3b5;color:#302a25}[data-theme=dark] .topbar .top-slot .btn[aria-pressed=true]{color:#fff}[data-theme=dark] .vision-page select{background:#201d1a;color:#f4f0e9}[data-theme=dark] .vision-page select option{background:#f3eee4;color:#302a25}[data-theme=dark] .vision-page .rail-term-select{border-color:#4a4540}[data-theme=dark] .vision-page .rail-item.active{border-color:color-mix(in srgb,var(--subject-ink) 48%,#514b45);background:color-mix(in srgb,var(--subject-ink) 14%,#27231f)}[data-theme=dark] .vision-page .rail-item.active :is(.rail-name,.rail-subject){color:#f5f1ea}[data-theme=dark] .vision-page .rail-count{background:#35312d;color:#e8e2da}[data-theme=dark] .vision-page .ev{border-left-color:color-mix(in srgb,var(--ev-color,var(--ink-3)) 58%,#fff);background:color-mix(in srgb,var(--ev-color,var(--ink-3)) 22%,#34302c);color:#f7f3ec}[data-theme=dark] .vision-page .ev.subject-colored:not(.mark-important):not(.mark-anniv){color:#f7f3ec}[data-theme=dark] .vision-page .ev .ev-time{color:#d1c9bf}[data-theme=dark] .vision-page .ev:hover{background:color-mix(in srgb,var(--ev-color,var(--ink-3)) 30%,#403a35)}[data-theme=dark] .vision-page .ev.due{background:color-mix(in srgb,var(--urgent) 20%,#34302c);color:#ffc6bf}[data-theme=dark] .vision-page .ev.due.subject-tinted:not(.missed){background:color-mix(in srgb,var(--ev-color) 23%,#34302c)}[data-theme=dark] .vision-page .ev.gcal{border-left-color:#9b948c;background:#302d29;color:#eee9e2}[data-theme=dark] .vision-page .ev-bar{background:color-mix(in srgb,var(--project-line) 62%,#fff)}[data-theme=light] .vision-page .ev.subject-colored:not(.mark-important):not(.mark-anniv){background:color-mix(in srgb,var(--ev-color) 18%,var(--surface))}[data-theme=light] .vision-page .ev.due.subject-tinted:not(.missed){background:color-mix(in srgb,var(--ev-color) 15%,var(--surface))}[data-theme=light] .vision-page .rail-item.active :is(.rail-name,.rail-subject){color:var(--ink)}@media(max-width:520px){.day-addbar{grid-template-columns:1fr}}.essence-periods{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0}.essence-period{overflow:hidden;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}.essence-period-header{min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line-2);background:var(--surface-2)}.essence-period-caret{color:var(--ink-4);font-size:10px}.essence-period-header h2{flex:1;color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:700}.essence-period-header .essence-pager-item{font-size:11.5px}.essence-period .lecture-list{border:0;border-radius:0}.essence-period-empty{min-height:44px;justify-content:center;padding:12px;border:0;border-radius:0;font-size:11.5px}.essence-settings-button{display:inline-flex;align-items:center;gap:6px}.essence-settings-button .material-symbols-outlined{font-size:16px}.essence-period .lecture-row{grid-template-columns:56px 132px minmax(160px,1fr) auto 26px;cursor:pointer}.essence-period .lecture-row{position:relative}.essence-period .lecture-main{position:absolute;left:50%;width:min(34vw,520px);flex-direction:row;align-items:center;justify-content:center;gap:6px;transform:translate(-50%)}.essence-period .lecture-tools{min-width:0;justify-content:flex-end;justify-self:end}.essence-period .lecture-remove{justify-self:end}.essence-period :is(.lecture-no,.lecture-date,.lecture-file,.lecture-mic){color:var(--ink-2)}.essence-period .lecture-file,.essence-period .lecture-mic{border-color:var(--line)}.essence-period .essence-period-caret{color:var(--ink-2)}.lecture-title{min-width:0;overflow:hidden;color:var(--ink);font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.lecture-rename{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:6px;color:var(--ink-4);opacity:.5;transition:opacity .14s var(--ease),color .14s var(--ease),background .14s var(--ease)}.lecture-rename:focus-visible{opacity:1}.lecture-rename:hover{color:var(--ink);background:var(--surface-2)}.lecture-rename .material-symbols-outlined{font-size:15px}.essence-period .lecture-name{width:auto;min-width:0;flex:1;text-align:center}.essence-pager{display:flex;flex-wrap:wrap;gap:6px;margin-left:4px}.essence-pager-item{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border:1px solid var(--line-2);border-radius:99px;color:var(--ink-3);font-size:12.5px;transition:border-color .14s var(--ease),color .14s var(--ease),background .14s var(--ease)}.essence-pager-item:hover{border-color:var(--ink-4);color:var(--ink)}.essence-pager-item.on{border-color:color-mix(in srgb,var(--subject-color) 60%,var(--line));background:color-mix(in srgb,var(--subject-color) 16%,transparent);color:var(--ink);font-weight:600}.file-current{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);color:var(--ink-2);font-size:12.5px}.file-current.none{color:var(--ink-4)}.file-current .material-symbols-outlined{font-size:17px}.file-current-name{flex:1;min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.file-current-tag{color:var(--ink-4);font-family:var(--mono);font-size:9px;white-space:nowrap}.file-row.current{border-color:var(--ink-3);background:var(--surface-2)}.file-row.current .file-kind{color:var(--ink);font-weight:700}.subject-structure-field{margin-bottom:28px}.subject-structure-options{margin-top:10px}.block-stepper{display:flex;align-items:center;gap:10px}.block-step{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--ink-2);font-size:15px;line-height:1}.block-step:hover:not([disabled]){border-color:var(--ink-3);background:var(--surface-2);color:var(--ink)}.block-step[disabled]{opacity:.35;pointer-events:none}.block-count{color:var(--ink);font-size:13px;font-weight:600}.block-hint{margin:10px 0 6px;color:var(--ink-4);font-size:10.5px}.block-chips{display:flex;flex-wrap:wrap;gap:6px}.block-chip{padding:6px 12px;border:1px solid var(--line);border-radius:99px;color:var(--ink-2);font-size:12px;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease)}.block-chip:hover{border-color:var(--ink-3);background:var(--surface-2)}.block-chip.on{border-color:var(--ink);background:var(--ink);color:var(--surface);font-weight:600}@media(max-width:900px){.essence-period-header{min-height:42px;padding-inline:12px}.essence-period .lecture-row{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"no main open" "date tools tools"}.essence-period .lecture-name{text-align:left}.essence-period .lecture-main{position:static;width:auto;transform:none}}.resource-name strong,.resource-name small,.resource-row .r-badge,.resource-row .r-subj,.resource-muted,.r-progress,.r-warn{font-family:var(--sans);letter-spacing:-.006em}.resource-row .r-subj{min-width:0;display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 7px;line-height:1.25}.resource-row .r-subj strong{max-width:100%;overflow:hidden;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.resource-row .r-subj small{max-width:100%;overflow:hidden;font-size:9px;opacity:.82;text-overflow:ellipsis;white-space:nowrap}.resource-row .r-badge{font-size:10px;font-weight:700}.resource-row.muted{opacity:1}.resource-row.muted .resource-name small{color:var(--ink-3)}.r-progress-heading{max-width:520px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.r-progress-count{color:var(--ink);font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}.r-chip.r-solve,.resource-solve-set{border-color:#2b2825!important;background:#2b2825!important;color:#fffaf2!important}.r-chip.r-solve:hover,.resource-solve-set:hover{border-color:#403b36!important;background:#403b36!important;color:#fff!important}.r-noise-delete{color:var(--ink-3)}.r-noise-delete:hover{border-color:var(--urgent);color:var(--urgent)}.r-prob figcaption .r-chip{opacity:.55;transition:opacity .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease)}.r-prob:hover figcaption .r-chip{opacity:1}.r-solve-wide{width:100%;min-height:52px;margin:6px 0 16px;font-size:14px}.r-retry-row{display:flex;justify-content:center;gap:8px;margin-top:14px}.r-badge-retry{cursor:pointer}.r-badge-retry:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.r-badge-retry[disabled]{opacity:.6;pointer-events:none}.r-tab.on{background:#2b2825;color:#fffaf2}[data-theme=dark] .r-seg-b.on,[data-theme=dark] .r-tab.on{border-color:#e8e0d5;background:#e8e0d5;color:#2b2825}.practice-orientation{display:inline-flex;align-items:center;gap:5px}.practice-orientation .practice-mode{margin-right:4px;font-family:var(--sans)}.practice-orientation .btn.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.problem-practice .t1-note{width:100%}.problem-practice .nb-doc{max-width:1180px;margin-inline:auto}.problem-practice .nb-canvas{display:block}.material-wrap.practice-active{gap:0;padding:0!important;overflow:hidden}.material-wrap.practice-active>.material-tabs{display:none}.material-wrap.practice-active>.material-pane-actions{display:none}.material-wrap.practice-active>.material-pane,.material-wrap.practice-active>.material-pane>.material-view,.material-wrap.practice-active .problem-practice,.material-wrap.practice-active .problem-practice>.t1{height:100%;min-height:0;overflow:hidden}@media(max-width:720px){.practice-mode,.resource-row .r-subj small{display:none}}.chapter-no{color:var(--ink-3);font-size:11px;letter-spacing:.01em;text-align:left;white-space:nowrap}.chapter-row .lecture-when{justify-content:flex-start}.chapter-row .r-badge{font-size:10px}.chapter-note{max-width:220px;overflow:hidden;color:var(--ink-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.chapter-row .lecture-file{gap:5px}.r-probs{--r-rule: 30px;--r-margin: 74px;display:block;padding:12px 0 28px;border:1px solid #E4DFD4;border-radius:10px;background-color:#fffdf8;background-image:linear-gradient(to right,transparent calc(var(--r-margin) - 1px),#E3B7B0 calc(var(--r-margin) - 1px),#E3B7B0 var(--r-margin),transparent var(--r-margin)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--r-rule) - 1px),#DCE6EF calc(var(--r-rule) - 1px),#DCE6EF var(--r-rule));box-shadow:0 1px 2px #322a1c0f,0 14px 34px -22px #322a1c47}.r-prob{display:grid;grid-template-columns:var(--r-margin) minmax(0,1fr);align-items:start;margin:0;padding:0 18px 0 0;border:0;border-radius:0;background:none;box-shadow:none;cursor:zoom-in;transition:none}.r-prob:hover{transform:none}.r-prob:hover .r-shot{background:#f4f7fb}.r-prob.done{opacity:.5}.r-prob figcaption{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:10px 12px 0 6px;border:0;background:none}.r-prob figcaption .lb{color:#4a4644;font-size:12.5px;font-weight:700}.r-prob figcaption .pg{color:#a29c96;font-size:9.5px}.r-prob .r-noise-delete{color:#b9b2ab}.r-prob:hover .r-noise-delete{color:var(--urgent)}.r-shot{max-height:none;padding:6px 0 10px;background:#fffdf8;transition:background .14s ease}.r-shot img{width:100%;display:block;mix-blend-mode:multiply}@media(max-width:720px){.r-probs{--r-margin: 52px}.r-prob{padding-right:10px}}.mat-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.mat-col{min-width:0;overflow:hidden;border:1px solid var(--line-2);border-radius:10px;background:var(--surface)}.mat-col>header{min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line-2);background:var(--surface-2)}.mat-col>header h2{flex:1;color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:700}.mat-count{color:var(--ink-3);font-family:var(--mono);font-size:11px}.mat-list{display:flex;flex-direction:column}.mat-empty{padding:22px 14px;color:var(--ink-4);font-size:11.5px}.mat-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto 26px;gap:10px;align-items:center;min-height:46px;padding:6px 12px 6px 14px;border-top:1px solid var(--line-2);cursor:pointer;transition:background .12s var(--ease)}.mat-list>.mat-row:first-child{border-top:0}.mat-row:hover{background:color-mix(in srgb,var(--subject-color, var(--accent)) 7%,transparent)}.mat-row:focus-visible{outline:2px solid var(--subject-ink, var(--accent));outline-offset:-2px}.mat-no{color:var(--ink-3);font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.mat-name{min-width:0;overflow:hidden;color:var(--ink);font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.mat-tail{color:var(--ink-4);font-family:var(--mono);font-size:10.5px;white-space:nowrap}.mat-row.is-live .mat-tail{color:var(--subject-ink, var(--accent));animation:mat-live 1.4s ease-in-out infinite}@keyframes mat-live{50%{opacity:.42}}.mat-remove{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;color:var(--ink-4);font-size:12px;opacity:.5;transition:opacity .12s var(--ease),color .12s var(--ease),background .12s var(--ease)}.mat-remove:focus-visible{opacity:1}.mat-remove:hover{color:var(--urgent, #b4443c);background:var(--surface-2)}.mat-add{border:0;border-top:1px solid var(--line-2);border-radius:0}@media(max-width:820px){.mat-split{grid-template-columns:1fr}}.chapter-pick-field{margin-bottom:14px}.chapter-picker{max-width:420px}.chapter-face{min-height:74px;gap:4px}.chapter-face strong{color:var(--ink);font-family:var(--mono);font-size:21px;font-weight:600;letter-spacing:.01em}.chapter-face small{max-width:26ch;overflow:hidden;color:var(--ink-3);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.chapter-pick-note{margin-top:8px;font-size:10.5px;line-height:1.5}.gen-scope-btn{align-self:flex-start;min-height:38px}.gen-scope-note{color:var(--ink-3)}.xseg{--xseg-count: 2;--xseg-at: 0;position:relative;z-index:0;display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(64px,1fr);align-items:stretch;padding:3px;border:1px solid color-mix(in srgb,currentColor 26%,transparent);border-radius:99px;background:color-mix(in srgb,currentColor 7%,transparent);color:inherit}.xseg[hidden]{display:none}.xseg-thumb{position:absolute;z-index:-1;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--xseg-count));border-radius:99px;background:currentColor;transform:translate(calc(100% * var(--xseg-at)));transition:transform .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1)}.xseg-b{position:relative;min-height:34px;padding:0 15px;border:0;border-radius:99px;background:none;color:inherit;font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;opacity:.62;cursor:pointer;transition:opacity .2s var(--ease),color .2s var(--ease)}.xseg-b:hover{opacity:.9}.xseg-b.on{opacity:1;color:var(--paper);font-weight:600}[data-theme=light] .topbar .xseg-b.on{color:#171615}[data-theme=dark] .topbar .xseg-b.on{color:#f3eee4}.xseg-b:focus-visible{outline:2px solid currentColor;outline-offset:2px}.topbar-center{flex:0 0 auto;display:flex;align-items:center;gap:10px}.topbar-center:empty{display:none}@media(prefers-reduced-motion:reduce){.xseg-thumb{transition:none}}@media(max-width:680px){.xseg-b{min-height:32px;padding:0 11px;font-size:11.5px}}.gen-wizard{display:flex;flex-direction:column;gap:14px}.gen-mode{display:flex;flex-direction:column;gap:6px}.gen-mode-caption{color:var(--ink-4);font-size:11px;line-height:1.5}.gen-lead{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:12px;align-items:stretch}.gen-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:104px;padding:14px 10px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink-3);text-align:center;cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease)}.gen-drop:hover,.gen-drop:focus-visible,.gen-drop.over{border-color:var(--ink-3);background:var(--accent-wash);color:var(--ink);outline:none}.gen-drop.busy{border-style:solid;border-color:var(--accent)}.gen-drop .material-symbols-outlined{font-size:26px}.gen-drop strong{color:var(--ink);font-size:13px;font-weight:600}.gen-drop small{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.gen-lead-side{display:flex;flex-direction:column;justify-content:center;gap:7px}.gen-topic{min-height:46px;font-size:14px}.gen-source-note{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:14px;color:var(--ink-4);font-size:10.5px}.gen-source-note span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-source-note strong{flex:0 0 auto;color:var(--ink-2);font-family:var(--mono);font-size:10px}.gen-knobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gen-knob{display:flex;flex-direction:column;gap:6px;min-width:0}.gen-knob>span{color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.gen-seg{display:flex;flex-wrap:wrap;gap:5px}.gen-seg button{min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:99px;color:var(--ink-2);font-size:12px;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease)}.gen-seg button:hover{border-color:var(--ink-3);color:var(--ink)}.gen-seg button.on{border-color:var(--ink);background:var(--ink);color:var(--paper);font-weight:600}.gen-counter{display:inline-flex;align-items:center;gap:2px;align-self:flex-start;border:1px solid var(--line);border-radius:99px}.gen-counter strong{min-width:40px;color:var(--ink);font-family:var(--mono);font-size:14px;text-align:center}.gen-step{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--ink-2);font-size:16px}.gen-step:hover{background:var(--surface-2);color:var(--ink)}.gen-scope-btn[hidden],.gen-sim[hidden]{display:none}.gen-sim-line{display:flex;align-items:center;gap:8px}.gen-sim-line small{flex:0 0 auto;color:var(--ink-4);font-size:10px}.gen-sim-line strong{min-width:26px;color:var(--ink);font-family:var(--mono);font-size:12px;text-align:right}.gen-sim-range{flex:1;height:3px;appearance:none;background:var(--line);border-radius:2px;outline-offset:4px}.gen-sim-range::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--line);cursor:pointer}.gen-sim-range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--line);cursor:pointer}.gen-stages{display:flex;flex-direction:column;gap:5px;padding:2px 0}.gen-stage{display:flex;align-items:center;gap:8px;color:var(--ink-4);font-size:12px}.gen-stage small{margin-left:auto;color:var(--ink-4);font-family:var(--mono);font-size:10.5px;font-variant-numeric:tabular-nums}.gen-stage-dot{width:6px;height:6px;border-radius:50%;background:var(--line);flex:0 0 auto;transition:background .3s var(--ease)}.gen-stage.on{color:var(--ink);font-weight:600}.gen-stage.on .gen-stage-dot{background:var(--accent);animation:gen-stage-pulse 1.2s var(--ease) infinite alternate}.gen-stage.done{color:var(--ink-3)}.gen-stage.done .gen-stage-dot{background:var(--ok, var(--ink-3))}@keyframes gen-stage-pulse{0%{opacity:1}to{opacity:.35}}@media(prefers-reduced-motion:reduce){.gen-stage.on .gen-stage-dot{animation:none}}.gen-detail{border:1px solid var(--line-2);border-radius:12px;background:var(--surface)}.gen-detail>summary{padding:10px 14px;color:var(--ink-3);font-size:12px;cursor:pointer;list-style:none}.gen-detail>summary::-webkit-details-marker{display:none}.gen-detail>summary:before{content:"\25b8  ";color:var(--ink-4)}.gen-detail[open]>summary{border-bottom:1px solid var(--line-2);color:var(--ink-2)}.gen-detail[open]>summary:before{content:"\25be  "}.gen-detail-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px}.gen-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.gen-field{margin:0;min-width:0}.gen-field>label{color:var(--ink-4);font-size:10.5px}.gen-detail-body[data-mode=normal] [data-only=verified],.gen-detail-body[data-mode=verified] [data-only=normal]{display:none}.gen-check{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:12px;cursor:pointer}@media(max-width:620px){.gen-lead,.gen-knobs,.gen-detail-grid{grid-template-columns:1fr}}.track-wrap,.subject-rail,.e-body,.modal-body{scrollbar-gutter:stable}#app.vision-page>.vision-workspace{height:100%;align-self:stretch}.vision-workspace .z-cal>.pbody.tight{display:flex;flex-direction:column}.vision-workspace .z-cal .cal-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.vision-workspace .z-cal .month-cal{flex:1 1 auto;min-height:0}.subject-rail{padding-bottom:12px}@supports (color: oklch(from red clamp(.7,calc(l + .2),.86) min(.2,max(calc(c*1.35),min(calc(c*3),.085))) h)){[data-theme=dark] :is(.rail-item,.vision-workspace .z-cal,.day-subject,.track-wrap){--subject-ink: oklch( from var(--subject-color, var(--accent)) clamp(.7, calc(l + .2) , .86) min(.2, max( calc(c*1.35) , min( calc(c*3) , .085))) h )}}.rail-item{display:block;position:relative}.rail-head{display:flex;align-items:center;gap:5px;padding-right:8px}.rail-head>.rail-subject{width:auto;flex:1 1 0;min-width:0;padding-right:2px}.rail-item>.rail-circuit{width:100%}.subject-rail{gap:8px}.vision-page .rail-subject{min-height:58px;padding:15px 8px 15px 16px;gap:13px}.rail-group{display:flex;flex-direction:column;gap:inherit}.subject-rail>.rail-group{gap:inherit}.subject-rail>.rail-divider{margin-top:14px}.subject-rail>.rail-group:empty{display:none}.rail-name-stack{display:flex;flex-direction:column;gap:3px}.rail-name-stack strong{overflow:hidden;font-size:13.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.rail-name-stack small{color:var(--ink-4);font-size:10px}.rail-item.active .rail-name-stack strong{color:var(--ink)}.rail-circuit{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.rail-item.open>.rail-circuit{max-height:120px}.rail-circuit button{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;text-align:center}.rail-circuit .material-symbols-outlined{font-size:19px}.rail-track-copy{min-width:0;display:flex;flex-direction:column;align-items:center}.rail-track-label{font-size:12.5px;white-space:nowrap}.rail-track-sub{display:none}.vision-page .rail-item{position:relative;transition:background-color .18s var(--ease),border-color .18s var(--ease),transform .12s var(--ease)}.subject-rail,.subject-rail *{-webkit-user-select:none;user-select:none}.subject-rail{-webkit-touch-callout:none}.vision-page :is(.rail-head,.rail-subject,.rail-gear){background:none;-webkit-tap-highlight-color:transparent}.vision-page :is(.rail-subject,.rail-gear):active{background:none}.vision-page .rail-subject:focus{outline:none}.vision-page .rail-subject:focus-visible{outline:2px solid var(--subject-ink);outline-offset:-3px;border-radius:12px}.vision-page .rail-item:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:0 3px 3px 0;background:var(--subject-ink);transform:translateY(-50%);transition:height .2s var(--ease),width .12s var(--ease)}.vision-page .rail-item.active:before{height:26px}.vision-page .rail-item.active{border-color:color-mix(in srgb,var(--subject-ink) 42%,transparent);background-color:color-mix(in srgb,var(--subject-ink) 10%,transparent)}.vision-page .rail-item.active :is(.rail-name,.rail-subject){color:var(--ink)}.vision-page .rail-item:has(.rail-subject:active){background-color:color-mix(in srgb,var(--subject-ink) 17%,transparent);border-color:color-mix(in srgb,var(--subject-ink) 55%,transparent);transform:scale(.99)}.vision-page .rail-item:has(.rail-subject:active):before{width:4px;height:30px}.rail-gear:hover{color:var(--ink);background:color-mix(in srgb,var(--subject-ink) 22%,transparent)}.rail-item.reordering{z-index:2;border-color:var(--subject-ink);background:color-mix(in srgb,var(--subject-ink) 13%,var(--surface));box-shadow:none;opacity:1;cursor:grabbing;transform:none;transition:background-color .12s var(--ease),border-color .12s var(--ease)}.subject-rail.reorder-active .rail-item:not(.reordering){transition:transform .15s cubic-bezier(.2,.8,.2,1)}.subject-rail.reorder-active{cursor:grabbing}.rail-divider{display:flex;align-items:center;gap:8px;margin:9px 4px 2px;color:var(--ink-4);font-family:var(--mono);font-size:8.5px;letter-spacing:.12em}.rail-divider:after{flex:1;height:1px;background:var(--line-2);content:""}.rail-kind-project .rail-dot{width:7px;height:7px;flex:0 0 7px;border-radius:2px;background:var(--subject-ink);box-shadow:none}.rail-item.rail-kind-project.active .rail-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--subject-ink) 22%,transparent)}.rail-gear{display:none;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;color:var(--ink-3);transition:color .16s var(--ease),background .16s var(--ease)}.rail-item.active .rail-gear{display:grid}.rail-gear:hover{color:var(--ink);background:var(--surface-2)}.rail-gear .material-symbols-outlined{font-size:17px}.project-wrap{--project-color: var(--accent);width:min(1180px,100%);margin-inline:auto;display:flex;flex-direction:column;gap:18px}.project-head{display:flex;align-items:center;gap:18px;padding:14px 18px;border:1px solid var(--line-2);border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--project-color) 14%,var(--surface)),var(--surface) 58%)}.project-head-main{flex:1;min-width:0}.project-head-kicker{color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.09em}.project-head-main h1{overflow:hidden;color:var(--ink);font-family:var(--serif);font-size:24px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.project-head-side{display:flex;align-items:center;gap:12px}.project-head-percent{color:var(--ink-3);font-family:var(--mono);font-size:11px}.project-head .project-bar{width:120px}.project-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-design-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface)}.project-design-card header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.project-design-card h2{color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:400}.project-design-card header span{color:var(--ink-4);font-size:10.5px;text-align:right}.project-design-text{min-height:68px;resize:vertical;font-size:13px;line-height:1.65}.project-milestones,.project-build{border:1px solid var(--line-2);border-radius:14px;background:var(--surface)}.project-milestones>header,.project-build>header{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line-2)}.project-milestones h2,.project-build h2{color:var(--ink);font-family:var(--serif);font-size:19px;font-weight:400}.project-milestones>header span,.project-build-summary{color:var(--ink-4);font-family:var(--mono);font-size:10px}.project-build-summary{display:flex;align-items:center;gap:10px}.project-milestone-list{display:flex;flex-direction:column}.project-milestone-list li{display:grid;grid-template-columns:108px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line-2)}.project-milestone-list li:last-child{border-bottom:0}.project-milestone-date{color:var(--ink-3);font-family:var(--mono);font-size:11px}.project-milestone-label{overflow:hidden;color:var(--ink);font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.project-milestone-dday{color:var(--ink-4);font-family:var(--mono);font-size:10.5px}.project-board{display:flex;gap:12px;padding:4px 2px 10px;overflow-x:auto;scroll-snap-type:x proximity}.project-week{width:236px;flex:0 0 236px;display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);scroll-snap-align:center}.project-week>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:10px 12px;border-bottom:1px solid var(--line-2)}.project-week>header strong{flex:1;color:var(--ink);font-size:13.5px}.project-week>header span{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.project-week-count{color:var(--ink-3)!important}.project-week-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}.project-week.past{opacity:.62}.project-week.current{border-color:color-mix(in srgb,var(--project-color) 60%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--project-color) 12%,var(--surface)),var(--surface) 42%);opacity:1}.project-week.current>header strong{color:var(--ink);font-weight:700}.project-week.due{border-color:color-mix(in srgb,var(--urgent) 45%,var(--line))}.project-week.due>header strong{color:var(--urgent)}.project-week.undated{border-style:dashed}.project-task-addbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:5px;margin-top:4px}.project-task-add{min-width:0;padding:6px 9px;font-size:12.5px}.project-task-add-btn{min-height:40px;padding-inline:10px}.project-board-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px 20px}.project-board-empty strong{color:var(--ink);font-size:15px}.project-board-empty span{color:var(--ink-3);font-size:12.5px}.subject-project-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.subject-project-row{--project-color: var(--accent);display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--r);text-align:left}.subject-project-row:hover{background:var(--surface-2)}.subject-project-dot{width:4px;height:16px;border-radius:2px;background:var(--project-color)}.subject-project-name{flex:1;min-width:0;overflow:hidden;color:var(--ink-2);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.subject-project-meta{color:var(--ink-4);font-family:var(--mono);font-size:9.5px;white-space:nowrap}.subject-settings-page.compact{width:min(1040px,100%);padding:24px 28px 40px}.subject-settings-page.compact .subject-settings-layout{grid-template-columns:minmax(0,1fr)}.subject-settings-page.compact .subject-settings-controls{padding:22px 24px;border-radius:14px}.subject-settings-basics{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.45fr);align-items:start;gap:28px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--line-2)}.subject-settings-page.compact .subject-settings-fields{grid-template-columns:1fr;gap:14px;margin-bottom:0}.subject-settings-page.compact .subject-palette-head{margin-bottom:10px}.subject-settings-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.subject-settings-pair .subject-structure-field{margin-bottom:0}.subject-settings-pair .subject-structure-options{grid-template-columns:1fr;gap:7px}.subject-settings-pair .subject-structure-option{min-height:46px}.subject-settings-page.compact .subject-palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 10px}.subject-settings-page.compact .subject-swatch-color{aspect-ratio:1.35}.subject-settings-page.compact .subject-swatch.on .subject-swatch-color{outline-offset:3px}.subject-settings-page.compact .subject-project-list{margin-top:0}.subject-settings-page.compact :is(.input,.block-chip,.subject-project-row,.addline){min-height:44px}.subject-settings-page.compact .block-step{width:44px;height:44px}.subject-settings-page.compact .block-stepper{gap:8px}.subject-settings-page.compact .block-chip{display:inline-flex;align-items:center;padding-inline:14px}.topbar .subject-action{min-height:40px;padding-inline:16px;font-family:var(--sans);font-size:12px;font-weight:650;letter-spacing:0}[data-theme=light] .topbar .top-slot .subject-action.btn-primary{background:#f3eee7;border-color:#f3eee7;color:#171615}[data-theme=dark] .topbar .top-slot .subject-action.btn-primary{background:#302a25;border-color:#302a25;color:#fffaf4}.subject-danger-zone{margin-top:18px;padding-top:10px;border-top:1px solid var(--line-2)}.subject-danger-zone summary{min-height:44px;display:flex;align-items:center;width:fit-content;color:var(--ink-3);font-size:11px;cursor:pointer}.subject-danger-zone>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 2px}.subject-danger-zone p{color:var(--ink-3);font-size:11px}.subject-danger-zone .btn{min-height:44px}.subject-settings-page .subject-swatch.on .subject-swatch-color{outline:3px solid color-mix(in srgb,var(--swatch) 68%,var(--ink));outline-offset:3px;transform:translateY(-2px);box-shadow:inset 0 0 0 2px color-mix(in srgb,white 72%,transparent),0 5px 14px color-mix(in srgb,var(--swatch) 38%,transparent)}.subject-settings-page .subject-swatch-color{position:relative;transition:transform .16s var(--ease),outline-color .16s var(--ease),box-shadow .16s var(--ease)}.subject-settings-page .subject-swatch.on .subject-swatch-color:after{content:"\2713";position:absolute;right:7px;top:7px;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--ink) 84%,transparent);color:var(--surface);font-size:13px;font-weight:800}.subject-settings-page .subject-swatch.on .subject-swatch-copy strong{color:var(--ink);font-weight:750}.subject-settings-page .subject-swatch-color{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 22%,transparent)}.subject-settings-page .subject-swatch-copy{padding-top:2px}.subject-settings-page .subject-swatch-copy strong{color:var(--ink);font-size:11px;font-weight:600}.subject-settings-page .subject-swatch-copy small{color:var(--ink-2);font-size:9.5px}.subject-settings-page .subject-palette-head>span,.subject-settings-page .subject-preview-label,.subject-settings-page .subject-project-meta{color:var(--ink-2)}.subject-settings-page .subject-preview-body>p{color:var(--ink-2)}.subject-settings-page .subject-preview-icon,.subject-settings-page .subject-preview-body>span:nth-of-type(2){color:color-mix(in srgb,var(--preview-color) 58%,var(--ink))}.subject-settings-page .subject-preview-links i{background:color-mix(in srgb,var(--preview-color) 72%,var(--ink))}.subject-swatch.taken .subject-swatch-copy small{color:var(--warn)}@media(max-width:1040px){.subject-settings-page.compact{width:100%}}@media(max-width:720px){.subject-settings-basics{grid-template-columns:1fr;gap:18px}.subject-settings-pair{grid-template-columns:1fr;gap:14px}.subject-settings-page.compact .subject-palette{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.project-design-grid{grid-template-columns:1fr}.project-head{flex-wrap:wrap;gap:10px}.project-head .project-bar{width:90px}.project-milestone-list li{grid-template-columns:88px minmax(0,1fr)}.project-milestone-dday{display:none}}.project-rubric-weeks{display:flex;align-items:baseline;gap:8px}.project-rubric-weeks strong{font-size:13px;font-variant-numeric:tabular-nums}.project-rubric-weeks span{font-size:11px;color:var(--warn, #B4794F);cursor:help}.project-rubric-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.project-rubric-row{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:4px 10px}.project-rubric-head{display:flex;justify-content:space-between;gap:10px;grid-column:1}.project-rubric-name{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.project-rubric-value{flex:none;font-size:11.5px;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink, #1d2321) 52%,transparent)}.project-rubric-bar{grid-column:1;height:5px;border-radius:3px;background:color-mix(in srgb,var(--ink, #1d2321) 8%,transparent);overflow:hidden}.project-rubric-bar i{display:block;height:100%;border-radius:3px;background:var(--project-color, #2E574E)}.project-rubric-time{grid-column:2;grid-row:1 / span 2;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;text-align:right;color:var(--project-color, #2E574E)}.project-rubric-children{grid-column:1;display:grid;gap:1px;margin:2px 0 0;padding:0 0 0 10px;border-left:1px solid var(--line, rgba(0, 0, 0, .1));list-style:none}.project-rubric-children li{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:color-mix(in srgb,var(--ink, #1d2321) 50%,transparent)}.project-rubric-children b{font-variant-numeric:tabular-nums;font-weight:600}.project-rubric-verdict{margin-top:12px;padding:8px 11px;border-radius:7px;background:color-mix(in srgb,var(--ink, #1d2321) 5%,transparent);font-size:12.5px;color:color-mix(in srgb,var(--ink, #1d2321) 62%,transparent)}.project-rubric-verdict.fits{background:color-mix(in srgb,var(--project-color, #2E574E) 9%,transparent);color:color-mix(in srgb,var(--project-color, #2E574E) 80%,var(--ink, #1d2321))}.project-rubric-verdict.over{background:color-mix(in srgb,var(--warn, #B4794F) 12%,transparent);color:color-mix(in srgb,var(--warn, #B4794F) 88%,var(--ink, #1d2321));font-weight:550}.project-rubric-penalty{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line, rgba(0, 0, 0, .12))}.project-rubric-penalty strong{font-size:11px;color:var(--warn, #B4794F)}.project-rubric-penalty ul{margin:3px 0 0;padding:0 0 0 14px}.project-rubric-penalty li{font-size:11.5px;color:color-mix(in srgb,var(--ink, #1d2321) 55%,transparent)}.project-rubric-penalty small{display:block;margin-top:4px;font-size:10.5px;color:color-mix(in srgb,var(--ink, #1d2321) 42%,transparent)}.vision-page .rail-kind-project>.rail-circuit{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vision-page .rail-kind-project>.rail-circuit:before{left:12%;right:12%;border-top-style:solid}.vision-page .rail-kind-project>.rail-circuit button{min-width:0;padding-inline:4px}.vision-page .rail-kind-project .rail-track-copy{width:100%}.vision-page .rail-kind-project .rail-track-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-mode .topbar-left .screen-tag{min-width:0;display:flex;align-items:center}.module-mode .screen-name{flex:0 0 auto}.module-mode .screen-subject{flex:1 1 auto;max-width:min(42vw,40em)}.project-engineering .project-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-collab{min-width:0;overflow:hidden;border:1px solid var(--line-2);border-radius:14px;background:var(--surface)}.project-collab>header{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line-2)}.project-collab>header>div{min-width:0}.project-team>header{flex:0 0 auto}.project-collab h2{color:var(--ink);font-family:var(--serif);font-size:19px;font-weight:400}.project-collab header span{color:var(--ink-3);font-size:11px}.project-collab-empty{padding:20px 16px;color:var(--ink-3);font-size:12.5px;text-align:center}.project-collab-actions{display:flex;align-items:center;flex:0 0 auto;gap:8px}.project-collab-count{color:var(--ink-4);font-family:var(--mono);font-size:9.5px;white-space:nowrap}.project-member-list{display:flex;flex-direction:column;gap:7px;padding:12px 16px 16px}.project-member-row{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(100px,.65fr) minmax(160px,1.2fr) minmax(170px,1fr) minmax(130px,.8fr) 30px;gap:8px;align-items:center}.project-member-row .input{min-width:0}.project-member-row .input.mono{font-family:var(--mono);font-size:12px}.project-member-remove{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--ink-4);font-size:12px;transition:color .14s var(--ease),background .14s var(--ease)}.project-member-remove:hover{background:var(--surface-2);color:var(--urgent)}.project-file-list{padding:4px 16px 14px}.project-file-status{color:var(--ink-3);font-family:var(--mono);font-size:9.5px}.project-file-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto 30px;gap:10px;align-items:center;min-height:44px;border-bottom:1px solid var(--line-2)}.project-file-row:last-child{border-bottom:0}.project-file-row .material-symbols-outlined{color:var(--project-color);font-size:18px}.project-file-name{min-width:0;overflow:hidden;color:var(--ink);font-size:13px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.project-file-name:hover{text-decoration:underline}.project-file-row small{color:var(--ink-3);font-family:var(--mono);font-size:9px;white-space:nowrap}.project-file-fill{color:var(--ink-3);font-size:10.5px;white-space:nowrap}.project-file-fill:hover{color:var(--ink);text-decoration:underline}.project-file-fill[disabled]{opacity:.55;pointer-events:none}.project-file-remove{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--ink-4);font-size:12px}.project-file-remove:hover{background:var(--surface-2);color:var(--urgent)}.project-preview-body{display:flex;min-height:320px;padding:0}.project-preview-image{width:100%;max-height:68vh;object-fit:contain;background:var(--surface-2)}.project-preview-frame{width:100%;height:68vh;border:0;background:var(--surface-2)}.project-preview-text{width:100%;max-height:68vh;margin:0;padding:18px;overflow:auto;color:var(--ink-2);font:12px/1.7 var(--mono);white-space:pre-wrap}.project-brief-review{display:flex;flex-direction:column;gap:14px}.project-brief-row{display:flex;flex-direction:column;gap:6px}.project-brief-row>label{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:12px;cursor:pointer}.project-brief-row>label strong{color:var(--ink);font-size:12.5px;font-weight:600}.project-brief-list{padding-left:26px;color:var(--ink-2);font-size:12px;line-height:1.8;list-style:disc}.project-meeting-list{padding:8px 16px 14px}.project-meeting-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto auto 26px;gap:8px;align-items:center;min-height:48px;border-bottom:1px solid var(--line-2)}.project-meeting-row:last-child{border-bottom:0}.project-meeting-row time{color:var(--ink-3);font-family:var(--mono);font-size:10px}.project-meeting-row>div{min-width:0;display:flex;flex-direction:column}.project-meeting-row strong{color:var(--ink);font-size:13px}.project-meeting-row span{overflow:hidden;color:var(--ink-3);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.project-milestones{min-width:0;overflow:hidden}.project-milestones>header{flex-wrap:nowrap}.project-milestones>header span,.project-milestone-dday{flex:0 0 auto;white-space:nowrap}.project-milestone-list{padding:10px 16px 14px;gap:7px}.project-milestone-list li{display:grid;grid-template-columns:minmax(126px,148px) minmax(0,1fr) 52px 30px;gap:8px;align-items:center;padding:0;border-bottom:0}.project-milestone-list li .input{min-width:0}.project-milestone-date-input{font-family:var(--mono);font-size:12px}.project-milestone-dday{color:var(--ink-4);font-family:var(--mono);font-size:10.5px;text-align:right}.project-manager-body .ms-row{grid-template-columns:minmax(0,1fr) minmax(130px,160px) 28px}.project-manager-body .ms-row .input{min-width:0}.project-submission-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--line-2);border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--project-color) 13%,var(--surface)),var(--surface))}.project-submission-head>div:first-child span{color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.12em}.project-submission-head h1{color:var(--ink);font-family:var(--serif);font-size:25px;font-weight:400}.project-submission-stats{display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:baseline}.project-submission-stats strong{color:var(--ink);font-family:var(--mono);font-size:11px;text-align:right}.project-submission-stats span{color:var(--ink-3);font-size:10.5px}.project-submission-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:14px;align-items:start}.project-submission-review{width:calc(100% - 32px);min-height:220px;margin:16px;resize:vertical;line-height:1.65}.project-report-preview{max-height:62vh;margin:0;padding:18px;overflow:auto;color:var(--ink-2);font:12px/1.75 var(--mono);white-space:pre-wrap}@media(max-width:900px){.project-engineering .project-design-grid,.project-submission-grid{grid-template-columns:1fr}.project-member-row{grid-template-columns:repeat(2,minmax(0,1fr)) 30px}.project-member-row .input:nth-child(3){grid-column:1 / 3}.project-member-row .project-member-remove{grid-column:3;grid-row:1 / 4}.project-meeting-row{grid-template-columns:82px minmax(0,1fr) auto 26px}.project-milestone-list li{grid-template-columns:minmax(120px,140px) minmax(0,1fr) 30px}.project-milestone-list li .project-milestone-dday{display:none}.project-file-row{grid-template-columns:24px minmax(0,1fr) auto 30px}.project-file-row small{display:none}}@media(max-width:560px){.project-submission-head{align-items:flex-start;flex-direction:column}.project-member-row{grid-template-columns:minmax(0,1fr) 30px}.project-member-row .input{grid-column:1}.project-member-row .project-member-remove{grid-column:2;grid-row:1 / 6}.project-collab>header{flex-wrap:wrap}}.sync-chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:20px;background:var(--accent-wash);color:var(--ink-2);font-size:11.5px;font-weight:600;white-space:nowrap}.sync-chip .material-symbols-outlined{font-size:15px}.sync-chip.is-offline{background:var(--warn-wash);color:var(--warn)}.sync-chip[data-state=syncing] .material-symbols-outlined{animation:note-opening-spin 1.1s linear infinite}.note-migration{position:fixed;z-index:55;left:max(16px,env(safe-area-inset-left));bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));padding:9px 13px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--sh);color:var(--ink-2);font-size:12px}.note-opening{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .12s var(--ease, ease)}.note-opening.is-leaving{opacity:0;transition:opacity .18s var(--ease, ease)}.note-opening-card{display:grid;justify-items:center;gap:7px;padding:26px 34px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh);text-align:center}.note-opening-card strong{font-size:14px;font-weight:600;color:var(--ink)}.note-opening-card span:last-child{font-size:12px;color:var(--ink-3)}.note-opening-spinner{width:22px;height:22px;margin-bottom:3px;border:2px solid var(--line);border-top-color:var(--ink-2);border-radius:50%;animation:note-opening-spin .7s linear infinite}@keyframes note-opening-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.note-opening-spinner{animation-duration:2.4s}}.nb-area[data-tool=lasso] .nb-canvas{cursor:crosshair}.t1-note,.t2-right{position:relative;min-height:0;overflow:hidden}.t1-toolbar{position:relative;z-index:18;flex:0 0 auto;min-height:48px;background:var(--surface)}.t1-toolbar:after{content:"";position:absolute;z-index:-1;right:0;bottom:0;left:0;height:1px;background:var(--line-2)}.nb-area{position:relative;z-index:1}.note-page-pull{width:100%;min-height:64px;display:grid;place-items:center;align-content:center;gap:2px;padding:8px;border:0;background:transparent;color:var(--ink-4);font:inherit;opacity:.58;transform:scale(calc(.94 + var(--pull, 0) * .06));transition:opacity .12s ease,color .12s ease,transform .12s ease;touch-action:manipulation}.note-page-pull .material-symbols-outlined{font-size:20px}.note-page-pull strong{font-size:10.5px;font-weight:550}.note-page-pull.is-pulling{opacity:calc(.45 + var(--pull, 0) * .45)}.note-page-pull.is-ready{color:var(--accent);opacity:1}.note-page-pull:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.note-tool-main{gap:1px;transition:width .16s var(--ease),min-width .16s var(--ease),transform .16s var(--ease),background .12s var(--ease)}.note-tool-main.on{width:48px;min-width:48px;transform:scale(1.04)}.note-tool-chevron{width:13px;overflow:hidden;font-size:16px!important}.note-tool-options{position:absolute;z-index:24;top:49px;left:12px;width:min(620px,calc(100% - 24px));display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid var(--line-2);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 16px 42px #1a181529;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.note-tool-options[hidden]{display:none}.note-tool-options-head{display:flex;align-items:center;justify-content:space-between;min-height:25px;color:var(--ink);font-size:12px}.note-tool-close{width:27px;height:27px;border-radius:50%;color:var(--ink-2);font-size:20px;line-height:1}.note-tool-choices,.note-tool-row,.note-tool-swatches,.note-tool-width{display:flex;align-items:center;gap:7px}.note-tool-row{justify-content:space-between;flex-wrap:wrap}.note-tool-option{min-width:118px;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 10px;border:1px solid var(--line-2);border-radius:10px;color:var(--ink-2);text-align:center}.note-tool-option:hover{border-color:var(--line);color:var(--ink)}.note-tool-option.on{border-color:var(--ink-2);background:var(--surface-2);color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.note-tool-option strong{font-size:11.5px;white-space:nowrap}.note-tool-option span{color:var(--ink-3);font-size:9.5px;white-space:nowrap}.note-tool-help{align-self:center;margin-left:4px;color:var(--ink-3);font-size:10px;white-space:nowrap}.note-tool-swatches .pen-color{width:30px;min-width:30px;max-width:30px;height:30px;flex:0 0 30px}.note-tool-width{padding:3px 5px;border:1px solid var(--line);border-radius:10px}.note-tool-slider{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:12px;color:var(--ink-2);font-size:11px}.note-tool-slider input{width:100%;accent-color:var(--accent)}.problem-practice .t1,.problem-practice .t1-note{height:100%;min-height:0;overflow:hidden}.problem-practice .nb-area{touch-action:pan-y;-webkit-overflow-scrolling:touch}@media(max-width:720px){.note-tool-options{left:6px;width:calc(100% - 12px);top:47px}.note-tool-choices{overflow-x:auto}.note-tool-option{min-width:108px}}@media(hover:none),(pointer:coarse){.t1-toolbar{min-height:58px;padding-block:7px}.t1-toolbar :is(.tool-btn,.tool-icon){width:44px;min-width:44px;height:44px;padding:0}.t1-toolbar .note-tool-main.on{width:58px;min-width:58px}.note-tool-close{width:44px;height:44px}.note-tool-option{min-height:52px}.note-tool-swatches .pen-color{width:44px;min-width:44px;max-width:44px;height:44px;flex-basis:44px}.note-tool-width{min-height:44px}}.ec-pending{position:absolute;top:8px;left:8px;z-index:2;padding:1px 7px;border-radius:20px;background:var(--warn-wash);color:var(--warn);font-size:10.5px;font-weight:600}.file-current-stack{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.file-current-stack.none{min-height:42px;flex-direction:row;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink-3)}.file-current-stack .file-current{margin:0}.file-current .file-order{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:var(--ink);color:var(--surface);font-family:var(--mono);font-size:9px}.file-current>button{width:24px;height:24px;flex:0 0 24px;color:var(--ink-3)}.file-current>button:hover{color:var(--urgent)}.lecture-material-hint{margin-bottom:10px}.notice-inline{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;padding:9px 11px;border:1px solid var(--warn-wash);border-radius:var(--r-sm);background:var(--warn-wash);color:var(--ink-2);font-size:12px;line-height:1.45}.notice-inline .material-symbols-outlined{font-size:17px;color:var(--warn);flex-shrink:0}.file-warn{flex-shrink:0;margin-left:6px;padding:1px 6px;border-radius:20px;background:var(--warn-wash);color:var(--warn);font-size:10.5px;font-weight:600}.vision-page .rail-order{display:none;place-items:center;width:26px;height:28px;flex:0 0 26px;border-radius:8px;color:var(--ink-3);cursor:grab;touch-action:none;transition:color .16s var(--ease),background-color .16s var(--ease);-webkit-tap-highlight-color:transparent}.vision-page .rail-item.active:is(.rail-kind-subject,.rail-kind-project) .rail-order{display:grid}.vision-page .rail-order .material-symbols-outlined{font-size:17px}.vision-page .rail-order:hover{color:var(--ink);background:color-mix(in srgb,var(--subject-ink) 18%,transparent)!important}.vision-page .rail-order:active,.vision-page .rail-item.reordering .rail-order{cursor:grabbing}.vision-page :is(.rail-subject,.rail-gear,.rail-order),.vision-page :is(.rail-subject,.rail-gear,.rail-order):active,.vision-page .rail-item.reordering :is(.rail-head,.rail-subject,.rail-gear,.rail-order){background-color:transparent!important;background-image:none!important;box-shadow:none;-webkit-tap-highlight-color:transparent}.vision-page .rail-item.reordering :is(.rail-subject,.rail-name){color:var(--ink)!important;opacity:1!important}.vision-page .subject-rail{padding-inline:6px;margin-inline:-6px}.vision-page .rail-item.reordering{z-index:20;cursor:grabbing;transform:translate3d(0,var(--rail-drag-y, 0px),0) scale(1.012)!important;border-color:color-mix(in srgb,var(--subject-ink) 72%,var(--line))!important;box-shadow:0 11px 28px color-mix(in srgb,var(--subject-ink) 20%,rgba(25,23,20,.2))!important;opacity:1;will-change:transform;transition:border-color .14s var(--ease),box-shadow .14s var(--ease)!important}.vision-page .rail-item.reordering.settling{transform:translateZ(0) scale(1)!important;box-shadow:none!important;transition:transform .18s cubic-bezier(.2,.82,.2,1),box-shadow .18s var(--ease)!important}.vision-page .subject-rail.reorder-active{overflow-x:visible}@media(prefers-reduced-motion:reduce){.vision-page .rail-order{transition:none}.vision-page .rail-item.reordering.settling{transition:none!important}}.topbar-side{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:12px}.topbar-right{justify-content:flex-end}.topbar-left .screen-tag{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-us{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:6px 15px;border:1px solid color-mix(in srgb,currentColor 36%,transparent);border-radius:99px;color:inherit;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;white-space:nowrap;opacity:.82;transition:opacity .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease)}.top-us[hidden]{display:none}.top-us:hover{opacity:1;border-color:currentColor;background:color-mix(in srgb,currentColor 12%,transparent)}.top-us.on{opacity:1;border-color:currentColor;background:color-mix(in srgb,currentColor 18%,transparent)}.top-us.on:after{content:"ON";padding-left:7px;border-left:1px solid color-mix(in srgb,currentColor 30%,transparent);font-size:8px;letter-spacing:.1em}.top-us .material-symbols-outlined{font-size:17px}.us-wrap{display:flex;flex-direction:column;gap:18px}.us-head h1{color:var(--ink);font-family:var(--serif);font-size:26px;font-weight:400}.us-head p{max-width:62ch;margin-top:6px;color:var(--ink-3);font-size:13px;line-height:1.7}.us-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.us-room{--subject-color: var(--accent);display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:108px;padding:14px 16px;border:1px solid var(--line-2);border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--subject-color) 12%,var(--surface)),var(--surface) 62%);text-align:left;transition:border-color .16s var(--ease),transform .16s var(--ease)}.us-room:hover{border-color:color-mix(in srgb,var(--subject-color) 46%,var(--line));transform:translateY(-1px)}.us-room-dot{width:18px;height:3px;border-radius:2px;background:var(--subject-color)}.us-room strong{color:var(--ink);font-size:15px}.us-room-meta{color:var(--ink-3);font-size:11.5px}.us-room-count{margin-top:auto;color:var(--ink-4);font-family:var(--mono);font-size:10px}.us-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.us-col{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:14px;background:var(--surface)}.us-col>header{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line-2)}.us-col h2{color:var(--ink);font-family:var(--serif);font-size:18px;font-weight:400}.us-col>header span{color:var(--ink-4);font-family:var(--mono);font-size:10px}.us-inbox>header{background:linear-gradient(90deg,color-mix(in srgb,var(--subject-color, var(--accent)) 11%,var(--surface)),var(--surface) 58%)}.us-item{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line-2)}.us-item:last-child{border-bottom:0}.us-item-icon{color:var(--ink-4);font-size:19px}.us-item.on .us-item-icon{color:var(--ok)}.us-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.us-item-main strong{overflow:hidden;color:var(--ink);font-size:13.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}button.us-item-main:hover strong{text-decoration:underline}.us-item-have{opacity:.55}.us-have{color:var(--ink-4);font-family:var(--mono);font-size:9.5px;white-space:nowrap}.us-toggle{width:40px;height:23px;flex:0 0 40px;padding:2px;border:1px solid var(--line);border-radius:99px;background:var(--surface-2);transition:background .16s var(--ease),border-color .16s var(--ease)}.us-toggle>span{display:block;width:17px;height:17px;border-radius:50%;background:var(--ink-4);transition:transform .16s var(--ease),background .16s var(--ease)}.us-toggle.on{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 26%,var(--surface-2))}.us-toggle.on>span{background:var(--ok);transform:translate(17px)}.us-toggle[disabled]{opacity:.5;pointer-events:none}.us-item-meta{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.us-preview-head{display:flex;flex-direction:column;gap:3px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}.us-preview-head strong{color:var(--ink);font-family:var(--serif);font-size:18px;font-weight:400}.us-preview-head span{color:var(--ink-4);font-family:var(--mono);font-size:10px}.us-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding-top:14px}.us-preview-problem{display:flex;flex-direction:column;gap:4px}.us-preview-problem img{width:100%;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff}.us-preview-problem figcaption{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.us-preview-items{display:flex;flex-direction:column;gap:12px;padding-top:14px;list-style:decimal inside}.us-preview-items li{padding-bottom:12px;border-bottom:1px solid var(--line-2)}.us-preview-items li:last-child{border-bottom:0}.us-preview-stem{display:inline;color:var(--ink-2);font-size:13px;line-height:1.7}.us-preview-choices{margin-top:6px;padding-left:18px;color:var(--ink-3);font-size:12.5px;list-style:disc}@media(max-width:900px){.us-split{grid-template-columns:1fr}}@media(max-width:780px){.top-us span:not(.material-symbols-outlined){display:none}.top-us{padding:5px 9px}.top-us.on:after{display:none}}.us-vision-page{height:100%;min-height:0;padding:0 34px 24px}.us-workspace{width:min(1800px,100%);height:min(800px,100%);min-height:0;display:grid;grid-template-columns:minmax(230px,286px) minmax(0,1fr);gap:20px;margin:0 auto}.us-subject-rail{min-height:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.us-subject-rail>*{flex:0 0 auto}.us-subject-rail .rail-circuit button.on{color:var(--ink);border-color:color-mix(in srgb,var(--subject-ink) 42%,var(--line-2));background:color-mix(in srgb,var(--subject-ink) 10%,var(--surface))}.us-feed-pane{min-width:0;min-height:0;overflow-y:auto;padding:14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);scrollbar-gutter:stable}.us-feed-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;padding:3px 1px 16px;border-bottom:1px solid var(--line-2)}.us-feed-head h1{color:var(--ink);font-family:var(--serif);font-size:25px;font-weight:500}.us-feed-head p{margin-top:4px;color:var(--ink-3);font-size:12px}.us-feed-head>span{color:var(--ink-4);font-family:var(--mono);font-size:10px;white-space:nowrap}.us-tab-body{min-height:0}.us-flow-note{margin-bottom:13px;padding:10px 12px;border-radius:9px;background:var(--surface-2);color:var(--ink-3);font-size:11px;line-height:1.5}.us-share-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px;padding:13px 14px;border:1px solid var(--line-2);border-radius:11px;background:color-mix(in srgb,var(--subject-color) 7%,var(--surface))}.us-share-intro>div{display:flex;min-width:0;flex-direction:column;gap:3px}.us-share-intro strong{color:var(--ink);font-size:12.5px}.us-share-intro>div span{color:var(--ink-3);font-size:10.5px;line-height:1.5}.us-contribution{flex:0 0 auto;color:var(--ink-2);font-family:var(--mono);font-size:9.5px}.us-content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px 15px;align-items:start}.us-content-card{min-width:0;overflow:hidden;border:1px solid var(--line-2);border-radius:14px;background:var(--surface);transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.us-content-card:hover{border-color:color-mix(in srgb,var(--subject-color) 40%,var(--line));transform:translateY(-2px);box-shadow:0 10px 26px #00000014}.us-own-card.on{border-color:color-mix(in srgb,var(--subject-color) 45%,var(--line))}.us-own-card .us-card-preview{cursor:default}.us-share-value{color:var(--ink-3);font-size:10.5px;line-height:1.5}.us-card-preview{position:relative;width:100%;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 72% 20%,color-mix(in srgb,var(--subject-color) 32%,transparent),transparent 32%),linear-gradient(145deg,color-mix(in srgb,var(--subject-color) 18%,var(--surface-2)),var(--surface-2));color:color-mix(in srgb,var(--subject-color) 68%,var(--ink))}.us-preview-icon{font-size:clamp(42px,6vw,64px);font-variation-settings:"FILL" 1;opacity:.74}.us-preview-size{position:absolute;right:9px;bottom:9px;padding:3px 7px;border-radius:5px;background:#141313c7;color:#fff;font-size:10px}.us-preview-open{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;background:#1413139e;color:#fff;font-size:11px;opacity:0;transition:opacity .16s var(--ease)}.us-preview-open .material-symbols-outlined{font-size:17px}.us-card-preview:hover .us-preview-open,.us-card-preview:focus-visible .us-preview-open{opacity:1}.us-card-body{display:flex;flex-direction:column;gap:11px;padding:13px}.us-card-title-row{display:flex;align-items:flex-start;gap:10px}.us-author-avatar,.us-comment-avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--subject-color) 18%,var(--surface-2));color:var(--ink-2);font-weight:700}.us-author-avatar{width:34px;height:34px;font-size:12px}.us-card-copy{min-width:0}.us-card-copy h2{display:-webkit-box;overflow:hidden;color:var(--ink);font-size:13.5px;line-height:1.45;font-weight:600;-webkit-box-orient:vertical;-webkit-line-clamp:2}.us-card-copy p{margin-top:3px;color:var(--ink-4);font-size:10.5px}.us-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.us-card-meta>span{padding:3px 7px;border-radius:99px;background:var(--surface-2);color:var(--ink-3);font-size:9.5px}.us-card-meta .us-realname-badge{background:color-mix(in srgb,var(--subject-color) 12%,var(--surface-2));color:color-mix(in srgb,var(--subject-color) 68%,var(--ink))}.us-card-actions{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px}.us-card-action{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);font-size:10.5px}.us-card-action:hover{color:var(--ink)}.us-card-action .material-symbols-outlined{font-size:16px}.us-comments{padding:0 13px 13px;border-top:1px solid var(--line-2)}.us-comments[hidden]{display:none}.us-comment-list{max-height:210px;overflow-y:auto;padding-top:5px}.us-comment{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid var(--line-2)}.us-comment-avatar{width:25px;height:25px;font-size:9px}.us-comment>div{min-width:0}.us-comment p{display:flex;align-items:baseline;gap:7px;margin-bottom:2px}.us-comment p strong{color:var(--ink-2);font-size:10.5px}.us-comment time{color:var(--ink-4);font-size:9px}.us-comment>div>span{color:var(--ink-2);font-size:11.5px;line-height:1.5;overflow-wrap:anywhere}.us-comment-empty{padding:13px 2px;color:var(--ink-4);font-size:10.5px}.us-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding-top:10px}.us-comment-form .input{min-height:32px;padding-block:6px;font-size:11px}.us-feed-empty{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-4);text-align:center}.us-feed-empty .material-symbols-outlined{margin-bottom:5px;font-size:38px}.us-feed-empty strong{color:var(--ink-2);font-size:14px}.us-feed-empty span:last-child{max-width:360px;font-size:11.5px;line-height:1.6}.us-empty-term{padding-top:80px}@media(max-width:1100px){.us-vision-page{padding-inline:20px}.us-workspace{grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:14px}}@media(max-width:780px){.us-vision-page{padding:0 12px 18px}.us-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.us-subject-rail{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding-bottom:5px}.us-subject-rail .rail-term{min-width:145px;padding:7px 12px 10px 2px;border-right:1px solid var(--line-2);border-bottom:0}.us-subject-rail .rail-item{min-width:190px}.us-content-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.us-term-head{display:block;flex:0 0 auto;min-height:0;margin-bottom:14px;padding:8px 4px 14px;border-bottom:1px solid var(--line-2)}.us-term-head .rail-term-name{color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.01em}.us-join{margin-top:10px}.us-join strong{font-size:12.5px}.us-archive-title{display:flex;align-items:center;gap:12px;min-width:0}.us-archive-count{flex:0 0 auto;color:var(--ink-4);font-family:var(--mono);font-size:11px;white-space:nowrap}.us-archive-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,180px) minmax(140px,180px);gap:8px;margin-bottom:16px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.us-filter-box{position:relative;display:flex;align-items:center;min-width:0;min-height:42px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);transition:border-color .14s var(--ease),background .14s var(--ease)}.us-filter-box:hover,.us-filter-box:focus-within{border-color:var(--ink-3);background:var(--surface-2)}.us-filter-label{flex:0 0 auto;padding-left:12px;color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.us-filter-select{min-width:0;width:100%;height:40px;padding:0 32px 0 9px;border:0;outline:0;appearance:none;background:transparent;color:var(--ink);font:inherit;font-size:12px;text-overflow:ellipsis;cursor:pointer}.us-filter-arrow{position:absolute;right:9px;color:var(--ink-4);font-size:17px;pointer-events:none}.us-archive-list{display:flex;flex-direction:column;gap:8px}.us-archive-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:64px;padding:10px 14px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface)}.us-archive-row.muted{opacity:.62}.us-archive-icon{color:var(--ink-4);font-size:20px}.us-archive-main{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.us-archive-main strong{overflow:hidden;color:var(--ink);font-size:13.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.us-archive-main span{color:var(--ink-4);font-size:11px}.us-archive-main:hover strong{text-decoration:underline}.us-hype-count{display:inline-flex;align-items:center;gap:3px;color:var(--warn);font-family:var(--mono);font-size:11px}.us-hype-count .material-symbols-outlined{font-size:16px}.us-scope{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:7px 15px;border:1px solid var(--line);border-radius:99px;color:var(--ink-2);font-size:12px;white-space:nowrap;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease)}.us-scope .material-symbols-outlined{font-size:17px}.us-scope:hover:not([disabled]){border-color:var(--ink-3);color:var(--ink)}.us-scope[disabled]{opacity:.45}.us-scope-course{border-color:color-mix(in srgb,var(--ok) 55%,var(--line));background:color-mix(in srgb,var(--ok) 12%,transparent);color:color-mix(in srgb,var(--ok) 70%,var(--ink))}.us-scope-private{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:color-mix(in srgb,var(--warn) 12%,transparent);color:color-mix(in srgb,var(--warn) 70%,var(--ink))}.us-scope-sheet{display:flex;flex-direction:column;gap:14px}.us-scope-options{display:flex;flex-direction:column;gap:8px}.us-scope-option{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 14px;border:1px solid var(--line-2);border-radius:12px;text-align:left;transition:border-color .14s var(--ease),background .14s var(--ease)}.us-scope-option .material-symbols-outlined{color:var(--ink-3);font-size:21px}.us-scope-option strong{display:block;color:var(--ink);font-size:13px}.us-scope-option small{color:var(--ink-4);font-size:11px}.us-scope-option.on{border-color:var(--ink);background:var(--surface-2)}.us-scope-option.on .material-symbols-outlined{color:var(--ink)}.us-people{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow-y:auto}.us-person{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:6px 15px 6px 6px;border:1px solid var(--line);border-radius:99px;color:var(--ink-2);font-size:12.5px}.us-person.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.us-mode-switch{display:flex;flex:0 0 auto;gap:6px}.us-owner{flex:0 0 auto;border-radius:50%}.us-hype{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:5px 14px;border:1px solid var(--line);border-radius:99px;color:var(--ink-3);font-family:var(--mono);font-size:12px;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease)}.us-hype .material-symbols-outlined{font-size:17px}.us-hype:hover{border-color:var(--warn);color:var(--warn)}.us-hype.on{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn);font-weight:700}.vers-avatar{flex:0 0 auto;border-radius:50%;object-fit:cover;background:var(--surface-2)}.vers-avatar-letter{display:inline-grid;place-items:center;color:var(--ink-2);font-weight:700}.profile-card{display:flex;align-items:center;gap:16px}.profile-card-inline{padding:14px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface)}.profile-card-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.profile-card-copy strong{color:var(--ink);font-family:var(--serif);font-size:20px;font-weight:400}.profile-card-copy small{color:var(--warn);font-size:10.5px}.profile-student{color:var(--ink-3);font-family:var(--mono);font-size:11px}.profile-card-copy p{color:var(--ink-2);font-size:12.5px;line-height:1.6}.profile-view{display:flex;flex-direction:column;gap:16px}.profile-link{align-self:flex-start}.profile-editor{display:flex;flex-direction:column;gap:12px}.profile-editor-head{display:flex;align-items:center;gap:16px}.profile-editor-head>div{display:flex;gap:8px}.profile-avatar-slot{flex:0 0 auto}.profile-hint{color:var(--ink-4);font-size:10.5px}.us-section{margin-bottom:16px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface)}.us-section>header{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line-2)}.us-section h2{color:var(--ink);font-family:var(--serif);font-size:18px;font-weight:400}.us-section>header span{color:var(--ink-4);font-family:var(--mono);font-size:10px}.us-project-rate{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto}.us-project-rate strong{color:var(--ink);font-family:var(--mono);font-size:20px}.us-project-rate span{color:var(--ink-4);font-family:var(--mono);font-size:10px}.us-team{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px}.us-member{display:inline-flex;align-items:center;gap:9px;min-height:54px;padding:7px 16px 7px 7px;border:1px solid var(--line-2);border-radius:99px;text-align:left}.us-member:hover{border-color:var(--ink-3);background:var(--surface-2)}.us-member-copy{display:flex;flex-direction:column}.us-member-copy strong{color:var(--ink);font-size:12.5px}.us-member-copy small{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.us-project-brief{display:flex;flex-direction:column;gap:8px;padding:14px 16px;color:var(--ink-2);font-size:13px;line-height:1.7}.us-project-deliverable{color:var(--ink-3);font-size:12px}.us-roadmap{display:flex;flex-direction:column;padding:6px 0}.us-roadmap li{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:48px;padding:8px 16px;border-bottom:1px solid var(--line-2)}.us-roadmap li:last-child{border-bottom:0}.us-roadmap-date{color:var(--ink-3);font-family:var(--mono);font-size:11px}.us-roadmap-label{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.us-roadmap-dday{color:var(--ink-4);font-family:var(--mono);font-size:10.5px}.us-stage-list{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.us-stage{border:1px solid var(--line-2);border-radius:10px}.us-stage>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line-2)}.us-stage>header strong{color:var(--ink);font-size:12.5px}.us-stage>header span{color:var(--ink-4);font-family:var(--mono);font-size:10px}.us-stage ul{padding:8px 12px}.us-stage li{display:flex;align-items:center;gap:8px;min-height:32px;color:var(--ink-2);font-size:12.5px}.us-stage li.done{color:var(--ink-4);text-decoration:line-through}.us-stage-mark{color:var(--ok);font-size:12px}.us-file-list{padding:6px 16px 12px}.us-file-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:44px;border-bottom:1px solid var(--line-2)}.us-file-row:last-child{border-bottom:0}.us-file-row .material-symbols-outlined{color:var(--ink-4);font-size:17px}.us-file-name{overflow:hidden;color:var(--ink);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.us-file-row small{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.us-owner-panel .us-code-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px}.us-code{flex:1 1 170px;padding:11px 16px;border:1px dashed var(--line);border-radius:10px;color:var(--ink);font-family:var(--mono);font-size:19px;letter-spacing:.22em;text-align:center}.us-code-input{min-height:52px;font-family:var(--mono);font-size:20px;letter-spacing:.24em;text-align:center}.us-project-foot{display:flex;justify-content:flex-end;padding-top:4px}@media(max-width:900px){.us-archive-row{grid-template-columns:24px minmax(0,1fr) auto}.us-archive-row .us-hype-count{display:none}.us-roadmap li{grid-template-columns:70px minmax(0,1fr)}.us-roadmap-dday{display:none}}.top-bell{flex:0 0 auto;position:relative;display:grid;place-items:center;width:34px;height:34px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:10px;color:inherit;opacity:.85;transition:opacity .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease)}.top-bell[hidden]{display:none}.top-bell:hover{opacity:1;border-color:currentColor;background:color-mix(in srgb,currentColor 12%,transparent)}.top-bell .material-symbols-outlined{font-size:21px}.top-bell:has(.top-bell-badge:not([hidden])){opacity:1;border-color:color-mix(in srgb,var(--urgent) 70%,transparent)}.top-bell-badge{position:absolute;top:-5px;right:-5px;min-width:18px;padding:0 5px;border-radius:99px;background:var(--urgent);color:#fff;font-family:var(--mono);font-size:10px;font-weight:600;line-height:18px;text-align:center}.top-bell-badge[hidden]{display:none}.note-panel{position:fixed;z-index:60;width:min(360px,calc(100vw - 24px));max-height:min(460px,calc(100vh - 96px));display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--sh);overflow:hidden}.note-panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line-2)}.note-panel>header strong{color:var(--ink);font-family:var(--serif);font-size:16px;font-weight:400}.note-panel>header span{color:var(--ink-4);font-family:var(--mono);font-size:9px}.note-list{min-height:0;overflow-y:auto}.note-section{padding:10px 14px 5px;color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.note-section.urgent{color:var(--urgent)}.note-section.warn{color:var(--warn)}.note-row{--note-color: var(--line);width:100%;display:flex;align-items:center;gap:8px;padding:9px 12px 9px 14px;border-left:3px solid var(--note-color);text-align:left;transition:background .14s var(--ease)}.note-row:hover{background:var(--surface-2)}.note-row>.note-main{flex:1;min-width:0;text-align:left}.note-done,.note-ack{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid var(--line-2);border-radius:8px;color:var(--ink-3);transition:color .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease)}.note-done:hover{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.note-ack:hover{border-color:var(--ink-4);color:var(--ink)}.note-done[disabled]{opacity:.45;pointer-events:none}.note-done .material-symbols-outlined,.note-ack .material-symbols-outlined{font-size:16px}.note-hushed{padding:8px 14px 10px;color:var(--ink-4);font-size:10.5px}.note-dday{flex:0 0 42px;color:var(--ink-3);font-family:var(--mono);font-size:10px;font-variant-numeric:tabular-nums}.note-row.missed{border-left-color:var(--urgent)}.note-row.missed .note-dday{color:var(--urgent);font-weight:600}.note-icon{flex:0 0 20px;color:var(--ink-4);font-size:18px}.note-main{min-width:0;display:flex;flex-direction:column;gap:1px}.note-main strong{overflow:hidden;color:var(--ink);font-size:12.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.note-main span{color:var(--ink-4);font-family:var(--mono);font-size:9px}.subject-rail .rail-term{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:0;margin-bottom:14px;padding:4px 2px 18px}.rail-term-name{padding:2px 0;color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.01em}.rail-term-sync{display:flex;align-items:center;justify-content:space-between;gap:10px}.term-close-summary{display:flex;flex-direction:column;gap:6px;margin:12px 0 16px}.term-close-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line-2);border-radius:var(--r)}.term-close-row.zero{opacity:.5}.term-close-count{flex:0 0 34px;color:var(--ink);font-family:var(--mono);font-size:19px;text-align:right}.term-close-main{min-width:0;display:flex;flex-direction:column;gap:2px}.term-close-main strong{color:var(--ink-2);font-size:13px}.term-close-main small{overflow:hidden;color:var(--ink-4);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.term-close-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);cursor:pointer}.term-close-option span{display:flex;flex-direction:column;gap:2px}.term-close-option strong{color:var(--ink-2);font-size:13px}.term-close-option small{color:var(--ink-4);font-size:10.5px}.settings-modal{width:min(860px,calc(100vw - 32px));max-width:860px!important;overflow:hidden}.settings-modal .modal-head{border-bottom:1px solid var(--line-2)}.settings-modal .modal-foot{border-top:1px solid var(--line-2);padding-top:14px}.settings-modal :is(button,input,select,textarea){font-family:var(--sans);font-weight:500;letter-spacing:-.01em}.settings-body{min-height:min(560px,68vh);display:grid;grid-template-columns:190px minmax(0,1fr);gap:0;padding:0}.settings-nav{display:flex;flex-direction:column;gap:4px;padding:14px 10px;border-right:1px solid var(--line-2);background:color-mix(in srgb,var(--surface-2) 72%,var(--surface))}.settings-nav-item{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:9px;color:var(--ink-3);font-size:13px;text-align:left;transition:background .15s var(--ease),color .15s var(--ease)}.settings-nav-item:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.settings-nav-item.on{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent);font-weight:600}.settings-nav-item .material-symbols-outlined{width:20px;font-size:19px}.settings-content{min-width:0;padding:20px 24px 28px;overflow-y:auto}.settings-section{padding:0;border:0}.settings-section>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.settings-section h3{color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:400}.settings-section>header span{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.settings-section .field+.field{margin-top:14px}.settings-section .field .input+.input{margin-top:7px}.settings-field-action{margin-top:8px}.settings-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.settings-status-grid>div{display:flex;min-width:0;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2)}.settings-status-grid span{color:var(--ink-4);font-size:10px}.settings-status-grid strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.settings-status-grid strong.ok{color:var(--ok)}.settings-status-grid strong.err{color:var(--urgent)}.settings-callout{margin-top:10px;padding:13px 14px;border:1px solid var(--line-2);border-radius:10px}.settings-callout strong{color:var(--ink);font-size:12px}.settings-callout p{margin-top:4px;color:var(--ink-3);font-size:11px;line-height:1.65}@media(max-width:650px){.settings-modal{width:min(96vw,620px)}.settings-body{min-height:min(590px,72vh);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.settings-nav{flex-direction:row;overflow-x:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line-2)}.settings-nav-item{width:auto;flex:0 0 auto;min-height:36px}.settings-content{padding:18px}}.ai-usage table{width:100%;margin-top:6px;border-collapse:collapse;font-variant-numeric:tabular-nums}.ai-usage td{padding:3px 0;font-size:11.5px;color:var(--ink-2)}.ai-usage td:first-child{width:40%;color:var(--ink-3)}.ai-usage td:not(:first-child){text-align:right;padding-left:10px}.ai-usage tr.ai-usage-total td{padding-top:6px;border-top:1px solid var(--line-2);color:var(--ink);font-weight:600}.ai-usage p{margin-top:5px;color:var(--ink-4);font-size:10.5px}.celebrate-layer{position:fixed;inset:0;z-index:9000;pointer-events:none;overflow:hidden}.celebrate-burst{--celebrate-source: var(--ok, #3f7d58);--celebrate-color: var(--celebrate-source);position:absolute;width:0;height:0}@supports (color: oklch(from red clamp(.55,calc(l + .1),.78) min(.24,max(calc(c*1.5),min(calc(c*3),.12))) h)){.celebrate-burst{--celebrate-color: oklch( from var(--celebrate-source) clamp(.55, calc(l + .1) , .78) min(.24, max( calc(c*1.5) , min( calc(c*3) , .12))) h )}[data-theme=dark] .celebrate-burst{--celebrate-color: oklch( from var(--celebrate-source) clamp(.7, calc(l + .2) , .88) min(.24, max( calc(c*1.5) , min( calc(c*3) , .12))) h )}}.celebrate-ring{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid var(--celebrate-color);border-radius:50%;animation:celebrate-ring .52s cubic-bezier(.2,.8,.3,1) forwards}@keyframes celebrate-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(3.4)}}.celebrate-burst i{position:absolute;left:0;top:0;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:2px;background:var(--celebrate-color);animation:celebrate-fly .72s cubic-bezier(.16,.9,.3,1) forwards}.celebrate-burst i:nth-child(3n){background:color-mix(in srgb,var(--celebrate-color) 55%,#ffffff)}.celebrate-burst i:nth-child(4n){background:color-mix(in srgb,var(--celebrate-color) 70%,#f6c445)}.celebrate-burst i:nth-child(5n){border-radius:50%}@keyframes celebrate-fly{0%{opacity:1;transform:translate(0) scale(1) rotate(0)}70%{opacity:1}to{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 26px)) scale(.4) rotate(var(--spin))}}.just-done{animation:celebrate-pop .42s cubic-bezier(.2,1.5,.4,1)}@keyframes celebrate-pop{0%{transform:scale(1)}38%{transform:scale(1.35)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.celebrate-layer{display:none}.just-done{animation:none}}.celebrate-burst.is-big i{animation-duration:var(--celebrate-life, 1.18s)}.celebrate-burst.is-big i:nth-child(2n){width:9px;height:9px}.celebrate-burst.is-big .celebrate-ring{animation-duration:.82s;border-width:3px}.celebrate-flash{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--celebrate-source, #2E574E) 22%,transparent) 0%,transparent 62%);animation:celebrate-flash 1.18s ease-out forwards}@keyframes celebrate-flash{0%{opacity:0}14%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.celebrate-flash{display:none}}.exam-date-list{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line, rgba(0, 0, 0, .08))}.exam-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2, #5b6360)}.exam-date-row>span{white-space:nowrap}.exam-date-input{width:auto;min-width:0;padding:5px 8px;font-size:12.5px;font-variant-numeric:tabular-nums}.exam-date-input:not([value]):not(:focus),.exam-date-input[value=""]:not(:focus){opacity:.62}.cell.exam-day{background:linear-gradient(to right,color-mix(in srgb,var(--exam-color) 26%,transparent) 0 3px,transparent 3px),color-mix(in srgb,var(--exam-color) 7%,transparent)}.cell.exam-day .dn-day{color:color-mix(in srgb,var(--exam-color) 78%,var(--ink, #1d2321));font-weight:700}.ev-exam{display:block;overflow:hidden;padding:2px 6px;border:1px solid color-mix(in srgb,var(--exam-color, #B4443C) 52%,transparent);border-radius:5px;background:color-mix(in srgb,var(--exam-color, #B4443C) 15%,transparent);color:color-mix(in srgb,var(--exam-color, #B4443C) 82%,var(--ink, #1d2321));font-size:11px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}.subject-card-exam{font-variant-numeric:tabular-nums;letter-spacing:-.01em}@media(prefers-color-scheme:dark){.cell.exam-day .dn-day{color:color-mix(in srgb,var(--exam-color) 62%,#f2f4f3)}.ev-exam{color:color-mix(in srgb,var(--exam-color, #B4443C) 55%,#f2f4f3)}}.ev-exam.clearable{cursor:pointer}.ev-exam.cleared{border-style:dashed;border-color:color-mix(in srgb,var(--ink, #1d2321) 18%,transparent);background:none;color:color-mix(in srgb,var(--ink, #1d2321) 42%,transparent);font-weight:500;text-decoration:line-through;text-decoration-thickness:1px}.ptl{--ptl-color: #8B9A8C;--ptl-line: color-mix(in srgb, var(--ink) 14%, transparent);margin:0 0 18px}.ptl-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--ptl-line)}.ptl-kicker{color:var(--ink-4);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.ptl-range{display:inline-flex;align-items:baseline;gap:8px;color:var(--ink-4);font-family:var(--mono);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.06em}.ptl-range b{color:var(--ink-3);font-weight:500}.ptl-board{position:relative;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ptl-board::-webkit-scrollbar{display:none;width:0;height:0}.ptl-wires{position:absolute;inset:0;pointer-events:none}.ptl-wire{fill:none;stroke:var(--ptl-line);stroke-width:1}.ptl-wire.is-need{stroke:color-mix(in srgb,var(--ptl-color) 60%,transparent);stroke-width:1.5}.ptl-wire.is-merge{stroke-dasharray:3 4}.ptl-wire.is-passed{stroke:color-mix(in srgb,var(--ptl-color) 50%,transparent)}.ptl-grid{--ptl-lanes: 1;position:relative;display:grid;grid-template-columns:repeat(var(--ptl-lanes),minmax(0,1fr));align-items:start;gap:26px 10px;padding:18px 0 6px}.ptl-lane-name{padding-bottom:4px;border-bottom:1px solid var(--ptl-line);color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-align:center}.ptl-lane-name.is-self{color:var(--ptl-color);font-weight:700}.ptl-view-modes{display:inline-flex;gap:3px;margin-left:auto;padding:2px;border:1px solid var(--ptl-line);border-radius:8px}.ptl-view-modes button{min-height:28px;padding:0 9px;border-radius:6px;color:var(--ink-4);font-size:10px}.ptl-view-modes button.on{background:color-mix(in srgb,var(--ptl-color) 12%,transparent);color:var(--ink)}.ptl-node{position:relative;z-index:1;display:grid;justify-items:center;gap:3px;padding:0 6px 4px;border:0;background:none;text-align:center;font:inherit;color:inherit;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.ptl-mark{position:relative;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:var(--r-xs, 2px);background:var(--paper);transition:transform .16s var(--ease, ease),box-shadow .16s var(--ease, ease)}.ptl-mark .material-symbols-outlined{font-size:21px}.ptl-emoji{font-size:23px;line-height:1}.ptl-node.is-finish .ptl-mark{border:1px solid color-mix(in srgb,var(--ptl-color) 50%,transparent);background:color-mix(in srgb,var(--ptl-color) 12%,var(--paper))}.ptl-node.is-mine .ptl-title{color:var(--ink);font-weight:700}.ptl-board.is-mine-view .ptl-node:not(.is-mine):not(.is-finish){opacity:.16}.ptl-board.is-mine-view .ptl-lane-name:not(.is-self){opacity:.22}button.ptl-node:active .ptl-mark{transform:scale(.94)}.ptl-node.is-done .ptl-mark{border:1px solid color-mix(in srgb,var(--ptl-color) 34%,transparent);background:color-mix(in srgb,var(--ptl-color) 10%,var(--paper));color:var(--ptl-color)}.ptl-node.is-now .ptl-mark{border:1px solid transparent;background:var(--ptl-color);color:var(--ptl-ink, #151414);box-shadow:0 4px 14px color-mix(in srgb,var(--ptl-color) 26%,transparent)}.ptl-node.is-ahead .ptl-mark{border:1px dashed color-mix(in srgb,var(--ink) 24%,transparent);color:var(--ink-4)}.ptl-node.is-blocked .ptl-mark{border:1px dashed color-mix(in srgb,var(--warn) 55%,transparent);color:var(--warn)}.ptl-node.is-held .ptl-mark{border:1px solid var(--warn);background:var(--warn-wash);color:var(--warn)}.ptl-node.is-skipped .ptl-mark{border:1px dashed var(--line);color:var(--ink-4)}.ptl-date{color:var(--ink-4);font-family:var(--mono);font-size:9.5px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.ptl-title{max-width:100%;color:var(--ink-2);font-size:12px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.ptl-node.is-now .ptl-title{color:var(--ink)}.ptl-node.is-skipped .ptl-title{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.ptl-kind,.ptl-caption,.ptl-blocked{color:var(--ink-4);font-family:var(--mono);font-size:8.5px;letter-spacing:.06em}.ptl-blocked{color:var(--warn)}.ptl-node.is-picked .ptl-mark{box-shadow:0 0 0 3px color-mix(in srgb,var(--ptl-color) 24%,transparent)}.ptl-action{display:flex;justify-content:flex-end;padding-top:6px}@media(hover:none),(pointer:coarse){.ptl-mark{width:48px;height:48px}.ptl-grid{gap:30px 10px}}@media(max-width:720px){.ptl-mark{width:40px;height:40px}.ptl-title{font-size:11.5px}}@media(prefers-reduced-motion:reduce){.ptl-mark{transition:none}}.schedule-intake{display:grid;gap:12px}.si-progress{display:grid;gap:7px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent, #2E574E) 28%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent, #2E574E) 6%,transparent)}.si-progress[hidden]{display:none}.si-progress-copy{display:flex;justify-content:space-between;gap:12px;color:var(--ink);font-size:11.5px}.si-progress-copy b{color:var(--accent);font:10px var(--mono)}.si-progress-track{height:6px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--ink) 9%,transparent)}.si-progress-fill{position:relative;display:block;width:0;height:100%;overflow:hidden;border-radius:inherit;background:var(--accent);transition:width .28s ease}.si-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,#fff 55%,transparent),transparent);transform:translate(-100%);animation:si-progress-shine 1.5s ease-in-out infinite}@keyframes si-progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.si-progress-fill:after{animation:none}}.si-status:empty{display:none}.si-status{padding:7px 10px;border-radius:7px;background:color-mix(in srgb,var(--ink, #1d2321) 5%,transparent);font-size:12.5px;color:color-mix(in srgb,var(--ink, #1d2321) 62%,transparent)}.si-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.si-source{display:grid;justify-items:center;gap:2px;padding:14px 8px;border:1px solid var(--line, rgba(0, 0, 0, .1));border-radius:9px;background:var(--paper, #fdfcfa);cursor:pointer;font:inherit;color:inherit;text-align:center;transition:border-color .14s ease,transform .14s ease}.si-source:hover:not(:disabled){border-color:var(--accent, #2E574E);transform:translateY(-1px)}.si-source:disabled{opacity:.42;cursor:not-allowed}.si-source .material-symbols-outlined{font-size:22px;color:var(--accent, #2E574E)}.si-source strong{font-size:13px;font-weight:600}.si-source small{font-size:11px;color:color-mix(in srgb,var(--ink, #1d2321) 48%,transparent)}.si-paste{width:100%;resize:vertical;font-size:13px;line-height:1.6}.si-back{display:flex}.si-list{display:grid;gap:4px;max-height:46vh;overflow-y:auto}.si-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--line, rgba(0, 0, 0, .09));border-radius:7px;background:var(--paper, #fdfcfa);cursor:pointer;font:inherit;color:inherit;text-align:left}.si-row:hover{border-color:var(--accent, #2E574E)}.si-row-name{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.si-row-meta{flex:none;font-size:11px;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink, #1d2321) 45%,transparent)}.si-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line, rgba(0, 0, 0, .1))}.si-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.si-summary span{flex:none;font-size:11.5px;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink, #1d2321) 50%,transparent)}.si-review{display:grid;gap:4px;max-height:46vh;overflow-y:auto}.si-conflict-block,.si-fields{display:grid;gap:8px}.si-block-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.si-block-title strong{font-size:13px}.si-block-title span{color:color-mix(in srgb,var(--ink, #1d2321) 50%,transparent);font-size:11px}.si-conflict{padding:10px 11px;border:1px solid color-mix(in srgb,var(--warn, #B4794F) 48%,transparent);border-radius:9px;background:color-mix(in srgb,var(--warn, #B4794F) 7%,transparent)}.si-conflict header,.si-field header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.si-conflict header strong,.si-field header strong{font-size:12px}.si-conflict header span,.si-field header span{color:var(--warn, #B4794F);font-size:10.5px}.si-choices{display:grid;gap:5px}.si-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--line, rgba(0, 0, 0, .09));border-radius:7px;background:var(--paper, #fdfcfa);cursor:pointer}.si-choice>span{display:grid;min-width:0}.si-choice strong{overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.si-choice small{color:color-mix(in srgb,var(--ink, #1d2321) 48%,transparent);font-size:10.5px}.si-choice b{font-size:12.5px;font-variant-numeric:tabular-nums}.si-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.si-fields .si-block-title{grid-column:1 / -1}.si-field{min-width:0;padding:10px 11px;border:1px solid var(--line, rgba(0, 0, 0, .09));border-radius:9px}.si-field.is-conflict{border-color:color-mix(in srgb,var(--warn, #B4794F) 42%,transparent)}.si-field-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:7px;padding:6px 0;cursor:pointer}.si-field-choice+.si-field-choice{border-top:1px dashed var(--line, rgba(0, 0, 0, .09))}.si-field-choice span{min-width:0}.si-field-choice small{color:color-mix(in srgb,var(--ink, #1d2321) 48%,transparent);font-size:10px}.si-field-choice p{display:-webkit-box;overflow:hidden;margin:2px 0 0;font-size:11.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.si-member-note{margin:0;padding:8px 10px;border-radius:7px;background:color-mix(in srgb,var(--accent, #2E574E) 8%,transparent);color:color-mix(in srgb,var(--ink, #1d2321) 70%,transparent);font-size:11.5px}.si-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line, rgba(0, 0, 0, .09));border-radius:7px;cursor:pointer}.si-item-tag{padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--ink, #1d2321) 7%,transparent);font-size:10.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;color:color-mix(in srgb,var(--ink, #1d2321) 58%,transparent)}.si-item-body{display:grid;gap:1px;min-width:0}.si-item-body strong{overflow:hidden;font-size:13px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.si-item-body small{font-size:11px;color:color-mix(in srgb,var(--ink, #1d2321) 45%,transparent)}.si-item-date{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.si-item-date s{font-size:11.5px;color:color-mix(in srgb,var(--ink, #1d2321) 38%,transparent)}.si-item-date b{font-size:13px;font-weight:650}.si-item-date em{font-size:10px;font-style:normal;color:var(--warn, #B4794F);cursor:help}.si-item.is-changed{border-color:color-mix(in srgb,var(--warn, #B4794F) 45%,transparent);background:color-mix(in srgb,var(--warn, #B4794F) 7%,transparent)}.si-item.is-changed .si-item-tag{background:color-mix(in srgb,var(--warn, #B4794F) 20%,transparent);color:color-mix(in srgb,var(--warn, #B4794F) 88%,var(--ink, #1d2321))}.si-item.is-same{opacity:.58}.si-item.is-unknown{border-style:dashed}.si-item.is-unknown .si-item-date b{color:color-mix(in srgb,var(--ink, #1d2321) 40%,transparent)}.si-item.is-hand{border-style:solid;border-color:color-mix(in srgb,var(--accent, #2E574E) 45%,transparent)}.si-item.is-hand .si-item-tag{background:color-mix(in srgb,var(--accent, #2E574E) 16%,transparent);color:var(--accent, #2E574E)}.si-item-fix{grid-column:1 / -1;width:100%;max-width:190px;margin-left:30px;font-size:12px}.si-item-fix[hidden]{display:none}@media(max-width:640px){.si-sources{grid-template-columns:1fr}.si-item{grid-template-columns:auto minmax(0,1fr) auto}.si-item-tag{grid-row:1}.si-fields{grid-template-columns:1fr}.si-block-title{align-items:flex-start;flex-direction:column;gap:2px}.si-choice{grid-template-columns:auto minmax(0,1fr)}.si-choice b{grid-column:2}}.si-rubric{padding:10px 12px;border:1px solid var(--line, rgba(0, 0, 0, .1));border-radius:8px}.si-rubric header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}.si-rubric header strong{font-size:12.5px}.si-rubric header span{font-size:11px;color:color-mix(in srgb,var(--ink, #1d2321) 48%,transparent)}.si-rubric ul{display:grid;gap:3px;margin:0;padding:0;list-style:none}.si-rubric li{display:flex;justify-content:space-between;gap:10px;font-size:12px}.si-rubric-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.si-rubric-value{flex:none;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink, #1d2321) 60%,transparent)}.si-rubric-penalty{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line, rgba(0, 0, 0, .12))}.si-rubric-penalty strong{font-size:11px;color:var(--warn, #B4794F)}.si-rubric-penalty li{display:block;font-size:11.5px;color:color-mix(in srgb,var(--ink, #1d2321) 55%,transparent)}.si-rubric-conflict{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--warn, #B4794F) 48%,transparent);border-radius:9px;background:color-mix(in srgb,var(--warn, #B4794F) 7%,transparent)}.si-rubric-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;cursor:pointer}.si-rubric-choice>input{margin-top:14px}.si-rubric-choice .si-rubric{min-width:0;background:var(--paper, #fdfcfa)}.si-spec-preview{display:grid;gap:3px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line-2));border-radius:11px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.si-spec-preview strong{color:var(--ink);font-size:12.5px}.si-spec-preview span{color:var(--ink-2);font-size:11.5px}.si-spec-preview small{color:var(--ink-4);font-size:10.5px;line-height:1.45}.design-draft,.design-final{display:flex;flex-direction:column;gap:14px}.design-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:12px 14px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface)}.design-flow-step{position:relative;min-width:0;display:flex;align-items:center;gap:8px;color:var(--ink-4)}.design-flow-step:not(:last-child):after{content:"";position:absolute;left:32px;right:8px;bottom:-5px;height:1px;background:var(--line-2)}.design-flow-step>span{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;font:10px var(--mono)}.design-flow-step strong{overflow:hidden;font-size:11.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.design-flow-step.is-done{color:var(--project-color, var(--accent))}.design-flow-step.is-done>span{border-color:currentColor;background:color-mix(in srgb,currentColor 10%,transparent)}.design-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.design-pair>*{min-width:0;display:flex;flex-direction:column}.design-pair>*>:last-child{flex:1}.btn.needs-input{border-style:dashed;color:var(--ink-3)}.btn.needs-input:hover{border-style:solid;color:var(--ink)}.project-collab-title{min-width:0}.project-collab-heading{min-width:0;display:flex;align-items:center;gap:4px}.term-hint{position:relative;flex:0 0 auto;width:24px;height:24px;padding:0;display:grid;place-items:center;border:0;background:none;color:var(--ink-4);font-family:var(--mono);font-size:10px;line-height:1}.term-hint:before{content:"";position:absolute;inset:3px;border:1px solid var(--line-2);border-radius:50%}.term-hint:hover,.term-hint[aria-expanded=true]{color:var(--ink)}.term-hint:hover:before,.term-hint[aria-expanded=true]:before{border-color:var(--ink-3)}.project-spec-section h3 .term-hint{display:inline-grid;vertical-align:middle;margin-left:2px}.term-bubble{position:fixed;z-index:48;padding:13px 15px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 14px 36px #0000004d;animation:fade .12s var(--ease)}.term-bubble strong{display:block;margin-bottom:5px;color:var(--ink);font-size:13px}.term-bubble p{color:var(--ink-2);font-size:12px;line-height:1.6}.term-bubble .term-bubble-detail{margin-top:6px;color:var(--ink-3);font-size:11.5px}.term-bubble code{display:block;margin-top:9px;padding:7px 9px;border-radius:8px;background:var(--surface-2);color:var(--ink-3);font-family:var(--mono);font-size:10.5px;line-height:1.55}.design-empty-guide{display:grid;justify-items:center;gap:11px;padding:18px 16px 20px;text-align:center}.design-empty-guide>p{max-width:40em;color:var(--ink-3);font-size:12.5px;line-height:1.65}.design-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.project-collab-actions[hidden],.btn[hidden]{display:none}.design-empty-actions .btn{min-height:38px;padding-inline:13px}.design-empty-actions .btn-primary{min-height:44px;padding-inline:18px}.design-file-list{padding:12px 16px 16px;display:grid;gap:6px}.design-drops{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.design-drop{width:100%;display:grid;justify-items:center;gap:3px;padding:26px 16px;border:1px dashed var(--line-2);border-radius:10px;background:none;color:inherit;font:inherit;text-align:center;cursor:pointer;transition:border-color .14s ease,background .14s ease}.design-drop:hover{border-color:var(--project-color, var(--accent));background:color-mix(in srgb,var(--project-color, var(--accent)) 5%,transparent)}.design-file-card.is-dropping{border-color:var(--project-color, var(--accent));background:color-mix(in srgb,var(--project-color, var(--accent)) 7%,transparent)}.design-file-card:focus-visible{outline:2px solid var(--project-color, var(--accent));outline-offset:2px}.design-drop .material-symbols-outlined{font-size:26px;color:var(--ink-4)}.design-drop strong{font-size:13px}.design-drop small{color:var(--ink-4);font-size:11px}.design-drop-empty{width:100%;min-height:132px;display:grid;justify-items:center;align-content:center;gap:5px;padding:28px 16px;border:1.5px dashed color-mix(in srgb,var(--project-color, var(--accent)) 44%,var(--line-2));border-radius:12px;background:color-mix(in srgb,var(--project-color, var(--accent)) 5%,transparent);color:inherit;font:inherit;text-align:center;cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease)}.design-drop-empty:hover{border-color:var(--project-color, var(--accent));background:color-mix(in srgb,var(--project-color, var(--accent)) 10%,transparent)}.design-drop-empty .material-symbols-outlined{font-size:30px;color:var(--project-color, var(--accent))}.design-drop-empty strong{color:var(--ink);font-size:14.5px}.design-drop-empty small{color:var(--ink-3);font-size:11.5px}.design-drop-block{display:grid;gap:8px}.design-drop-more{display:flex;justify-content:center;gap:6px}.design-drop-more .btn{min-height:40px}.design-file-actions{flex-wrap:wrap;justify-content:flex-end}.design-add-btn{min-width:76px;white-space:nowrap}.design-add-options{display:grid;gap:8px}.design-add-option{min-height:62px;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--line-2);border-radius:11px;background:var(--surface);color:var(--ink);text-align:left}.design-add-option:hover{border-color:var(--ink-3);background:var(--surface-2)}.design-add-option>.material-symbols-outlined:first-child{font-size:21px;color:var(--accent)}.design-add-option>.material-symbols-outlined:last-child{font-size:18px;color:var(--ink-4)}.design-add-option strong,.design-add-option small{display:block}.design-add-option strong{font-size:12.5px}.design-add-option small{margin-top:2px;color:var(--ink-4);font-size:10.5px}.design-guide{display:flex;flex-direction:column;gap:20px}.design-guide-steps{display:grid;gap:11px;margin:0;padding:0;list-style:none}.design-guide-steps li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:11px;align-items:start}.design-guide-num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-family:var(--mono);font-size:11px}.design-guide-steps strong{display:block;margin-bottom:2px;color:var(--ink);font-size:13px}.design-guide-steps p{color:var(--ink-3);font-size:12px;line-height:1.6}.design-guide-section{padding-top:16px;border-top:1px solid var(--line-2)}.design-guide-section h4{color:var(--ink);font-family:var(--serif);font-size:16px;font-weight:400}.design-guide-hint{margin:3px 0 11px;color:var(--ink-3);font-size:11.5px;line-height:1.55}.design-guide-milestones{display:grid;gap:6px;margin:0;padding:0;list-style:none}.design-guide-milestones li{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:11px;align-items:center;padding:8px 12px;border:1px solid var(--line-2);border-radius:9px}.design-guide-milestones .mono{color:var(--ink-4);font-family:var(--mono);font-size:11px}.design-guide-milestones strong{color:var(--ink-2);font-size:12.5px;font-weight:500}.design-guide-milestones em{color:var(--ink-4);font-size:10.5px;font-style:normal}.design-guide-facts{display:grid;gap:12px}.design-guide-facts span{display:block;margin-bottom:3px;color:var(--ink-4);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.design-guide-facts p{color:var(--ink-2);font-size:12.5px;line-height:1.6}.design-guide-blocks{display:grid;gap:8px}.design-guide-blocks article{padding:11px 13px;border:1px solid var(--line-2);border-radius:10px}.design-guide-blocks header{display:flex;align-items:baseline;gap:9px}.design-guide-blocks .mono{color:var(--ink-4);font-family:var(--mono);font-size:10px}.design-guide-blocks strong{color:var(--ink);font-size:13px}.design-guide-blocks small{display:block;margin:4px 0 5px;color:var(--ink-4);font-size:10.5px}.design-guide-blocks p{color:var(--ink-3);font-size:11.5px;line-height:1.55}.design-guide-tail{color:var(--ink-4);font-size:11px;text-align:center}.design-paste-area{width:100%;min-height:240px;padding:12px 13px;font-size:13px;line-height:1.55;resize:vertical}.design-paste-note{margin:8px 0 0;color:var(--ink-4);font-size:11.5px}.design-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto 30px;align-items:center;gap:9px}.design-file .material-symbols-outlined{font-size:18px;color:var(--ink-3)}.design-file-name{overflow:hidden;color:var(--ink);font-size:13px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.design-file-name:hover{text-decoration:underline}.design-file button.design-file-name{min-width:0;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:text}.design-file.is-editable:after{content:"\c218\c815";color:var(--ink-4);font:9px var(--mono)}.design-file small{color:var(--ink-4);font-family:var(--mono);font-size:10.5px}.design-extract-btn{display:inline-flex;align-items:center;gap:5px}.design-extract-btn .material-symbols-outlined{font-size:16px}.design-master-body{padding:14px 16px 16px}.design-master-area{width:100%;min-height:112px;line-height:1.65;resize:vertical}.design-master-body p{margin:7px 1px 0;color:var(--ink-4);font-size:11px;line-height:1.5}.design-master-status{color:var(--ink-4);font-family:var(--mono);font-size:10px;white-space:nowrap}.design-member-add{min-width:70px;white-space:nowrap}.design-milestone-list{display:grid;gap:6px;margin:0;padding:12px 16px 16px;list-style:none}.design-milestone-list>li{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr) 82px 22px 30px;align-items:center;gap:8px}.design-milestone-kind{min-width:0;padding-inline:8px;font-size:12px}.design-milestones>header>div:first-child{flex:1 1 auto}.design-milestone-read{white-space:nowrap}.design-milestone-list .input{min-width:0}.design-milestone-origin{color:var(--ink-4);font-size:11px;text-align:center;cursor:help}.design-milestone-list li.from-source .design-milestone-origin{color:var(--project-color, var(--accent))}.design-member-list{display:grid;gap:8px;padding:12px 16px 16px}.design-member-main{display:grid;grid-template-columns:26px minmax(0,1fr) auto 30px 30px;align-items:end;gap:6px}.design-member-fields{min-width:0;display:grid;grid-template-columns:minmax(90px,160px) minmax(0,1fr);gap:8px}.design-member-fields label{min-width:0;display:grid;gap:3px}.design-member-fields label>span{color:var(--ink-4);font-size:10px}.design-member-lock{width:30px;color:var(--ink-4);font:9px var(--mono);text-align:center}.design-member-lead{align-self:end;margin-bottom:4px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:var(--surface);color:var(--ink-4);font-size:14px;line-height:1;transition:transform .18s var(--ease, ease),background .18s var(--ease, ease),color .18s var(--ease, ease),border-color .18s var(--ease, ease),box-shadow .18s var(--ease, ease)}.design-member-lead:hover{border-color:var(--ink-3);color:var(--ink-2)}.design-member.is-leader .design-member-lead{border-color:transparent;color:#3c2c06;background:linear-gradient(135deg,#f6d583,#c79a3a);box-shadow:0 0 0 3px color-mix(in srgb,#C79A3A 20%,transparent),0 2px 7px color-mix(in srgb,#C79A3A 45%,transparent)}.design-member.is-leader .input:first-child{font-weight:650}.design-member-lead.just-picked{animation:design-lead-pop .46s var(--ease, ease)}@keyframes design-lead-pop{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.4) rotate(-10deg)}65%{transform:scale(.9) rotate(6deg)}to{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.design-member-lead{transition:none}.design-member-lead.just-picked{animation:none}}.design-member-badge{padding:2px 7px;border-radius:99px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.design-member-badge.is-empty{padding:0;background:none}.design-member.is-linked .input[readonly]{background:color-mix(in srgb,var(--ink) 4%,transparent);cursor:default}.design-member-main .input{min-width:0}.design-member-more{width:30px;height:30px;border:1px solid var(--line-2);border-radius:7px;color:var(--ink-3);background:none;cursor:pointer}.design-member-more:hover{border-color:var(--ink-3);color:var(--ink)}.design-member-extra[hidden]{display:none}.design-member-extra{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(130px,1.15fr) minmax(170px,1fr);gap:7px;margin:7px 0 2px;padding:10px 12px;border-radius:9px;background:color-mix(in srgb,var(--ink) 4%,transparent)}.design-member-extra label{display:grid;gap:3px}.design-member-extra span{color:var(--ink-4);font-size:10.5px}.design-member-extra .is-email{grid-column:1 / -1}.design-phone-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.design-phone-field .input{min-width:0}.design-phone-paste{min-width:66px;min-height:38px;white-space:nowrap}.design-member-extra input[aria-invalid=true]{border-color:#b3261e;box-shadow:0 0 0 1px color-mix(in srgb,#b3261e 26%,transparent)}.design-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px 16px 18px}.design-fact span{display:block;margin-bottom:3px;color:var(--ink-4);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.design-fact p{color:var(--ink);font-size:13px;line-height:1.65;white-space:pre-wrap}.design-fact.empty p{color:var(--ink-3);font-style:italic}.design-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface)}.design-confirm strong{display:block;font-size:14px}.design-confirm span{color:var(--ink-3);font-size:11.5px}.design-confirm .btn:disabled{opacity:.4;cursor:not-allowed}.design-final-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}.design-final-actions{display:flex;flex-wrap:wrap;gap:7px}.design-final-head h2{margin:4px 0 2px;color:var(--ink);font-family:var(--serif);font-size:24px;font-weight:400}.design-final-head small{color:var(--ink-4);font-size:11px}.design-sealed{display:inline-block;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--project-color, var(--accent)) 16%,transparent);color:color-mix(in srgb,var(--project-color, var(--accent)) 85%,var(--ink));font-family:var(--mono);font-size:9.5px;letter-spacing:.1em}.design-final-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:820px){.design-fact-grid,.design-final-body{grid-template-columns:1fr}.design-member-main{grid-template-columns:26px minmax(0,1fr) auto 30px 30px}.design-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 6px}.design-confirm{flex-direction:column;align-items:flex-start}.design-confirm .btn{align-self:flex-end}}@media(max-width:600px){.design-file-card>header{align-items:flex-start}.design-file-card .project-collab-actions{width:100%;flex-wrap:wrap}.design-file-card .project-collab-actions .btn{flex:1 1 auto}.design-milestone-list>li{grid-template-columns:minmax(110px,42%) minmax(0,1fr) 22px 30px}.design-milestone-kind{grid-column:1 / -1}.design-member-fields{grid-template-columns:minmax(0,1fr)}}@media(hover:none),(pointer:coarse){.design-drop-empty{min-height:156px;padding:30px 20px}.design-drop-empty strong{font-size:16px}.design-drop-empty small{max-width:34rem;font-size:12px;line-height:1.55}.design-drop-more .btn,.design-file-actions .btn,.design-file .project-file-remove{min-width:44px;min-height:44px}}@media(max-width:1080px){.design-pair{grid-template-columns:minmax(0,1fr)}}.project-spec-body{display:grid;gap:16px;padding:14px 16px 18px}.project-spec-section{display:grid;gap:8px}.project-spec-section h3,.project-spec-list>strong{color:var(--ink-2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.project-spec-list ul{display:grid;gap:5px;margin:7px 0 0;padding-left:18px;color:var(--ink-2);font-size:12.5px;line-height:1.55}.project-spec-list.is-objective{padding:12px 14px;border-left:3px solid var(--project-color, var(--accent));background:color-mix(in srgb,var(--project-color, var(--accent)) 5%,transparent)}.project-spec-list.is-unknown{padding:11px 13px;border:1px dashed var(--line-2);border-radius:10px}.project-spec-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-spec-scope>*{padding:11px 13px;border:1px solid var(--line-2);border-radius:10px}.project-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.project-requirement{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;padding:10px 11px;border:1px solid var(--line-2);border-radius:10px}.project-requirement.is-must{border-left:3px solid var(--project-color, var(--accent))}.project-spec-id{color:var(--ink-4);font-family:var(--mono);font-size:9.5px;letter-spacing:.05em}.project-requirement strong,.project-work-block strong{color:var(--ink);font-size:12.5px}.project-requirement p,.project-work-block p{margin:4px 0 0;color:var(--ink-2);font-size:11.5px;line-height:1.5}.project-requirement small,.project-work-block small{display:block;margin-top:5px;color:var(--ink-3);font-size:10.5px;line-height:1.45}.project-work-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-work-block{min-width:0;padding:11px 12px;border:1px solid var(--line-2);border-radius:11px;background:color-mix(in srgb,var(--surface) 96%,transparent)}.project-work-block>header{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:7px}.project-collab-badge{padding:3px 7px;border-radius:99px;background:color-mix(in srgb,var(--project-color, var(--accent)) 14%,transparent);color:var(--project-color, var(--accent));font-family:var(--mono);font-size:9px;letter-spacing:.04em;white-space:nowrap}.project-difficulty{padding:3px 7px;border-radius:99px;background:var(--surface-2);color:var(--ink-3);font-family:var(--mono);font-size:9.5px;white-space:nowrap}.project-difficulty.is-\c0c1 {background:color-mix(in srgb,#b3261e 11%,transparent);color:#a22b25}.project-difficulty.is-\d558 {background:color-mix(in srgb,#287d48 11%,transparent);color:#287d48}.project-work-meta{display:flex;align-items:center;gap:6px;margin-top:7px;color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.project-work-meta span+span:before{content:"\b7";margin-right:6px}.project-work-meta b{margin-left:auto;color:var(--project-color, var(--accent))}.project-work-meta em{margin-left:auto;color:var(--ink-4);font-style:normal}.project-risks{display:grid;gap:5px}.project-risks p{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);gap:10px;margin:0;padding:8px 10px;border-bottom:1px solid var(--line-2);font-size:11.5px}.project-risks span{color:var(--ink-3)}.project-spec-empty{padding:28px 16px;border:1px dashed var(--line-2);border-radius:10px;color:var(--ink-4);font-size:12px;text-align:center}.project-spec .project-collab-actions .btn{min-height:38px}@media(max-width:900px){.project-requirements,.project-work-blocks{grid-template-columns:1fr}}.wbg{--wbg-line: color-mix(in srgb, var(--ink) 14%, transparent);margin:2px 0 4px}.wbg-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid var(--wbg-line)}.wbg-kicker{color:var(--ink-4);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.wbg-count{color:var(--ink-4);font-family:var(--mono);font-size:10px}.wbg-legend{display:inline-flex;align-items:center;gap:9px;margin-left:auto;color:var(--ink-4);font-size:10px}.wbg-legend-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.wbg-legend-item:before{content:"";display:inline-block;width:18px;border-top:1px solid var(--wbg-line)}.wbg-legend-item.is-need:before{border-top-width:2px;border-top-color:color-mix(in srgb,var(--project-color, var(--accent)) 55%,transparent)}.wbg-board{position:relative;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.wbg-board::-webkit-scrollbar{display:none;width:0;height:0}.wbg-wires{position:absolute;inset:0;pointer-events:none}.wbg-wire{fill:none;stroke:var(--wbg-line);stroke-width:1}.wbg-wire.is-need{stroke:color-mix(in srgb,var(--project-color, var(--accent)) 55%,transparent);stroke-width:1.5}.wbg-grid{--wbg-lanes: 1;position:relative;display:grid;grid-template-columns:repeat(var(--wbg-lanes),minmax(0,1fr));align-items:start;gap:18px 12px;padding:14px 0 6px}.wbg-lane-name{padding-bottom:4px;border-bottom:1px solid var(--wbg-line);color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-align:center}.wbg-node{position:relative;z-index:1;display:grid;gap:4px;padding:8px 9px;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);font:inherit;color:inherit;text-align:left;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .16s var(--ease, ease),box-shadow .16s var(--ease, ease),opacity .16s var(--ease, ease)}.wbg-node:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.wbg-node:active{transform:scale(.97)}.wbg-node.is-collab{border-color:color-mix(in srgb,var(--project-color, var(--accent)) 45%,transparent);background:color-mix(in srgb,var(--project-color, var(--accent)) 6%,var(--paper))}.wbg-node.is-\c0c1 {border-left:3px solid #b3261e}.wbg-node.is-\d558 {border-left:3px solid #287d48}.wbg-mark{font-size:15px;line-height:1}.wbg-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;color:var(--ink-2);font-size:11.5px;font-weight:500;line-height:1.32;overflow-wrap:anywhere}.wbg-meta{display:flex;align-items:center;gap:5px;color:var(--ink-4);font-family:var(--mono);font-size:9px}.wbg-id{letter-spacing:.04em}.wbg-collab-mark{padding:1px 5px;border-radius:99px;background:color-mix(in srgb,var(--project-color, var(--accent)) 16%,transparent);color:var(--project-color, var(--accent))}.wbg-board.is-focused .wbg-node{opacity:.32}.wbg-board.is-focused .wbg-node.is-related{opacity:.85}.wbg-node.is-picked{opacity:1;border-color:transparent;box-shadow:0 0 0 2px var(--project-color, var(--accent)),0 6px 18px -6px color-mix(in srgb,var(--project-color, var(--accent)) 55%,transparent)}.wbg-wire.is-lit{stroke:var(--project-color, var(--accent));stroke-width:2}.wbg-wire.is-back{stroke-dasharray:3 4}.wbg-detail{margin-top:10px;padding:12px 13px;border:1px solid var(--line-2);border-radius:11px;background:color-mix(in srgb,var(--surface) 96%,transparent);animation:fade .14s var(--ease, ease)}.wbg-detail[hidden]{display:none}.wbg-detail>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:9px;padding-bottom:8px;border-bottom:1px solid var(--line-2)}.wbg-detail-mark{font-size:18px;line-height:1.2}.wbg-detail>header strong{display:block;color:var(--ink);font-size:13px}.wbg-detail>header small{display:block;margin-top:2px;color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.wbg-detail-close{width:26px;height:26px;border:0;border-radius:7px;background:none;color:var(--ink-4);cursor:pointer}.wbg-detail-close:hover{background:var(--surface-2);color:var(--ink)}.wbg-detail-row{display:grid;grid-template-columns:68px minmax(0,1fr);gap:9px;margin-top:7px}.wbg-detail-row span{color:var(--ink-4);font-family:var(--mono);font-size:9.5px}.wbg-detail-row p{color:var(--ink-2);font-size:11.5px;line-height:1.5}@media(hover:none),(pointer:coarse){.wbg-node{padding:10px}}@media(max-width:720px){.wbg-title{font-size:11px}.wbg-detail-row{grid-template-columns:1fr;gap:2px}.wbg-legend{display:none}}@media(prefers-reduced-motion:reduce){.wbg-node{transition:none}}.project-build-plan:empty{display:none}.project-plan{margin:0 0 18px}.plan-list{display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.plan-item{position:relative;border-left:2px solid transparent;transition:border-color .16s var(--ease, ease)}.plan-item+.plan-item{border-top:1px solid var(--line-2)}.plan-item.is-now{border-left-color:var(--project-color, #8B9A8C)}.plan-item.is-done{border-left-color:transparent}.plan-head{width:100%;min-height:60px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;text-align:left;touch-action:manipulation;transition:background .14s var(--ease, ease)}.plan-head:hover,.plan-head[aria-expanded=true]{background:var(--surface-2)}.plan-head:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px}.plan-glyph{width:34px;height:34px;display:grid;place-items:center;border:1px dashed color-mix(in srgb,var(--ink) 24%,transparent);border-radius:var(--r-xs, 2px);color:var(--ink-3)}.plan-glyph .material-symbols-outlined{font-size:19px}.plan-item.is-now .plan-glyph{border-style:solid;border-color:transparent;background:var(--project-color, #8B9A8C);color:var(--project-ink, #151414)}.plan-item.is-done .plan-glyph{border-style:solid;border-color:color-mix(in srgb,var(--project-color, #8B9A8C) 34%,transparent);background:color-mix(in srgb,var(--project-color, #8B9A8C) 12%,transparent);color:var(--project-color, #8B9A8C)}.plan-head-text{min-width:0;display:flex;flex-direction:column;gap:3px}.plan-kicker{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9px;letter-spacing:.12em}.plan-kicker em{color:var(--ink-4);font-style:normal}.plan-kicker b{padding:1px 5px;border:1px solid color-mix(in srgb,var(--project-color, #8B9A8C) 55%,transparent);border-radius:var(--r-xs, 2px);color:var(--ink);font-weight:500}.plan-kicker b.is-sealed{border-color:var(--line);color:var(--ink-4)}.plan-head-text strong{color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:400;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-head-text small{color:var(--ink-3);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-item.is-done .plan-head-text strong{color:var(--ink-4)}.plan-head-side{display:flex;align-items:center;gap:12px}.plan-ticks{display:flex;align-items:center;gap:3px}.plan-ticks i{width:2px;height:11px;background:var(--line);transition:background .18s var(--ease, ease)}.plan-ticks i.opt{height:7px}.plan-ticks i.on{background:var(--project-color, #8B9A8C)}.plan-count{color:var(--ink-4);font-size:10px;letter-spacing:.04em}.plan-when{min-width:48px;color:var(--ink-3);font-size:10px;letter-spacing:.04em;text-align:right}.plan-body{padding:0 18px 16px 64px}.plan-headline{margin:0 0 12px;padding-left:14px;border-left:1px solid var(--line-2);color:var(--ink-3);font-size:12px;line-height:1.6}.plan-stack{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}.plan-stack-label{margin-right:2px;color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.12em}.plan-tool{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);color:var(--ink-3);font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;white-space:nowrap;transition:color .14s var(--ease, ease),border-color .14s var(--ease, ease)}.plan-tool:hover,.plan-tool:active{border-color:color-mix(in srgb,var(--project-color, #8B9A8C) 60%,var(--line));color:var(--ink)}.plan-tool:focus-visible{outline:2px solid var(--ink-2);outline-offset:1px}.plan-steps{position:relative;display:flex;flex-direction:column}.plan-step{position:relative;min-height:46px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 0}.plan-step:before{content:"";position:absolute;left:13px;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}.plan-steps>li:first-child:before{top:50%}.plan-steps>li:last-child:before{bottom:50%}.plan-step.is-done:before{background:var(--project-color, #8B9A8C)}.plan-step.is-now:before{background:linear-gradient(var(--project-color, #8B9A8C) 50%,var(--line) 50%)}.plan-step-hit{position:absolute;inset:0 -8px;z-index:0;touch-action:manipulation}.plan-step-hit:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px}.plan-step-hit:disabled{cursor:default}.plan-step>*:not(.plan-step-hit){position:relative;z-index:1;pointer-events:none}.plan-step .plan-tool{pointer-events:auto}.plan-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r-xs, 2px);background:var(--surface);transition:transform .14s var(--ease, ease),background .16s var(--ease, ease),border-color .16s var(--ease, ease)}.plan-num{font-family:var(--mono);font-size:10px;letter-spacing:.02em}.plan-mark .material-symbols-outlined{font-size:17px}.plan-step.is-ahead .plan-mark{border:1px dashed color-mix(in srgb,var(--ink) 22%,transparent);color:var(--ink-4)}.plan-step.is-now .plan-mark{border:1px solid transparent;background:var(--project-color, #8B9A8C);color:var(--project-ink, #151414)}.plan-step.is-done .plan-mark{border:1px solid color-mix(in srgb,var(--project-color, #8B9A8C) 34%,transparent);background:color-mix(in srgb,var(--project-color, #8B9A8C) 12%,transparent);color:var(--project-color, #8B9A8C)}.plan-step-hit:active~.plan-mark{transform:scale(.88)}.plan-step-hit:hover~.plan-step-text strong{color:var(--ink)}.plan-step-text{min-width:0;display:flex;flex-direction:column;gap:2px}.plan-step-text strong{color:var(--ink-2);font-size:13px;font-weight:500}.plan-step-text small{color:var(--ink-4);font-size:11px;line-height:1.5}.plan-step.is-now .plan-step-text strong{color:var(--ink)}.plan-step.is-done .plan-step-text strong{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.plan-step.is-done .plan-step-text small{display:none}.plan-step-side{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}.plan-step-when{min-width:42px;color:var(--ink-4);font-size:9.5px;letter-spacing:.04em;text-align:right}.plan-step-linked,.plan-step-tag{padding:2px 6px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.06em;white-space:nowrap}.plan-step-linked{color:var(--ink-3);border-style:dashed}.plan-step-units{position:relative;padding:2px 0 10px}.plan-step-units:before{content:"";position:absolute;left:13px;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}.plan-units-box{position:relative;margin-left:40px;padding:10px 12px 4px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);background:color-mix(in srgb,var(--project-color, #8B9A8C) 3%,transparent)}.plan-units-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}.plan-units-head strong{color:var(--ink-2);font-size:11.5px;font-weight:500}.plan-units-head .plan-units-count{color:var(--ink-4);font-size:9.5px;letter-spacing:.04em}.plan-units-head small{flex:1 1 100%;color:var(--ink-4);font-size:10.5px;line-height:1.55}.plan-units{display:flex;flex-direction:column;margin:8px 0 0}.plan-unit{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:34px;padding:4px 0}.plan-unit.is-under{padding-left:16px}.plan-unit.is-under:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:1px;background:var(--line-2)}.plan-unit-hit{position:absolute;inset:0;z-index:0;touch-action:manipulation}.plan-unit-hit:focus-visible{outline:2px solid var(--ink-2);outline-offset:-2px}.plan-unit-hit:disabled{cursor:default}.plan-unit>*:not(.plan-unit-hit){position:relative;z-index:1;pointer-events:none}.plan-unit .plan-tool,.plan-unit .plan-unit-remove{pointer-events:auto}.plan-unit-mark{width:16px;height:16px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-xs, 2px);color:transparent}.plan-unit-mark .material-symbols-outlined{font-size:13px}.plan-unit.is-done .plan-unit-mark{border-color:var(--project-color, #8B9A8C);background:color-mix(in srgb,var(--project-color, #8B9A8C) 16%,transparent);color:var(--project-color, #8B9A8C)}.plan-unit.is-heading{min-height:28px;padding-top:10px}.plan-unit.is-heading .plan-unit-mark{border:0}.plan-unit.is-heading .plan-unit-text strong{color:var(--ink-3);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.plan-unit-text{min-width:0;display:flex;flex-direction:column;gap:1px}.plan-unit-text strong{color:var(--ink-2);font-size:12px;font-weight:400}.plan-unit-text small{color:var(--ink-4);font-size:10.5px;line-height:1.5}.plan-unit.is-done .plan-unit-text strong{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.plan-unit.is-done .plan-unit-text small{display:none}.plan-unit-side{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:5px}.plan-unit-origin,.plan-unit-owner,.plan-unit-hours,.plan-unit-from{padding:2px 5px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);color:var(--ink-4);font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;white-space:nowrap}.plan-unit.is-acceptance .plan-unit-origin{border-color:color-mix(in srgb,var(--project-color, #8B9A8C) 45%,var(--line));color:var(--project-color, #8B9A8C)}.plan-unit-owner{border-style:dashed;color:var(--ink-3)}.plan-unit-move,.plan-unit-remove{width:20px;height:20px;display:grid;place-items:center;color:var(--ink-4);font-size:10px}.plan-unit-move:hover,.plan-unit-remove:hover{color:var(--ink-2)}.plan-move{display:flex;flex-direction:column;gap:14px}.plan-move-lead{display:flex;flex-direction:column;gap:4px;margin:0}.plan-move-lead strong{color:var(--ink);font-size:13.5px;font-weight:500}.plan-move-lead span{color:var(--ink-4);font-size:11.5px;line-height:1.6}.plan-move-list{display:flex;flex-direction:column}.plan-move-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:46px;padding:10px 12px;border:1px solid transparent;border-radius:var(--r-xs, 2px);text-align:left;touch-action:manipulation}.plan-move-row+.plan-move-row{border-top-color:var(--line-2)}.plan-move-row strong{color:var(--ink-2);font-size:13px;font-weight:400}.plan-move-row span{color:var(--ink-4);font-size:10px;letter-spacing:.04em}.plan-move-row:hover{background:var(--surface-2)}.plan-move-row.is-current{border-color:color-mix(in srgb,var(--project-color, #8B9A8C) 45%,var(--line))}.plan-move-row.is-current strong{color:var(--ink)}.plan-move-row:disabled{opacity:.5}.plan-unit-add{display:flex;align-items:center;gap:6px;padding:8px 0 4px 28px}.plan-unit-add .plan-unit-under{flex:0 0 auto;max-width:130px;font-size:11px}.plan-unit-add .plan-unit-input{flex:1 1 auto;font-size:11.5px}.plan-tool.is-warn{border-style:dashed}.plan-tool-warn{margin-left:3px;font-style:normal;color:var(--ink-4)}.plan-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 0 0 40px}.plan-note{flex:1 1 100%;margin:0;color:var(--ink-4);font-size:11.5px}.plan-item.is-loose .plan-steps{opacity:.5}.tool-stack{display:flex;flex-direction:column;gap:18px}.tool-stack-lead{margin:0;color:var(--ink-3);font-size:12.5px;line-height:1.6}.tool-stack-group{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:4px 16px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}.tool-stack-label{color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.1em}.tool-stack-flow{color:var(--ink);font-family:var(--mono);font-size:13.5px;letter-spacing:.01em}.tool-stack-notes{grid-column:2;display:flex;flex-direction:column;gap:3px;margin-top:4px}.tool-stack-note{display:inline-flex;align-items:baseline;gap:8px}.tool-stack-note strong{min-width:108px;color:var(--ink-3);font-size:11px;font-weight:500}.tool-stack-note em{color:var(--ink-4);font-size:11px;font-style:normal}a.tool-stack-note:hover strong{color:var(--ink)}.tool-handoff{display:flex;flex-direction:column;gap:14px}.handoff-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.handoff-head h3{margin:0;font-size:15px;font-weight:500}.handoff-head small{color:var(--ink-4);font-size:11.5px}.handoff-level{flex:0 0 auto;padding:3px 8px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);color:var(--ink-3);font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;white-space:nowrap}.handoff-level.is-warn{border-color:var(--warn);color:var(--warn)}.handoff-verdict{margin:0;padding:10px 12px;border-radius:var(--r-xs, 2px);background:var(--surface-2);color:var(--ink-2);font-size:12.5px;line-height:1.6}.handoff-verdict.is-warn{background:var(--warn-wash);color:var(--warn)}.handoff-line{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 14px;align-items:baseline}.handoff-line>span{color:var(--ink-4);font-family:var(--mono);font-size:9.5px;letter-spacing:.08em}.handoff-line>p{margin:0;color:var(--ink-2);font-size:12.5px;line-height:1.65}@media(max-width:900px){.handoff-line{grid-template-columns:minmax(0,1fr)}}@media(hover:none),(pointer:coarse){.plan-head{min-height:72px;padding:14px 18px}.plan-step{min-height:56px}.plan-mark{width:32px;height:32px}.plan-num{font-size:11px}.plan-mark .material-symbols-outlined{font-size:19px}.plan-tool{min-height:32px;padding:6px 10px;font-size:10px}.plan-step-linked,.plan-step-tag{padding:5px 7px}.plan-actions .btn{min-height:44px;flex:1 1 auto;justify-content:center}.plan-head:hover{background:none}.plan-head[aria-expanded=true]{background:var(--surface-2)}.plan-unit{min-height:44px}.plan-unit-mark{width:20px;height:20px}.plan-unit-mark .material-symbols-outlined{font-size:15px}.plan-unit-remove{width:32px;height:32px}.plan-unit-add .input{min-height:40px}}@media(max-width:900px){.plan-body{padding:0 14px 16px 18px}.plan-actions{padding-left:0}.plan-step{grid-template-columns:28px minmax(0,1fr);padding:10px 0}.plan-mark{grid-row:1 / 3}.plan-step-side{grid-column:2;justify-content:flex-start;margin-top:5px}.plan-step-when{min-width:0;text-align:left}.plan-ticks{display:none}.plan-units-box{margin-left:28px}.plan-unit{grid-template-columns:18px minmax(0,1fr)}.plan-unit-side{grid-column:2;justify-content:flex-start;margin-top:4px}.plan-unit-mark{grid-row:1 / 3}.plan-unit-add{flex-wrap:wrap;padding-left:0}.plan-unit-add .plan-unit-under{max-width:none;flex:1 1 100%}.tool-stack-group{grid-template-columns:minmax(0,1fr)}.tool-stack-notes{grid-column:1}}@media(prefers-reduced-motion:reduce){.plan-steps:after,.plan-mark,.plan-ticks i{transition:none}}.plan-item.is-settled .plan-glyph{border-style:solid}.plan-item.is-held .plan-glyph{border-color:var(--warn);background:var(--warn-wash);color:var(--warn)}.plan-item.is-skipped .plan-glyph{border-style:dashed;border-color:var(--line);color:var(--ink-4)}.plan-item.is-skipped .plan-head-text strong{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.plan-kicker b.is-held{border-color:var(--warn);color:var(--warn)}.plan-kicker b.is-skipped,.plan-kicker b.is-done{border-color:var(--line);color:var(--ink-3)}.plan-minutes{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);background:var(--surface-2)}.plan-minutes>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:baseline}.plan-minutes span{color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.1em}.plan-minutes p{margin:0;color:var(--ink-2);font-size:12px;line-height:1.55;white-space:pre-wrap}.plan-box{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-xs, 2px);background:var(--surface);transition:background .14s var(--ease, ease),border-color .14s var(--ease, ease)}.plan-box.on{border-color:transparent;background:var(--project-color, #8B9A8C)}.plan-box.on:after{content:"";width:6px;height:11px;border:solid var(--project-ink, #151414);border-width:0 1.8px 1.8px 0;transform:rotate(42deg) translateY(-1px)}@media(hover:none),(pointer:coarse){.plan-box{width:30px;height:30px;flex-basis:30px}}.submission-check{display:flex;flex-direction:column;padding:6px 16px 12px;list-style:none}.submission-check-row{min-height:44px;display:flex;align-items:center;gap:12px;padding:6px 0;color:var(--ink-2);font-size:13px}.submission-check-row+.submission-check-row{border-top:1px solid color-mix(in srgb,var(--line-2) 60%,transparent)}.submission-check-row>span{flex:1 1 auto;min-width:0}.submission-check-row.is-done>span{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.submission-check-origin,.submission-check-from{flex:0 0 auto;padding:2px 6px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);color:var(--ink-4);font-family:var(--mono);font-size:9px;font-style:normal;letter-spacing:.05em;white-space:nowrap}.submission-check-row.is-final .submission-check-origin{border-color:color-mix(in srgb,var(--project-color, #8B9A8C) 45%,var(--line));color:var(--project-color, #8B9A8C)}.submission-ledger{display:flex;flex-direction:column;gap:10px;padding:12px 16px 16px}.submission-ledger-group{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:baseline}.submission-ledger-label{color:var(--ink-4);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em}.submission-ledger-group.is-held .submission-ledger-label{color:var(--warn)}.submission-ledger-group p{margin:0;color:var(--ink-2);font-size:12.5px;line-height:1.55}.submission-ledger-group.is-skipped p{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.submission-remaining{display:flex;flex-direction:column;padding:6px 16px 14px}.submission-remaining-row{display:flex;flex-direction:column;gap:2px;padding:8px 0}.submission-remaining-row+.submission-remaining-row{border-top:1px solid color-mix(in srgb,var(--line-2) 60%,transparent)}.submission-remaining-row strong{color:var(--ink);font-size:13px;font-weight:500}.submission-remaining-row span{color:var(--ink-4);font-size:11.5px}.project-submission-review-body{padding:12px 16px 16px}.project-submission-review-body .input{width:100%}button.ptl-node{cursor:pointer;touch-action:manipulation}button.ptl-node:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.ptl-node.is-picked .ptl-title{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.ptl-node.is-picked .ptl-mark{box-shadow:0 0 0 3px color-mix(in srgb,var(--ptl-color) 22%,transparent)}.project-plan .plan-head{min-height:68px;display:grid;grid-template-columns:34px minmax(0,1fr) auto}.project-plan .plan-head:hover{background:none}.plan-head-text h2{color:var(--ink);font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-plan.is-skipped .plan-head-text h2{color:var(--ink-4);text-decoration:line-through}.project-plan.is-now .plan-glyph{border-style:solid;border-color:transparent;background:var(--project-color, #8B9A8C);color:var(--project-ink, #151414)}.project-plan.is-done .plan-glyph,.project-plan.is-skipped .plan-glyph{border-style:solid;border-color:color-mix(in srgb,var(--project-color, #8B9A8C) 34%,transparent);background:color-mix(in srgb,var(--project-color, #8B9A8C) 12%,transparent);color:var(--project-color, #8B9A8C)}.project-plan.is-held .plan-glyph{border-color:var(--warn);background:var(--warn-wash);color:var(--warn)}.design-milestone-axes{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px;margin-top:6px}.design-axis{display:flex;flex-wrap:wrap;gap:5px}.design-axis-chip{min-height:32px;padding:5px 10px;border:1px solid var(--line-2);border-radius:var(--r-xs, 2px);color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.02em;transition:color .14s var(--ease, ease),border-color .14s var(--ease, ease),background .14s var(--ease, ease)}.design-axis-chip:hover{border-color:var(--ink-3);color:var(--ink)}.design-axis-chip.on{border-color:transparent;background:var(--project-color, #8B9A8C);color:var(--project-ink, #151414)}@media(hover:none),(pointer:coarse){.design-axis-chip{min-height:40px;padding:8px 12px;font-size:11px}}.plan-blocked{margin:0 0 12px;padding:8px 12px;border:1px dashed color-mix(in srgb,var(--warn) 55%,transparent);border-radius:var(--r-xs, 2px);color:var(--warn);font-size:12px}.project-plan.is-blocked .plan-glyph{border-style:dashed;border-color:color-mix(in srgb,var(--warn) 55%,transparent);background:none;color:var(--warn)}.design-axis-label{min-width:34px;align-self:center;color:var(--ink-4);font-family:var(--mono);font-size:9px;letter-spacing:.1em}.design-axis-needs .design-axis-chip{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-step-hit{inset-inline:0}.project-submission-review-body .project-submission-review{width:100%;margin:0}@media(min-width:600px)and (max-width:1100px)and (orientation:portrait){html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}.shell,.app-main{width:100%;height:100dvh;min-height:0}.topbar{min-width:0;height:64px;min-height:64px;gap:10px;padding:0 max(16px,env(safe-area-inset-left)) 0 max(16px,env(safe-area-inset-right))}.topbar-side{gap:8px}.topbar-left{flex:1 1 auto}.topbar-right{flex:0 1 auto}.topbar-center{gap:6px}.topbar .screen-tag{display:flex;min-width:0;font-size:clamp(18px,2.7vw,23px)}.topbar .screen-name,.topbar .screen-subject-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .screen-subject{max-width:min(32vw,18rem)}.topbar .clock{display:none}.topbar .top-slot{min-width:0;gap:6px;margin-right:0}.topbar .top-slot .btn{min-height:40px;padding-inline:12px}.topbar .top-us{padding:6px 10px}.topbar .top-us>span:not(.material-symbols-outlined){display:none}.topbar .top-us.on:after{display:none}.topbar .user-chip{max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#stage{min-width:0;min-height:0;overflow-x:hidden;padding-bottom:0}#app.vision-page{height:100%;min-height:0;padding:2px 12px max(12px,env(safe-area-inset-bottom));overflow:hidden}#app.vision-page>.vision-workspace{width:100%;height:100%;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}.vision-page .subject-rail,.us-subject-rail{max-height:204px;min-height:64px;flex-direction:row;align-items:flex-start;gap:8px;padding:0 0 7px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.vision-page .subject-rail::-webkit-scrollbar,.us-subject-rail::-webkit-scrollbar{display:none}.vision-page .subject-rail>.rail-group,.us-subject-rail>.rail-group{display:contents}.vision-page .subject-rail>.rail-term,.us-subject-rail>.rail-term{width:176px;min-height:58px;flex:0 0 176px;margin:0;padding:8px 10px;border:1px solid var(--line-2);border-radius:10px;scroll-snap-align:start}.vision-page .subject-rail .rail-item,.us-subject-rail .rail-item{width:220px;flex:0 0 220px;scroll-snap-align:start}.vision-page .subject-rail .rail-item.open,.us-subject-rail .rail-item.open{width:360px;flex-basis:360px}.vision-page .rail-subject{min-height:58px;padding:12px 10px 12px 14px}.vision-page .rail-circuit button{min-height:54px;padding-block:7px}.vision-page .subject-rail>.rail-divider,.us-subject-rail>.rail-divider{align-self:center;flex:0 0 auto;margin:0 2px;padding:5px 8px;border-left:1px solid var(--line-2);color:var(--ink-4);font-family:var(--mono);font-size:9px;white-space:nowrap}.vision-page .subject-rail .rail-empty,.us-subject-rail .rail-empty{width:210px;flex:0 0 210px;padding:20px 12px;white-space:normal}.vision-workspace .z-cal,.us-feed-pane{width:100%;height:100%;min-height:0;max-height:none}.vision-page .cal-head{min-height:54px;padding:9px 12px}.vision-page .pbody.tight{min-height:0;padding:0 8px 8px}.vision-page .cell{min-width:0;padding:5px 4px 4px}.vision-page .ev{max-width:100%;padding-inline:4px}.e-wrap{height:100%;min-height:0;overflow:hidden}.e-body{width:100%;min-height:0;padding:32px 24px max(48px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto}.module-hero{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:34px}.module-hero .e-title{font-size:clamp(38px,6vw,52px)}.module-hero-actions{width:100%;flex-wrap:wrap}.module-search-input{width:min(100%,360px);flex:1 1 240px}.e-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.e-card{min-height:210px;padding:22px}.track-wrap{width:100%;max-width:none;gap:16px;padding:16px 22px max(30px,env(safe-area-inset-bottom));overflow-x:hidden}.track-head{align-items:flex-start;gap:14px}.project-wrap{width:100%}.project-head{align-items:flex-start;flex-wrap:wrap;gap:10px}.project-head-main{flex-basis:min(100%,420px)}.project-design-grid,.project-engineering .project-design-grid,.project-submission-grid,.design-pair{grid-template-columns:minmax(0,1fr)}.project-board{padding-inline:4px;scroll-padding-inline:4px}.project-week{width:min(300px,76vw);flex-basis:min(300px,76vw)}.project-collab>header{flex-wrap:wrap}.project-collab-actions{max-width:100%;flex-wrap:wrap;justify-content:flex-end}.project-member-row{grid-template-columns:repeat(2,minmax(0,1fr)) 34px}.project-member-row .input:nth-child(n+3){grid-column:1 / 3}.project-member-row .project-member-remove{grid-column:3;grid-row:1 / 5;width:34px;height:44px}.design-milestone-list>li{grid-template-columns:minmax(120px,150px) minmax(0,1fr) 78px 24px 34px}.design-member-extra{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.design-member-extra .is-phone{grid-column:1 / -1}.ptl-board{padding-bottom:6px}.ptl-grid{min-width:max(100%,calc(var(--ptl-lanes) * 138px))}.subject-settings-page,.subject-settings-page.compact{width:100%;padding:28px 22px 56px}.subject-settings-page.compact .subject-settings-controls{padding:20px}.subject-settings-page.compact .subject-palette{grid-template-columns:repeat(5,minmax(0,1fr))}.resource-table{min-width:0;overflow:hidden}.resource-table-head,.resource-row{min-width:0;grid-template-columns:minmax(0,1fr) 100px 42px;gap:12px;padding-inline:14px}.resource-table-head>:nth-child(2),.resource-row>:nth-child(2),.resource-table-head>:nth-child(4),.resource-row>:nth-child(4){display:none}.overlay{align-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.modal{max-height:calc(100dvh - 32px)}.settings-modal{width:min(900px,calc(100vw - 32px))}.settings-body{min-height:min(620px,72dvh);grid-template-columns:180px minmax(0,1fr)}.settings-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.us-vision-page{height:100%;padding:2px 12px 12px}.us-workspace{width:100%;height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}.us-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(min-width:600px)and (max-width:820px)and (orientation:portrait){.topbar .screen-subject{max-width:24vw}.topbar .top-slot .btn{padding-inline:10px}.topbar .top-slot .btn .material-symbols-outlined+span{display:none}.topbar .user-chip{max-width:108px}.subject-settings-basics,.subject-settings-pair{grid-template-columns:minmax(0,1fr);gap:16px}.subject-settings-page.compact .subject-palette{grid-template-columns:repeat(4,minmax(0,1fr))}.design-milestone-list>li{grid-template-columns:minmax(112px,38%) minmax(0,1fr) 24px 34px}.design-milestone-kind{grid-column:1 / -1}.design-member-extra{grid-template-columns:minmax(0,1fr)}.design-member-extra .is-phone,.design-member-extra .is-email{grid-column:1}.settings-body{min-height:min(650px,76dvh);grid-template-columns:156px minmax(0,1fr)}.settings-content{padding:18px}}
