:root{--color-black: #050505;--color-charcoal: #111315;--color-ash: #1b1c1f;--color-text: #f7f0de;--color-muted: #9b9587;--color-amber: #ffc13d;--color-amber-hot: #ffde79;--color-cyan: #34d7e7;--stage-max-width: 28rem;--servers-max-width: 42rem;--page-padding: clamp(1.25rem, 5vw, 3rem);--logo-size: clamp(3.15rem, 15vw, 7rem);--button-height: 3.75rem;--button-radius: .375rem}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--color-black)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;color:var(--color-text);background:var(--color-black);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.auth-page,.placeholder-page,.servers-page,.game-page{position:relative;display:grid;min-height:100vh;min-height:100svh;place-items:center;overflow:hidden;padding:var(--page-padding);isolation:isolate;background:radial-gradient(circle at 50% 35%,rgba(255,193,61,.18),transparent 28rem),radial-gradient(circle at 85% 14%,rgba(52,215,231,.12),transparent 18rem),linear-gradient(180deg,rgba(5,5,5,.72),var(--color-black) 82%),var(--color-black)}.auth-page:before,.placeholder-page:before,.servers-page:before,.game-page:before{position:absolute;inset:0;z-index:-3;content:"";background:linear-gradient(115deg,transparent 0 38%,rgba(255,193,61,.1) 38.3%,transparent 39%),linear-gradient(245deg,transparent 0 42%,rgba(52,215,231,.08) 42.2%,transparent 43%),linear-gradient(180deg,#18191c,#070707 62%,#010101)}.auth-page:after,.placeholder-page:after,.servers-page:after,.game-page:after{position:absolute;inset:0;z-index:-1;pointer-events:none;content:"";background:linear-gradient(180deg,#00000029,#000000c7),radial-gradient(circle at center,transparent 0,rgba(0,0,0,.72) 78%)}.background-texture{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.34;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0,rgba(255,255,255,.028) 1px,transparent 1px,transparent 6px);mix-blend-mode:soft-light}.auth-stage,.placeholder-panel{display:grid;width:min(100%,var(--stage-max-width));justify-items:center;gap:clamp(1rem,4vw,1.5rem);text-align:center}.auth-stage{transform:translateY(-2vh)}.auth-kicker{margin:0;color:var(--color-cyan);font-size:.72rem;font-weight:800;line-height:1;text-transform:uppercase}.crowdless-logo{max-width:100%;margin:0;color:var(--color-amber-hot);font-size:var(--logo-size);font-weight:950;line-height:.88;text-transform:uppercase;overflow-wrap:anywhere;text-shadow:0 0 1.25rem rgba(255,193,61,.36),0 0 3.5rem rgba(255,193,61,.18),0 0 4.25rem rgba(52,215,231,.08)}.play-button{display:inline-grid;width:min(100%,17.5rem);min-height:var(--button-height);place-items:center;margin-top:clamp(.5rem,3vw,1rem);border:1px solid rgba(255,222,121,.72);border-radius:var(--button-radius);color:#120f07;background:linear-gradient(180deg,rgba(255,245,199,.52),transparent 42%),linear-gradient(135deg,var(--color-amber-hot),var(--color-amber));box-shadow:0 0 1.4rem #ffc13d3d,0 1rem 2.5rem #00000075;cursor:pointer;font-size:1rem;font-weight:950;line-height:1;text-transform:uppercase;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.play-button:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 0 1.9rem #ffc13d57,0 1.2rem 2.75rem #0000008a}.play-button:active{transform:translateY(1px) scale(.99)}.play-button:focus-visible{outline:3px solid rgba(52,215,231,.72);outline-offset:4px}.placeholder-panel{padding:2rem;border:1px solid rgba(255,193,61,.18);border-radius:.5rem;background:#0c0c0c8f}.placeholder-panel h1{margin:0;color:var(--color-text);font-size:clamp(2rem,9vw,4rem);line-height:1}.servers-page{align-items:start;place-items:start center;overflow-y:auto;padding-top:max(var(--page-padding),env(safe-area-inset-top));padding-bottom:max(var(--page-padding),env(safe-area-inset-bottom))}.servers-shell{display:grid;width:min(100%,var(--servers-max-width));gap:1rem}.servers-header{display:grid;gap:.95rem;padding:.25rem 0 .5rem}.servers-title-row{display:grid;grid-template-columns:1fr;gap:1rem}.servers-title-row h1{margin:0;color:var(--color-text);font-size:clamp(2.15rem,10vw,4.5rem);font-weight:950;line-height:.94}.servers-title-row p{max-width:100%;margin:.65rem 0 0;overflow-wrap:anywhere;color:var(--color-muted);font-size:.95rem;line-height:1.4}.add-server-button,.enter-server-button{min-height:3.25rem;border-radius:var(--button-radius);cursor:pointer;font-size:.83rem;font-weight:950;line-height:1;text-transform:uppercase;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.add-server-button{width:100%;border:1px solid rgba(255,222,121,.62);color:var(--color-amber-hot);background:linear-gradient(180deg,#ffc13d24,#ffc13d0d),#0c0c0ca8;box-shadow:0 0 1.6rem #ffc13d1f}.add-server-button:hover,.enter-server-button:hover{transform:translateY(-1px)}.server-list{display:grid;gap:.85rem}.server-card{border:1px solid rgba(255,193,61,.18);border-radius:.5rem;background:linear-gradient(135deg,rgba(255,193,61,.1),transparent 36%),linear-gradient(180deg,#1b1c1fd6,#080809e6);box-shadow:inset 0 1px #ffffff0a,0 1rem 2.5rem #00000047}.server-card{display:grid;grid-template-columns:1fr;gap:1rem;min-height:8.5rem;padding:1rem}.server-card-main{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;min-width:0}.server-status-dot{width:.62rem;height:.62rem;border-radius:999px;background:var(--color-cyan);box-shadow:0 0 .75rem #34d7e7b3,0 0 1.4rem #34d7e747}.server-card h2{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--color-text);font-size:clamp(1.35rem,7vw,2rem);font-weight:900;line-height:1.02}.enter-server-button{width:100%;border:1px solid rgba(255,222,121,.78);color:#120f07;background:linear-gradient(180deg,rgba(255,245,199,.5),transparent 45%),linear-gradient(135deg,var(--color-amber-hot),var(--color-amber));box-shadow:0 0 1.25rem #ffc13d2e}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 22%,rgba(255,193,61,.16),transparent 22rem),#000000bd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.add-server-modal{display:grid;width:min(100%,28rem);max-height:min(100%,42rem);gap:1.25rem;overflow-y:auto;border:1px solid rgba(255,193,61,.32);border-radius:.5rem;padding:1.15rem;background:linear-gradient(145deg,rgba(255,193,61,.11),transparent 34%),linear-gradient(180deg,#1b1c1ff5,#070708fa);box-shadow:inset 0 1px #ffffff0a,0 1.5rem 4rem #000000a3,0 0 2rem #ffc13d1a}.modal-header{display:grid;gap:.65rem}.modal-header h2{margin:0;color:var(--color-text);font-size:clamp(1.75rem,9vw,2.8rem);font-weight:950;line-height:.96}.add-server-form{display:grid;gap:.95rem}.add-server-form label{display:grid;gap:.45rem}.add-server-form span{color:var(--color-muted);font-size:.78rem;font-weight:850;line-height:1;text-transform:uppercase}.add-server-form input{width:100%;min-height:3.35rem;border:1px solid rgba(255,193,61,.22);border-radius:var(--button-radius);padding:0 .95rem;color:var(--color-text);background:#030304b8;box-shadow:inset 0 1px #ffffff08;font-size:1rem;outline:none}.add-server-form input:focus{border-color:#ffde79c7;box-shadow:inset 0 1px #ffffff0a,0 0 0 3px #ffc13d21}.modal-error{margin:0;border:1px solid rgba(255,76,76,.32);border-radius:var(--button-radius);padding:.85rem;color:#ff9b9b;background:#7808082e;font-size:.92rem;line-height:1.35}.modal-actions{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:.25rem}.modal-secondary-button{min-height:3.25rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--button-radius);color:var(--color-text);background:#ffffff0a;cursor:pointer;font-size:.83rem;font-weight:950;line-height:1;text-transform:uppercase}.modal-secondary-button:disabled,.enter-server-button:disabled{cursor:not-allowed;opacity:.62}.game-page{grid-template-rows:auto 1fr;place-items:stretch;overflow:hidden;padding:max(.95rem,env(safe-area-inset-top)) 1rem 0}.game-topbar{position:relative;z-index:2;display:flex;justify-content:flex-start;width:min(100%,46rem);margin:0 auto}.game-back-button{min-height:2.85rem;border:1px solid rgba(255,222,121,.42);border-radius:var(--button-radius);padding:0 .95rem;color:var(--color-amber-hot);background:linear-gradient(180deg,#ffc13d1f,#ffc13d0a),#080809b3;box-shadow:0 0 1.15rem #ffc13d1a;cursor:pointer;font-size:.78rem;font-weight:950;line-height:1;text-transform:uppercase;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.game-back-button:hover{transform:translateY(-1px);border-color:#ffde79ad;box-shadow:0 0 1.45rem #ffc13d29}.game-countdown{position:fixed;top:max(.95rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:3;display:grid;min-width:6.8rem;gap:.18rem;border:1px solid rgba(255,222,121,.42);border-radius:var(--button-radius);padding:.55rem .75rem;color:var(--color-amber-hot);background:linear-gradient(180deg,#ffc13d1f,#ffc13d0a),#030304f0;box-shadow:inset 0 1px #ffffff0a,0 0 1.2rem #ffc13d1f;text-align:right}.game-countdown-label,.game-countdown-time{display:block;line-height:1}.game-countdown-label{color:#ffde79b8;font-size:.62rem;font-weight:950;text-transform:uppercase}.game-countdown-time{font-size:1.1rem;font-weight:950;font-variant-numeric:tabular-nums}.game-countdown-processing{border-color:#6dffab80;color:#7cffb7fa;background:linear-gradient(180deg,#4dff9a21,#4dff9a0a),#030304f0;box-shadow:inset 0 1px #ffffff0a,0 0 1.2rem #4dff9a24}.game-countdown-processing .game-countdown-label{color:#7cffb7c7}.game-countdown-paused{min-width:9.5rem;border-color:#ff6b6b94;color:#ffb594fa;background:linear-gradient(180deg,#ff5a4624,#ff5a460a),#030304f0;box-shadow:inset 0 1px #ffffff0a,0 0 1.25rem #ff3f3f29}.game-countdown-paused .game-countdown-label{color:#ff9c80d1}.game-countdown-paused .game-countdown-time{font-size:.78rem;line-height:1.15;text-transform:uppercase}.game-countdown-negative{border-color:#ff6b6b94;color:#ff9c80fa;box-shadow:inset 0 1px #ffffff0a,0 0 1.25rem #ff3f3f24}.game-countdown-negative .game-countdown-label{color:#ff9c80d1}.game-chat-stage{display:grid;align-items:center;width:min(100%,46rem);min-height:0;margin:0 auto;padding:clamp(1.25rem,5vw,2.5rem) 0 calc(24rem + env(safe-area-inset-bottom));overflow-y:auto}.game-empty-state{display:grid;gap:.7rem;justify-items:center;text-align:center}.game-empty-state p{margin:0}.game-empty-state p:last-child{max-width:18rem;color:#f7f0dec2;font-size:clamp(1.15rem,5vw,1.55rem);font-weight:800;line-height:1.22}.game-message-list{display:flex;min-height:min-content;flex-direction:column;gap:.9rem;align-self:end;padding:.25rem 0}.game-scene-chat-panel{display:grid;width:100%;min-height:100%;align-self:stretch;align-content:end;gap:.9rem;padding:.25rem 0}.game-scene-chat-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(52,215,231,.18);padding:0 .15rem .75rem}.game-scene-chat-header p,.game-scene-chat-empty p,.game-scene-chat-notice{margin:0}.game-scene-chat-header p:last-child{max-width:19rem;color:#9b9587e0;font-size:.72rem;font-weight:750;line-height:1.35;text-align:right}.game-scene-chat-empty{display:grid;gap:.35rem;padding:clamp(2rem,10vh,5rem) 1rem;color:#f7f0ded1;text-align:center}.game-scene-chat-empty p:first-child{font-size:1.05rem;font-weight:900}.game-scene-chat-empty p:last-child{color:var(--color-muted);font-size:.88rem;font-weight:650;line-height:1.4}.game-scene-chat-notice{border:1px solid rgba(255,107,107,.28);border-radius:var(--button-radius);padding:.7rem .8rem;color:#ff9c80f0;background:#5b111133;font-size:.78rem;font-weight:750;line-height:1.35}.game-scene-chat-message-list{width:100%}.game-message{display:grid;max-width:min(88%,34rem);gap:.35rem;border:1px solid rgba(255,193,61,.16);border-radius:.5rem;padding:.85rem .95rem;box-shadow:inset 0 1px #ffffff0a,0 .9rem 2rem #00000047}.game-message-player{align-self:end;border-color:#ffde7947;background:linear-gradient(135deg,#ffc13d29,#1e1c14d6),#14120de0}.game-message-game{align-self:start;border-color:#5ae0dc38;background:linear-gradient(135deg,rgba(90,224,220,.08),transparent 54%),#0d0f11e6}.game-message-dialogue{align-self:start;border-color:#34d7e740;background:linear-gradient(135deg,rgba(52,215,231,.1),transparent 56%),#0a1113eb}.game-message-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.game-message-label,.game-message-text{margin:0}.game-message-label{color:var(--color-amber-hot);font-size:.68rem;font-weight:950;line-height:1;text-transform:uppercase}.game-message-game .game-message-label,.game-message-dialogue .game-message-label{color:var(--color-cyan)}.game-message-time{color:#ffde7985;font-size:.63rem;font-weight:800;line-height:1;white-space:nowrap}.game-message-dialogue .game-message-time{color:#5ae0dc94}.game-message-text{color:#f7f0dee6;font-size:.98rem;font-weight:650;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.game-vision-panel{display:grid;width:100%;align-self:start;gap:.85rem;padding:.25rem 0}.game-vision-section{display:grid;gap:.5rem;border:1px solid rgba(255,193,61,.17);border-radius:.5rem;padding:.95rem;background:linear-gradient(135deg,rgba(255,193,61,.08),transparent 56%),#0b0c0ddb;box-shadow:inset 0 1px #ffffff0a,0 .9rem 2rem #00000047}.game-vision-section h2,.game-vision-section h3,.game-vision-section p{margin:0}.game-vision-section h2{color:#ffeca4f5;font-size:clamp(1.1rem,5vw,1.55rem);font-weight:950;line-height:1.1}.game-vision-section h3{color:#f7f0def0;font-size:.95rem;font-weight:900;line-height:1.2}.game-vision-section p,.game-vision-empty{color:#f7f0dec7;font-size:.95rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.game-vision-meta{color:var(--color-cyan);font-size:.75rem;font-weight:900;text-transform:uppercase}.game-vision-list{display:grid;gap:.55rem}.game-vision-item{display:grid;gap:.35rem;border-left:2px solid rgba(255,193,61,.42);padding-left:.7rem}.game-composer{position:fixed;left:50%;bottom:0;z-index:2;display:grid;width:min(calc(100% - 2rem),46rem);gap:.65rem;margin:0 auto;padding-bottom:max(1rem,env(safe-area-inset-bottom));transform:translate(-50%)}.game-composer:before{position:absolute;z-index:-1;top:-1rem;right:50%;bottom:0;left:50%;width:100vw;background:#030304;content:"";pointer-events:none;transform:translate(-50%)}.game-tool-panel,.game-input-row,.game-composer-meta{position:relative;z-index:1}.game-tool-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;border:1px solid rgba(255,193,61,.18);border-radius:.5rem;padding:.55rem;background:linear-gradient(135deg,rgba(255,193,61,.08),transparent 48%),#0b0c0dcc;box-shadow:inset 0 1px #ffffff0a,0 1rem 2.3rem #0000004d}.game-tool-button{display:grid;min-width:0;min-height:3.15rem;place-items:center;border:1px solid rgba(255,222,121,.24);border-radius:var(--button-radius);color:var(--color-amber-hot);background:#0303048f;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.game-tool-button:not(:disabled):hover,.game-tool-button:focus-visible{transform:translateY(-1px);border-color:#ffde799e;background:#ffc13d17;box-shadow:0 0 1.1rem #ffc13d24}.game-tool-button-active{border-color:#ffde79b8;background:#ffc13d21;box-shadow:inset 0 1px #ffffff0d,0 0 1.25rem #ffc13d29}.game-tool-button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.38}.game-tool-icon{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;filter:drop-shadow(0 0 .45rem rgba(255,193,61,.18))}.game-input-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end;border:1px solid rgba(255,193,61,.22);border-radius:.5rem;padding:.65rem;background:linear-gradient(180deg,#1b1c1feb,#070708f5),#070708f5;box-shadow:inset 0 1px #ffffff0a,0 1.2rem 2.8rem #0006}.game-decision-input{width:100%;min-height:5.25rem;max-height:min(16rem,42svh);overflow-y:auto;resize:none;border:0;border-radius:calc(var(--button-radius) - .05rem);padding:.95rem;color:var(--color-text);background:#030304bd;box-shadow:inset 0 1px #ffffff08;font:inherit;font-size:1rem;line-height:1.35;outline:1px solid rgba(255,193,61,.14)}.game-decision-input::placeholder{color:#9b9587d1}.game-decision-input:focus{outline-color:#ffde79b8;box-shadow:inset 0 1px #ffffff0a,0 0 0 3px #ffc13d1f}.game-decision-input:disabled{cursor:wait;opacity:.72}.game-decision-input-locked{color:#f7f0dec2;background:linear-gradient(135deg,rgba(255,193,61,.08),transparent 58%),#030304c7;outline-color:#ffde7952}.game-composer-dialogue .game-input-row{border-color:#34d7e747;background:linear-gradient(180deg,#152224f0,#060a0bf7),#070809f5}.game-composer-dialogue .game-decision-input{outline-color:#34d7e733}.game-composer-dialogue .game-decision-input:focus{outline-color:#5ae0dcb8;box-shadow:inset 0 1px #ffffff0a,0 0 0 3px #34d7e71c}.game-composer-dialogue .game-character-count{color:#5ae0dcb3}.game-send-button{min-width:4.75rem;min-height:3.15rem;border:1px solid rgba(255,222,121,.78);border-radius:var(--button-radius);color:#120f07;background:linear-gradient(180deg,rgba(255,245,199,.5),transparent 45%),linear-gradient(135deg,var(--color-amber-hot),var(--color-amber));box-shadow:0 0 1.25rem #ffc13d2e;cursor:pointer;font-size:.83rem;font-weight:950;line-height:1;text-transform:uppercase;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.game-send-button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 0 1.55rem #ffc13d42}.game-send-button:disabled{cursor:wait;filter:saturate(.75);opacity:.78}.game-send-button-cancel{border-color:#ff6b6b94;color:#ffeedcf0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(135deg,#771919f0,#450d0ff5);box-shadow:0 0 1.25rem #ff3f3f1f}.game-composer-meta{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:start;min-height:1.1rem;padding:0 .15rem}.game-composer-error,.game-character-count{margin:0;font-size:.72rem;font-weight:850;line-height:1.25}.game-composer-error{color:#ff6b6bf0}.game-character-count{justify-self:end;color:#ffde79ad}@media(min-width:560px){.servers-title-row{grid-template-columns:1fr auto;align-items:end}.add-server-button{width:auto;min-width:10.5rem;padding-inline:1.15rem}.server-card{grid-template-columns:1fr auto;align-items:center;min-height:6.75rem}.enter-server-button{width:auto;min-width:8.5rem;padding-inline:1.15rem}.modal-actions{grid-template-columns:1fr 1fr}.modal-actions .enter-server-button{width:100%}}@media(max-width:420px){:root{--page-padding: 1rem;--button-height: 3.5rem}.auth-stage{transform:translateY(-1vh)}.game-page{padding-inline:.75rem}.game-chat-stage{padding-bottom:calc(24rem + env(safe-area-inset-bottom))}.game-scene-chat-header{align-items:start;flex-direction:column;gap:.4rem}.game-scene-chat-header p:last-child{text-align:left}.game-composer{width:min(calc(100% - 1.5rem),46rem)}.game-input-row{grid-template-columns:1fr}.game-send-button{width:100%}.game-decision-input{max-height:min(13rem,34svh)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
