:root{color:#f6f1e6;font-family:Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.45;background:#101820;--gold: #e7c56a;--ink: #12181f}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;overflow:hidden}canvas{display:block;width:100%;height:100%}#hud,#overlay,#board,#end,#quit{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#end,#board,#quit{pointer-events:auto;display:grid;place-items:center;background:#080c102e}#overlay{pointer-events:none;background:none}.menu,.panel,#draft button{background:#0e121875;border:1px solid rgba(231,197,106,.28);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 16px 40px #00000038}.menu{pointer-events:auto;position:absolute;left:max(28px,6vw);top:50%;bottom:auto;transform:translateY(-50%);width:min(300px,calc(100% - 48px));max-height:calc(100dvh - 48px);display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:18px 18px 16px;overflow:hidden}#menu-quote{position:absolute;top:50%;left:calc(max(28px,6vw) + min(300px,calc(100% - 48px)) + 64px);width:min(10.5em,calc(100% - max(28px,6vw) - min(300px,calc(100% - 48px)) - 108px));margin:0;transform:translateY(-50%);pointer-events:none;font-size:clamp(28px,3.6vw,54px)}#menu-quote p{margin:0;font-family:Palatino,Palatino Linotype,Iowan Old Style,Book Antiqua,Georgia,serif;font-style:italic;font-weight:500;font-size:1em;line-height:1.22;letter-spacing:.015em;color:#f7f3ea;text-shadow:0 1px 0 rgba(8,12,16,.85),0 2px 1px rgba(8,12,16,.65),0 14px 28px rgba(8,12,16,.45)}#menu-home[hidden]+#menu-quote{display:none}@media(max-width:860px){.menu{top:28px;transform:none}#menu-quote{top:auto;bottom:20px;left:max(28px,6vw);width:min(34em,calc(100% - 56px));transform:none}#menu-quote p{font-size:clamp(20px,4.6vw,28px)}}.menu.page{width:min(520px,calc(100vw - 48px))}.menu.page:has(#page-scores:not([hidden])){width:min(860px,calc(100vw - 48px))}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}.menu-head h1{margin:0}.menu.page>div{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden}.menu-body{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:8px;padding-right:4px}#pause-options{display:flex;flex-direction:column;overflow:hidden}#pause-options .menu-body{overflow-y:auto;min-height:0}.menu[hidden],.menu.page[hidden],#page-scores[hidden],#page-credits[hidden],#page-options[hidden]{display:none}#friends{display:flex;flex-direction:column;gap:8px;margin-top:4px}#friends[hidden]{display:none}#friends input,#nick{background:#00000040;border:1px solid rgba(231,197,106,.35)}#score-filters{display:flex;flex-direction:column;gap:6px}#score-filters .row{gap:0}#score-filters button{flex:1;border:1px solid rgba(231,197,106,.35);border-radius:0}#score-filters .row button+button{border-left:0}#score-filters button[aria-pressed=true]{background:#e7c56a2e;color:var(--gold)}.menu h1{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--gold);font-size:22px;font-weight:560;letter-spacing:.28em;text-transform:uppercase}.menu a{color:var(--gold);text-underline-offset:3px}.menu h2,#options-form h2{margin:16px 0 0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#f6f1e69e}.menu label,#options-form label{display:flex;gap:8px;align-items:center;width:100%}.menu input[type=range]{flex:1;accent-color:var(--gold);background:transparent;border:0;padding:0}button,input{font:inherit;color:inherit;background:transparent;border:1px solid transparent;border-radius:2px;padding:8px 12px}button{cursor:pointer}button.primary{background:var(--gold);color:var(--ink);border-color:var(--gold);padding:12px 16px;font-size:16px;letter-spacing:.04em}button.primary:hover{background:#f0d48a}button.quiet,button.link,button.back{background:transparent;border-color:transparent;padding:8px;text-align:left}button.quiet:hover,button.link:hover,button.back:hover{background:#e7c56a1f;color:var(--gold)}button.link{opacity:.72;font-size:13px;margin-top:8px}#opt-quality{display:flex;gap:0;margin-top:8px}#opt-quality button{flex:1;border:1px solid rgba(231,197,106,.35);border-radius:0;background:transparent}#opt-quality button+button{border-left:0}#opt-quality button[aria-pressed=true]{background:#e7c56a2e;color:var(--gold)}#overlay[hidden],#end[hidden],#board[hidden],#quit[hidden]{display:none}.panel{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:24px}#board .panel{width:min(860px,calc(100% - 32px))}h1{margin:0 0 8px;font-weight:560;letter-spacing:.22em;text-transform:uppercase;font-size:28px}p{line-height:1.5;margin:8px 0 16px}.controls{display:grid;grid-template-columns:148px 1fr;gap:6px 16px;margin:16px 0;color:#f6f1e6e0}#pause-main{display:flex;flex-direction:column;overflow:hidden}#pause-main .pause-controls{overflow:auto;min-height:0;margin-top:8px;font-size:13px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row button.primary,#post{background:var(--gold);color:var(--ink);border-color:var(--gold)}#again,#menu,#board-close,#quit-no{background:transparent;border-color:#e7c56a59}#again:hover,#menu:hover,#board-close:hover,#quit-no:hover{background:#e7c56a1f}#nick{min-width:140px}#end-cats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 4px}.cat{border:1px solid rgba(231,197,106,.28);padding:8px 10px}.cat strong{display:flex;justify-content:space-between;letter-spacing:.14em;font-size:11px;text-transform:uppercase;color:var(--gold)}.cat ul{margin:6px 0 0;padding:0;list-style:none;font-size:12px}.cat li{display:flex;justify-content:space-between;gap:8px}#end-total{letter-spacing:.16em;text-transform:uppercase}#recap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}#recap[hidden]{display:none}#recap .roll{max-width:640px;text-align:center;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 8px #000}#recap h2{margin:0 0 8px;font-size:40px;letter-spacing:.22em}#recap h3{margin:22px 0 6px;font-size:14px;color:var(--gold);font-weight:600}#recap p{margin:2px 0}#recap .total{margin-top:28px;font-size:22px}#fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;transition:opacity .55s linear;z-index:30}tr.group td{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:11px}tr.score-main{cursor:pointer}tr.detail td{font-size:12px;color:#f6f1e6c7;padding-top:0}#pause-options[hidden],#pause-main[hidden]{display:none}#reticle{position:absolute;left:50%;top:48%;width:18px;height:18px;margin:-9px 0 0 -9px;border:1px solid rgba(246,241,230,.55);border-radius:50%}#reticle:after{content:"";position:absolute;left:8px;top:8px;width:2px;height:2px;background:currentColor}#reticle.valid{color:var(--gold);border-color:var(--gold)}#reticle.glance{color:#d08070;border-color:#d08070}#reticle.stomp{color:#f7f7f7;border-color:#fff;box-shadow:0 0 0 4px #ffffff1f}#reticle.none{color:#f6f1e666}#readout,#wave,#hint{position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.65);letter-spacing:.08em;font-size:13px}#readout{left:24px;bottom:20px}#score-read{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:14px;padding:8px 18px 10px;border:1px solid rgba(159,208,255,.65);background:#080e168c;font-family:Cascadia Mono,Consolas,monospace;letter-spacing:.16em;pointer-events:none}#score-read .k{font-size:11px;color:#9fd0ff}#score-num{font-size:28px;color:#f4f7f2}#score-gems{font-size:22px;color:#8ef0d8}#score-time{font-size:14px;color:#f6e27a;min-width:3.2em}#score-read[hidden]{display:none}#wave{top:22px;left:24px;text-transform:uppercase;font-size:12px}#alt[hidden],#rails[hidden]{display:none}#alt{position:absolute;top:18%;bottom:22%;left:28px;width:54px;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}#alt .tape{position:relative;flex:1;width:3px;background:linear-gradient(#9fd0ff,#e7c56a33);box-shadow:0 0 0 1px #00000059}#alt-mark{position:absolute;left:-5px;width:13px;height:2px;background:var(--gold);box-shadow:0 0 6px var(--gold)}#alt-read{font-size:12px;letter-spacing:.08em;text-shadow:0 1px 2px rgba(0,0,0,.65)}#rails{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pip{position:absolute;width:22px;text-align:center;font-size:13px;color:var(--gold);text-shadow:0 1px 2px #000}.pip.left{left:8px}.pip.right{right:8px}#hint{bottom:20px;right:24px;max-width:280px;text-align:right;letter-spacing:.02em;color:#f6f1e6cc}.stall{color:#e07060}.bar{width:120px;height:2px;margin-top:8px;background:#0006}.bar span{display:block;height:100%;background:var(--gold)}#draft{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:12px;pointer-events:auto}#draft button{width:220px;text-align:left;padding:16px;border-left-width:3px}#draft strong{display:block;letter-spacing:.06em}#draft em{display:block;font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.8;margin:4px 0 8px}#draft span{display:block;font-size:13px;line-height:1.35}#draft .price{color:#8ef0d8;margin-top:8px;letter-spacing:.08em;text-transform:uppercase;font-size:11px}#draft .cost{color:#f09a7a;margin-top:6px}#draft button:disabled{opacity:.42}#draft button.common{border-left-color:#c8d2d8}#draft button.common em{color:#c8d2d8}#draft button.uncommon{border-left-color:#7fd6ff}#draft button.uncommon em{color:#7fd6ff}#draft button.rare{border-left-color:#f6c35a;box-shadow:0 0 24px #f6c35a40}#draft button.rare em{color:#f6c35a}#draft[hidden]{display:none}#owned{position:absolute;left:50%;bottom:30px;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:70vw;pointer-events:none}#owned .chip{font-size:11px;letter-spacing:.08em;padding:3px 9px;border:1px solid rgba(200,210,216,.5);border-radius:999px;background:#080e1680;color:#e8eef2}#owned .chip.uncommon{border-color:#7fd6ffb3;color:#bfe9ff}#owned .chip.rare{border-color:#f6c35acc;color:#ffe2a0}#owned[hidden]{display:none}#armor-read{position:absolute;right:28px;bottom:112px;text-align:right;font-size:13px;color:#9fd0ff;letter-spacing:.1em;pointer-events:none;transition:color .3s,text-shadow .3s}#armor-read.hit{color:#fff;text-shadow:0 0 12px #9fd0ff,0 0 24px #9fd0ff}#armor-read[hidden]{display:none}#brackets{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.bracket{position:absolute;width:128px;height:72px;transform:translate(-50%,-50%);background:linear-gradient(#9fd0ff,#9fd0ff) left top / 14px 1px no-repeat,linear-gradient(#9fd0ff,#9fd0ff) left top / 1px 14px no-repeat,linear-gradient(#9fd0ff,#9fd0ff) right top / 14px 1px no-repeat,linear-gradient(#9fd0ff,#9fd0ff) right top / 1px 14px no-repeat,linear-gradient(#9fd0ff,#9fd0ff) left bottom / 14px 1px no-repeat,linear-gradient(#9fd0ff,#9fd0ff) left bottom / 1px 14px no-repeat,linear-gradient(#9fd0ff,#9fd0ff) right bottom / 14px 1px no-repeat,linear-gradient(#9fd0ff,#9fd0ff) right bottom / 1px 14px no-repeat;color:#d5e6f5;font-family:Cascadia Mono,Consolas,monospace;font-size:10px;letter-spacing:.12em;text-shadow:0 1px 2px #000}.bracket .edge{position:absolute;left:0;width:100%;text-align:center;white-space:nowrap}.bracket .edge.top{top:-14px}.bracket .edge.bot{bottom:-14px}.bracket.falling{border-color:#f0f0f0}#attitude{position:absolute;right:28px;bottom:28px;width:72px;height:72px;border-radius:50%;border:1px solid rgba(159,208,255,.7);background:radial-gradient(circle at 50% 42%,#1c3348 0,#1c3348 46%,#0e1c28 47%,#0e1c28);overflow:hidden;pointer-events:none}#chase-read{position:absolute;top:22px;right:16px;writing-mode:vertical-rl;letter-spacing:.28em;font-size:11px;text-transform:uppercase;color:#d5e6f5;border:1px solid rgba(159,208,255,.55);padding:12px 5px;pointer-events:none;background:#08101873}#chase-read[hidden]{display:none}#attitude .ticks{position:absolute;top:0;right:0;bottom:0;left:0}#attitude .ticks i{position:absolute;left:50%;top:6px;width:3px;height:11px;margin-left:-1px;transform-origin:50% 30px}position: absolute; left: 8px; right: 8px; top: 50%; height: 1px; background: rgba(244,247,242,.35); } #attitude .ball{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#f6e27a;box-shadow:0 0 8px #f6e27aa6}#attitude[hidden]{display:none}#boss{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;padding:16px 36px 20px;font-family:Impact,Arial Black,sans-serif;font-size:84px;font-weight:900;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:#f6e7b0;background:#080a0ec7;text-shadow:0 6px 0 #1a1208;pointer-events:none;white-space:nowrap}#boss[hidden]{display:none}#callout{position:absolute;top:22%;left:50%;transform:translate(-50%);margin:0;text-align:center;pointer-events:none;text-shadow:0 2px 10px #000}#callout[hidden]{display:none}#callout-wave{margin:0 0 8px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:16px}#callout-title{margin:0;font-size:64px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}#callout-line{margin:14px 0 0;letter-spacing:.16em;text-transform:uppercase;font-size:20px}#alt-air{position:absolute;left:-4px;width:11px;height:2px;background:#9fd0ff}.pip.t0{color:#d2b56a}.pip.t1{color:#f0e2c0}.pip.t2{color:#9fd0ff}.pip.t3{color:#e07070}#brackets[hidden]{display:none}#board table,#menu-rows{width:100%;border-collapse:collapse}#board td,#menu-home td,.menu td{padding:6px 4px;border-bottom:1px solid rgba(231,197,106,.14)}
