.rain[data-v-9631b08e]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;filter:blur(1.25px)}.boot[data-v-d69d2346]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#000;color:#d8ffd8;clip-path:inset(0);overflow:hidden;cursor:pointer;transition:opacity .7s ease,clip-path .85s ease}.boot-leave-to[data-v-d69d2346]{opacity:0;clip-path:inset(0 50% 0 50%)}.veil[data-v-d69d2346]{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.55) 100%);pointer-events:none}.boot-copy[data-v-d69d2346]{position:relative;z-index:1;min-height:100%;display:grid;align-content:center;justify-items:center;gap:12px;padding:24px;text-align:center;text-shadow:0 0 12px rgba(57,255,20,.65)}.boot-kicker[data-v-d69d2346]{margin:0;letter-spacing:.28em;text-transform:uppercase;font-size:12px;color:#7dff9a}h1[data-v-d69d2346]{margin:0;font-size:clamp(40px,8vw,84px);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.boot-line[data-v-d69d2346]{margin:0;min-height:1.4em;font-size:clamp(16px,2.4vw,22px);color:#b6ffc0}.caret[data-v-d69d2346]{margin-left:4px;animation:blink-d69d2346 1s steps(1) infinite}.enter[data-v-d69d2346]{position:absolute;z-index:1;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translate(-50%);background:#000000d1;color:#39ff14;border:1px solid rgba(57,255,20,.7);border-radius:4px;padding:10px 28px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}.enter[data-v-d69d2346]:disabled{opacity:.35;cursor:wait}.enter[data-v-d69d2346]:focus-visible{outline:2px solid #e8ffe8;outline-offset:3px}@keyframes blink-d69d2346{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.caret[data-v-d69d2346]{animation:none}}.class-blocks[data-v-e5f0b035]{display:grid;gap:16px;margin-top:20px}.block-head[data-v-e5f0b035]{display:flex;align-items:center;justify-content:space-between;gap:12px}.block-head h2[data-v-e5f0b035]{margin:0}.block-section>summary[data-v-e5f0b035]{cursor:pointer;list-style:none}.block-section>summary[data-v-e5f0b035]::-webkit-details-marker{display:none}.block-section>summary h2[data-v-e5f0b035]:before{content:"▸ ";color:var(--amber)}.block-section[open]>summary h2[data-v-e5f0b035]:before{content:"▾ "}.assign-title[data-v-e5f0b035]{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.assign-body[data-v-e5f0b035]{margin:0 0 8px}.count[data-v-e5f0b035]{min-width:1.6rem;padding:2px 8px;border-radius:999px;background:var(--primary-container);color:var(--on-primary-container);font-size:13px;font-weight:500;text-align:center}.doc-links[data-v-e5f0b035]{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 0}.block-group[data-v-e5f0b035]{border-top:1px solid color-mix(in srgb,var(--line) 45%,transparent);margin-top:12px}.block-group summary[data-v-e5f0b035]{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;font-size:16px;font-weight:500;color:var(--ink);list-style:none}.block-group summary[data-v-e5f0b035]::-webkit-details-marker{display:none}.block-group summary span[data-v-e5f0b035]:first-child:before{content:"▸ ";color:var(--amber)}.block-group[open] summary span[data-v-e5f0b035]:first-child:before{content:"▾ "}.block-group ul[data-v-e5f0b035]{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:10px}.block-group li[data-v-e5f0b035]{padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.block-group li[data-v-e5f0b035]:last-child{border-bottom:0;padding-bottom:0}.block-group p[data-v-e5f0b035]{margin:4px 0 0;color:var(--ink-soft);font-size:14px}.assign-pane[data-v-a79c75f4]{position:relative;min-height:160px}.assign-pane>div[data-v-a79c75f4]{background:var(--surface);border-radius:var(--radius);padding:8px 20px 20px;box-shadow:var(--elev-1)}.assign-title[data-v-a79c75f4]{margin:4px 0 8px;font-size:22px;font-weight:500}.assign-plan[data-v-a79c75f4]{margin:12px 0}.assign-plan h2[data-v-a79c75f4]{margin-top:0}.assign-body pre[data-v-a79c75f4],.assign-body .prompt[data-v-a79c75f4]{white-space:normal;font-family:var(--font);margin:0;color:var(--ink)}.assign-body[data-v-a79c75f4] h2,.assign-body[data-v-a79c75f4] h3,.assign-body[data-v-a79c75f4] h4{margin:16px 0 8px;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink)}.assign-body[data-v-a79c75f4] p{margin:0 0 10px}.assign-body[data-v-a79c75f4] ul,.assign-body[data-v-a79c75f4] ol{margin:0 0 10px;padding-left:1.3em}.assign-body[data-v-a79c75f4] li{margin:0 0 4px}.assign-body[data-v-a79c75f4] hr{border:0;border-top:1px solid var(--line);margin:14px 0}.assign-body[data-v-a79c75f4] a{color:var(--amber)}.assign-body[data-v-a79c75f4] img{max-width:100%;height:auto}.assign-body[data-v-a79c75f4] .screenreader-only,.assign-body[data-v-a79c75f4] .external_link_icon{display:none}:root{--bg: #000400;--bg-2: rgba(0, 10, 0, .88);--surface: rgba(0, 12, 3, .9);--select: rgba(20, 80, 28, .55);--ink: #d8ffd8;--ink-soft: #8ee89a;--ink-faint: #4f9a5c;--line: rgba(57, 255, 20, .35);--amber: #39ff14;--amber-dim: #14c432;--amber-muted: #0b7a28;--rose: #ff6b6b;--accent-2: #7dffb3;--accent-3: #b8ffc8;--accent-2-ink: #7dffb3;--accent-3-ink: #b8ffc8;--on-primary: #031204;--primary-container: rgba(6, 48, 16, .92);--on-primary-container: #c8ffc8;--error-container: rgba(70, 8, 8, .9);--radius: 4px;--radius-sm: 4px;--elev-1: 0 0 0 1px rgba(57, 255, 20, .28), 0 0 16px rgba(0, 255, 60, .06);--elev-2: 0 0 0 1px rgba(57, 255, 20, .4), 0 0 22px rgba(0, 255, 70, .12);--font: "Share Tech Mono", "Cascadia Mono", ui-monospace, monospace;--mono: "Share Tech Mono", "Cascadia Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:15px/1.5 var(--font)}html{scrollbar-width:thin;scrollbar-color:var(--amber-muted) var(--bg-2)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--bg-2)}*::-webkit-scrollbar-thumb{background:var(--amber-muted);border-radius:8px;border:2px solid var(--bg-2)}*::-webkit-scrollbar-thumb:hover{background:var(--amber)}*::-webkit-scrollbar-corner{background:var(--bg-2)}button,input{font:inherit}a{color:var(--amber);text-decoration:none}a:hover{text-decoration:underline}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:20px;line-height:1;vertical-align:middle}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.rain-pause{position:fixed;top:10px;right:12px;z-index:60;background:#000000d1;color:var(--amber);border:1px solid var(--line);border-radius:4px;padding:8px 14px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.rain-pause:focus-visible{outline:2px solid #e8ffe8;outline-offset:3px}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding:12px 108px 12px 20px;background:var(--bg-2);box-shadow:var(--elev-1);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--primary-container);color:var(--on-primary-container);display:grid;place-items:center;font-size:22px}.brand-title{font-size:18px;font-weight:500;letter-spacing:0;color:var(--ink)}.brand-sub{font-size:12px;color:var(--ink-faint);margin-top:1px}.nav{display:flex;gap:4px;flex-wrap:nowrap;min-width:0;overflow-x:auto}.nav a{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--ink-soft);border:0;border-radius:20px;padding:8px 16px;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}.nav a:hover{text-decoration:none;background:var(--select);color:var(--ink)}.nav a.active{color:var(--on-primary-container);background:var(--primary-container)}.nav a.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.meta{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:12px}.meta-date{white-space:nowrap}.page{padding:24px;max-width:1480px}.fire-layout{display:grid;grid-template-columns:minmax(0,1fr) 0fr;gap:0;margin-top:24px;align-items:start;transition:grid-template-columns .28s ease,gap .28s ease}.fire-layout.split{grid-template-columns:minmax(280px,.85fr) minmax(340px,1.15fr);gap:16px}.fire-list h2{margin:0 0 12px;font-size:14px;letter-spacing:.1px;text-transform:none;color:var(--ink);font-weight:500}.fire-table-wrap{overflow:auto;max-height:calc(100vh - 280px);background:var(--surface);border:0;border-radius:var(--radius);box-shadow:var(--elev-1)}.fire-detail{position:relative;min-width:0;min-height:120px;overflow:hidden}.fire-layout:not(.split) .fire-detail{pointer-events:none}tr.selected td{background:var(--primary-container);color:var(--on-primary-container)}.slide-enter-active,.slide-leave-active{transition:transform .22s ease,opacity .22s ease}.slide-leave-active{position:absolute;top:0;right:0;bottom:0;left:0;width:100%}.slide-enter-from{transform:translate(20px);opacity:0}.slide-leave-to{transform:translate(12px);opacity:0}.swap-enter-active,.swap-leave-active{transition:transform .18s ease,opacity .18s ease}.swap-leave-active{position:absolute;top:0;right:0;bottom:0;left:0;width:100%}.swap-enter-from{transform:translate(14px);opacity:0}.swap-leave-to{transform:translate(-10px);opacity:0}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--surface);border:0;border-radius:var(--radius);padding:20px 20px 16px;box-shadow:var(--elev-1)}.update-log{margin-top:24px;display:grid;gap:12px}.update-log h2{margin:0;font-size:14px;letter-spacing:.1px;text-transform:none;color:var(--ink);font-weight:500}.update-note p{margin:0 0 10px}.update-note p:last-child{margin-bottom:0}.update-earlier summary{cursor:pointer;color:var(--ink-soft);font-size:14px}.update-earlier .update-note{margin-top:12px}.card h2,.section h2{margin:0 0 8px;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.stat{font-size:32px;font-weight:500;letter-spacing:-.5px;color:var(--amber)}.stat.bad{color:var(--rose)}.stat.ok{color:var(--accent-2-ink)}.req-groups{display:grid;gap:16px;margin-top:14px}.req-group summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--ink);list-style:none}.req-group summary::-webkit-details-marker{display:none}.req-group summary:before{content:"▸ ";color:var(--amber)}.req-group[open] summary:before{content:"▾ "}.req-group summary .faint{margin-left:8px}.req-group ul{margin-top:8px}.req-group ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.req-group li{padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.req-group li:last-child{border-bottom:0;padding-bottom:0}.req-title{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.req-group p{margin:4px 0 0;color:var(--ink-soft);font-size:14px}.plan-doc{white-space:pre-wrap;max-height:28rem;overflow:auto;margin:12px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.55}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent);vertical-align:top}th{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint);font-weight:500}tr:last-child td{border-bottom:0}tr:hover td{background:var(--select)}tr.selected:hover td{background:var(--primary-container)}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;border:0;background:var(--select);color:var(--ink-soft);font-size:12px;font-weight:500}.pill.miss{color:var(--rose);background:var(--error-container)}.pill.soon{color:var(--on-primary-container);background:var(--primary-container)}.section{margin-top:28px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal .dow{color:var(--ink-faint);font-size:12px;letter-spacing:.4px;text-transform:uppercase;padding:4px 8px;font-weight:500}.day{min-height:100px;background:var(--surface);border:0;border-radius:var(--radius-sm);padding:10px;box-shadow:var(--elev-1)}.day.today{outline:2px solid var(--amber);outline-offset:0}.day .n{font-size:13px;font-weight:500;color:var(--ink-soft)}.day .ev{font-size:12px;margin-top:6px;background:var(--select);border:0;display:block;width:100%;text-align:left;cursor:pointer;padding:4px 8px;font:inherit;border-radius:6px;color:var(--ink);white-space:normal;overflow-wrap:break-word}.day .ev:hover{background:var(--primary-container);color:var(--on-primary-container)}.day .ev.plan{color:var(--ink-soft);font-style:italic}.gantt{overflow-x:auto}.gantt-row{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center;margin-bottom:10px}.gantt-track{position:relative;height:32px;background:var(--surface);border:0;border-radius:16px}.gantt-bar{position:absolute;top:6px;height:20px;background:var(--amber-dim);border-radius:10px;color:var(--on-primary);font-size:11px;font-weight:500;padding:0 8px;overflow:hidden;white-space:nowrap}.gantt-bar.miss{background:var(--rose);color:#3d1513}.gantt-bar.pace{background:var(--select);color:var(--ink-soft)}.today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--amber);border-radius:1px}.bell{list-style:none;margin:0;padding:0;display:grid;gap:14px}.bell-time{font-weight:500}.sched{display:grid;grid-template-columns:108px 1fr 1fr;gap:12px;align-items:stretch}.period{display:grid;align-content:center;gap:2px}.sched .head{color:var(--ink-faint);font-size:12px;letter-spacing:.4px;text-transform:uppercase;font-weight:500}.slot{background:var(--surface);border:0;border-radius:var(--radius);padding:16px;box-shadow:var(--elev-1)}.slot .avg{font-weight:500;color:var(--amber)}.back{display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:var(--amber);cursor:pointer;padding:8px 12px 8px 0;margin-bottom:8px;font-weight:500;border-radius:20px}.back:hover{text-decoration:none;color:var(--amber-dim)}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.gate-card{width:min(420px,100%);background:var(--surface);border-radius:var(--radius);box-shadow:var(--elev-1);padding:28px 24px;display:grid;gap:12px}.gate-card h2{margin:0;font-size:22px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}.gate-card p{margin:0;color:var(--ink-soft)}.gate-card input{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.gate-error{color:var(--rose)}.refresh{display:inline-flex;align-items:center;gap:6px;background:var(--amber);color:var(--on-primary);border:0;border-radius:20px;padding:10px 20px;cursor:pointer;font-weight:500;box-shadow:var(--elev-1);white-space:nowrap}.refresh:hover{filter:brightness(1.05)}.refresh:disabled{opacity:.6;cursor:wait}.click-row{cursor:pointer}.class-row td{background:color-mix(in srgb,var(--amber) 6%,transparent)}.class-name{font-weight:500}.open-hint{color:var(--amber);font-weight:500;white-space:nowrap}.pill.more,.pill.level{margin-left:8px;background:var(--primary-container);color:var(--on-primary-container)}.world{min-height:100vh;position:relative}.rain-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:#000}.app-shell,.gate{position:relative;z-index:1;opacity:0}.app-shell.shown,.gate.shown{opacity:1;transition:opacity .55s ease .25s}.boot-enter-active,.boot-leave-active{transition:opacity .7s ease,clip-path .85s ease}.boot-leave-to{opacity:0;clip-path:inset(0 50% 0 50%)}@media(max-width:800px){.topbar{grid-template-columns:1fr;gap:10px;padding:10px 96px 10px 12px;align-items:stretch}.brand{min-width:0}.nav{order:3;width:100%;padding-bottom:2px}.nav a{white-space:nowrap;padding:8px 12px}.meta{margin-left:0;width:100%;flex-wrap:wrap}.meta-date{white-space:normal}.page{padding:12px}.stat{font-size:28px}.cards{grid-template-columns:1fr}.cal{gap:6px;grid-template-columns:repeat(7,minmax(116px,1fr));width:max-content;min-width:100%}.cal .dow{font-size:11px;padding:2px 4px;letter-spacing:0}.day{min-height:88px;padding:6px}.day .ev{font-size:11px;padding:3px 4px}.sched{grid-template-columns:1fr 1fr}.sched .head:first-child{display:none}.sched .period{grid-column:1 / -1}.gantt-row{grid-template-columns:1fr}.gantt-track{min-width:520px}.gantt{padding-bottom:8px;max-width:100%}.page{overflow-x:hidden}.page section,.fire-list{max-width:100%;min-width:0;overflow-x:auto}th,td{padding:10px 8px}.fire-table-wrap{max-height:none}.fire-layout.split{grid-template-columns:1fr}.refresh{padding:8px 14px}}@media(prefers-reduced-motion:reduce){.app-shell.shown,.gate.shown,.boot-leave-active{transition:none}}
