*,:before,:after{box-sizing:border-box}button,input,select,textarea{font:inherit}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-canvas:#0c111b;--surface-raised:#151d2c;--surface-control:#1b2638;--text-primary:#eef4ff;--text-muted:#8fa2bd;--border-subtle:#26364d;--border-strong:#405570;--accent:#8fb5ff;--danger:#ff9292;--danger-border:#8b4348;--success:#70cf91;--success-border:#356b48;--warning:#d5bd8c;--warning-border:#b88a3b;--warning-surface:#211d14;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--radius-sm:4px;--radius-md:8px;--focus-ring:0 0 0 2px color-mix(in srgb, var(--accent) 65%, transparent);background:var(--surface-canvas);color:var(--text-primary);font:14px/1.4 ui-sans-serif,system-ui,sans-serif}html,body{height:100%;margin:0;overflow:hidden}main{flex-direction:column;height:100%;min-height:0;display:flex}a{color:var(--accent);text-decoration:none}a.on,button.on{outline:1px solid var(--text-primary)}header{border-bottom:1px solid var(--border-subtle);flex:none;align-items:baseline;gap:12px;padding:12px 16px;display:flex}header span{color:var(--text-muted)}.views{gap:10px;margin-left:auto;display:flex}.hint{color:var(--text-muted);padding:8px 0}.bar,.grid,.row{gap:12px;display:flex}.bar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex:none;align-items:center;padding:12px 16px}.maps{flex-wrap:wrap;gap:6px;display:flex}.maps a{border:1px solid var(--border-subtle);align-items:center;gap:6px;padding:4px 8px;display:flex}.map-count{background:var(--surface-control);min-width:18px;height:18px;color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;padding:0 4px;font-size:11px;display:inline-grid}.maps img{width:18px;height:18px}.add-demos{border:1px solid var(--border-strong);color:inherit;margin-left:auto;padding:4px 8px}.grid{flex:1;grid-template-columns:240px minmax(0,1fr) 320px;align-items:stretch;min-height:0;padding:12px 16px;display:grid;overflow:hidden}.grid>aside{scrollbar-gutter:stable;width:auto;min-width:0;padding-right:10px;overflow:auto}.grid>section{min-width:0;min-height:0;overflow:hidden}.grid ul{margin:0 0 16px;padding:0;list-style:none}.grid li{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;display:flex}.grid li button[type=button]{text-align:left;flex:1}.grid li.review-throw{flex-wrap:nowrap;align-items:center}.guide-state{letter-spacing:.06em;text-transform:uppercase;width:max-content;margin-top:4px;font-size:9px;font-weight:700;display:block}.guide-state.guide-ready{color:var(--success)}.delete-lineup{width:100%;margin-top:18px}.drop-form{margin-left:auto}.drop{border:1px dashed var(--border-strong);min-height:36px;color:var(--text-muted);cursor:pointer;align-items:center;padding:6px 12px;display:flex}.drop input{display:none}button{background:var(--surface-control);color:inherit;border:1px solid var(--border-strong);padding:4px 8px}button.danger{border-color:var(--danger-border)}.err{color:var(--danger);padding:0 16px}.log{max-height:160px;padding:8px 16px;font-size:12px;overflow:auto}h2{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:13px}.site .fluid-group{isolation:isolate;position:relative}.site .fluid-group>a,.site .fluid-group>button{z-index:1;position:relative}.site .fluid-indicator{pointer-events:none;z-index:0;background:color-mix(in srgb, var(--secondary) 9%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--secondary) 13%, transparent);opacity:0;border-radius:7px;transition:opacity .14s;position:absolute;top:0;left:0}.site button,.site nav a{transition:background .18s,color .18s,border-color .18s,box-shadow .18s,scale .18s}.site button:active{scale:.97}.site button:disabled{opacity:.45;cursor:default}.site .fluid-group>:is(a,button):not(.active):not(.chosen){background-color:rgb(143 181 255/var(--proximity,0))}.site dialog[open]{animation:.24s cubic-bezier(.2,.8,.2,1) lesson-enter}.site dialog[open]::backdrop{animation:.2s ease-out backdrop-enter}@keyframes lesson-enter{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after,.site dialog::backdrop{scroll-behavior:auto!important;transition:none!important;animation:none!important}.site button:active{scale:1}}
