.m-app{--hour: 44px;--top: 48px;--tabs: calc(56px + env(safe-area-inset-bottom)) ;display:grid;grid-template-rows:var(--top) 1fr var(--tabs);height:100%;height:100dvh;overflow:hidden;background:var(--paper)}.m-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 6px 0 14px;border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.m-brand{font-size:17px;letter-spacing:-.01em}.m-top .terms{justify-self:center}.m-iconbtn{justify-self:end;border:0;background:transparent;color:var(--ink-2);width:40px;height:40px;display:grid;place-items:center;border-radius:999px}.m-iconbtn:active{background:var(--paper-2)}.m-main{min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column}.m-main>:not(.plans){flex:1;min-height:0}.m-app .plans{padding:4px 8px 0}.m-gridwrap{height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.m-list{height:100%;overflow:auto;padding:8px 12px 90px}.m-empty{padding:28px 20px 8px;color:var(--ink-2);line-height:1.5}.m-empty p{margin:0 0 6px}.m-app .grid{grid-template-columns:34px repeat(var(--days),minmax(0,1fr))}.m-app .grid .corner,.m-app .grid .dayhead{height:32px}.m-app .dayhead{font-size:12px}.m-app .dayhead svg{display:none}.m-app .times div{font-size:10px;padding-right:4px;transform:translateY(-6px)}.m-app .slot{left:1px;right:1px;padding:3px 4px;border-radius:5px;font-size:10px;line-height:1.25}.m-app .slot b{font-size:10px;letter-spacing:-.02em}.m-app .slot .time,.m-app .slot.course .flag{display:none}.m-app .slot.course,.m-app .slot.ghost{line-height:12.5px;padding:3px}.m-app .slot.course.conflict:after,.m-app .slot.block.conflict:after{position:absolute;content:"";width:7px;height:7px;border-radius:999px;background:var(--clash);right:4px;top:4px}.m-app .slot.block{cursor:default}.m-app .slot.block b{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-app .slot.block .handle{height:10px}.m-app .slot.course{touch-action:pan-y}.m-app .ytag{font-size:9px;line-height:12px;padding:0 3px;margin-left:3px}.m-app .now{border-top-width:1.5px}.m-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--paper);padding-bottom:env(safe-area-inset-bottom)}.m-tabs button{border:0;background:transparent;color:var(--ink-3);font-size:10.5px;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0 4px}.m-tabs button[aria-pressed=true]{color:var(--navy)}.m-fab{position:fixed;right:16px;bottom:calc(var(--tabs) + 16px);width:52px;height:52px;border-radius:999px;border:0;background:var(--navy);color:#fff;font-size:30px;line-height:1;box-shadow:0 8px 20px -6px #1f2f5c99;z-index:20;display:grid;place-items:center;padding-bottom:3px}.m-fab:active{transform:scale(.96)}.m-search{position:fixed;inset:0;background:var(--paper);z-index:60;display:grid;grid-template-rows:auto 1fr;padding-top:env(safe-area-inset-top)}.m-searchbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.m-searchbar input{flex:1;border:1px solid var(--line-2);border-radius:10px;padding:11px 12px;font-size:16px;background:var(--paper-2)}.m-results{overflow:auto;padding:4px 12px calc(var(--tabs) + 12px)}.m-hint{color:var(--ink-3);padding:20px 4px}.m-result{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"code add maybe" "name add maybe";column-gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.m-result .code{grid-area:code;font-family:var(--mono);font-size:13.5px;font-weight:600}.m-result .code i{font-style:normal;color:var(--ink-3);margin-left:6px;font-weight:500}.m-result .name{grid-area:name;color:var(--ink-2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-result .btn:nth-of-type(1){grid-area:add}.m-result .btn:nth-of-type(2){grid-area:maybe}.m-backdrop{position:fixed;inset:0;background:#16181d59;z-index:1000}.m-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1001;background:var(--paper);border-radius:18px 18px 0 0;box-shadow:0 -8px 30px -10px #00000059;padding:6px 16px calc(16px + env(safe-area-inset-bottom));max-height:70vh;overflow:auto;animation:m-up .22s cubic-bezier(.2,.8,.2,1)}.m-sheet.tall{max-height:88vh}@keyframes m-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.m-grip{width:36px;height:4px;border-radius:999px;background:var(--line-2);margin:4px auto 10px}.m-sheet h3{margin:4px 0 10px;font-size:16px}.m-app .sheet{position:fixed;inset:auto 0 0;width:auto;max-width:none;border-radius:18px 18px 0 0;max-height:86vh;overflow:auto;z-index:1001;padding-bottom:calc(16px + env(safe-area-inset-bottom));animation:m-up .22s cubic-bezier(.2,.8,.2,1)}.m-app .sheet .url input{font-size:13px}.m-classhead{display:flex;gap:12px;align-items:center;margin:2px 0 12px}.m-dot{width:26px;height:26px;border-radius:999px;background:var(--fill);border:2.5px solid var(--inkc);flex:0 0 auto}.m-classhead b{font-family:var(--mono);font-size:16px}.m-classhead i{font-style:normal;color:var(--ink-3);margin-left:6px;font-size:13px}.m-classhead i.maybe{border:1px solid var(--ink-3);border-radius:999px;padding:0 6px;font-size:11px}.m-classhead span{display:block;color:var(--ink-2);font-size:13px}.m-kinds{border-top:1px solid var(--line)}.m-kind{border-bottom:1px solid var(--line)}.m-row{display:grid;grid-template-columns:38px 1fr auto 16px;gap:8px;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:12px 0;font-size:14px}.m-row .k{color:var(--ink-3);font-size:12px;font-weight:600}.m-row .v{color:var(--ink);line-height:1.3}.m-row .v b{font-family:var(--mono)}.m-row .seat{color:var(--ink-3);font-size:12px;font-variant-numeric:tabular-nums}.m-row .chev{color:var(--ink-3);text-align:right}.m-opts{padding:0 0 8px}.m-opt{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;text-align:left;border:0;border-radius:10px;background:var(--paper-2);padding:10px 12px;margin:0 0 6px;font-size:13px}.m-opt[aria-checked=true]{outline:2px solid var(--navy)}.m-opt b{font-family:var(--mono);font-weight:600}.m-opt em{font-style:normal;color:var(--clash);margin-left:8px;font-size:12px;font-weight:600}.m-opt small{display:block;color:var(--ink-2)}.m-opt .seat{color:var(--ink-3);font-size:12px;text-align:right}.m-opt .seat.full{color:var(--clash)}.m-opt{grid-template-columns:1fr auto auto;align-items:start}.m-opt>span:first-child{grid-column:1}.m-opt .opt-acts{grid-column:2;align-self:center;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.m-opt .seat{grid-column:3}.m-opt.conflict{background:var(--clash-bg)}.m-actions{display:flex;gap:8px;margin:14px 0 4px}.m-actions .btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;font-size:14px}.m-actions .btn.danger{color:var(--clash);border-color:var(--clash-bg);background:var(--clash-bg)}.m-toggle{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;color:var(--ink-2)}.m-picture{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m-picture>span:first-child{flex:1 0 100%}.m-details{margin-top:10px;color:var(--ink-2);font-size:13px;line-height:1.5}.m-details summary{color:var(--ink-3);cursor:pointer}.m-details p{margin:8px 0 0}.m-field{display:block;margin:10px 0}.m-field span{display:block;font-size:12px;color:var(--ink-3);margin-bottom:4px}.m-field input,.m-field select{width:100%;border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;font-size:16px;background:var(--paper)}.m-field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.m-check{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:14px}.m-more .m-row{grid-template-columns:1fr;gap:2px;padding:14px 4px;border-bottom:1px solid var(--line)}.m-more .m-row small{color:var(--ink-3);font-size:12px}.m-more .m-row.danger span{color:var(--clash)}.m-more .m-row:disabled{opacity:.45}.m-about{color:var(--ink-3);font-size:12px;line-height:1.5;padding:14px 4px}.m-app .card{margin:10px 0}.m-app .toast{bottom:calc(var(--tabs) + 14px);max-width:calc(100vw - 32px);font-size:13px;z-index:1200}.m-app .mappanel .mapfoot{height:30vh}.m-app .mappanel{position:relative;inset:auto;height:100%;border-left:0;grid-template-rows:auto minmax(0,1fr) auto}.m-app .section-head{margin:14px 0 2px}.m-app .seats-bar{justify-content:flex-start;gap:6px;flex-wrap:wrap}.m-app .seats-bar>span{margin-left:auto}.m-app .card-actions .icon{min-width:36px;min-height:40px;justify-content:center}.m-app .chip{min-height:32px}.m-app .chip-add{min-width:34px;font-size:16px}.m-app .slot.block .both{display:none}.m-maptab{display:flex;flex-direction:column;min-height:0;height:100%}.m-maptab>.mappanel,.m-maptab>.m-week,.m-maptab>.m-empty{flex:1;min-height:0}.m-days{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;flex:none}.m-days::-webkit-scrollbar{display:none}.m-days button{flex:1;min-width:52px;height:34px;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);font:600 13px/1 var(--font);color:var(--ink-2)}.m-days button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.m-week{overflow:auto;padding:10px 12px 24px;display:grid;gap:12px;align-content:start}.m-weekday b{display:block;font-size:13px;margin:0 2px 6px;color:var(--ink-2)}.m-weekday .daymap{height:220px}:root{--ink: #16181d;--ink-2: #4b5160;--ink-3: #8a90a0;--line: #e4e6eb;--line-2: #d3d6de;--paper: #ffffff;--paper-2: #f6f7f9;--navy: #1f2f5c;--navy-ink: #ffffff;--clash: #c2410c;--clash-bg: #fff1e8;--focus: #2f5fd1;--hour: 56px;--sidebar: 344px;--mappanel: 380px;--radius: 8px;--shadow: 0 8px 24px -12px rgba(22, 24, 29, .28), 0 2px 6px -2px rgba(22, 24, 29, .12);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--c0: #dbe7ff;--c0i: #1d3f8f;--c1: #dcf3e3;--c1i: #155d33;--c2: #fde8cf;--c2i: #8a4b0b;--c3: #f2e2fb;--c3i: #6b2a9c;--c4: #d9f1f6;--c4i: #0f5a6b;--c5: #fbe3e8;--c5i: #97243e;--c6: #f0edd8;--c6i: #5f5610;--c7: #e6e6ee;--c7i: #3f3f5c}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.45 var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--navy)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{display:grid;grid-template-rows:48px 1fr;height:100%}.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px 0 16px;border-bottom:1px solid var(--line);gap:12px}.brand{display:flex;align-items:baseline;gap:10px;min-width:0}.brand b{font-size:16px;letter-spacing:-.01em}.brand span{color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.terms{display:inline-flex;background:var(--paper-2);border-radius:999px;padding:3px}.terms button{border:0;background:transparent;padding:5px 14px;border-radius:999px;color:var(--ink-2);font-weight:500}.terms button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #0000001f}.actions{display:flex;justify-content:flex-end;gap:6px}.btn{border:1px solid var(--line-2);background:var(--paper);border-radius:var(--radius);padding:6px 11px;font-weight:500;color:var(--ink);white-space:nowrap}.btn:hover{background:var(--paper-2)}.btn[aria-pressed=true],.btn.primary{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}.btn.small{padding:3px 8px;font-size:12px}.btn.ghost{border-color:transparent}.btn:disabled{opacity:.5;cursor:default}.main{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:0}.main.with-map{grid-template-columns:var(--sidebar) 1fr var(--mappanel)}.side{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.search{padding:12px 12px 8px;position:relative}.search input{width:100%;border:1px solid var(--line-2);border-radius:var(--radius);padding:9px 12px 9px 34px;background:var(--paper)}.search input::placeholder{color:var(--ink-3)}.search svg{position:absolute;left:22px;top:22px;color:var(--ink-3);pointer-events:none}.results{position:absolute;left:12px;right:12px;top:50px;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow);max-height:60vh;overflow:auto;z-index:1050}.results button{display:grid;grid-template-columns:92px 1fr auto auto;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:8px 12px;align-items:baseline}.results button:hover,.results button[aria-selected=true]{background:var(--paper-2)}.results .code{font-family:var(--mono);font-size:12.5px}.results .name{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results .term{font-size:11px;color:var(--ink-3)}.results .empty{padding:12px;color:var(--ink-3)}.list{overflow:auto;padding:4px 12px 24px;flex:1}.hint{color:var(--ink-3);padding:24px 8px;line-height:1.6}.hint kbd{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--line-2);border-radius:4px;padding:0 5px;font-size:12px}.noseats .seat{display:none}.sharemenu{position:relative}.sharemenu>.btn{display:inline-flex;align-items:center;gap:6px}.sharemenu .menu{position:absolute;right:0;top:calc(100% + 6px);z-index:1200;width:290px;background:var(--paper);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:6px}.sharemenu .menu>button{display:block;width:100%;text-align:left;border:0;background:transparent;font:inherit;padding:8px 10px;border-radius:8px;cursor:pointer}.sharemenu .menu>button:hover{background:var(--paper-2)}.sharemenu .menu b{display:block;font-size:13px;font-weight:600;color:var(--ink)}.sharemenu .menu small{display:block;font-size:12px;color:var(--ink-3);margin-top:1px}.menu-sep{height:1px;background:var(--line);margin:6px 4px}.menu-image{display:grid;grid-template-columns:1fr auto;gap:8px 6px;align-items:center;padding:6px 10px 8px}.menu-image b{grid-column:1 / -1}.menu-two{display:inline-flex;gap:6px}.lockmark{display:inline-flex;margin-left:4px;vertical-align:-1px;font-style:normal}.lockmark svg{width:10px;height:10px;stroke-width:2.6}.slot.course.locked{border-left-width:5px;cursor:pointer}.chip .lockmark{margin-left:3px;color:var(--ink-3)}.slot.ghost>.ghost-acts{position:absolute;top:3px;right:3px;width:auto;display:none;gap:3px;z-index:1}.slot.ghost:hover>.ghost-acts,.slot.ghost.over>.ghost-acts{display:flex}.ghost-acts .addmaybe.hide{background:#fff;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}.ghost-acts .addmaybe{display:block;font:600 10px/16px var(--font);padding:0 6px;border-radius:999px;background:var(--inkc);color:#fff;cursor:pointer;z-index:1}.opt-maybe{font-size:11px;font-weight:600;color:var(--navy);white-space:nowrap;padding:2px 6px;border-radius:999px;border:1px solid var(--line-2);align-self:center;cursor:pointer}.opt-maybe:hover{background:var(--paper-2)}.opt-maybe.on{color:var(--ink-3);border-color:transparent;cursor:default}.chipgroup{display:inline-flex;align-items:stretch}.chipgroup .chip{border-top-right-radius:0;border-bottom-right-radius:0}.chip-add{border:1px solid var(--line-2);border-left:0;background:var(--paper);color:var(--ink-3);font:600 13px/1 var(--font);padding:0 7px;border-radius:0 999px 999px 0;cursor:pointer}.chip-add:hover{color:var(--navy);background:var(--paper-2)}.slot.block>.block-x{position:absolute;top:3px;right:3px;display:none;width:18px;height:18px;border:0;border-radius:999px;background:var(--ink-2);color:#fff;font:600 13px/18px var(--font);padding:0;cursor:pointer}.slot.block:hover>.block-x,.slot.block.selected>.block-x{display:block}.slot.block>.block-x:hover{background:var(--clash)}.alts{display:grid;gap:4px;margin:6px 0 2px}.alt{display:flex;align-items:center;gap:6px;padding:4px 6px;border:1px dashed color-mix(in srgb,var(--inkc) 50%,transparent);border-radius:8px;font-size:12px;background:color-mix(in srgb,var(--fill) 25%,white)}.alt .tag{font:600 9.5px/14px var(--font);text-transform:uppercase;letter-spacing:.04em;color:var(--inkc);border:1px solid var(--inkc);border-radius:4px;padding:0 4px}.alt b{font-family:var(--mono);font-weight:600;color:var(--inkc)}.alt small{flex:1;min-width:0;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alt .btn.small{padding:1px 7px}.alt .x{border:0;background:transparent;color:var(--ink-3);font-size:15px;cursor:pointer;padding:0 2px}.strip-note{font-size:12px;color:var(--ink-2);padding:0 6px 0 8px;white-space:nowrap}.seats-bar{display:flex;justify-content:space-between;align-items:center;color:var(--ink-3);font-size:12px;padding:6px 0 4px}.card{border:1px solid var(--line);border-radius:10px;margin:8px 0;overflow:hidden}.card-head{display:grid;grid-template-columns:6px 1fr auto;align-items:stretch;gap:10px}.card-head .swatch{background:var(--fill)}.card-head .title{padding:9px 0 9px 4px;min-width:0}.card-head .title b{font-family:var(--mono);font-size:13px}.card-head .title i{font-style:normal;color:var(--ink-3);margin-left:6px;font-size:12px}.card-head .title span{color:var(--ink-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-head .x{border:0;background:transparent;color:var(--ink-3);padding:0 10px;font-size:18px;line-height:1}.card-head .x:hover{color:var(--clash)}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 10px}.chip{border:1px solid var(--line-2);background:var(--paper);border-radius:999px;padding:2px 9px;font-size:12px;font-family:var(--mono);display:inline-flex;gap:6px;align-items:center}.chip:hover{border-color:var(--ink-3)}.chip .k{color:var(--ink-3);font-family:var(--font)}.chip.clash{border-color:var(--clash);color:var(--clash)}.chip .full{color:var(--clash);font-family:var(--font)}.card-more{border-top:1px solid var(--line);padding:8px 10px 10px;color:var(--ink-2);font-size:13px}.card-more p{margin:0 0 6px}.card-more dt{color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-top:8px}.card-more dd{margin:2px 0 0}.toggle{border:0;background:transparent;color:var(--ink-3);font-size:12px;padding:0 10px 8px}.toggle:hover{color:var(--ink)}.gridcol{display:flex;flex-direction:column;min-width:0;min-height:0}.gridcol .gridwrap{flex:1;min-height:0}.gridcol.dropping .gridwrap{outline:2px dashed var(--navy);outline-offset:-4px}.dropbar{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0;background:var(--paper)}.dropbar div{border:2px dashed var(--line-2);border-radius:10px;padding:14px 8px;text-align:center;font-weight:600;font-size:13px;color:var(--ink-2)}.dropbar div:hover{border-color:var(--navy);color:var(--navy);background:var(--paper-2)}.cart-row{display:flex;align-items:center;gap:6px;padding:6px 8px;margin:0 0 4px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12px;cursor:grab}.cart-row b{font-family:var(--mono);font-weight:600;font-size:12px}.cart-row i{font-style:normal;color:var(--ink-3);font-size:11px}.cart-row .name{flex:1;min-width:0;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-row .name em{color:var(--ink-3);font-style:normal}.cart-row .btn.small{padding:2px 6px}.cart-row .x{border:0;background:transparent;color:var(--ink-3);font-size:15px;cursor:pointer;padding:0 2px}.cart-row .x:disabled{opacity:.3;cursor:default}.list-note{margin:4px 2px 10px;font-size:12px;color:var(--ink-3)}.section-head small{color:var(--ink-3);font-size:11px;margin-left:4px}.plans{display:flex;align-items:center;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--line);overflow-x:auto;flex:none;background:var(--paper-2);scrollbar-width:none}.plans::-webkit-scrollbar{display:none}.plan{display:flex;align-items:center;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;margin-bottom:-1px}.plan.on{background:var(--paper);border-color:var(--line)}.plan button[role=tab]{border:0;background:transparent;font:inherit;font-size:13px;padding:6px 12px;color:var(--ink-2);white-space:nowrap;cursor:pointer}.plan.on button[role=tab]{color:var(--ink);font-weight:600}.plan input{font:inherit;font-size:13px;width:110px;margin:3px 6px;padding:2px 6px;border:1px solid var(--line-2);border-radius:6px}.plan .x{border:0;background:transparent;color:var(--ink-3);padding:0 8px 0 0;font-size:15px;cursor:pointer}.plan .x:hover{color:var(--clash)}.plan .x.pen{padding:0 4px 0 0;display:inline-flex}.plan .x.pen svg{width:12px;height:12px}.plan .x.pen:hover{color:var(--navy)}.plan .confirm{display:flex;align-items:center;gap:4px;padding:0 6px 0 2px;font-size:12px;color:var(--ink-2);white-space:nowrap}.plan .confirm button{border:1px solid var(--line-2);background:var(--paper);font:inherit;font-size:12px;padding:2px 8px;border-radius:6px;cursor:pointer}.plan .confirm .yes{background:var(--clash-bg);border-color:var(--clash-bg);color:var(--clash);font-weight:600}.plan-act{border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink-3);padding:6px 10px;cursor:pointer;white-space:nowrap}.plan-act:hover{color:var(--navy)}.gridwrap{overflow:auto;position:relative;min-width:0}.grid{display:grid;grid-template-columns:52px repeat(var(--days),minmax(120px,1fr));min-width:100%}.grid .corner,.grid .dayhead{position:sticky;top:0;background:var(--paper);z-index:6;border-bottom:1px solid var(--line);height:40px}.dayhead{border:0;border-left:1px solid var(--line);font-weight:600;color:var(--ink-2);display:flex;align-items:center;justify-content:center;gap:6px;background:var(--paper)}.dayhead:hover{color:var(--navy);background:var(--paper-2)}.dayhead[aria-pressed=true]{color:var(--navy)}.dayhead svg{opacity:0;transition:opacity .15s}.dayhead:hover svg,.dayhead[aria-pressed=true] svg{opacity:1}.times{position:relative}.times div{height:var(--hour);font-size:11px;color:var(--ink-3);text-align:right;padding-right:8px;transform:translateY(-7px);font-variant-numeric:tabular-nums}.col{position:relative;border-left:1px solid var(--line);background-image:linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:100% var(--hour);touch-action:none;-webkit-user-select:none;user-select:none}.slot{position:absolute;left:3px;right:3px;border-radius:6px;padding:5px 7px;overflow:hidden;background:var(--fill);color:var(--inkc);border:0;text-align:left;font-size:12px;line-height:1.3;box-shadow:inset 0 0 0 1px #0000000a}.slot b{font-family:var(--mono);font-weight:600;display:block}.slot small{display:block;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot.course,.slot.ghost{display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;column-gap:40px;container-type:inline-size;line-height:14px;padding:4px}.slot.course>*,.slot.ghost>*{flex:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot.course b,.slot.ghost b{line-height:16px}.slot .flag{color:var(--clash);font-weight:600;opacity:1}.slot .bld-line{display:none}@container (max-width: 104px){.slot .bld{display:none}.slot .bld-line{display:block}.slot .flag{font-size:10px}}@container (max-width: 76px){.slot>*{font-size:10px}.slot b{font-size:10.5px;letter-spacing:-.03em}.slot .sib{display:none}.slot .flag{white-space:normal;line-height:12px}}@container (max-width: 56px){.slot>*{font-size:9.5px;letter-spacing:-.02em}.slot b{font-size:9.5px;letter-spacing:-.04em}.slot .time,.slot .flag.note,.slot .pre,.slot .lockmark{display:none}.slot .flag{font-size:9px}}@container (max-width: 34px){.slot>:not(b),.slot .bld-line{display:none}.slot b{writing-mode:vertical-rl;width:auto;font-size:10px;letter-spacing:0;line-height:12px}.slot b .ytag{display:none}}.slot.course{border-left:3px solid var(--inkc)}.slot.course.conflict{border-left-color:var(--clash)}.slot.course:hover,.slot.course.lit{box-shadow:inset 0 0 0 2px var(--inkc)}.slot.course.lit{z-index:3}.slot.conflict{box-shadow:inset 0 0 0 2px var(--clash)}.slot.block.conflict:after{content:"conflict";position:absolute;right:6px;top:5px;font-size:10px;font-weight:600;color:var(--clash);text-transform:uppercase;letter-spacing:.04em}.slot.block{background:repeating-linear-gradient(135deg,#f1f2f5 0 6px,#e6e8ee 6px 8px);color:var(--ink-2);border:1px dashed var(--line-2);cursor:grab}.slot.block.selected{border-color:var(--navy);box-shadow:0 0 0 2px #1f2f5c40}.slot.block input{width:100%;border:0;background:transparent;padding:0;font-weight:600;outline:none}.slot.block .handle{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize}.slot.draft{background:#1f2f5c1f;border:1px dashed var(--navy);color:var(--navy);pointer-events:none}.now{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--clash);z-index:3;pointer-events:none}.pop{position:fixed;z-index:1100;background:var(--paper);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow);width:300px;max-height:60vh;overflow:auto}.pop header{padding:10px 12px 6px;display:flex;justify-content:space-between;align-items:baseline}.pop header b{font-family:var(--mono)}.pop header span{color:var(--ink-3);font-size:12px}.pop .opt{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:8px 12px}.pop .opt{grid-template-columns:1fr auto auto}.pop .opt>span:first-child{grid-column:1}.pop .opt .opt-acts{grid-column:2;display:flex;gap:6px;align-self:center}.pop .opt .seat{grid-column:3}.pop .opt:hover,.pop .opt[aria-checked=true]{background:var(--paper-2)}.pop .opt b{font-family:var(--mono);font-weight:600}.pop .opt small{display:block;color:var(--ink-2)}.pop .opt .seat{color:var(--ink-3);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.pop .opt .seat.full,.pop .opt.clash b{color:var(--clash)}.pop footer{border-top:1px solid var(--line);padding:8px 12px;display:flex;gap:8px}.mappanel{border-left:1px solid var(--line);display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.mappanel header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.mappanel header b{flex:1}.mappanel .map{min-height:0}.mappanel .empty{padding:24px 16px;color:var(--ink-3)}.mappanel .mapfoot{height:168px;overflow:auto;border-top:1px solid var(--line)}.mappanel ol{margin:0;padding:8px 12px 12px 32px;font-size:13px}.mappanel li{padding:4px 0}.mappanel li b{font-family:var(--mono)}.mappanel li span{color:var(--ink-2)}.mappanel li.maybe{color:var(--ink-3)}.mappanel li em{color:var(--ink-3);font-style:italic}.pin{background:var(--navy);color:#fff;border-radius:999px;width:26px;height:26px;display:grid;place-items:center;font-weight:700;font-size:12px;border:2px solid #fff;box-shadow:0 2px 6px #0000004d}.sheet{position:fixed;right:12px;top:56px;width:400px;max-width:calc(100vw - 24px);background:var(--paper);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);z-index:1100;padding:14px 16px 16px}.sheet h3{margin:0 0 4px;font-size:15px}.sheet p{margin:0 0 10px;color:var(--ink-2)}.sheet .url{display:flex;gap:6px}.sheet .url input{flex:1;border:1px solid var(--line-2);border-radius:var(--radius);padding:7px 10px;font-family:var(--mono);font-size:12px}.sheet ul{margin:8px 0 0;padding-left:18px;color:var(--ink-2)}.sheet .row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.sheet .ev{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:5px 0;border-top:1px solid var(--line)}.sheet .ev small{color:var(--ink-3)}.drop{border:1px dashed var(--line-2);border-radius:var(--radius);padding:18px;text-align:center;color:var(--ink-3)}.drop.over{border-color:var(--navy);color:var(--navy);background:var(--paper-2)}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:999px;padding:8px 8px 8px 16px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow);z-index:1200}.toast button{border:0;background:#ffffff24;color:#fff;border-radius:999px;padding:4px 10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:900px){.app{grid-template-rows:auto 1fr}.top{grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:8px 10px;row-gap:6px}.top .actions{grid-column:1 / -1;justify-content:flex-start;overflow:auto}.main,.main.with-map{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side{border-right:0;border-bottom:1px solid var(--line);max-height:42vh}.mappanel{position:fixed;inset:0;z-index:45;background:var(--paper)}:root{--hour: 48px}.sheet{right:8px;left:8px;width:auto}}.viewctl{display:flex;align-items:center;gap:8px;justify-content:center}.terms.layout button,.terms.small button{padding:4px 8px;display:inline-flex;align-items:center}.terms.small{padding:2px}.terms.small button{padding:3px 10px;font-size:12px}.gridwrap{display:flex;flex-direction:column}.grids.single .gridpane{min-width:100%}.grids.beside{display:flex;align-items:flex-start}.grids.beside .gridpane{flex:1 1 0;min-width:560px}.grids.beside .gridpane+.gridpane{border-left:2px solid var(--line-2)}.grids.stack .gridpane+.gridpane{border-top:2px solid var(--line-2);margin-top:16px}.termbar{position:sticky;top:0;z-index:7;background:var(--paper);color:var(--navy);font-weight:600;padding:7px 12px 5px;border-bottom:1px solid var(--line);font-size:13px}.gridpane .termbar+.grid .corner,.gridpane .termbar+.grid .dayhead{top:30px}.choosebar{position:sticky;top:0;z-index:9;display:flex;gap:8px;align-items:center;padding:6px 12px;background:var(--navy);color:#fff;font-size:13px}.choosebar span{flex:1}.choosebar .btn{background:#ffffff1f;color:#fff;border-color:#ffffff59}.choosebar .btn:hover{background:#ffffff38}.slot.ghost{background:color-mix(in srgb,var(--fill) 12%,white);border:1px dashed color-mix(in srgb,var(--inkc) 45%,transparent);color:color-mix(in srgb,var(--inkc) 70%,white);z-index:2;cursor:pointer;box-shadow:none}.slot.ghost.focus{background:color-mix(in srgb,var(--fill) 26%,white);border:1.5px dashed var(--inkc);color:var(--inkc);z-index:3}.slot.course,.slot.ghost{transition:opacity .12s}.slot.dim{opacity:.28;pointer-events:none}.slot.ghost.dim{opacity:.4}.slot.ghost:hover,.slot.ghost.over{background:var(--fill);color:var(--inkc);box-shadow:0 0 0 2px var(--inkc);z-index:4;opacity:1}.slot.ghost.clash{border-color:var(--clash);color:var(--clash);background:var(--clash-bg)}.slot.ghost b .warn{font:500 10px/1 var(--sans, system-ui);font-style:normal;color:var(--clash);margin-left:6px;white-space:nowrap}.slot.course.choosing{box-shadow:inset 0 0 0 2px var(--inkc);z-index:3}.slot.course.dragging{opacity:.55;cursor:grabbing}.slot.course{cursor:grab}.ytag{display:inline-block;font:600 10px/14px var(--font);background:var(--inkc);color:#fff;border-radius:4px;padding:0 4px;margin-left:6px;vertical-align:1px;font-style:normal}.card-head .title i.y{color:var(--navy);font-weight:600}.card-actions{display:flex;align-items:center}.card-actions .icon{border:0;background:transparent;color:var(--ink-3);padding:0 6px;display:inline-flex;align-items:center;height:100%}.card-actions .icon:hover,.card-actions .icon.on{color:var(--navy)}.mappanel .legend{font-size:12px;color:var(--ink-2);padding:8px 12px;line-height:1.6}.mappanel .legend span{margin-right:10px;white-space:nowrap}.spot{display:flex;flex-direction:column;gap:2px}.spot-row{display:flex;align-items:center;gap:4px}.spot-row.option .pin{width:16px;height:16px;margin:0 5px;border-width:2px}.spot .lbl{background:#fff;color:#1b1d22;font:600 11px/16px var(--mono);padding:0 5px;border-radius:5px;box-shadow:0 1px 4px #00000038;white-space:nowrap}.spot-row.option .lbl{color:var(--navy);font-weight:500}.grid .corner.foot,.dayfoot{position:sticky;bottom:0;z-index:6;background:var(--paper);border-top:1px solid var(--line);height:var(--dayfoot, 210px)}.foot-grip{position:absolute;left:0;right:0;top:-4px;height:8px;cursor:ns-resize;z-index:2}.foot-grip:hover{background:linear-gradient(to bottom,transparent 3px,var(--navy) 3px,var(--navy) 5px,transparent 5px)}.grid .corner.foot{position:sticky}.dayfoot{border-left:1px solid var(--line);padding:5px}.daymap{position:relative;display:block;width:100%;height:100%;padding:0;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:var(--paper-2);cursor:pointer}.daymap:hover{border-color:var(--navy)}.daymap .daymap-map{position:absolute;inset:0}.daymap .pin{width:21px;height:21px;font-size:11px;border-width:2px}.daymap .spot-row.option .pin{width:13px;height:13px;margin:0 4px;border-width:2px}.daymap .spot .lbl{font-size:10.5px;line-height:15px;padding:0 4px}.pin.hollow{background:#fff;color:var(--navy);border:2px solid var(--navy)}.pin.other{background:#f3f4f7;color:var(--ink-3);border:1.5px solid #c9cdd6;box-shadow:none}.maplibregl-popup-content .mprow.other{color:var(--ink-3)}.pin.bld{width:auto;min-width:26px;padding:0 6px;border-radius:7px;font-family:var(--mono);font-size:11px}.pin.mini{display:inline-grid;width:14px;height:14px;font-size:0;vertical-align:-2px;margin-right:4px;border-width:1.5px}.maplibregl-popup-content{font:13px/1.4 var(--font);color:var(--ink);padding:8px 10px;border-radius:8px;box-shadow:var(--shadow)}.mappanel .kind,.maplibregl-popup-content .kind{display:inline-block;font-size:11px;line-height:16px;padding:0 6px;border-radius:999px;background:var(--paper-2);color:var(--ink-2);font-style:normal;white-space:nowrap}.maplibregl-popup-content .mprow.preview{background:var(--paper-2);border-radius:4px}.maplibregl-popup-content .mptitle{font-weight:600;margin-bottom:4px}.maplibregl-popup-content .mprow{display:flex;gap:6px;align-items:center;padding:2px 0;white-space:nowrap}.maplibregl-popup-content .mprow b{font-family:var(--mono);font-weight:600}.maplibregl-popup-content .mprow em{color:var(--ink-3);font-style:normal;font-size:12px}.maplibregl-ctrl-attrib{font-size:10px}.sheet.wide{width:460px}.sheet .src{margin:10px 0}.sheet .src label{display:block;font-weight:600;margin-bottom:4px}.sheet .src small,.sheet .drop small{display:block;color:var(--ink-3);margin-top:6px;line-height:1.5}.sheet .src .btn.primary{display:inline-flex;align-items:center;gap:8px}.sheet .busy{color:var(--ink-2)}.sheet .err{color:var(--clash);background:var(--clash-bg);border-radius:var(--radius);padding:8px 10px}.sheet .evlist{max-height:46vh;overflow:auto}@media(max-width:900px){.grids.beside{flex-direction:column}.grids.beside .gridpane{min-width:100%}.grids.beside .gridpane+.gridpane{border-left:0;border-top:2px solid var(--line-2);margin-top:16px}.viewctl{justify-content:flex-start}}.grids.beside .gridpane{min-width:0;overflow-x:auto}.grids.beside .grid{grid-template-columns:44px repeat(var(--days),minmax(88px,1fr))}.grids.beside .slot{font-size:11px;padding:4px 5px}.grids.beside .slot.course,.grids.beside .slot.ghost{line-height:13px}.grids.beside .times div{font-size:10px;padding-right:5px}.slot.course.maybe{opacity:var(--maybe-opacity, .45);border:1.5px dashed var(--inkc);box-shadow:none}.slot.course.maybe:hover,.slot.course.maybe.choosing,.slot.course.maybe.dragging{opacity:1}.ytag.maybe{background:transparent;color:var(--inkc);border:1px solid var(--inkc)}.section-head{display:flex;align-items:center;gap:10px;margin:16px 0 2px;font-size:12px;font-weight:600;color:var(--ink-3)}.section-head b{color:var(--ink-2);font-weight:600}.section-head .shade{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:500}.section-head input[type=range]{width:76px;accent-color:var(--navy)}.card.maybe{border-style:dashed}.card.maybe .swatch{opacity:var(--maybe-opacity, .45)}.card-actions .icon.off{opacity:.32}.card-actions .icon.off:hover{opacity:.7}.results button .alt{justify-self:end;font-size:11px;color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:1px 7px;opacity:0}.results button:hover .alt,.results button[aria-selected=true] .alt{opacity:1}.results button .alt:hover{color:var(--navy);border-color:var(--navy)}.slot.ghost.over{background:var(--fill);box-shadow:0 0 0 2px var(--inkc);z-index:4;border-style:solid}.sheet .setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.sheet .setting:first-of-type{border-top:0}.sheet .setting>span{display:block}.sheet .setting>span small{display:block;color:var(--ink-3)}.sheet .setting input[type=range]{width:120px;accent-color:var(--navy)}.sheet .about{color:var(--ink-3);font-size:12px;margin-top:10px;line-height:1.5}.section-head .link{margin-left:auto;border:0;background:transparent;color:var(--ink-3);font-size:12px;padding:0}.section-head .link:hover{color:var(--navy)}.btn.gear{padding:6px 8px;display:inline-flex;align-items:center}.sheet .setting>span{flex:1 1 auto;min-width:0}.sheet .setting .terms{flex:0 0 auto;white-space:nowrap}:root{--clash: #d1242f;--clash-bg: #fdecec}.slot.course.conflict,.slot.block.conflict{background:var(--clash-bg);color:var(--clash);box-shadow:inset 0 0 0 2px var(--clash)}.chip.clash{background:var(--clash-bg)}.col{touch-action:pan-y}.slot.course,.slot.block,.slot.ghost{touch-action:none}.app.mono .slot.course:not(.choosing):not(.conflict){background:#eef0f3;color:#1b1d22}.app.mono .slot.course.maybe:not(.choosing):not(.conflict){color:#4b5160;border-color:#8a90a0}.app.mono .slot.course:not(.choosing):not(.conflict):hover{box-shadow:inset 0 0 0 2px #1b1d22}.app.mono .card .swatch{background:#c9ccd4}.app.mono .ytag{background:#1b1d22}.app.mono .ytag.maybe{background:transparent;color:#4b5160;border-color:#8a90a0}.app.mono .slot-actions .dot{background:#eef0f3;border-color:#1b1d22}.slot-actions{position:fixed;z-index:1100;display:flex;gap:2px;background:var(--paper);border:1px solid var(--line-2);border-radius:999px;padding:3px;box-shadow:var(--shadow)}.slot-actions .icon{border:0;background:transparent;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;color:var(--ink-2)}.slot-actions .icon:hover{background:var(--paper-2);color:var(--navy)}.slot-actions .icon.on{color:var(--inkc);background:var(--fill)}.slot-actions .icon.danger:hover{color:var(--clash);background:var(--clash-bg)}.slot-actions .text{border:0;background:transparent;height:28px;padding:0 10px;border-radius:999px;font:inherit;font-size:12px;color:var(--ink-2)}.slot-actions .text:hover{background:var(--paper-2);color:var(--navy)}.slot-actions .text.on{background:var(--fill);color:var(--inkc)}.slot-actions .dot{width:14px;height:14px;border-radius:999px;background:var(--fill);border:2px solid var(--inkc);display:block}.slot.block.conflict{padding-right:7px}.slot.block.conflict:after{top:auto;bottom:10px}:root{--c5: #f6def5;--c5i: #8a2b7d}.main{position:relative}.splitter{position:absolute;top:0;bottom:0;width:11px;margin-left:-5px;cursor:col-resize;z-index:30;touch-action:none}.splitter.right{margin-left:0;margin-right:-5px}.splitter:after{content:"";position:absolute;top:0;bottom:0;left:5px;width:1px;background:transparent;transition:background .12s}.splitter:hover:after,body.resizing .splitter:after{background:var(--navy);width:3px;left:4px}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing .map,body.resizing .gridwrap,body.resizing .side{pointer-events:none}@media(max-width:900px){.splitter{display:none}}.tip{position:fixed;z-index:2000;max-width:240px;padding:5px 9px;border-radius:7px;background:#1b1d22;color:#fff;font-size:12px;line-height:1.35;pointer-events:none;box-shadow:0 4px 14px #0000002e}.list,.gridwrap,.pop,.sheet,.mappanel .mapfoot,.results{scrollbar-width:thin;scrollbar-color:#cdd1d9 transparent}.list::-webkit-scrollbar,.gridwrap::-webkit-scrollbar,.pop::-webkit-scrollbar,.sheet::-webkit-scrollbar,.mappanel .mapfoot::-webkit-scrollbar,.results::-webkit-scrollbar{width:10px;height:10px}.list::-webkit-scrollbar-thumb,.gridwrap::-webkit-scrollbar-thumb,.pop::-webkit-scrollbar-thumb,.sheet::-webkit-scrollbar-thumb,.mappanel .mapfoot::-webkit-scrollbar-thumb,.results::-webkit-scrollbar-thumb{background:#cdd1d9;border-radius:999px;border:3px solid transparent;background-clip:padding-box}.list::-webkit-scrollbar-thumb:hover,.gridwrap::-webkit-scrollbar-thumb:hover{background-color:#a9aeb9}.list::-webkit-scrollbar-track,.gridwrap::-webkit-scrollbar-track,.pop::-webkit-scrollbar-track,.sheet::-webkit-scrollbar-track,.mappanel .mapfoot::-webkit-scrollbar-track,.results::-webkit-scrollbar-track,.gridwrap::-webkit-scrollbar-corner{background:transparent}.opt-maybe.subtle{color:var(--ink-3)}.opt-maybe.hid{color:var(--clash);border-color:var(--clash-bg);background:var(--clash-bg)}.hiddens{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0 0;font-size:12px}.hiddens .lead{color:var(--ink-3);margin-right:2px}.hid-chip{border:1px dashed var(--line-2);background:var(--paper);border-radius:999px;padding:1px 8px;font:500 11.5px/18px var(--mono);color:var(--ink-2);cursor:pointer}.hid-chip:hover{border-color:var(--navy);color:var(--navy)}.hidwarn{position:relative;margin-left:auto;padding-right:2px;flex:none}.hidwarn-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #f0c48a;background:#fff6e8;color:#8a4b0b;border-radius:999px;padding:3px 10px;font:600 12px/18px var(--font);cursor:pointer;white-space:nowrap}.hidwarn-btn.on,.hidwarn-btn:hover{background:#ffeccf}.hidwarn-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:1300;width:260px;background:var(--paper);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:10px;display:grid;gap:6px}.hidwarn-menu p{margin:0 0 2px;font-size:12px;color:var(--ink-3)}.hidwarn-row{display:flex;align-items:center;gap:6px;font-size:12.5px}.hidwarn-row b{font-family:var(--mono)}.hidwarn-row span{flex:1;font-family:var(--mono);color:var(--ink-2)}.sheet{max-height:calc(100vh - 72px);overflow:auto}.sheet h4.sub{margin:14px 0 6px;font-size:13px}.ai p{font-size:12.5px}.ai ul{font-size:12.5px;line-height:1.5}.ai li{margin:4px 0}.ai code.cmd{display:block;margin-top:4px;font:11px/1.5 var(--mono);background:var(--paper-2);padding:6px 8px;border-radius:6px;white-space:nowrap;overflow-x:auto}.ai .link{border:0;background:transparent;color:var(--navy);font-size:12px;padding:0 2px;cursor:pointer}.ai .try{margin-top:8px;color:var(--ink-3)}.tour{position:fixed;inset:0;z-index:3000;pointer-events:none}.tour-dim{position:fixed;inset:0;background:#0f121c6b}.tour-spot{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px #0f121c6b,0 0 0 2px #ffffffe6;transition:left .22s ease,top .22s ease,width .22s ease,height .22s ease}.tour-card{position:fixed;pointer-events:auto;background:var(--paper);border-radius:14px;box-shadow:0 18px 50px -12px #00000059;padding:16px 16px 12px;transition:left .22s ease,top .22s ease}.tour-count{font-size:11px;color:var(--ink-3);letter-spacing:.02em;margin-bottom:4px}.tour-card h3{margin:0 0 6px;font-size:16px}.tour-body p{margin:0;color:var(--ink-2);font-size:13.5px;line-height:1.5}.tour-dots{display:flex;gap:5px;margin:12px 0 10px}.tour-dots i{width:6px;height:6px;border-radius:999px;background:var(--line-2)}.tour-dots i.past{background:color-mix(in srgb,var(--navy) 40%,white)}.tour-dots i.on{background:var(--navy);width:16px}.tour-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-row>span{display:flex;gap:6px}.tour-row .link{border:0;background:transparent;color:var(--ink-3);font-size:12.5px;padding:4px 0;cursor:pointer}@media(prefers-reduced-motion:reduce){.tour-spot,.tour-card{transition:none}}
