:root{--bg: #05070f;--bg-2: #0a1020;--panel: rgba(17, 25, 44, .66);--panel-solid: #0f1728;--panel-soft: rgba(23, 33, 56, .5);--stroke: rgba(148, 180, 255, .14);--stroke-strong: rgba(158, 196, 255, .32);--text: #eaf0ff;--muted: #9aa8c7;--faint: #6e7d9e;--accent: #7dd3fc;--accent-2: #c4b5fd;--mint: #5eead4;--gold: #fcd34d;--bad: #fb7185;--warn: #fbbf24;--radius: 18px;--radius-sm: 11px;--shadow: 0 34px 90px -34px rgba(0, 0, 0, .95);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .07);--font: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}html{background:var(--bg)}body{font-family:var(--font);color:var(--text);background:radial-gradient(1100px 700px at 12% -10%,rgba(45,92,180,.42),transparent 62%),radial-gradient(900px 620px at 92% 8%,rgba(120,60,190,.32),transparent 60%),radial-gradient(900px 800px at 50% 118%,rgba(18,120,130,.24),transparent 62%),linear-gradient(180deg,#05070f,#070b16 55%,#04060d);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;overscroll-behavior:none}body:before{content:"";position:fixed;inset:-20%;pointer-events:none;background:radial-gradient(closest-side at 30% 20%,rgba(125,211,252,.08),transparent),radial-gradient(closest-side at 70% 70%,rgba(196,181,253,.08),transparent);filter:blur(20px);animation:drift 26s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.06)}}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.app{position:relative;min-height:100dvh;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.topbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:14px;flex:0 0 auto}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:6px;background:linear-gradient(150deg,#7dd3fc38,#c4b5fd24);border:1px solid var(--stroke-strong);box-shadow:var(--glass-highlight),0 8px 24px -12px #7dd3fc99}.brand-mark i{border-radius:3px;display:block}.brand-mark i:nth-child(1){background:#7dd3fc}.brand-mark i:nth-child(2){background:#c4b5fd}.brand-mark i:nth-child(3){background:#c4b5fd}.brand-mark i:nth-child(4){background:#5eead4}.brand-name{font-size:18px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(100deg,#eaf6ff,#a5d8ff 45%,#d6c8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-tag{font-size:11px;color:var(--faint);letter-spacing:.05em}.chrome-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chip-btn,.icon-btn{border:1px solid var(--stroke);background:var(--panel);color:var(--muted);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px;min-height:36px;transition:border-color .16s ease,color .16s ease,background .16s ease,transform .1s ease;backdrop-filter:blur(16px)}.chip-btn:hover,.icon-btn:hover{color:var(--text);border-color:var(--stroke-strong)}.chip-btn:active,.icon-btn:active,.btn:active{transform:translateY(1px)}.chip-btn[aria-pressed=true]{color:#06121c;background:linear-gradient(180deg,#a5e6ff,#74c8ee);border-color:transparent;box-shadow:0 8px 24px -12px #7dd3fcd9}.music-toggle{font-size:15px;letter-spacing:0;padding-left:13px;padding-right:13px}.music-toggle.off{opacity:.55}.seg{display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--stroke);background:#090e1a99;gap:2px}.seg button{border:0;background:transparent;color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.1em;padding:5px 10px;border-radius:999px;text-transform:uppercase}.seg button[aria-pressed=true]{color:#06121c;background:linear-gradient(180deg,#b7ecff,#7dd3fc)}h1,h2,h3,p{margin:0}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:700}h1{font-size:clamp(34px,6.4vw,66px);line-height:.98;letter-spacing:-.035em;font-weight:650}h2{font-size:clamp(20px,2.6vw,26px);letter-spacing:-.02em;font-weight:640}h3{font-size:15px;letter-spacing:-.01em;font-weight:640}p{color:var(--muted);line-height:1.55}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.tiny{font-size:11px}.strong{color:var(--text);font-weight:650}.center{text-align:center}.panel{position:relative;background:linear-gradient(160deg,#1e2a46b8,#0c1220c7);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow),var(--glass-highlight);backdrop-filter:blur(22px) saturate(130%)}.panel-pad{padding:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-title .label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:700}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--stroke),transparent);margin:14px 0}.btn{border:1px solid var(--stroke);background:#141d32bf;color:var(--text);border-radius:13px;padding:12px 16px;font-size:14px;font-weight:620;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;transition:transform .1s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;box-shadow:var(--glass-highlight);-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-decoration:none}.btn:hover:not(:disabled){border-color:var(--stroke-strong);background:#1d2944d9}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:#04121a;border-color:transparent;background:linear-gradient(135deg,#b9ecff,#7dd3fc 45%,#a7b8ff);box-shadow:0 18px 40px -18px #7dd3fce6,var(--glass-highlight)}.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#ccf3ff,#8fdcff 45%,#b8c6ff)}.btn.ghost{background:transparent}.btn.small{min-height:36px;padding:8px 12px;font-size:12px;border-radius:10px}.btn.wide{width:100%}.btn.danger{color:#ffdbe1;border-color:#fb718566;background:#fb71851f}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.btn-row>.btn{flex:1 1 0}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:700}.input{background:#060b16b8;border:1px solid var(--stroke);border-radius:11px;padding:11px 13px;font-size:14px;color:var(--text);outline:none;min-width:0;transition:border-color .16s ease,box-shadow .16s ease}.input::placeholder{color:var(--faint)}.input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #7dd3fc29}.input.code{text-transform:uppercase;letter-spacing:.38em;font-weight:700;font-size:18px;text-align:center;font-variant-numeric:tabular-nums}.join-row{display:flex;gap:8px}.join-row .input{flex:1}.home{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:18px;align-items:start;align-content:center;width:min(1000px,100%);margin:0 auto;padding:4px 0 22px}.home-card{display:flex;flex-direction:column;gap:18px;padding:clamp(18px,3vw,28px);min-width:0}.home-head{display:flex;flex-direction:column;gap:8px}.home-head h1{font-size:clamp(28px,4.4vw,44px);line-height:1.02;max-width:18ch}.home-head .grad{background:linear-gradient(96deg,#f2fbff 8%,#9fe3ff 42%,#d7c8ff 78%);-webkit-background-clip:text;background-clip:text;color:transparent}.home-sub{max-width:54ch;font-size:clamp(13px,1.35vw,15px)}.mode-section{display:flex;flex-direction:column;gap:10px}.section-line{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}.section-line i{flex:1;height:1px;background:linear-gradient(90deg,var(--stroke),transparent)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-card{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:11px;padding:12px 13px;border-radius:14px;border:1px solid var(--stroke);background:linear-gradient(160deg,#1b27429e,#0a101dc7);color:var(--text);text-align:left;box-shadow:var(--glass-highlight);transition:transform .14s ease,border-color .16s ease,background .16s ease;min-height:74px}.mode-card:hover{transform:translateY(-2px);border-color:var(--stroke-strong);background:linear-gradient(160deg,#253556cc,#0d1526db)}.mode-card:active{transform:translateY(0)}.mode-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;color:var(--accent);background:#7dd3fc1a;border:1px solid rgba(125,211,252,.24)}.mode-card.mint .mode-icon{color:var(--mint);background:#5eead417;border-color:#5eead442}.mode-card.rose .mode-icon{color:#fda4af;background:#fb718517;border-color:#fb718542}.mode-card.violet .mode-icon{color:var(--accent-2);background:#c4b5fd17;border-color:#c4b5fd42}.mode-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.mode-copy b{font-size:14px;font-weight:650;letter-spacing:-.01em}.mode-copy small{font-size:11px;line-height:1.35;color:var(--faint)}.mode-arrow{color:var(--faint);font-size:13px;transition:transform .16s ease,color .16s ease}.mode-card:hover .mode-arrow{color:var(--text);transform:translate(2px)}.more-modes{border-top:1px solid var(--stroke);padding-top:12px}.more-modes summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:3px 0}.more-modes summary::-webkit-details-marker{display:none}.more-modes summary i{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--stroke);font-style:normal;font-size:13px;color:var(--muted)}.more-modes[open] summary i{transform:rotate(45deg)}.mode-grid.compact{margin-top:10px}.mode-grid.compact .mode-card{min-height:64px;padding:10px 12px}.join-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px);align-items:center;gap:12px;padding:13px 14px;border-radius:15px;background:var(--panel-soft);border:1px solid var(--stroke)}.join-panel .field-label{font-size:10px}.join-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.join-panel .join-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.join-panel .join-row .btn{min-height:42px}.difficulty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:15px;background:var(--panel-soft);border:1px solid var(--stroke)}.difficulty-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.difficulty-copy .field-label{font-size:10px}.difficulty-row .seg{flex:0 0 auto}.difficulty-row .seg button{padding:6px 12px}.pace-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pace-value{font-size:13px;font-weight:700;color:var(--text)}.home-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--faint)}.home-foot .chip-btn{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}.hero-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--faint);flex-wrap:wrap}.dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:0 0 auto}.dot.online{background:var(--mint);box-shadow:0 0 10px #5eead4cc}.dot.offline{background:var(--bad)}.dot.warn{background:var(--warn)}.identity{display:flex;flex-direction:column;gap:14px}.preview-wrap.small{padding:8px}.preview-wrap.small canvas{height:96px}.palette-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.palette-name{font-weight:650;font-size:14px}.palette-swatches{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.palette-swatches i{width:22px;height:22px;border-radius:6px;display:block;border:1px solid rgba(255,255,255,.14)}.preview-wrap{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--stroke);background:linear-gradient(180deg,#070c17,#0b1424);padding:10px}.preview-wrap canvas{width:100%;height:150px;display:block}.cycler{display:grid;grid-template-columns:38px 1fr 38px;gap:8px;align-items:center}.cycler .btn{min-height:38px;padding:0;font-size:16px}.legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--faint)}.legend .item{display:inline-flex;align-items:center;gap:6px}.owner-sample{width:18px;height:18px;border-radius:4px;display:inline-block;position:relative}.owner-sample.you{background:#7dd3fc;border:1px solid #e2f8ff;box-shadow:inset 0 -6px 10px #00000040}.owner-sample.partner{background:repeating-linear-gradient(-45deg,#c4b5fd 0 4px,#8b7bd8 4px 6px);border:1px solid #f0e9ff}.guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.guide-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;background:#0a101e8c;border:1px solid rgba(148,180,255,.1)}.guide-item .keys{display:flex;flex-wrap:wrap;gap:4px;flex:0 0 auto}.guide-body{min-width:0}.guide-body b{display:block;font-size:12px;font-weight:650;color:var(--text);margin-bottom:2px}.guide-body span{font-size:11px;color:var(--faint);line-height:1.4;display:block}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:6px;border:1px solid rgba(160,190,255,.24);border-bottom-width:2px;background:linear-gradient(180deg,#1a2438,#101828);color:#cfe0ff;font-size:11px;font-weight:700;font-family:var(--font);box-shadow:inset 0 1px #ffffff14;white-space:nowrap}.screen-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;width:min(1180px,100%);margin:0 auto 14px}.lobby{flex:1;width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start;padding-bottom:26px}.stack{display:flex;flex-direction:column;gap:14px;min-width:0}.room-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:16px;background:radial-gradient(120% 160% at 0% 0%,rgba(125,211,252,.16),transparent 60%),linear-gradient(150deg,#1b2742cc,#0c1322d6);border:1px solid var(--stroke-strong)}.room-code{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.room-code .code{font-size:clamp(24px,4vw,34px);font-weight:700;letter-spacing:.34em;font-variant-numeric:tabular-nums;background:linear-gradient(100deg,#fff,#a5d8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.players{display:grid;grid-template-columns:1fr 1fr;gap:12px}.player-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:15px;border:1px solid var(--stroke);background:linear-gradient(160deg,#18233cb8,#0a101dcc);min-height:128px;overflow:hidden}.player-card.empty{border-style:dashed;background:#090e1a66;align-items:center;justify-content:center;text-align:center;color:var(--faint)}.player-card.you{border-color:#7dd3fc57}.player-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 0% 0%,rgba(125,211,252,.08),transparent 55%);opacity:0;transition:opacity .2s ease}.player-card.you:after{opacity:1}.player-top{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 auto;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 -8px 14px #0000003d}.player-name{font-size:15px;font-weight:640;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--faint);flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px solid var(--stroke);padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:#080d188c}.pill.ready{color:#06231d;background:linear-gradient(180deg,#8ff5e2,#4fe0c6);border-color:transparent}.pill.host{color:#ffe9ac;border-color:#fcd34d4d}.pill.offline{color:#ffc4ce;border-color:#fb718559}.player-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.mini-blocks{display:flex;gap:3px}.mini-blocks i{width:13px;height:13px;border-radius:3px;border:1px solid rgba(255,255,255,.18);display:block}.progress{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5eead4,#7dd3fc);transition:width .3s ease}.game{flex:1;width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:190px minmax(0,1fr) 190px;gap:16px;align-items:start;padding-bottom:16px}.game-left,.game-right{display:flex;flex-direction:column;gap:12px;min-width:0}.stat{padding:12px 14px;border-radius:14px;border:1px solid var(--stroke);background:var(--panel);box-shadow:var(--glass-highlight)}.stat .k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:4px}.stat .v{font-size:22px;font-weight:680;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.oath{display:flex;gap:4px;margin-top:8px}.oath i{height:7px;flex:1;border-radius:999px;background:#ffffff1a;overflow:hidden;position:relative}.oath i.on{background:linear-gradient(90deg,#5eead4,#7dd3fc);box-shadow:0 0 12px #5eead48c}.oath i.next{background:#7dd3fc38;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.board-shell{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.board-wrap{position:relative;width:100%;display:grid;place-items:center;padding:8px;border-radius:22px;border:1px solid var(--stroke-strong);background:radial-gradient(120% 80% at 50% -10%,rgba(125,211,252,.12),transparent 60%),linear-gradient(180deg,#10182ae6,#060a13f5);box-shadow:var(--shadow),inset 0 1px #ffffff0f;overflow:hidden;isolation:isolate}.aurora-canvas{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);z-index:0;display:block;width:min(100%,360px);height:100%;border-radius:22px;pointer-events:none}#board{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:min(72dvh,640px);touch-action:none;border-radius:14px}.board-wrap.danger:after{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;z-index:2;box-shadow:inset 0 0 60px #fb718559;animation:danger 1.4s ease-in-out infinite}@keyframes danger{0%,to{opacity:.35}50%{opacity:.9}}.overlay{position:absolute;inset:0;border-radius:22px;display:grid;place-items:center;padding:18px;background:#040810c7;backdrop-filter:blur(10px);z-index:4;text-align:center}.overlay .inner{display:flex;flex-direction:column;gap:12px;align-items:center;max-width:420px}.overlay h2{font-size:clamp(24px,4vw,34px)}.countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:3}.countdown span{font-size:clamp(64px,14vw,120px);font-weight:700;letter-spacing:-.04em;color:#eaf6ff;text-shadow:0 0 60px rgba(125,211,252,.7);animation:countpop .9s ease-out}@keyframes countpop{0%{transform:scale(.7);opacity:0}40%{opacity:1}to{transform:scale(1);opacity:.95}}.next-panel{display:flex;flex-direction:column;gap:6px}.next-row{display:flex;gap:10px;align-items:center}.next-canvas{width:52px;height:52px;border-radius:10px;background:#040810b3;border:1px solid var(--stroke)}.player-chip{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:13px;border:1px solid var(--stroke);background:var(--panel);position:relative;overflow:hidden}.player-chip.local{border-color:#7dd3fc5c}.player-chip .row{display:flex;align-items:center;gap:8px;min-width:0}.chip-score{font-size:12px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.player-chip .name{font-size:12px;font-weight:640;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.contribution{height:4px;border-radius:999px;background:#ffffff14;overflow:hidden}.contribution>i{display:block;height:100%;background:linear-gradient(90deg,#7dd3fc,#c4b5fd)}.player-chip.partner .contribution>i{background:linear-gradient(90deg,#c4b5fd,#f0abfc)}.game-help{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:13px;border:1px solid var(--stroke);background:#080d1880;font-size:11px;color:var(--faint)}.game-help b{color:var(--muted);font-weight:600}.rules-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:start}.rules-card>.panel-title,.rules-card>.tiny.faint{grid-column:1 / -1}.rule-field{display:flex;flex-direction:column;gap:6px}.rules-card .field-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.seg.wrap{display:flex;flex-wrap:wrap;width:100%;border-radius:14px}.seg.wrap button{flex:1 1 auto;padding:6px 9px}.seg button:disabled{opacity:.72;cursor:default}.rule-chips{display:flex;flex-wrap:wrap;gap:5px}.rule-chip{border:1px solid var(--stroke);background:#090e1a99;color:var(--faint);border-radius:9px;padding:5px 9px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}.rule-chip.on{color:#06121c;background:linear-gradient(180deg,#b7ecff,#7dd3fc);border-color:transparent}.rule-chip:disabled{opacity:.75;cursor:default}.meld-meter{position:relative;width:min(100%,420px);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid rgba(125,211,252,.26);background:#080d18b8;color:var(--text);overflow:hidden;cursor:default;isolation:isolate;text-align:left;transition:box-shadow .3s ease,border-color .3s ease,transform .18s ease}.meld-meter:disabled{opacity:1}.meld-meter .meter-fill{position:absolute;top:0;bottom:0;left:0;width:0;background:linear-gradient(90deg,#5eead433,#7dd3fc4d,#c4b5fd47);border-right:1px solid rgba(236,254,255,.32);transition:width .25s linear;z-index:-1}.meter-text{display:flex;flex-direction:column;gap:1px;min-width:0}.meter-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.meter-hint{font-size:9px;color:var(--faint);letter-spacing:.04em}.meld-meter.ready{cursor:pointer;border-color:#ecfeff99;box-shadow:0 0 28px #7dd3fc59,inset 0 1px #ffffff59;background-image:linear-gradient(100deg,#5eead44d,#7dd3fc6b,#c4b5fd61,#f0abfc52,#5eead44d);background-size:300% 100%;animation:meterReady 2.8s ease-in-out infinite}.meld-meter.ready .meter-fill{opacity:0}.meld-meter.ready .meter-label{color:#f2fbff;text-shadow:0 0 14px rgba(125,211,252,.9)}.meld-meter.ready .meter-hint{color:#f2fbffcc}.meld-meter.ready:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(80% 140% at 18% 0%,rgba(255,255,255,.4),transparent 62%);mix-blend-mode:screen;pointer-events:none}.meld-meter.ready:active{transform:scale(.985)}@keyframes meterReady{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.reduce-motion .meld-meter.ready{animation:none}.arena-status{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.arena-badge{display:none;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--stroke);background:#080d1899;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.arena-badge.show{display:inline-flex}.arena-badge .badge-glyph{font-style:normal;color:var(--accent)}.arena-badge.chaos{border-color:#c4b5fd59;color:#e9d5ff}.arena-badge.chaos.active{color:#f2fbff;box-shadow:0 0 18px #c4b5fd59}.arena-badge.combo{border-color:#fcd34d59;color:#fde68a}.clash-card{display:none}.clash-card.on{display:flex}.clash-card b{display:block}.touch{display:none;width:100%;gap:10px;align-items:flex-end;justify-content:space-between;margin-top:2px}.touch .cluster{display:grid;gap:8px;grid-auto-flow:column}.touch button{width:62px;height:58px;border-radius:15px;border:1px solid var(--stroke-strong);background:linear-gradient(180deg,#22304eeb,#0e1627eb);color:var(--text);font-size:20px;font-weight:600;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 1px #ffffff14,0 10px 20px -16px #000}.touch button:active,.touch button.pressed{background:linear-gradient(180deg,#7dd3fc80,#468cc866);transform:translateY(1px)}.touch button.hard{background:linear-gradient(180deg,#7dd3fc47,#1e3c64cc);border-color:#7dd3fc73}.touch button small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:700}.touch .stacked{display:flex;flex-direction:column;gap:8px}.modal-backdrop{position:fixed;inset:0;background:#03060cb8;backdrop-filter:blur(14px);z-index:40;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.modal{width:min(720px,100%);max-height:88dvh;overflow:auto;border-radius:20px;padding:22px;background:linear-gradient(160deg,#1a253ef5,#090e1afa);border:1px solid var(--stroke-strong);box-shadow:var(--shadow),var(--glass-highlight);animation:modalin .2s ease-out}@keyframes modalin{0%{transform:translateY(8px) scale(.99);opacity:0}to{transform:none;opacity:1}}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.setting{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--stroke);border-radius:12px;background:#090e1a8c}.setting-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.setting-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setting .seg{width:fit-content;max-width:100%;flex-wrap:wrap}.setting output{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}input.range{flex:1 1 110px;width:100%;accent-color:var(--accent)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.note{padding:11px 13px;border-radius:12px;border:1px solid var(--stroke);background:#080d188c;font-size:12px;color:var(--muted);line-height:1.5}.note.warn{border-color:#fbbf2452;background:#fbbf2414;color:#ffe9b3}.note.bad{border-color:#fb718557;background:#fb718514;color:#ffd3da}.toasts{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:60;pointer-events:none;width:min(440px,calc(100vw - 24px))}.toast{padding:10px 14px;border-radius:12px;background:#141e34f0;border:1px solid var(--stroke-strong);color:var(--text);font-size:13px;box-shadow:var(--shadow);animation:toastin .22s ease-out;text-align:center}.toast.good{border-color:#5eead466}.toast.warn{border-color:#fbbf2466}.toast.bad{border-color:#fb718570}@keyframes toastin{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.score-pop{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;font-weight:750;font-size:clamp(20px,3.4vw,32px);letter-spacing:.02em;color:#d7fbff;text-shadow:0 0 34px rgba(125,211,252,.9);animation:pop 1.1s ease-out forwards;white-space:nowrap}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.82);opacity:0}25%{transform:translate(-50%,-54%) scale(1);opacity:1}to{transform:translate(-50%,-78%) scale(1);opacity:0}}@media (max-width: 980px){.home,.lobby{grid-template-columns:1fr;align-items:start}.home{max-width:640px;padding-top:4px}.identity{display:grid;grid-template-columns:1fr 1fr;align-items:start}.identity .panel-title,.identity>.tiny.faint{grid-column:1 / -1}.game{grid-template-columns:1fr;max-width:620px}.game-left,.game-right{flex-direction:row;flex-wrap:wrap;order:2}.game-left>*,.game-right>*{flex:1 1 140px}.board-shell{order:1}.game-right{order:3}.next-panel{flex:1 1 140px}}@media (max-width: 700px){.app{padding-left:10px;padding-right:10px}h1{font-size:clamp(30px,9vw,44px)}.topbar{margin-bottom:6px}.brand-tag{display:none}.brand-mark{width:28px;height:28px}.brand-name{font-size:15px;letter-spacing:.16em}.chip-btn,.icon-btn{min-height:32px;padding:5px 9px;font-size:11px}.seg button{padding:4px 8px}.difficulty-row{flex-direction:column;align-items:stretch;gap:9px}.difficulty-row .seg{display:flex}.difficulty-row .seg button{flex:1;padding:7px 8px}.topbar .chip-btn{display:none}.home{gap:12px}.home-card{padding:16px;gap:14px}.home-head h1{max-width:none}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:64px;padding:10px 12px}.join-panel{grid-template-columns:1fr}.identity{display:flex}.players,.settings-grid,.rules-card{grid-template-columns:1fr}.room-banner{padding:13px 14px}.room-code .code{letter-spacing:.26em}.game{grid-template-columns:1fr;gap:7px;padding-bottom:2px}.game-left{order:1;display:flex;gap:6px}.game-left .stat{flex:1 1 0;min-width:0}.game-left .btn{flex:0 0 auto;width:auto;padding:0 10px;min-height:46px;font-size:11px}.game-right{order:2;display:grid;grid-template-columns:1fr 1fr;gap:6px}.board-shell{order:3}.stat{padding:7px 9px}.stat .k{font-size:9px;margin-bottom:2px}.stat .v{font-size:17px}.game-left .stat:nth-child(3),.game-left .stat:nth-child(4){display:none}.game-help,.game-left .btn.ghost{display:none}.touch{display:flex}.board-wrap{padding:5px;border-radius:18px}.oath{margin-top:4px}.overlay{border-radius:18px}.next-canvas{width:34px;height:34px}.player-chip{padding:6px 8px;gap:4px}.player-chip .next-row{gap:6px}.player-chip>.tiny.faint:last-child{display:none}.touch button{width:56px;height:54px;border-radius:13px}.meld-meter{width:min(100%,360px);padding:6px 12px}.meter-label{font-size:10px}.meter-hint{font-size:8.5px}.game-left{flex-wrap:wrap}.clash-card.on{flex:1 1 100%;order:3;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 9px}.clash-card b,.clash-card p,.clash-card .tiny{flex:1 1 100%;margin:0}.clash-card .btn{flex:1 1 0;width:auto;min-height:40px;padding:0 8px;font-size:10px}.toasts{bottom:calc(14px + env(safe-area-inset-bottom))}}@media (max-width: 420px){.touch button{width:50px;height:50px;font-size:18px}.touch,.touch .cluster{gap:6px}.brand-name{font-size:16px}}@media (max-height: 700px){#board{max-height:52dvh}.brand-tag{display:none}}@media (orientation: landscape) and (max-height: 560px) and (max-width: 1000px){.game{grid-template-columns:150px minmax(0,1fr) 150px;max-width:none}.game-left,.game-right{flex-direction:column}.board-shell,.game-right{order:0}#board{max-height:74dvh}.touch{display:none}.topbar{margin-bottom:6px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.playing{overscroll-behavior:contain}
