.app-page .site-header{border-bottom:1px solid var(--surface-2);min-height:64px}.app{display:grid;grid-template-columns:minmax(340px,400px) minmax(0,1fr);height:calc(100svh - 64px);min-height:560px}.panel{background:var(--bg);border-right:1px solid var(--surface-2);min-height:0}.panel__scroll{height:100%;overflow-y:auto;padding:24px 24px 40px;scrollbar-width:thin}.panel__top{display:grid;gap:14px}.panel__title{font-size:2rem;line-height:1;letter-spacing:-.03em}.panel__intro{margin-top:14px;color:var(--muted);font-size:1rem}.block{margin-top:28px}.block__title{font-size:1.0625rem;font-weight:800;letter-spacing:-.01em;line-height:1.2;margin-bottom:12px}.when{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-bottom:14px}#when-hour{color:var(--hi)}.seg{display:flex;gap:2px;background:var(--surface);padding:3px}.seg button{flex:1;min-height:38px;border:0;background:transparent;color:var(--muted);font:500 .9375rem/1 var(--font);cursor:pointer;transition:background-color .16s ease,color .16s ease}.seg button[aria-checked=true]{background:var(--surface-3);color:var(--ink)}@media(hover:hover)and (pointer:fine){.seg button:hover{color:var(--ink)}}.seg--sm button{min-height:34px;font-size:.875rem}.hour{margin-top:14px}.hour input[type=range]{width:100%;accent-color:var(--hi);height:28px;margin:0}.hour__ticks{display:flex;justify-content:space-between;color:var(--faint);font-size:.8125rem}.clock-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}.clock-row .seg{flex:1 1 210px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;background:var(--surface-2);color:var(--ink);font:500 .875rem/1 var(--font);cursor:pointer;transition:background-color .16s ease,transform .16s var(--ease-out)}.chip:active{transform:scale(.97)}.chip[aria-pressed=true]{background:var(--school);color:var(--school-ink)}.chip svg{width:14px;height:14px}.tally__bar{display:flex;height:10px;gap:2px}.tally__bar span{flex-basis:0;transition:flex-grow .32s var(--ease-out)}.t-open{background:var(--open)}.t-closed{background:var(--closed)}.t-unknown{background:var(--unknown)}.tally__nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0}.tally__nums dt{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.8125rem}.tally__nums dd{margin:2px 0 0;font-size:1.625rem;font-weight:800;letter-spacing:-.03em}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.dot--open{background:var(--open)}.dot--closed{background:var(--closed)}.dot--unknown{background:var(--unknown)}.cover{margin-top:14px;font-size:.9375rem;color:var(--muted);min-height:3em}.weekstrip{display:grid;grid-template-columns:repeat(168,minmax(0,1fr));align-items:end;height:56px;margin-top:16px;gap:0}.weekstrip button{--v: 0;height:100%;border:0;padding:0;background:transparent;cursor:pointer;position:relative}.weekstrip button:before{content:"";position:absolute;inset:auto 0 0;height:calc(4% + 96% * var(--v));background:var(--open);opacity:.75}.weekstrip button:nth-child(24n+1):after{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--surface-3)}.weekstrip button.is-now:before{background:var(--hi);opacity:1;height:100%}.weekstrip__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));color:var(--faint);font-size:.75rem;margin-top:4px}.tabs{display:flex;margin-top:28px;border-bottom:1px solid var(--surface-3)}.tabs button{flex:1;min-height:46px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:500 .9375rem/1 var(--font);cursor:pointer;margin-bottom:-1px}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--hi)}.tabs button[hidden]{display:none}.pane{padding-top:20px}.pane .block__title+*{margin-top:0}.pane .block__title:not(:first-child){margin-top:24px}.field__label{font-size:.9375rem;color:var(--muted);margin-bottom:8px}.switch{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:18px;cursor:pointer;font-size:.9375rem}.switch input{position:absolute;opacity:0}.switch__track{width:40px;height:22px;background:var(--surface-3);border-radius:11px;position:relative;margin-top:2px;transition:background-color .18s ease}.switch__track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:transform .18s var(--ease-out)}.switch input:checked+.switch__track{background:var(--aed)}.switch input:checked+.switch__track:after{transform:translate(18px)}.switch input:focus-visible+.switch__track{outline:3px solid var(--hi);outline-offset:2px}.switch small{display:block;color:var(--faint);font-size:.8125rem;margin-top:4px;line-height:1.4}.check{display:flex;align-items:center;gap:10px;min-height:34px;font-size:.9375rem;cursor:pointer}.check input{accent-color:var(--aed);width:16px;height:16px}.hint{color:var(--muted);font-size:.9375rem;margin-top:12px}.fine{color:var(--faint);font-size:.8125rem;margin-top:10px}.loading{color:var(--hi);margin-top:14px}.error{color:var(--closed-text);margin-top:14px}.dl{display:inline-block;margin-top:12px;font-size:.9375rem;font-weight:500}.search{display:flex;gap:6px;margin-top:16px}.search input,.input{flex:1;min-height:46px;padding:0 14px;border:1px solid var(--surface-3);background:var(--surface);color:var(--ink);font:400 1rem var(--font);border-radius:0}.search input:focus,.input:focus{outline:none;border-color:var(--hi)}.search .button{min-height:46px}.ask{margin-top:24px}.ask[hidden]{display:none}.ask .search{margin-top:8px}.ask__try{margin-top:10px;color:var(--faint);font-size:.875rem}.ask__eg{padding:0;border:0;background:none;color:var(--muted);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}@media(hover:hover)and (pointer:fine){.ask__eg:hover{color:var(--ink)}}#ask-result>*{margin-top:12px}.ask__sos{background:var(--locked);color:var(--locked-ink);font-weight:600;padding:12px 14px}.ask__read{color:var(--muted)}.ask__read b{color:var(--ink);font-weight:600}.ask__answer{font-size:1.0625rem}.ask__answer .is-open{color:var(--open)}.ask__answer .is-closed{color:var(--closed)}.ask__answer .is-unknown{color:var(--muted)}#pin-result{margin-top:8px}.pin__when{color:var(--muted);margin-top:16px}.verdict{margin-top:6px;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}.verdict--bad{color:var(--closed-text)}.verdict--ok{color:var(--open)}.cands{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}.cand{display:grid;gap:2px;background:var(--surface);padding:12px 14px;border-left:0;position:relative}.cand:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.cand--open:before{background:var(--open)}.cand--closed:before{background:var(--closed)}.cand--unknown:before{background:var(--unknown)}.cand__tag{color:var(--faint);font-size:.8125rem}.cand span:last-child{color:var(--muted);font-size:.875rem}.panel .emergency{margin-top:24px;color:var(--muted);font-size:.875rem}.rank{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:2px}.rank__item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;width:100%;padding:10px 12px;border:0;background:var(--surface);color:var(--ink);text-align:left;font:400 .9375rem/1.25 var(--font);cursor:pointer;transition:background-color .14s ease}@media(hover:hover)and (pointer:fine){.rank__item:hover{background:var(--surface-2)}}.rank__item:active{transform:scale(.99)}.rank__n{color:var(--faint);font-weight:500}.rank__name small,.rank__v small{display:block;color:var(--faint);font-size:.75rem}.rank__v{text-align:right;font-weight:800}#debate{margin-top:20px}#debate .button{margin-top:14px}.debate__title{font-size:1.25rem;letter-spacing:-.02em;line-height:1.15}.fix-result{margin-top:12px}.fix-result__big{color:var(--open);font-weight:800;font-size:2.25rem;line-height:1;letter-spacing:-.02em;margin-bottom:8px}.fix-result__range{margin-top:10px;padding:10px 12px;background:var(--surface);font-size:.9375rem}.fix-result__big small{font-size:.9375rem;font-weight:500;letter-spacing:0;color:var(--muted)}.verdict-box{margin-top:14px;background:var(--aed);padding:16px}.verdict-box__word{font-weight:800;font-size:1.375rem;letter-spacing:-.02em}.verdict-box .fine{color:#ffffffd9}.turns{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.turn{background:var(--surface);padding:12px 14px;font-size:.9375rem}.turn b{display:block;font-size:.8125rem;margin-bottom:4px}.turn--advocate b{color:var(--open)}.turn--skeptic b{color:var(--closed-text)}.cite{display:inline-block;padding:0 4px;margin:0 1px;background:var(--surface-3);font-size:.75rem;text-decoration:none;vertical-align:1px}.evidence{margin-top:12px;font-size:.875rem;color:var(--muted)}.evidence summary{cursor:pointer;color:var(--ink);min-height:32px}.evidence ol{padding-left:0;list-style:none;display:grid;gap:6px}.evidence li:target{color:var(--hi)}.mapwrap{position:relative;min-height:0}#map{position:absolute;inset:0;background:var(--map-ground)}.map-legend{position:absolute;left:12px;bottom:12px;display:flex;gap:14px;padding:8px 12px;background:var(--overlay);font-size:.8125rem;color:var(--muted)}.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-legend span[hidden]{display:none}.dot--fixed{background:var(--open);box-shadow:0 0 0 2px var(--ink)}.map-status{position:absolute;top:12px;left:50%;transform:translate(-50%);padding:8px 14px;background:var(--surface-2);font-size:.875rem}.map-status[hidden]{display:none}.story-start{margin-top:18px;width:100%;justify-content:center}.story{position:absolute;left:12px;bottom:12px;z-index:3;width:min(560px,calc(100% - 24px));padding:18px 20px 14px;background:var(--bg);box-shadow:0 12px 40px var(--shadow);transition:transform .32s var(--ease-out),opacity .32s var(--ease-out)}@starting-style{.story{transform:translateY(16px);opacity:0}}.is-story .map-legend{display:none}.story__segs{display:flex;gap:4px}.story__segs span{flex:1;height:4px;background:var(--surface-3);overflow:hidden}.story__segs i{display:block;height:100%;background:var(--open);transform:scaleX(0);transform-origin:left}.story__segs .is-done i{transform:scaleX(1)}.story__segs .is-on i{animation:story-fill var(--hold, 8s) linear forwards}.story.is-busy .story__segs .is-on i,.story.is-paused .story__segs .is-on i{animation-play-state:paused}@keyframes story-fill{to{transform:scaleX(1)}}.story__body{margin-top:14px;min-height:7.5em;transition:opacity .22s ease,filter .22s ease}.story.is-busy .story__body{opacity:.35;filter:blur(2px)}.story__big{font-size:clamp(2.25rem,1.6rem + 2vw,3.5rem);font-weight:800;line-height:.95;letter-spacing:-.035em;color:var(--open)}.story__big[data-tone=closed]{color:var(--closed)}.story__big[data-tone=school]{color:var(--hi)}.story__big[data-tone=ink]{color:var(--ink)}.story__text{margin-top:8px;font-size:1.0625rem;line-height:1.45;max-width:52ch}.story__extra:not(:empty){margin-top:12px}.story__actions{display:flex;flex-wrap:wrap;gap:8px}.story__link{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:0;background:var(--aed);color:var(--aed-ink);font:500 .9375rem/1 var(--font);text-decoration:none;cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s ease}.story__link:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.story__link:hover{background:var(--aed-press)}}.story__ctrl{display:flex;gap:4px;margin-top:12px}.story__btn{min-height:36px;padding:0 12px;border:0;background:var(--surface-2);color:var(--ink);font:500 .875rem/1 var(--font);cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s ease}.story__btn:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.story__btn:hover{background:var(--surface-3)}}.story__btn--x{margin-left:auto}@media(prefers-reduced-motion:reduce){.story,.story__body{transition:opacity .2s ease}.story.is-busy .story__body{filter:none}}@media(max-width:860px){.story{left:8px;bottom:8px;width:calc(100% - 16px);padding:14px 14px 10px}.story__body{min-height:0}.story__text{font-size:.9375rem}}.is-pin .map-legend:after{content:"Click the map to drop a pin";color:var(--hi);margin-left:6px}.pin{width:22px;height:22px;border-radius:50%;background:var(--school);border:4px solid #121212;box-shadow:0 2px 10px #00000080}.maplibregl-ctrl-group{background:var(--surface-2)!important;border-radius:0!important}[data-theme=dark] .maplibregl-ctrl-group button{filter:invert(1)}.maplibregl-ctrl-attrib{background:var(--overlay)!important;color:var(--faint)}.maplibregl-ctrl-attrib a{color:var(--muted)}.ah-popup .maplibregl-popup-content{background:var(--surface);color:var(--ink);border-radius:0;padding:16px 18px;box-shadow:0 8px 28px var(--shadow)}.ah-popup .maplibregl-popup-tip{border-top-color:var(--surface)!important;border-bottom-color:var(--surface)!important}.ah-popup .maplibregl-popup-close-button{color:var(--muted);font-size:20px;width:32px;height:32px}.ah-tip .maplibregl-popup-content{background:var(--ink);color:var(--bg);padding:6px 10px;border-radius:0;font:500 .8125rem var(--font)}.ah-tip .maplibregl-popup-tip{display:none}.card h3{font-size:1.125rem;letter-spacing:-.015em;line-height:1.2;margin-top:4px;padding-right:20px}.card p{font-size:.875rem;margin-top:6px}.card__state{font-weight:800;font-size:.8125rem!important}.card__state--s1{color:var(--open)}.card__state--s0{color:var(--closed-text)}.card__state--s2,.card__meta,.card__where,.card__source{color:var(--muted)}.mini-week{margin-top:10px;display:grid;gap:2px}.mini-week__row{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:6px}.mini-week__day{font-size:.6875rem;color:var(--faint)}.mini-week__cells{display:grid;grid-template-columns:repeat(24,1fr);gap:1px}.mini-week__cells i{height:9px}.mini-week__cells .s1{background:var(--open)}.mini-week__cells .s0{background:var(--closed-soft)}.mini-week__cells .s2{background:var(--surface-3)}.mini-week__cells .now{outline:2px solid var(--hi);outline-offset:-1px}@media(max-width:860px){.app{grid-template-columns:1fr;grid-template-rows:58svh auto;height:auto}.mapwrap{order:-1;min-height:58svh}.panel{border-right:0}.panel__scroll{overflow:visible;height:auto;padding:20px 16px 40px}}.drop{position:relative;display:grid;gap:4px;place-items:center;text-align:center;min-height:132px;padding:20px;background:var(--surface);border:2px dashed var(--surface-3);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop span{color:var(--muted);font-size:.875rem}.drop.is-over,.drop:focus-within{border-color:var(--hi)}.starter{position:absolute;inset:0;z-index:2;overflow:auto;padding:clamp(24px,4vw,56px);background:var(--bg)}.starter[hidden]{display:none}.starter h2{font-size:clamp(2rem,1.4rem + 2vw,3.25rem);line-height:1;letter-spacing:-.035em}.starter>p{margin-top:14px;max-width:60ch;color:var(--muted)}.starter__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:28px}.starter__card{display:grid;gap:4px;padding:0 0 16px;border:0;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s ease}.starter__card img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;margin-bottom:10px}.starter__card b,.starter__card span{padding-inline:16px}.starter__card b{font-size:1.1875rem;font-weight:800;letter-spacing:-.015em}.starter__card span{color:var(--muted);font-size:.9375rem}.starter__card:active{transform:scale(.98)}@media(hover:hover)and (pointer:fine){.starter__card:hover{background:var(--surface-2)}}.starter__card:focus-visible{outline:3px solid var(--hi);outline-offset:2px}@media(max-width:860px){.starter__cards{grid-template-columns:repeat(3,minmax(200px,1fr));overflow-x:auto}}.samples__label{margin-top:16px}.samples{display:flex;flex-wrap:wrap;gap:6px}.cols{display:grid;gap:8px;margin-bottom:14px}.cols__row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;font-size:.9375rem}select.input{min-height:40px;width:100%}.facts{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;font-size:.9375rem;color:var(--muted)}.facts b{color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;align-items:center}.api-snippet pre{margin:8px 0 0;padding:12px;background:var(--surface);overflow-x:auto;font-size:.8125rem;line-height:1.5;color:var(--ink)}
