:root{color:#f4f7ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:none;overscroll-behavior:none;background:#050713;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{overscroll-behavior:none;width:100%;min-width:280px;height:100%;min-height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(circle at 50% -20%,#5e2bae47,#0000 45%),#050713;position:fixed;inset:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #68f5ff}#root{height:100%}.intro-screen,.form-screen{width:min(100%,500px);height:100%;padding:max(28px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));text-align:center;touch-action:pan-y;flex-direction:column;align-items:center;margin:0 auto;display:flex;position:relative;overflow-y:auto}.intro-screen:before,.form-screen:before,.controller-screen:before{z-index:-1;content:"";background-image:linear-gradient(#55f1ff06 1px,#0000 1px),linear-gradient(90deg,#55f1ff06 1px,#0000 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.brand-mark{color:#e8fdff;background:linear-gradient(145deg,#55f1ff33,#a841ff29);border:1px solid #55f1ffbf;border-radius:23px;place-items:center;width:76px;height:76px;margin-top:auto;margin-bottom:24px;display:grid;transform:rotate(-5deg);box-shadow:0 0 32px #55f1ff47,inset 0 0 20px #55f1ff1a}.brand-mark span{letter-spacing:-5px;text-shadow:0 0 14px #55f1ff;font-size:42px;font-style:italic;font-weight:950;transform:rotate(5deg)}.eyebrow{color:#68f5ff;letter-spacing:.24em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800}h1{letter-spacing:-.055em;text-shadow:0 0 28px #a841ff59;margin:0;font-size:clamp(36px,11vw,54px);line-height:.98}.lead{color:#9aa3c0;max-width:340px;margin:18px auto 0;font-size:15px;line-height:1.5}.rules-list{text-align:left;gap:10px;width:100%;margin:34px 0;padding:0;list-style:none;display:grid}.rules-list li{color:#8d96b4;background:#0e1227b8;border:1px solid #848fb924;border-radius:15px;align-items:center;gap:14px;min-height:72px;padding:12px 14px;font-size:13px;display:flex}.rules-list strong{color:#f4f7ff;margin-bottom:2px;font-size:14px;display:block}.rule-icon{color:#68f5ff;text-shadow:0 0 9px #68f5ffbf;background:#68f5ff12;border:1px solid #68f5ff47;border-radius:13px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.primary-button{color:#041018;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#87faff,#55deff);border:1px solid #68f5ff;border-radius:15px;width:100%;min-height:56px;font-size:15px;font-weight:900;box-shadow:0 0 24px #55deff3d}.primary-button:active{transform:scale(.985)}.primary-button:disabled{color:#747e9d;box-shadow:none;background:#1b2035;border-color:#39425e}.text-button{color:#78829f;cursor:pointer;touch-action:manipulation;background:0 0;border:0;min-height:42px;margin-top:8px;font-size:13px}.form-screen{justify-content:center}.form-screen form{text-align:left;width:100%;margin-top:42px}.form-screen label{color:#a6aec7;margin:0 0 8px 2px;font-size:12px;font-weight:700;display:block}.name-field{position:relative}.name-field input{color:#fff;caret-color:#68f5ff;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#0e1227eb;border:1px solid #323a58;border-radius:15px;width:100%;height:62px;padding:0 66px 0 17px;font-size:18px;font-weight:700}.name-field input::placeholder{color:#555e7c}.name-field input:focus{border-color:#68f5ff;box-shadow:0 0 22px #68f5ff1f}.name-field span{color:#68728f;font-size:11px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.form-screen .primary-button{margin-top:18px}.error-message{color:#ff6b92;margin:10px 2px -6px;font-size:13px}.controller-screen{--player-color:#68f5ff;width:100%;height:100dvh;min-height:0;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));grid-template-rows:auto auto auto minmax(0,1fr);gap:9px;display:grid;overflow:hidden}.player-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c1022db;border:1px solid #828fba2b;border-radius:15px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:60px;padding:9px 10px 9px 12px;display:grid}.player-identity{align-items:center;gap:10px;min-width:0;display:flex}.player-color{background:var(--player-color);width:11px;height:34px;box-shadow:0 0 12px var(--player-color);border-radius:10px;flex:0 0 11px}.player-identity>div{flex-direction:column;min-width:0;display:flex}.player-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.connection{color:#78819f;align-items:center;gap:5px;margin-top:2px;font-size:10px;display:flex}.connection i{background:#98a2be;border-radius:50%;width:6px;height:6px}.connection-connected i{background:#6dff8b;box-shadow:0 0 7px #6dff8b}.connection-connecting i{background:#ffe066;animation:1s ease-in-out infinite blink;box-shadow:0 0 7px #ffe066}.connection-disconnected i{background:#ff507c;box-shadow:0 0 7px #ff507c}.score{flex-direction:column;align-items:center;min-width:43px;line-height:1;display:flex}.score strong{color:var(--player-color);text-shadow:0 0 10px var(--player-color);font-size:24px}.score span{color:#737d9b;letter-spacing:.1em;text-transform:uppercase;margin-top:3px;font-size:8px;font-weight:800}.leave-button{color:#969fba;cursor:pointer;touch-action:manipulation;background:#11162a;border:1px solid #303853;border-radius:10px;min-height:36px;padding:0 10px;font-size:10px;font-weight:750}.player-actions{align-items:center;gap:6px;display:flex}.fullscreen-button,.help-button{color:#aefaff;cursor:pointer;touch-action:manipulation;background:#68f5ff14;border:1px solid #68f5ff47;border-radius:10px;min-height:36px;padding:0 10px;font-size:10px;font-weight:750}.help-button{color:#d9b2ff;background:#bd68ff17;border-color:#bd68ff52}.game-status{justify-content:space-between;align-items:center;gap:8px;min-height:29px;padding:0 3px;display:flex}.game-status>div{align-items:center;gap:8px;min-width:0;display:flex}.phase,.wins{color:#8790ad;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.wins{color:#ffe778;white-space:nowrap}.effects{justify-content:flex-end;overflow:hidden}.effect-chip{color:#aefaff;white-space:nowrap;background:#68f5ff14;border:1px solid #68f5ff40;border-radius:9px;align-items:center;gap:4px;height:27px;padding:0 8px;font-size:10px;font-weight:800;display:flex}.effect-symbol{font-size:14px}.notice{background:#ffe0660f;border:1px solid #ffe06633;border-radius:13px;align-items:center;gap:11px;min-height:53px;padding:9px 13px;display:flex}.controller-message-area{gap:7px;display:grid}.controller-message-area:empty{display:none}.ready-panel{background:#68f5ff0e;border:1px solid #68f5ff3d;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px;display:grid}.ready-panel button{color:#041018;letter-spacing:.08em;touch-action:manipulation;background:linear-gradient(135deg,#87faff,#55deff);border:1px solid #68f5ff;border-radius:10px;min-height:42px;font-size:12px;font-weight:950}.ready-panel button:disabled{color:#9dffc0;background:#6dff8b1a;border-color:#6dff8b59}.ready-panel>span{color:#8992ad;text-align:right;max-width:9rem;font-size:10px;line-height:1.3}.notice-error{background:#ff507c0f;border-color:#ff507c3d}.notice-pulse{background:#ffe066;border-radius:50%;flex:0 0 9px;width:9px;height:9px;animation:1.2s ease-in-out infinite blink;box-shadow:0 0 12px #ffe066}.notice-error .notice-pulse{background:#ff507c;box-shadow:0 0 12px #ff507c}.notice div{flex-direction:column;display:flex}.notice strong{font-size:12px}.notice div span{color:#8992ad;margin-top:2px;font-size:10px}.controls{grid-row:-2/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0;display:grid}.control-button{border:1px solid color-mix(in srgb, var(--control-color) 52%, transparent);color:#eafdff;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--control-color) 22%, transparent), transparent 57%), linear-gradient(155deg, #101731, #090d1d);min-width:0;min-height:0;box-shadow:inset 0 0 35px color-mix(in srgb, var(--control-color) 8%, transparent), 0 0 16px color-mix(in srgb, var(--control-color) 9%, transparent);letter-spacing:.16em;text-shadow:0 0 12px var(--control-color);cursor:pointer;touch-action:none;border-radius:19px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(5px,2vh,15px);font-size:clamp(12px,3.6vw,17px);font-weight:950;transition:border-color 80ms linear,background 80ms linear,box-shadow 80ms linear,transform 60ms linear;display:flex;position:relative;overflow:hidden}.control-button:after{border:1px solid color-mix(in srgb, var(--control-color) 12%, transparent);content:"";pointer-events:none;border-radius:13px;position:absolute;inset:12px}.control-left{--control-color:#68f5ff}.control-right{--control-color:#bd68ff}.control-button.is-pressed{border-color:var(--control-color);background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--control-color) 47%, transparent), transparent 65%), #11182e;box-shadow:inset 0 0 45px color-mix(in srgb, var(--control-color) 22%, transparent), 0 0 28px color-mix(in srgb, var(--control-color) 38%, transparent);transform:scale(.982)}.control-arrow{letter-spacing:0;filter:drop-shadow(0 0 14px var(--control-color));font-size:clamp(62px,23vw,126px);font-weight:300;line-height:.8}.help-backdrop{z-index:50;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:pan-y;background:#02040cd1;place-items:center;display:grid;position:fixed;inset:0}.help-dialog{background:#090d1d;border:1px solid #68f5ff4d;border-radius:18px;flex-direction:column;width:min(100%,560px);max-height:100%;padding:18px;display:flex;overflow:hidden;box-shadow:0 0 45px #55deff2e}.help-dialog>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.help-dialog>header p{color:#68f5ff;letter-spacing:.2em;margin:0 0 3px;font-size:9px;font-weight:900}.help-dialog h2{margin:0;font-size:25px}.help-dialog>header button{color:#aab3cc;background:#11162a;border:1px solid #303853;border-radius:10px;min-height:38px;padding:0 11px;font-size:11px}.help-intro{color:#8f99b6;margin:12px 0;font-size:12px;line-height:1.4}.help-powerups{overscroll-behavior:contain;gap:7px;min-height:0;padding-right:3px;display:grid;overflow-y:auto}.help-powerup{background:#ffffff0a;border-left:3px solid #22c8ff;border-radius:10px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.help-powerup.category-green{border-color:#5cff70}.help-powerup.category-red{border-color:#ff3d71}.help-powerup img{width:48px;height:48px}.help-powerup strong,.help-powerup span{display:block}.help-powerup strong{font-size:13px}.help-powerup span{color:#8f99b6;margin-top:3px;font-size:11px;line-height:1.35}@keyframes blink{0%,to{opacity:.4}50%{opacity:1}}@media (height<=590px){.intro-screen{padding-top:16px}.brand-mark{width:54px;height:54px;margin-bottom:14px}.brand-mark span{font-size:31px}.rules-list{margin:19px 0}.rules-list li{min-height:57px;padding-block:7px}.rule-icon{flex-basis:38px;width:38px;height:38px}}@media (orientation:landscape) and (height<=500px){.controller-screen{grid-template-rows:auto auto minmax(0,1fr)}.notice{z-index:2;width:min(420px,70%);position:absolute;top:77px;left:50%;transform:translate(-50%)}.control-button{flex-direction:row}.control-arrow{font-size:clamp(48px,15vh,84px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
