@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ArchivoBlack-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/DMMono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/DMMono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500 800;font-display:swap;src:url(assets/fonts/Manrope-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f7f8fa;--card: #ffffff;--ink: #111827;--muted: #6b7280;--line: #e5e7eb;--brand: #e0202b;--brand-ink: #ffffff;--red: #dc2626;--red-bg: #fef2f2;--amber: #f59e0b;--amber-bg: #fef3c7;--green: #16a34a;--green-bg: #dcfce7;--radius: 18px;--btn-radius: 14px;--shadow: 0 1px 2px rgba(17, 24, 39, .06), 0 6px 18px rgba(17, 24, 39, .05);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-head: var(--font);--font-label: var(--font);--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--block: #1f2937;--tile: #ffffff;--res-bg: #111827;--res-ink: #f9fafb;--res-card: #1f2937;--res-muted: #9ca3af;color-scheme:light}html[data-brand=siu]{--bg: #f5f3ea;--card: #fffef8;--ink: #111d2f;--muted: #526073;--line: #111d2f;--brand: #14b65b;--brand-ink: #111d2f;--green: #08733a;--green-bg: #dff5e7;--radius: 0px;--btn-radius: 0px;--shadow: 4px 4px 0 #111d2f;--font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-head: "Archivo Black", "Arial Black", sans-serif;--font-label: "DM Mono", ui-monospace, monospace;--mono: "DM Mono", ui-monospace, monospace;--block: #111d2f;--tile: #fffef8;--res-bg: #fffef8;--res-ink: #111d2f;--res-card: #f5f3ea;--res-muted: #526073}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%}body{min-height:100vh}button,select{font:inherit;color:inherit}img{display:block}[hidden]{display:none!important}#app{max-width:480px;margin:0 auto;padding:12px 14px 28px}#app.embed{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}#app.embed .foot{display:none}.top{display:flex;align-items:center;gap:10px;padding:6px 0 12px}.logo{width:40px;height:40px;border-radius:50%}html[data-brand=siu] .logo{border-radius:0;border:1px solid var(--line);background:var(--card)}.logo-link{display:block;flex:none}.title{flex:1;min-width:0}.title h1{margin:0;font-family:var(--font-head);font-size:21px;line-height:1.15;font-weight:800;letter-spacing:-.01em}html[data-brand=siu] .title h1{font-weight:400}.sub{margin:2px 0 0;font-size:12.5px;color:var(--muted);font-family:var(--font-label)}html[data-brand=siu] .sub{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.top-actions{display:flex;align-items:center;gap:8px}.streak-chip{display:inline-flex;align-items:center;height:32px;padding:0 11px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:800;font-size:15px;box-shadow:var(--shadow);font-family:var(--font-label)}html[data-brand=siu] .streak-chip{border-radius:0;box-shadow:3px 3px #111d2f}.icon-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-weight:800;cursor:pointer}html[data-brand=siu] .icon-btn{border-radius:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 12px}.prompt-card{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 16px}.prompt-body{flex:1;min-width:0}.prompt{margin:0;font-size:15px;line-height:1.45}.rep{color:var(--red)}.storm-word{white-space:nowrap}.mascot-sm{width:84px;height:84px;object-fit:contain;flex:none}.feedback{padding:12px 14px;font-size:14.5px;line-height:1.45;min-height:52px}.feedback p{margin:0}.feedback .btn{margin-top:10px}.win-note b{color:var(--green)}.practice-note{margin:0 0 10px;font-size:13px;color:var(--muted);font-style:italic}.empty{padding:28px 18px;text-align:center}.empty h2{margin:0 0 6px;font-family:var(--font-head);font-size:19px}.loading{padding:60px 0;text-align:center;color:var(--muted)}.foot{margin-top:20px;text-align:center;font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:46px;padding:0 16px;border-radius:var(--btn-radius);border:1px solid var(--line);background:var(--card);font-weight:700;font-size:15px;cursor:pointer;touch-action:manipulation;transition:transform .08s ease,opacity .15s;text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);height:52px;font-size:16.5px}html[data-brand=siu] .btn-primary{border-color:#111d2f;box-shadow:4px 4px #111d2f;font-family:var(--font-head);font-weight:400;letter-spacing:.01em}html[data-brand=siu] .btn-primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #111d2f}.btn-ghost{background:transparent}.btn-block{display:flex;width:100%}.btn-sm{height:30px;padding:0 10px;font-size:13px}.row-actions{display:flex;justify-content:center;gap:8px;margin:10px 0 12px}:focus-visible{outline:3px solid #2563eb;outline-offset:2px}html[data-brand=siu] :focus-visible{outline-color:#08733a}.orb-line{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.orbs{display:inline-flex;gap:5px}.orb{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd2d2 0 12%,#f43f46 35%,#b10f17 75%,#6d050b);box-shadow:0 1px 2px #00000040}.orb.used{background:#e5e7eb;box-shadow:inset 0 0 0 2px #d1d5db}.orb.used.fb-R{box-shadow:inset 0 0 0 4px var(--red)}.orb.used.fb-A{box-shadow:inset 0 0 0 4px var(--amber)}.orb.used.fb-G{box-shadow:inset 0 0 0 4px var(--green)}.orbs-label{font-size:12.5px;color:var(--muted)}.map-card{padding:8px 6px 4px}.rc-map{width:100%;height:auto;display:block;overflow:visible}.row-label{font-size:8.5px;letter-spacing:.12em;fill:var(--muted);font-weight:700;paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.edge{stroke:#cbd5e1;stroke-width:1.2;transition:stroke .15s,stroke-width .15s}.edge.hot{stroke:#111827;stroke-width:2}.node{cursor:pointer;transition:opacity .15s;outline:none}.node .pill{fill:#fff;stroke:#cbd5e1;stroke-width:1.2;transition:fill .2s,stroke .2s}.node .pill-text{font-size:11px;font-weight:650;fill:var(--ink);pointer-events:none}.node.reported .pill{stroke:var(--red);fill:var(--red-bg)}.node.reported .pill-text{fill:#991b1b}.badge{fill:var(--red)}.badge-text{fill:#fff;font-size:9px;font-weight:800;pointer-events:none}.orb-mark{fill:transparent;pointer-events:none}.node.selected .pill{stroke:#111827;stroke-width:2.2;fill:#fff7ed}.node:focus-visible .pill{stroke:#2563eb;stroke-width:2.5}.node.dim{opacity:.35}.node.fb-R .pill{fill:#fee2e2;stroke:var(--red);stroke-width:2.2}.node.fb-A .pill{fill:var(--amber-bg);stroke:var(--amber);stroke-width:2}.node.fb-G .pill{fill:var(--green-bg);stroke:var(--green);stroke-width:2}.node.fb-R .orb-mark{fill:var(--red)}.node.fb-A .orb-mark{fill:var(--amber)}.node.fb-G .orb-mark{fill:var(--green)}.node.reveal .pill{stroke:var(--red);stroke-width:2.2;stroke-dasharray:4 3;fill:#fff}.node.just-dropped .orb-mark{animation:orbdrop .55s cubic-bezier(.3,1.6,.5,1);transform-box:fill-box;transform-origin:center}@keyframes orbdrop{0%{transform:translateY(-34px) scale(1.4)}70%{transform:translateY(2px) scale(.95)}to{transform:none}}.legend{display:flex;justify-content:center;gap:14px;font-size:12.5px;color:var(--muted);margin:0 0 12px}.legend span{display:inline-flex;align-items:center;gap:5px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot-R{background:var(--red)}.dot-A{background:var(--amber)}.dot-G{background:var(--green)}.board-card{padding:10px}html[data-brand=siu] .board-card{background:#111d2f;padding:8px}.fo-wrap{position:relative;width:100%;aspect-ratio:1 / 1}.fo-board{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.fo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid}.fo-cell{background:transparent;border:0;padding:0;cursor:pointer;border-radius:0;touch-action:manipulation}.fo-cell:disabled{cursor:default}.fo-cell:focus-visible{outline:3px solid #c7f42b;outline-offset:-3px}.fo-tile{fill:#fffef8;stroke:#111d2f;stroke-width:.8}.fo-rock{fill:#46536a;stroke:#111d2f;stroke-width:.8}.fo-link{stroke:#b9bfb0;stroke-width:5;stroke-linecap:round;transition:stroke .2s}.fo-link.lit{stroke:#14b65b;stroke-width:6}.fo-link.cut{stroke:#e5484d;stroke-dasharray:3 5;stroke-width:4}.fo-src{fill:#111d2f;stroke:#c7f42b;stroke-width:1.5}.fo-src-t{fill:#c7f42b;font-family:Archivo Black,sans-serif;font-size:16px;pointer-events:none}.fo-home{fill:#fffef8;stroke:#111d2f;stroke-width:1.5;transition:fill .2s}.fo-home.on{fill:#14b65b}.fo-home-icon{fill:none;stroke:#111d2f;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.fo-dot{fill:#b9bfb0}.fo-dot.lit{fill:#14b65b}.fo-storm{fill:#fff7d6;stroke:#d29a00;stroke-width:1.5;stroke-dasharray:3 2.5}.fo-storm.cut{fill:#fde2e1;stroke:#e5484d}.fo-storm-t{font-size:13px;pointer-events:none}.fo-piece{fill:#c7f42b;stroke:#111d2f;stroke-width:2}.fo-piece.lit{fill:#c7f42b}.fo-ghost{fill:none;stroke:#08733a;stroke-width:2.2;stroke-dasharray:4 3}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.chip{font-family:var(--font-label);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:5px 8px;border:1px solid var(--line);background:var(--card)}.chip:first-child{background:#c7f42b}.chip.test-P{background:#14b65b;color:#111d2f}.chip.test-F{background:#fde2e1}.ud-rules{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rule{display:flex;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;line-height:1.3}.rule-ico{font-size:15px;font-weight:800}.ud-board{position:relative;width:100%;aspect-ratio:1 / 1;touch-action:none;user-select:none;-webkit-user-select:none;outline:none}.ud-board:focus-visible{outline:3px solid #2563eb;outline-offset:4px}.ud-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid}.ud-cell{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;letter-spacing:.08em;font-family:var(--font-label)}.ud-cell:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;z-index:-1;border-radius:10px;background:var(--tile);box-shadow:inset 0 0 0 1px #e5e7eb}html[data-brand=siu] .ud-cell:before{border-radius:0;box-shadow:inset 0 0 0 1px #111d2f}html[data-brand=siu] .board-card.ud-card{background:#e9e5d3}html[data-brand=siu] .ud-cell.block:before{top:1px;right:1px;bottom:1px;left:1px}html[data-brand=sid] .board-card{background:#eef0f3}.ud-cell.block:before{background:var(--block);box-shadow:none}.ud-cell.pad-siu{color:#08733a}.ud-cell.pad-siu:before{background:#e3f8eb;box-shadow:inset 0 0 0 2.5px #14b65b}.ud-cell.pad-sid{color:#b91c1c}.ud-cell.pad-sid:before{background:#fdecec;box-shadow:inset 0 0 0 2.5px #e0202b}.ud-char{position:absolute;width:calc(100% / 6);height:calc(100% / 6);padding:3px;object-fit:contain;pointer-events:none;transition:left .26s cubic-bezier(.3,.9,.4,1.08),top .26s cubic-bezier(.3,.9,.4,1.08);filter:drop-shadow(0 3px 3px rgba(0,0,0,.18))}.ud-char.on-pad{animation:hop .4s ease}@keyframes hop{40%{transform:translateY(-10%)}}.ud-board.bump{animation:bump .22s ease}@keyframes bump{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.ud-meta{display:flex;justify-content:space-between;font-weight:750;font-size:14px;margin:2px 2px 10px;font-family:var(--font-label)}.dpad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dpad .btn{height:58px;flex-direction:column;gap:0;padding:0 4px;background:var(--card)}.dpad-arrow{font-size:21px;line-height:1}.dpad small{font-size:10.5px;font-weight:600;color:var(--muted)}.results{background:var(--res-bg);color:var(--res-ink);border-radius:22px;padding:22px 16px 18px;text-align:center}html[data-brand=siu] .results{border:1px solid #111d2f;border-radius:0;box-shadow:6px 6px #111d2f}.res-mascots{display:flex;justify-content:center;gap:6px;margin-bottom:4px}.res-mascots img{width:116px;height:116px;object-fit:contain;animation:float 3.2s ease-in-out infinite}.res-mascots img:nth-child(2){animation-delay:-1.6s}@keyframes float{50%{transform:translateY(-6px)}}.res-streak{display:flex;align-items:center;justify-content:center;gap:8px}.flame{font-size:50px}.big{font-size:74px;font-weight:850;line-height:1;font-family:var(--font-head);letter-spacing:-.02em}html[data-brand=siu] .big{font-weight:400}.res-sub{margin:6px 0 4px;color:var(--res-muted);font-size:14px}.res-line{margin:4px 0 14px;font-weight:700;font-size:15px}.res-practice{margin:8px 0 0;font-weight:700}.week{display:flex;justify-content:center;gap:7px;margin:0 0 16px}.wk{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-weight:800;font-size:13px;border:1px solid transparent}html[data-brand=siu] .wk{border-radius:0;font-family:var(--font-label)}.wk-win{background:var(--brand);color:var(--brand-ink)}.wk-loss{background:var(--amber);color:#111827}.wk-shield{background:#3b82f6;color:#fff}.wk-missed{border-color:var(--res-muted);color:var(--res-muted);opacity:.6}.wk-today{border:2px solid var(--res-ink)}.wk-future,.wk-pre{border:1px dashed var(--res-muted);color:var(--res-muted);opacity:.55}.wk-now{outline:2px solid var(--res-ink);outline-offset:2px}.res-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;text-align:left}.res-card{background:var(--res-card);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:3px}html[data-brand=siu] .res-card{border-radius:0;border:1px solid #111d2f}.res-card b{font-size:19px}.res-card span{font-size:11px;color:var(--res-muted);line-height:1.3}.share-preview{background:#fff;color:#111827;border-radius:14px;padding:14px;margin:0 0 12px;text-align:left;font-family:var(--mono);font-size:15px;line-height:1.5;white-space:pre-wrap}html[data-brand=siu] .share-preview{border:1px solid #111d2f;border-radius:0}.res-fine{font-size:12px;color:var(--res-muted);margin:8px 0 12px}.results .btn-ghost{color:var(--res-ink);border-color:var(--res-muted)}.promo{display:flex;flex-direction:column;gap:4px;padding:14px 16px;margin-top:14px;text-align:left;text-decoration:none;color:var(--ink)}.promo span{font-size:13.5px;color:var(--muted)}.promo .promo-go{color:var(--ink);font-weight:700}.banners{display:flex;flex-direction:column;gap:8px}.banner{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:10px;border-radius:12px;font-size:14px;border:1px solid var(--line);background:var(--card)}.banner span{flex:1}.banner-good{background:#ecfdf5;border-color:#86efac}.banner-warn{background:#fff7ed;border-color:#fdba74}html[data-brand=siu] .banner{border-radius:0;border-color:#111d2f}.banner-x{border:0;background:none;font-size:20px;cursor:pointer;line-height:1;padding:0 2px}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:50;opacity:0;transition:opacity .2s}.modal-wrap.in{opacity:1}.modal{background:var(--card);color:var(--ink);width:100%;max-width:440px;border-radius:20px;padding:20px 18px 16px;max-height:88vh;overflow:auto;transform:translateY(20px);transition:transform .2s}.modal-wrap.in .modal{transform:none}html[data-brand=siu] .modal{border-radius:0;border:1px solid #111d2f;box-shadow:6px 6px #111d2f}@media (min-width: 600px){.modal-wrap{align-items:center}}.modal-title{margin:0 0 10px;font-family:var(--font-head);font-size:20px}html[data-brand=siu] .modal-title{font-weight:400}.help p{margin:0 0 10px;font-size:14.5px;line-height:1.5}.help-streak{color:var(--muted);font-size:13.5px!important}.modal-actions{display:flex;gap:8px;margin-top:6px}.modal-actions .btn{flex:1}#toast-host{position:fixed;left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:60}.toast{background:#111827;color:#fff;padding:10px 14px;border-radius:12px;font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;max-width:90vw}.toast.in{opacity:1;transform:none}.pt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;margin:0 -4px 6px;background:#111827;color:#f9fafb;border-radius:12px;font-size:12px}.pt-bar b{letter-spacing:.1em;color:#fbbf24}.pt-select{flex:1 1 200px;min-width:0;height:30px;border-radius:8px;color:#111827;font-size:12px}.pt-link{color:#93c5fd}.pt-bar .btn{color:#f9fafb;border-color:#4b5563}.pt-ver{color:#9ca3af}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
