:root{--bg-deep: #04060a;--bg: #0a0e13;--panel: rgba(13, 18, 24, .92);--panel-raised: rgba(20, 27, 35, .95);--root: #3d2d1e;--root-light: #6e5338;--root-dark: #1a120b;--line: rgba(120, 200, 240, .16);--line-strong: rgba(127, 212, 255, .6);--glow: #7fd4ff;--ink: #dce9f1;--muted: #7e92a2;--good: #7fe0a8;--bad: #ff8a78;--warn: #e8b85a;--display: "Cinzel", Georgia, "Times New Roman", serif;--numeric: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(ellipse at 12% 8%,rgba(46,110,160,.22),transparent 45%),radial-gradient(ellipse at 88% 92%,rgba(40,90,140,.16),transparent 50%),radial-gradient(ellipse at 50% 50%,#0c1117 0%,var(--bg-deep) 75%);color:var(--ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--glow);outline-offset:2px}.ambience{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.ambience__fog{position:absolute;width:70vw;height:60vh;border-radius:50%;filter:blur(60px);opacity:.42}.ambience__fog--one{left:-20vw;bottom:-25vh;background:radial-gradient(circle,rgba(170,200,220,.5),transparent 70%);animation:fog-drift 38s ease-in-out infinite alternate}.ambience__fog--two{right:-25vw;top:-30vh;background:radial-gradient(circle,rgba(140,180,210,.4),transparent 70%);animation:fog-drift 46s ease-in-out infinite alternate-reverse}.ambience__mote{position:absolute;border-radius:50%;background:#9fe0ff;box-shadow:0 0 6px 2px #7fd4ff99;opacity:0;animation:mote-rise linear infinite}.ambience__shrooms{position:absolute;bottom:34px;width:128px;opacity:.7}.ambience__shrooms--left{left:-10px}.ambience__shrooms--right{right:-10px}@keyframes fog-drift{0%{transform:translate(0) scale(1)}to{transform:translate(8vw,-4vh) scale(1.15)}}@keyframes mote-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.85}85%{opacity:.5}to{opacity:0;transform:translateY(-80px)}}.app{position:relative;z-index:1;height:100vh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 40px;gap:14px;padding:14px 20px 0;max-width:1760px;margin:0 auto}.topbar{display:flex;align-items:center;gap:22px;min-height:52px;min-width:0}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.14em;text-transform:uppercase;color:#e8f4fb;text-shadow:0 0 18px rgba(127,212,255,.45);white-space:nowrap}.topbar__slot{flex:1;min-width:0}.mode-switch{display:flex;padding:3px;border-radius:999px;background:var(--panel);border:1px solid var(--root);box-shadow:inset 0 0 12px #0009}.mode-switch button{border:0;background:transparent;padding:7px 18px;border-radius:999px;font-family:var(--display);font-weight:600;letter-spacing:.08em;color:var(--muted)}.mode-switch button[aria-pressed=true]{color:#06121b;background:linear-gradient(180deg,#a9e3ff,#5cb4ff);box-shadow:0 0 14px #5cb4ff8c}.level-bar{position:relative;display:flex;align-items:center;gap:18px}.level-bar__stones,.level-bar__roles{display:flex;gap:8px}.level-stone{width:38px;height:38px;border-radius:50%;border:2px solid var(--root);background:radial-gradient(circle at 35% 30%,#5d6570,#2c3139 75%);font-family:var(--numeric);font-weight:700;font-size:15px;font-variant-numeric:lining-nums tabular-nums;color:#c9d6de;box-shadow:0 3px 8px #0009,inset 0 1px #ffffff26;transition:transform .12s ease,box-shadow .12s ease}.level-stone:hover{transform:translateY(-1px)}.level-stone--current{color:#06121b;border-color:#a9e3ff;background:radial-gradient(circle at 35% 30%,#e6f7ff,#5cb4ff 75%);box-shadow:0 0 16px #5cb4ffb3}.role-tab{border:1px solid var(--root);background:var(--panel);border-radius:999px;padding:7px 16px;font-family:var(--display);font-weight:600;letter-spacing:.05em;color:var(--muted)}.role-tab--current{color:var(--ink);border-color:var(--line-strong);box-shadow:0 0 12px #7fd4ff59}.role-tab__done{color:var(--good)}.level-bar__text{min-width:0;flex:1}.level-bar__text h2{margin:0;font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:.06em;color:#eef6fb}.level-bar__text p{margin:1px 0 0;color:var(--muted);font-size:13px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.level-bar__tools{display:flex;gap:8px}.level-bar__hint{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:20;margin:0;padding:12px 16px;border-radius:12px;background:var(--panel-raised);border:1px solid var(--root-light);box-shadow:0 12px 30px #0009;color:#e6d9c6;line-height:1.55}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--root);background:var(--panel);box-shadow:inset 0 0 10px #0009;transition:border-color .12s ease,box-shadow .12s ease}.icon-button:hover,.icon-button--on{border-color:var(--line-strong);box-shadow:0 0 12px #7fd4ff59}.stage{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(430px,1fr);gap:22px;min-height:0}.stage--lobby{grid-template-columns:minmax(0,880px);justify-content:center;align-content:start;overflow:auto;padding-bottom:20px}.board{display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}.board__area{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.board__frame{position:relative;padding:12px;border:2px solid var(--root);border-radius:20px;background:linear-gradient(160deg,#1c150e,#0e0a06);box-shadow:0 0 0 1px var(--root-dark),0 0 0 5px #3d2d1e8c,0 0 0 6px var(--root-dark),0 24px 50px #000000b3,inset 0 0 22px #000c}.maze{display:block;width:100%;height:100%;border-radius:8px}.maze__creature{transform-box:view-box}.maze__bob{animation:bob 2.4s ease-in-out infinite}.sprite__heading{animation:heading-pulse 1.6s ease-in-out infinite}.maze__goal{animation:shimmer 3s ease-in-out infinite}.maze__doom{transform-origin:32px 36px;animation:doom 1.6s ease-in-out forwards}.maze__doom-halo{opacity:0;animation:doom-halo 1.6s ease-out forwards}.sprite__blush{mix-blend-mode:multiply;opacity:0;animation:blush 1.6s ease-out forwards}.maze__wisp{fill:#ffb3a4;opacity:0;transform-origin:center;transform-box:fill-box;animation:wisp .7s ease-out forwards}.maze__prick{opacity:0;animation:prick 1.1s ease-out forwards}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.8px)}}@keyframes heading-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.78}}@keyframes doom{0%{transform:translate(0);opacity:1}9%{transform:translate(var(--lx),var(--ly))}20%{transform:translate(0)}26%{transform:translate(calc(var(--lx) * -.12),calc(var(--ly) * -.12))}32%,56%{transform:translate(0) scale(1);opacity:1}to{transform:translateY(-12px) scale(1.4,1.25);opacity:0}}@keyframes doom-halo{0%,6%{opacity:0}14%{opacity:1}60%{opacity:.8}to{opacity:0}}@keyframes blush{0%,8%{opacity:0}24%,to{opacity:1}}@keyframes wisp{0%{opacity:0;transform:translate(0) scale(1)}25%{opacity:.9}to{opacity:0;transform:translate(var(--drift),-24px) scale(.3)}}@keyframes prick{0%,6%{opacity:0}12%{opacity:1}to{opacity:0}}.board__overlay--late{animation:rise-in .28s ease-out 1.3s both}.board__overlay{position:absolute;left:50%;bottom:26px;transform:translate(-50%);max-width:calc(100% - 60px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 22px;border-radius:14px;background:#080c11e6;border:1px solid var(--line-strong);box-shadow:0 0 24px #7fd4ff4d,0 10px 30px #0009;text-align:center;animation:rise-in .28s ease-out}.board__overlay strong{font-size:16px;font-weight:600;letter-spacing:.02em}.board__overlay span{color:var(--muted);font-size:13px}.board__overlay--good{border-color:#7fe0a8cc;box-shadow:0 0 26px #7fe0a859,0 10px 30px #0009}.board__overlay--good strong{color:var(--good)}.board__overlay--bad{border-color:#ff8a78b3;box-shadow:0 0 22px #ff8a7840,0 10px 30px #0009}.board__overlay--bad strong{color:var(--bad)}@keyframes rise-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.board__states,.board__legend{align-self:center;display:flex;align-items:center;gap:16px;padding:8px 22px;min-height:62px;border-radius:999px;border:2px solid var(--root);background:linear-gradient(180deg,#1a130c,#0d0906);box-shadow:0 0 0 1px var(--root-dark),0 10px 24px #0009,inset 0 0 14px #000c}.board__state{display:grid;place-items:center;opacity:.55;transition:opacity .2s ease}.board__state--active{opacity:1}.board__player{display:flex;align-items:center;gap:8px;font-weight:600}.board__player i{width:14px;height:14px;border-radius:50%;background:var(--tone);box-shadow:0 0 10px var(--tone)}.board__player strong{margin-left:4px;color:var(--tone)}.side{display:flex;flex-direction:column;gap:16px;min-height:0;min-width:0}.machine{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px}.state-bar{display:flex;align-items:center;justify-content:center;gap:14px;min-height:92px}.state-bar__slot{position:relative;display:grid;place-items:center}.state-button{display:grid;place-items:center;width:70px;height:70px;padding:0;border-radius:50%;border:3px solid var(--root);background:radial-gradient(circle at 50% 40%,#1b232c,#080b0f 75%);box-shadow:0 0 0 1px var(--root-dark),0 6px 14px #0009,inset 0 0 12px #000c;transition:width .16s ease,height .16s ease,box-shadow .16s ease,border-color .16s ease}.state-button:hover{border-color:var(--root-light)}.state-button--selected{width:88px;height:88px;border-color:var(--root-light);box-shadow:0 0 0 1px var(--root-dark),0 0 0 4px color-mix(in srgb,var(--tone) 35%,transparent),0 0 26px color-mix(in srgb,var(--tone) 55%,transparent),inset 0 0 14px #000c}.state-button--running{animation:running-pulse 1.4s ease-in-out infinite}.state-button--unreachable{opacity:.45;filter:grayscale(.7)}@keyframes running-pulse{0%,to{box-shadow:0 0 0 1px var(--root-dark),0 0 8px color-mix(in srgb,var(--tone) 40%,transparent)}50%{box-shadow:0 0 0 1px var(--root-dark),0 0 28px var(--tone)}}.state-button--add{width:54px;height:54px;border-style:dashed;border-color:var(--root-light)}.state-button--add:disabled{opacity:.35}.state-bar__start{position:absolute;bottom:-9px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0b1016;border:1px solid var(--root-light)}.state-bar__remove{position:absolute;top:-2px;right:-2px;display:grid;place-items:center;width:24px;height:24px;padding:0;border-radius:50%;border:1px solid rgba(255,138,120,.6);background:#1a0f0e;opacity:.8}.state-bar__remove:hover{opacity:1;box-shadow:0 0 10px #ff8a7880}.state-bar__count{margin-left:4px;font-family:var(--numeric);font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.rule-table{flex:1;min-height:0;display:flex;flex-direction:column;padding:6px 12px 10px;border:2px solid var(--root);border-radius:20px;background:linear-gradient(180deg,#10161df5,#080b0ff5);box-shadow:0 0 0 1px var(--root-dark),0 0 0 5px #3d2d1e8c,0 0 0 6px var(--root-dark),0 24px 50px #0009,inset 0 0 30px #0009}.rule-table__head{display:grid;align-items:center;min-height:60px;border-bottom:1px solid var(--line-strong);box-shadow:0 1px #7fd4ff40,0 4px 10px -4px #7fd4ff73}.rule-table__icon{display:grid;place-items:center;height:100%;border-left:1px solid var(--line)}.rule-table__icon:first-of-type{border-left:0}.rule-table__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--root-light) transparent}.rule-row{position:relative;display:grid;align-items:stretch;min-height:70px;border-bottom:1px solid var(--line);background:transparent}.rule-row--shifting{transition:transform .15s ease}.rule-row--dragging{z-index:3;transition:none;background:var(--panel-raised);box-shadow:0 14px 30px #000000b3,inset 0 0 0 1px var(--line-strong);border-radius:10px}.rule-row--fired{background:linear-gradient(90deg,#7fd4ff0d,#7fd4ff29,#7fd4ff0d);box-shadow:inset 0 0 0 1px var(--line-strong),0 0 18px #7fd4ff40}.rule-row--warn:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:2px;background:var(--warn);box-shadow:0 0 8px var(--warn)}.rule-row__handle{display:grid;place-items:center;border:0;background:transparent;cursor:grab;touch-action:none;opacity:.7}.rule-row__handle:hover{opacity:1}.rule-row--dragging .rule-row__handle{cursor:grabbing}.rule-cell{display:grid;place-items:center;min-width:0;padding:6px 2px;border:0;border-left:1px solid var(--line);background:transparent;transition:background .12s ease}.rule-cell svg{width:min(48px,88%);height:auto;transition:transform .12s ease,filter .12s ease}.rule-cell:hover{background:#7fd4ff12}.rule-cell:hover svg{transform:scale(1.08);filter:drop-shadow(0 0 6px rgba(127,212,255,.55))}.rule-cell--action,.rule-cell--next{background:#7fd4ff06}.rule-row__remove{display:grid;place-items:center;border:0;border-left:1px solid var(--line);background:transparent;opacity:0;transition:opacity .12s ease}.rule-row:hover .rule-row__remove,.rule-row:focus-within .rule-row__remove{opacity:.85}@media (hover: none){.rule-row__remove{opacity:.6}}.rule-row__root{display:flex;align-items:center;justify-content:center;gap:12px;border-left:1px solid var(--line)}.rule-row__root-label{font-family:var(--display);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:#b9ad9a}.rule-row--ghost{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0;min-height:62px;border:1px dashed rgba(125,143,156,.55);border-radius:12px;color:var(--muted);text-align:left;transition:border-color .12s ease,background .12s ease}.rule-row--ghost:hover{border-color:var(--line-strong);background:#7fd4ff0d;color:var(--ink)}.rule-row--ghost span{display:flex;flex-direction:column}.rule-row--ghost strong{font-family:var(--display);letter-spacing:.08em;font-weight:600}.rule-row--ghost small{font-size:12px}.rule-row--halted{border-color:var(--bad);box-shadow:0 0 18px #ff8a784d;color:var(--ink)}.rule-row--add{border-bottom:0;min-height:64px}.rule-table__add{display:grid;place-items:center;align-self:center;justify-self:center;width:48px;height:48px;padding:0;border-radius:50%;border:1.5px solid rgba(127,212,255,.5);background:transparent;transition:box-shadow .12s ease,background .12s ease}.rule-table__add:hover{background:#7fd4ff14;box-shadow:0 0 16px #7fd4ff73}.picker{position:fixed;z-index:50;max-width:min(420px,calc(100vw - 20px));padding:10px 12px 12px;border-radius:14px;background:#0a0f15;border:1px solid var(--line-strong);box-shadow:0 0 24px #7fd4ff40,0 18px 40px #000000b3;animation:picker-in .12s ease-out}@keyframes picker-in{0%{opacity:0;transform:translateY(-4px)}}.picker__title{margin:0 0 8px;font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.picker__options{display:flex;flex-wrap:wrap;gap:6px}.picker__option{display:flex;flex-direction:column;align-items:center;gap:3px;width:70px;padding:8px 4px 6px;border-radius:10px;border:1px solid transparent;background:#ffffff05}.picker__option span{font-size:11px;line-height:1.2;color:var(--muted);text-align:center}.picker__option:hover{background:#7fd4ff14}.picker__option--current{border-color:var(--line-strong);background:#7fd4ff1a}.picker__option--current span{color:var(--ink)}.controls{display:flex;align-items:flex-end;justify-content:center;gap:26px;padding:2px 0 12px}.big-button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;padding:0}.big-button__disc{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:3px solid var(--root);background:radial-gradient(circle at 50% 35%,#1f2a35,#080b0f 78%);box-shadow:0 0 0 1px var(--root-dark),0 8px 18px #0009,inset 0 0 14px #000000b3;transition:transform .12s ease,box-shadow .16s ease,border-color .16s ease}.big-button--primary .big-button__disc{width:80px;height:80px;border-color:var(--root-light);box-shadow:0 0 0 1px var(--root-dark),0 0 0 4px #5cb4ff40,0 0 26px #5cb4ff73,inset 0 0 14px #000000b3}.big-button:not(:disabled):hover .big-button__disc{transform:translateY(-2px);border-color:var(--root-light);box-shadow:0 0 0 1px var(--root-dark),0 0 24px #7fd4ff80,inset 0 0 14px #000000b3}.big-button:not(:disabled):active .big-button__disc{transform:translateY(1px) scale(.97)}.big-button:disabled{opacity:.35}.big-button__label{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.controls__steps{align-self:center;display:flex;align-items:baseline;gap:4px;margin-left:4px;font-family:var(--numeric);font-variant-numeric:tabular-nums;color:var(--muted)}.controls__steps strong{font-size:24px;color:var(--ink)}.wide-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 22px;border-radius:999px;border:2px solid var(--root);background:var(--panel);font-family:var(--display);font-weight:600;letter-spacing:.08em;box-shadow:0 0 0 1px var(--root-dark),inset 0 0 12px #000000b3}.wide-button:not(:disabled):hover{border-color:var(--root-light);box-shadow:0 0 18px #7fd4ff59}.wide-button--primary{color:#06121b;border-color:#a9e3ff;background:linear-gradient(180deg,#a9e3ff,#4fa6f0);box-shadow:0 0 20px #5cb4ff80}.wide-button--done{color:var(--good);border-color:#7fe0a8b3;background:var(--panel);box-shadow:0 0 16px #7fe0a84d}.wide-button:disabled{opacity:.4}.journal{position:fixed;left:0;right:0;bottom:0;z-index:30;border-top:2px solid var(--root);background:linear-gradient(180deg,#140f0a,#080604);box-shadow:0 -10px 30px #0009}.journal--open{box-shadow:0 -24px 60px #000c}.journal__toggle{display:flex;align-items:center;gap:10px;width:100%;padding:8px 22px;border:0;background:transparent;text-align:left}.journal__title{font-family:var(--display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:#cbbda8}.journal__summary{flex:1;color:var(--muted);font-size:12px}.journal__chevron{color:var(--muted)}.journal__body{max-height:46vh;overflow:auto;padding:4px 22px 16px;display:grid;gap:12px}.journal__status p{margin:0 0 6px}.journal__outcome{color:#e6d9c6}.journal__warnings{margin:6px 0;padding-left:18px;color:var(--warn)}.journal__scrub{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.journal__scrub input[type=range]{flex:1;accent-color:var(--glow)}.log{border:1px solid var(--line);border-radius:10px;overflow:hidden}.log__head{display:flex;align-items:baseline;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}.log__head h2{margin:0;font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#cbbda8}.log__count{color:var(--muted);font-size:12px}.log__table{position:relative;max-height:30vh;overflow:auto;font-size:12px}.log__row{display:grid;grid-template-columns:44px 78px 74px 120px 1.3fr 1.4fr 1fr;gap:8px;padding:5px 12px;border-bottom:1px solid rgba(120,200,240,.07);cursor:pointer}.log__row--who{grid-template-columns:44px 96px 78px 74px 120px 1.3fr 1.4fr 1fr}.log__row--header{position:sticky;top:0;background:#120d08;color:var(--muted);font-weight:600;cursor:default}.log__row:not(.log__row--header):hover{background:#7fd4ff0d}.log__row--current{background:#7fd4ff1f;box-shadow:inset 3px 0 0 var(--glow)}.log__row--collision{color:var(--bad)}.log__sensors,.log__rule{color:var(--muted);overflow-wrap:anywhere}.log__who{font-weight:600}.log__empty{margin:0;padding:12px;color:var(--muted)}.lobby{padding:18px 20px;border:2px solid var(--root);border-radius:18px;background:var(--panel);box-shadow:0 0 0 1px var(--root-dark),0 18px 40px #0000008c,inset 0 0 22px #0009}.lobby h2{margin:0 0 12px;font-family:var(--display);font-size:18px;letter-spacing:.06em}.lobby h3{margin:0 0 10px;font-family:var(--display);font-size:14px;letter-spacing:.08em;color:#cbbda8}.lobby__columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.lobby__panel{padding:16px;border:1px solid var(--line);border-radius:12px;background:#ffffff05}.lobby__field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;font-size:12px;color:var(--muted)}.lobby__field input,.lobby__field select{padding:8px 10px;font:inherit;font-size:14px;color:var(--ink);border:1px solid var(--root-light);border-radius:8px;background:#0a0f14}.lobby__blurb{margin:0 0 12px;font-size:12.5px;line-height:1.55;color:var(--muted)}.lobby__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1em;letter-spacing:.18em;padding:2px 10px;border-radius:6px;color:#06121b;background:linear-gradient(180deg,#a9e3ff,#5cb4ff)}.lobby--seated{padding:12px 16px}.lobby__room{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lobby__room h2{margin:0 auto 0 0}.lobby__room>button,.lobby__player button,.lobby__botoff,.lobby--invited>button:not(.primary),.notice button{padding:6px 14px;border-radius:999px;border:1px solid var(--root-light);background:transparent;color:var(--ink)}.lobby__limits{width:100%;font-size:12px;color:var(--muted)}.lobby__players{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.lobby__player{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:10px}.lobby__player--you{border-color:var(--line-strong)}.lobby__player--empty{border-style:dashed;color:var(--muted)}.lobby__player-state{color:var(--muted);font-size:12px}.lobby__ready{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.lobby__missing{font-size:12px;color:var(--muted)}.lobby__botoff{margin-top:8px}button.primary{padding:9px 22px;border-radius:999px;border:0;color:#06121b;font-family:var(--display);font-weight:700;letter-spacing:.08em;background:linear-gradient(180deg,#a9e3ff,#4fa6f0);box-shadow:0 0 18px #5cb4ff73}button.primary:disabled{opacity:.35;box-shadow:none}.notice{margin:0;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);list-style:none;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notice--bad{border-color:#ff8a7899;color:#ffd2ca}.side--match{justify-content:flex-start;overflow:auto}.verdict{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:18px;border:2px solid var(--root);background:var(--panel);box-shadow:0 0 0 1px var(--root-dark),inset 0 0 20px #0009}.verdict__kicker{font-family:var(--display);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.verdict strong{font-size:17px;line-height:1.4;font-weight:600}.verdict--good{border-color:#7fe0a8b3;box-shadow:0 0 24px #7fe0a840}.verdict--good .verdict__kicker{color:var(--good)}.verdict--bad .verdict__kicker{color:var(--bad)}.scoreboard{display:grid;gap:8px}.scoreboard__row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-radius:12px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--tone);font-weight:600}.scoreboard__row strong{font-family:var(--numeric);font-variant-numeric:tabular-nums;font-size:22px;color:var(--tone);text-shadow:0 0 12px var(--tone)}.rounds{display:flex;gap:8px;flex-wrap:wrap}.round-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);text-align:left}.round-tab span{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.round-tab small{color:var(--muted);font-size:11px}.round-tab--current{border-color:var(--line-strong);box-shadow:0 0 14px #7fd4ff4d}@media (max-width: 1100px){body{overflow:auto}.app{height:auto;min-height:100vh;padding:12px 16px 0;grid-template-rows:auto auto 48px}.topbar{flex-wrap:wrap;gap:12px}.topbar__slot{order:3;flex-basis:100%}.level-bar{flex-wrap:wrap;gap:10px}.stage{grid-template-columns:minmax(0,1fr)}.board__area{height:56vh;flex:none}.machine{min-height:60vh}.lobby__columns,.lobby__players{grid-template-columns:1fr}}@media (max-width: 560px){.state-button{width:56px;height:56px}.state-button--selected{width:70px;height:70px}.rule-table{padding:4px 6px 8px}.controls{gap:16px}.log__row,.log__row--who{grid-template-columns:1fr;gap:2px}.log__row--header{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.maze__doom{opacity:.4}.sprite__blush{opacity:1}.ambience__mote{display:none}}
