@import "https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Cinzel:wght@400;500;600;700;800;900&family=Great+Vibes&family=Noto+Serif+KR:wght@400;500;600;700&display=swap";.dev-firestore-badge[data-v-b85230ab]{left:50%;bottom:max(24px, env(safe-area-inset-bottom,0px));z-index:10000;letter-spacing:.02em;color:#e2e8f0;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0f172ae0;border:1px solid #94a3b859;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;line-height:1.35;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.dev-firestore-badge--live[data-v-b85230ab]{border-color:#22c55e73}.dev-firestore-badge--mock[data-v-b85230ab]{border-color:#eab30873}.dev-firestore-badge__mode[data-v-b85230ab]{white-space:nowrap;font-weight:700}.dev-firestore-badge--live .dev-firestore-badge__mode[data-v-b85230ab]{color:#86efac}.dev-firestore-badge--mock .dev-firestore-badge__mode[data-v-b85230ab]{color:#fde047}.dev-firestore-badge__surface[data-v-b85230ab]{color:#94a3b8;white-space:nowrap}.game-session-end-overlay[data-v-5b3ee634]{z-index:100001;pointer-events:all;background:#000000b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.game-session-end-overlay__card[data-v-5b3ee634]{text-align:center;pointer-events:none;width:min(100%,360px);padding:28px 24px 24px}.game-session-end-overlay__title[data-v-5b3ee634]{color:#fff;margin:0;font-size:22px;font-weight:700;line-height:1.35}.game-session-end-overlay__body[data-v-5b3ee634]{color:#ffffffe6;margin:12px 0 0;font-size:15px;font-weight:500;line-height:1.5}.game-session-end-overlay__hint[data-v-5b3ee634]{color:#ffffffd1;margin:16px 0 0;font-size:14px;font-weight:500;line-height:1.5}.game-session-end-overlay__countdown[data-v-5b3ee634]{color:#ffffffb8;margin:10px 0 0;font-size:14px;font-weight:600;line-height:1.4}.toast-host[data-v-e95a9909]{z-index:var(--z-toast);align-items:center;gap:var(--space-2);width:var(--toast-max-width);max-width:calc(100% - var(--space-8));pointer-events:none;flex-direction:column;display:flex;position:fixed;top:52%;left:50%;transform:translate(-50%,-50%)}.toast-host--scoped[data-v-e95a9909]{z-index:var(--z-toast);width:min(calc(100% - var(--space-4)), var(--toast-max-width));max-width:calc(100% - var(--space-4));position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.toast[data-v-e95a9909]{pointer-events:auto;border-radius:var(--radius-toast);background:var(--toast-bg);width:100%;color:var(--toast-text);font-family:inherit;font-size:var(--toast-font-size);font-weight:var(--toast-font-weight);line-height:var(--line-height-normal);text-align:center;cursor:pointer;box-shadow:var(--toast-shadow);border:none;margin:0;padding:12px 16px}.toast-enter-active[data-v-e95a9909],.toast-leave-active[data-v-e95a9909]{transition:opacity .32s,transform .32s}.toast-enter-from[data-v-e95a9909],.toast-leave-to[data-v-e95a9909]{opacity:0;transform:translateY(72px)}@media (prefers-reduced-motion:reduce){.toast-enter-active[data-v-e95a9909],.toast-leave-active[data-v-e95a9909]{transition:opacity .32s}.toast-enter-from[data-v-e95a9909],.toast-leave-to[data-v-e95a9909]{transform:none}}#app-root[data-v-fe0cf969]{min-height:100dvh}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--layout-content-width:70%;--layout-margin-inline:15%;--layout-page-padding-y:var(--space-6);--font-weight-bold:700;--font-weight-semibold:600;--font-weight-medium:500;--line-height-tight:1.25;--line-height-normal:1.5;--font-family:"Spoqa Han Sans Neo", "Spoqa Han Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-card:var(--radius-lg);--radius-input:var(--radius-md);--radius-button:12px;--radius-toast:12px;--control-height:44px;--control-height-sm:36px;--lunest-button-height:56px;--lunest-button-font-size:15px;--lunest-button-font-weight:600;--input-padding-x:var(--space-3);--button-padding-x:var(--space-4);--color-bg:#fff;--color-surface:#f7f7f8;--color-border:#d9dce3;--color-text:#111;--color-text-muted:#5c5c5c;--color-accent:#1a1a1a;--color-accent-hover:#333;--color-on-accent:#fff;--color-error-text:#b42318;--color-error-bg:#fef3f2;--color-error-border:#fecdca;--color-warning-text:#7a5c00;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-success-text:#027a48;--color-success-bg:#ecfdf3;--color-success-border:#abefc6;--color-info-text:#175cd3;--color-info-bg:#eff8ff;--color-info-border:#b2ddff;--game-scene-bg:#f5f6f8;--game-overlay-bg:#fffffff0;--game-spectator-bg:#f3f4f6;--game-phase-count-bg:#fff;--game-phase-count-border:#e5e7eb;--game-phase-count-min-height:2.25rem;--countdown-scrim:#ffffff59;--host-badge-bg:#ff4d4f;--host-badge-bg-hover:#ff6668;--host-badge-text:#fff;--host-badge-shadow:0 0 8px #ff4d4f59;--host-accent-line:#8b1111;--host-accent-glow:0 2px 12px #8b11112e;--dimmed-overlay-bg:#0009;--modal-surface:#fff;--modal-text:#111;--z-overlay:200;--z-modal:300;--z-death-screen:900;--z-toast:850;--z-countdown:1100;--z-countdown-scoped:1100;--lunest-title-gradient:linear-gradient(135deg, #111 0%, #3b0a12 45%, #7f1d2d 100%);--toast-max-width:min(var(--layout-content-width), 22rem);--toast-shadow:0 8px 24px #00000059;--toast-bg:#000000c7;--toast-text:#fff;--toast-font-size:13px;--toast-font-weight:600}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100dvh;font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400}input,button,textarea,select{font-family:inherit}#app,#app-root{min-height:100dvh}a{color:inherit;text-decoration:none}h1,.text-h1{font-size:clamp(var(--font-title-min), 4vw, var(--font-title));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);margin:0}h2,.text-h2{font-size:clamp(var(--font-title-min), 3.5vw, var(--font-title));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);margin:0}h3,.text-h3{font-size:var(--font-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);margin:0}.text-body{font-size:var(--font-size-body);line-height:var(--line-height-normal)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-muted{color:var(--color-text-muted)}.page-screen{min-height:100dvh;padding-top:var(--layout-page-padding-y);padding-bottom:var(--layout-page-padding-y);box-sizing:border-box;background:var(--color-bg);color:var(--color-text);background-image:none;flex-direction:column;align-items:center;display:flex;position:relative;overflow-y:auto}.page-screen:not(.page-screen--scrollable):not(.page-screen--embed)>.page-content{margin-top:auto;margin-bottom:auto}.page-screen--scrollable{justify-content:center}.page-screen--scrollable>.page-content{flex:none;margin-top:auto;margin-bottom:auto}.page-screen--host{background:var(--color-bg);background-image:none}.page-content{width:var(--layout-content-width);box-sizing:border-box;align-items:center;gap:var(--space-4);flex-direction:column;flex:none;min-width:0;margin:0 auto;display:flex}.page-content>.page-section,.page-content>.page-header,.page-content>.form-skeleton,.page-content>.panel,.page-content>.card,.page-content>.page-error,.page-content>.page-loading,.page-content>.game-phase-panel,.page-content>.home-actions,.page-content>.home-note,.page-content>.home-footer,.page-content>.lunest-page-label,.page-content>.player-status-label,.page-content>.page-title{box-sizing:border-box;width:100%}.screen-top-left-action,.screen-top-right-action{top:max(var(--space-4), env(safe-area-inset-top,0px));z-index:10;position:absolute}.screen-top-left-action{left:max(var(--space-4), env(safe-area-inset-left,0px))}.screen-top-right-action{right:max(var(--space-4), env(safe-area-inset-right,0px))}.page-title{padding-top:calc(var(--control-height-sm) + var(--space-4));font-size:clamp(var(--font-title-min), 4vw, var(--font-title));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-align:center;color:var(--color-text);margin:0}.page-title.game-title{background:var(--lunest-title-gradient);-webkit-text-fill-color:transparent;color:#0000;text-shadow:none;-webkit-background-clip:text;background-clip:text}.page-title.game-title.page-title--night-result,.page-title--night-result.lunest-title.game-title{padding-bottom:16px;font-size:18px;color:#fff!important;background:0 0!important;background-clip:initial!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}.page-screen--embed .page-title{padding-top:calc(var(--control-height-sm) + var(--space-2));font-size:clamp(var(--font-title-min), 2.5vw, var(--font-title))}.player-status-label{font-size:var(--font-label);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:.04em;color:var(--color-text);text-align:center;margin:0;padding:0}.page-section{box-sizing:border-box;align-items:stretch;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.page-screen--embed{box-sizing:border-box;background:0 0;flex-direction:column;flex:auto;justify-content:center;align-items:center;width:100%;min-width:0;min-height:100%;padding:24px 16px;display:flex;overflow:visible}.page-screen--embed:not(.page-screen--scrollable)>.page-content,.page-screen--embed.page-screen--scrollable>.page-content{flex:none;margin-top:auto;margin-bottom:auto}.page-screen--embed.page-screen--scrollable{justify-content:center}.page-screen--embed>.page-content{width:min(var(--layout-content-width), 420px);box-sizing:border-box;flex:none;align-items:center;max-width:420px;margin-left:auto;margin-right:auto}.page-screen--centered .page-header{text-align:center}.page-screen--waiting{padding-bottom:calc(var(--layout-page-padding-y) + var(--control-height) + var(--space-2))}.page-screen--countdown{overflow:hidden}.page-header{text-align:left}.page-header h1{margin-top:var(--space-2)}.page-header .subtitle,.page-header p{margin:var(--space-2) 0 0;font-size:var(--font-size-body);color:var(--color-text-muted)}.back-link{font-size:var(--font-size-body);color:var(--color-text-muted)}.back-link:hover{color:var(--color-text)}.page{min-height:100dvh;padding-top:var(--layout-page-padding-y);padding-bottom:var(--layout-page-padding-y);background:var(--color-bg);color:var(--color-text);background-image:none;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;margin:0;display:flex}.panel,.card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-sizing:border-box;margin-bottom:0}.panel+.panel,.card+.card{margin-top:var(--space-4)}.panel h2,.card h2{margin:0 0 var(--space-3)}.panel h3,.card h3{margin:0 0 var(--space-2)}.form-skeleton{align-items:stretch;gap:var(--space-4);flex-direction:column;display:flex}.field{align-items:stretch;gap:var(--space-1);width:100%;font-size:var(--font-size-body);flex-direction:column;display:flex}.field>span,.field>label>span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.field input,.field select,.field textarea,.input,input.input,select.input,textarea.input{width:100%;min-height:var(--control-height);padding:0 var(--input-padding-x);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:var(--font-size-body);line-height:var(--line-height-normal)}.field input[type=number]{width:auto;min-width:3.5rem}.field textarea{min-height:calc(var(--control-height) * 2);padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical}.field input:not(.lunest-field-wrap__control):not(.lunest-field):focus,.field input:not(.lunest-field-wrap__control):not(.lunest-field):focus-visible,.field select:focus,.field select:focus-visible,.field textarea:focus,.field textarea:focus-visible,.input:not(.lunest-field-wrap__control):focus,.input:not(.lunest-field-wrap__control):focus-visible{outline-offset:1px;outline:2px solid #9ca3af}.field-row{justify-content:center;align-items:center;gap:var(--space-2);flex-direction:row;width:100%;max-width:100%;display:flex}.field-row__label{font-size:var(--font-size-body);color:var(--color-text);white-space:nowrap}.input-unit{align-items:center;gap:var(--space-1);display:inline-flex}.input-unit .unit{font-size:var(--font-size-body);color:var(--color-text-muted)}.roles-fieldset{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-bg);align-items:center;gap:var(--space-2);flex-direction:column;margin:0;display:flex}.roles-fieldset legend{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:0 var(--space-1)}.form-message{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-md);text-align:center;margin:0}.form-message--error{color:var(--color-error-text);background:var(--color-error-bg);border:1px solid var(--color-error-border)}.form-message--warning{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.form-message--success{color:var(--color-success-text);background:var(--color-success-bg);border:1px solid var(--color-success-border)}.btn{min-height:var(--control-height);padding:0 var(--button-padding-x);border-radius:var(--radius-button);font-family:inherit;font-size:var(--font-button);font-weight:var(--font-weight-semibold);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:not(:disabled):hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:not(:disabled):hover{border-color:var(--color-text-muted)}.btn-ghost{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-button);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border-color:var(--color-border);background:0 0}.btn-ghost:not(:disabled):hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn--block{width:100%}.lunest-button{box-sizing:border-box;width:100%;min-height:var(--lunest-button-height);height:var(--lunest-button-height);padding:0 var(--button-padding-x);border-radius:var(--radius-button);font-family:inherit;font-size:var(--lunest-button-font-size);font-weight:var(--lunest-button-font-weight);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.lunest-button:disabled{opacity:.45;cursor:not-allowed}.lunest-button--primary{background:var(--color-accent);color:var(--color-on-accent)}.lunest-button--primary:not(:disabled):hover{background:var(--color-accent-hover)}.lunest-button--secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.lunest-button--secondary:not(:disabled):hover{border-color:var(--color-text-muted)}.btn-stepper{min-width:var(--control-height);min-height:var(--control-height-sm);padding:0 var(--space-2);font-size:1.125rem;line-height:1}.btn-stepper:focus,.btn-stepper:focus-visible{box-shadow:none;outline:none}.page-error{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-body);color:var(--color-error-text);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-input);text-align:center;margin:0}.page-loading{font-size:var(--font-size-body);color:var(--color-text-muted);text-align:center;margin:0}.placeholder-box{min-height:8rem;padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-input);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-body);text-align:center;place-items:center;display:grid}.game-phase-panel--in-game{background:var(--game-scene-bg);border-radius:var(--radius-card);padding:var(--space-3);box-sizing:border-box}.game-phase-panel--in-game.game-phase-panel--compact{padding:var(--space-2)}.game-phase-content{gap:var(--space-3);box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:min(40vh,22rem);color:var(--color-text);flex-direction:column;flex:auto;padding:0;display:flex;overflow:visible}.game-phase-content--compact{gap:var(--space-2);min-height:min(36vh,14rem)}.game-phase-count{width:100%;max-width:100%;min-height:var(--game-phase-count-min-height);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--game-phase-count-bg);border:1px solid var(--game-phase-count-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;line-height:var(--line-height-tight);color:var(--color-text-muted);text-align:center;box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;margin:0;display:flex}.dev-panel .game-phase-count,.game-phase-count--compact{min-height:1.75rem;padding:var(--space-1) var(--space-2);font-size:var(--font-body-sm)}.game-phase-card{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--game-phase-count-border);font-size:var(--font-size-sm);color:var(--color-text);box-sizing:border-box;display:flex}.dev-panel .game-phase-card,.game-phase-card--compact{padding:var(--space-1) var(--space-2);font-size:var(--font-body);gap:var(--space-1)}.game-phase-card-list{gap:var(--space-2);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.game-phase-footer{width:100%;margin-top:var(--space-2);flex-direction:column;flex-shrink:0;align-items:stretch;gap:.625rem;display:flex}.game-phase-footer .btn{width:100%}.game-phase-hint{font-size:var(--font-body-sm);line-height:var(--line-height-desc);color:var(--color-text-muted);text-align:center;margin:0}.game-phase-hint--error{color:var(--color-error-text)}.dimmed-overlay{z-index:var(--z-modal);padding:var(--space-4);background:var(--dimmed-overlay-bg);box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{width:100%;max-width:22rem;max-height:min(85vh,32rem);padding:var(--space-4);border-radius:var(--radius-card);background:var(--modal-surface);color:var(--modal-text);box-sizing:border-box;overflow-y:auto;box-shadow:0 16px 48px #00000073}.host-badge{min-width:22px;height:22px;color:var(--host-badge-text);background:var(--host-badge-bg);box-shadow:var(--host-badge-shadow);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 5px;font-size:.75rem;font-weight:700;line-height:1;transition:background .15s;display:inline-flex}.host-badge:hover{background:var(--host-badge-bg-hover)}.dev-panel,.dev-panel *{--control-height:36px;--control-height-sm:32px;--radius-card:var(--radius-md);--space-4:var(--space-2)}.role-text--mafia{color:#f87171}.role-text--police{color:#60a5fa}.role-text--doctor{color:#34d399}.role-text--citizen{color:#ffffff8c}.page-screen--waiting .game-start-footer:not(.game-start-footer--compact){width:var(--layout-content-width);max-width:var(--layout-content-width);z-index:10;box-sizing:border-box;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (width<=480px){.page-content,.page-screen--embed>.page-content{width:var(--layout-content-width);align-items:center;margin:0 auto}.page-screen--waiting .game-start-footer:not(.game-start-footer--compact){width:var(--layout-content-width);box-sizing:border-box;margin:0 auto}}:root{--font-min:12px;--font-label:12px;--font-body-sm:13px;--font-body:14px;--font-button:15px;--font-title:18px;--font-title-min:16px;--line-height-desc:1.6;--font-size-xs:var(--font-label);--font-size-sm:var(--font-body-sm);--font-size-body:var(--font-body);--font-size-h3:var(--font-body);--font-size-h2:var(--font-title);--font-size-h1:var(--font-title);--font-size-player-invite-headline:var(--font-label);--font-size-player-invite-message:var(--font-body)}.lunest-page-label{text-align:center;width:100%;margin:0;padding:0}.lunest-page-label__line{max-width:100%;font-size:16px;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:.04em;color:var(--color-text);white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:.25em;display:inline-flex}.lunest-page-label__nickname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lunest-title,.page-title.lunest-title{font-size:clamp(var(--font-title-min), 4vw, var(--font-title));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.page-screen--embed .lunest-title,.page-screen--embed .page-title.lunest-title{font-size:clamp(var(--font-title-min), 2.5vw, var(--font-title))}.lunest-desc{font-size:var(--font-body);font-weight:400;line-height:var(--line-height-desc);color:var(--color-text-muted);margin:0}.lunest-status{font-size:var(--font-body-sm);line-height:var(--line-height-normal);color:var(--color-text-muted);margin:0}.lunest-card-body{font-size:var(--font-body);line-height:var(--line-height-normal)}.host-nickname--gold{color:var(--lunest-gold,#d8b35a);font-weight:var(--font-weight-bold)}.player-nickname--emphasis{color:var(--lunest-blue-purple,#8f8cff);font-weight:var(--font-weight-semibold)}.spectator-nickname{color:var(--lunest-text-muted,#ffffff8c);font-weight:var(--font-weight-medium)}:root{--font-script-primary:"Great Vibes", "Segoe Script", cursive;--font-script-secondary:"Allura", "Segoe Script", cursive;--font-family-title:"Cinzel", "Times New Roman", serif;--font-family-serif:"Cormorant Garamond", "Batang", "Times New Roman", serif;--font-family-noto-serif-kr:"Noto Serif KR", "Batang", serif}.font-script{font-family:var(--font-script-primary);font-style:normal;font-weight:400}.font-script-alt{font-family:var(--font-script-secondary);font-style:normal;font-weight:400}.font-title{font-family:var(--font-family-title);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.font-title--regular{letter-spacing:.04em;font-weight:400}.font-body{font-family:var(--font-family-serif);letter-spacing:.01em;font-weight:500}.font-body--light{font-weight:400}.font-body--semibold{font-weight:600}.font-noto-serif{font-family:var(--font-family-noto-serif-kr);letter-spacing:-.01em;font-weight:400}.page-header--waiting .room-code strong{font-family:var(--font-family-title);letter-spacing:.08em;font-weight:700}:root{--lunest-bg-base:#08080f;--lunest-bg-gradient:radial-gradient(circle at top center, #7850ff38 0%, #1e143c26 30%, #0a0a12 100%);--lunest-aurora:#7659ff73;--lunest-card-bg:#0f0c1cd1;--lunest-card-border:#ffffff14;--lunest-card-shadow:0 0 0 1px #ffffff14, 0 0 30px #7850ff2e, 0 20px 60px #00000073;--lunest-radius-card:24px;--lunest-radius-card-lg:28px;--lunest-radius-cta:6px;--lunest-radius-cta-sm:6px;--lunest-confirm-gradient:linear-gradient(135deg, #120308 0%, #7f1d2d 45%, #5b21b6 100%);--lunest-confirm-fill-gradient:linear-gradient(90deg, #b91c1c 0%, #9333ea 100%);--lunest-envelope-fill-gradient:linear-gradient(90deg, #8a5a00 0%, #d8b56d 45%, #fff1a8 70%, #b8860b 100%);--lunest-text:#f4f3ff;--lunest-text-muted:#fff9;--lunest-gold:#d8b35a;--lunest-day-text:#1b1d2a;--lunest-day-text-muted:#4f5365;--lunest-day-accent:#facc15;--lunest-black-blue:#1e293b;--lunest-night-text:#ffffffeb;--lunest-night-text-muted:#dcdaffb8;--lunest-night-text-glow:0 0 14px #b4aaff47;--lunest-theme-transition:color 1.2s ease, border-color 1.2s ease, background-color 1.2s ease;--lunest-blue-purple:#8f8cff;--lunest-field-bg:#ffffff0d;--lunest-field-border:#ffffff14;--lunest-field-underline:#ffffff2e;--lunest-field-underline-focus:#a98bff;--lunest-field-text:var(--lunest-blue-purple);--lunest-field-text-host:var(--lunest-gold);--lunest-nickname-input-text:#f9c74f;--lunest-nickname-input-placeholder:#f9c74f99;--lunest-field-placeholder:#ffffff52;--lunest-cta-bg:#222;--lunest-cta-bg-hover:#2a2a2a;--lunest-cta-bg-active:#1a1a1a;--lunest-cta-gradient:#222;--lunest-cta-shadow:none;--lunest-cta-shadow-hover:none}.lunest-core-screen,.lunest-unified,.lunest-screen,.page-screen.lunest-dark{--color-text:#ffffffeb;--color-text-muted:var(--lunest-text-muted);--color-surface:#ffffff0d;--color-border:#ffffff1a;--color-bg:#0f0c1c;--game-scene-bg:#0f0c1c73;--game-phase-count-bg:#ffffff0f;--game-phase-count-border:#ffffff1f;color:var(--lunest-text)}.lunest-core-screen{background:var(--lunest-bg-gradient);background-color:var(--lunest-bg-base);box-sizing:border-box;min-height:100dvh;position:relative;overflow-x:hidden}.lunest-core-screen:before{content:"";background:var(--lunest-aurora);filter:blur(140px);opacity:.3;pointer-events:none;z-index:0;border-radius:50%;width:720px;max-width:150vw;height:720px;position:absolute;top:0;left:50%;transform:translate(-50%,-38%)}.lunest-core-screen>*{z-index:1;position:relative}.lunest-screen{background:var(--lunest-bg-gradient);background-color:var(--lunest-bg-base);box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.lunest-screen:before{content:"";background:var(--lunest-aurora);filter:blur(120px);opacity:.35;pointer-events:none;z-index:0;border-radius:50%;width:600px;max-width:150vw;height:600px;position:absolute;top:0;left:50%;transform:translate(-50%,-42%)}.lunest-screen>*{z-index:1;position:relative}.lunest-screen--scroll{justify-content:center;align-items:center;overflow-y:auto}.lunest-screen--top-aligned{padding-top:max(28px, env(safe-area-inset-top,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-bottom:max(24px, env(safe-area-inset-bottom,0px));padding-left:max(16px, env(safe-area-inset-left,0px));justify-content:flex-start;align-items:center}.lunest-screen--top-aligned.lunest-screen--scroll{justify-content:flex-start;align-items:center}.lunest-screen--embed,.lunest-device-screen{border-radius:inherit;box-sizing:border-box;justify-content:center;align-items:center;height:100%;min-height:100%;padding:24px 16px;display:flex}.lunest-screen--embed:before{filter:blur(70px);width:320px;height:320px;transform:translate(-50%,-45%)}.lunest-game-card,.lunest-glass-card{border-radius:var(--lunest-radius-card-lg);border:1px solid var(--lunest-card-border);background:var(--lunest-card-bg);width:min(100%,420px);min-height:auto;box-shadow:var(--lunest-card-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--lunest-text);box-sizing:border-box;--color-text:#ffffffeb;--color-text-muted:#fff9;--color-surface:#ffffff0d;--color-border:#ffffff1f;--color-bg:#0f0c1c;--game-scene-bg:#0f0c1c73;--game-phase-count-bg:#ffffff0f;--game-phase-count-border:#ffffff1f;flex-direction:column;align-items:stretch;gap:16px;padding:24px;display:flex}.lunest-game-card--embed{border-radius:var(--lunest-radius-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:8px;width:100%;padding:12px}.lunest-game-card--in-game{border-radius:var(--lunest-radius-card-lg);gap:12px;width:min(100%,420px);padding:16px}.lunest-open-surface{width:min(100%,420px);min-height:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--lunest-text);box-sizing:border-box;--color-text:#ffffffeb;--color-text-muted:#fff9;--color-surface:transparent;--color-border:#ffffff1a;--color-bg:transparent;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:stretch;gap:20px;padding:0;display:flex}.page-screen.lunest-open-layout>.page-content{gap:var(--space-4)}.lunest-open-surface .panel,.lunest-open-surface .card,.lunest-screen--open .panel,.lunest-screen--open .card,.page-screen.lunest-open-layout .panel,.page-screen.lunest-open-layout .card{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.lunest-open-surface .panel+.panel,.lunest-open-surface .card+.card,.page-screen.lunest-open-layout .panel+.panel{margin-top:var(--space-4)}.lunest-open-surface .panel h2,.lunest-open-surface .panel h3,.page-screen.lunest-open-layout .panel h2{margin:0 0 var(--space-2);text-align:center}.lunest-open-surface .placeholder-box,.page-screen.lunest-open-layout .placeholder-box{min-height:auto;padding:var(--space-2) 0;color:var(--color-text-muted);font-size:var(--font-size-sm);background:0 0;border:none}.lunest-open-surface .roles-fieldset,.lunest-screen--open .roles-fieldset,.page-screen.lunest-open-layout .roles-fieldset{background:0 0;border:none;padding:0}.lunest-open-surface .player-item,.page-screen.lunest-open-layout .player-item{min-height:auto;padding:10px 0;box-shadow:none!important;background:0 0!important;border:none!important;border-bottom:1px solid #ffffff14!important;border-radius:0!important}.lunest-open-surface .player-item--empty,.page-screen.lunest-open-layout .player-item--empty{opacity:.5;border-bottom-color:#ffffff0d!important}.page-screen.lunest-open-layout .pwa-install-card{padding:var(--space-3) 0;background:0 0;border:none;border-radius:0;margin-top:0}.lunest-open-surface h1,.lunest-open-surface h2,.lunest-open-surface .field>span,.lunest-open-surface .field>label>span,.lunest-screen--open h1,.lunest-screen--open .field>span{text-shadow:none}.lunest-open-surface h1,.lunest-open-surface h2,.lunest-open-surface h3,.lunest-screen--open h1,.lunest-screen--open h2,.lunest-screen--open h3{color:#fff}.lunest-open-surface .text-muted,.lunest-open-surface .hint,.lunest-screen--open .text-muted,.lunest-screen--open .hint{color:#fff9}.lunest-open-surface .back-link,.lunest-screen--open .back-link{color:#b9a6fff2}.dev-multi .page-screen--embed.lunest-open-layout>.page-content{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none}.dev-multi .lunest-open-layout .roles-fieldset,.dev-multi .lunest-open-layout .roles-list,.dev-multi .lunest-open-layout .panel,.dev-multi .lunest-open-layout .card{box-shadow:none;background:0 0;border:none}.lunest-game-card h1,.lunest-game-card h2,.lunest-game-card h3{color:#fff}.lunest-game-card .text-muted,.lunest-game-card .field>span,.lunest-game-card .field>label>span,.lunest-game-card .hint{color:var(--lunest-text-muted)}.lunest-game-card .back-link{color:#ffffff8c}.lunest-game-card .back-link:hover{color:#fff}.lunest-game-card .field input:not(.lunest-field),.lunest-game-card .field select,.lunest-game-card .field textarea,.lunest-game-card .input:not(.lunest-field){background:var(--lunest-field-bg);border-color:var(--lunest-field-border);color:#fff}.lunest-game-card .field input:not(.lunest-field)::placeholder{color:#ffffff59}.lunest-game-card .lunest-field,.lunest-screen .lunest-field,.lunest-unified .lunest-field,.page-screen.lunest-dark .lunest-field,.page-screen--embed.lunest-unified .lunest-field{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--input-padding-x) var(--space-1);border:none;border-bottom:1px solid var(--lunest-field-underline);color:var(--lunest-field-text);font-family:inherit;font-size:var(--font-size-body);line-height:var(--line-height-normal);text-align:center;box-sizing:border-box;background:0 0;border-radius:0;transition:border-color .25s,color .25s}.lunest-game-card .lunest-field[type=number],.lunest-screen .lunest-field[type=number],.lunest-unified .lunest-field[type=number],.page-screen.lunest-dark .lunest-field[type=number],.page-screen--embed.lunest-unified .lunest-field[type=number]{width:auto;min-width:3.5rem}.lunest-game-card .lunest-field::placeholder,.lunest-screen .lunest-field::placeholder,.lunest-unified .lunest-field::placeholder,.page-screen.lunest-dark .lunest-field::placeholder,.page-screen--embed.lunest-unified .lunest-field::placeholder{color:var(--lunest-field-placeholder)}.lunest-game-card .lunest-field:focus,.lunest-screen .lunest-field:focus,.lunest-unified .lunest-field:focus,.page-screen.lunest-dark .lunest-field:focus,.page-screen--embed.lunest-unified .lunest-field:focus{border-bottom-color:var(--lunest-field-underline-focus);box-shadow:none;outline:none}.lunest-game-card .lunest-field--host:not(:placeholder-shown),.lunest-screen .lunest-field--host:not(:placeholder-shown),.lunest-unified .lunest-field--host:not(:placeholder-shown),.page-screen.lunest-dark .lunest-field--host:not(:placeholder-shown),.page-screen--embed.lunest-unified .lunest-field--host:not(:placeholder-shown){color:var(--lunest-field-text-host)}.lunest-game-card .lunest-field--nickname,.lunest-screen .lunest-field--nickname,.lunest-unified .lunest-field--nickname,.page-screen.lunest-dark .lunest-field--nickname,.page-screen--embed.lunest-unified .lunest-field--nickname{text-align:center;color:var(--lunest-nickname-input-text,#f9c74f)}.lunest-game-card .lunest-field--nickname::placeholder,.lunest-screen .lunest-field--nickname::placeholder,.lunest-unified .lunest-field--nickname::placeholder,.page-screen.lunest-dark .lunest-field--nickname::placeholder,.page-screen--embed.lunest-unified .lunest-field--nickname::placeholder{color:var(--lunest-nickname-input-placeholder,#f9c74f99)}.lunest-game-card .lunest-field--nickname:focus,.lunest-screen .lunest-field--nickname:focus,.lunest-unified .lunest-field--nickname:focus,.page-screen.lunest-dark .lunest-field--nickname:focus,.page-screen--embed.lunest-unified .lunest-field--nickname:focus{border-bottom-color:var(--lunest-field-underline-focus);color:var(--lunest-nickname-input-text,#f9c74f)}.lunest-game-card .roles-fieldset{border-color:var(--lunest-card-border);background:#ffffff0a}.lunest-game-card .panel,.lunest-game-card .card{border-color:var(--lunest-card-border);color:inherit;background:#ffffff0a}.lunest-cta,.lunest-button--primary,.lunest-core-screen .btn.btn-primary,.lunest-unified .btn.btn-primary,.lunest-screen .btn.btn-primary,.lunest-game-card .btn.btn-primary,.lunest-glass-card .btn.btn-primary,.page-screen.lunest-dark .btn.btn-primary{border-radius:var(--lunest-radius-cta);background:var(--lunest-cta-bg);color:#fff;height:56px;min-height:56px;font-family:inherit;font-weight:var(--lunest-button-font-weight);font-size:var(--lunest-button-font-size);letter-spacing:.02em;box-shadow:none;border:none;transition:background .2s;position:relative;overflow:hidden}.lunest-cta:not(:disabled):hover,.lunest-button--primary:not(:disabled):hover,.lunest-core-screen .btn.btn-primary:not(:disabled):hover,.lunest-unified .btn.btn-primary:not(:disabled):hover,.lunest-screen .btn.btn-primary:not(:disabled):hover,.lunest-game-card .btn.btn-primary:not(:disabled):hover,.lunest-glass-card .btn.btn-primary:not(:disabled):hover,.page-screen.lunest-dark .btn.btn-primary:not(:disabled):hover{background:var(--lunest-cta-bg-hover);box-shadow:none;transform:none}.lunest-cta:not(:disabled):active,.lunest-button--primary:not(:disabled):active,.lunest-core-screen .btn.btn-primary:not(:disabled):active,.lunest-unified .btn.btn-primary:not(:disabled):active,.lunest-screen .btn.btn-primary:not(:disabled):active,.lunest-game-card .btn.btn-primary:not(:disabled):active,.lunest-glass-card .btn.btn-primary:not(:disabled):active,.page-screen.lunest-dark .btn.btn-primary:not(:disabled):active{background:var(--lunest-cta-bg-active);transform:none}.lunest-cta:disabled,.lunest-button--primary:disabled,.lunest-core-screen .btn.btn-primary:disabled,.lunest-unified .btn.btn-primary:disabled,.lunest-screen .btn.btn-primary:disabled,.lunest-game-card .btn.btn-primary:disabled,.lunest-glass-card .btn.btn-primary:disabled,.page-screen.lunest-dark .btn.btn-primary:disabled{opacity:.55;cursor:not-allowed}.lunest-button--confirm{background:var(--lunest-confirm-gradient);color:#fff;border:none;box-shadow:0 6px 20px #7f1d2d59}.lunest-button--confirm:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px #7f1d2d73}.lunest-button--confirm:not(:disabled):active{transform:scale(.98)}.lunest-button--confirm:disabled{opacity:.55;cursor:not-allowed}.lunest-cta:before,.lunest-button--primary:before,.lunest-core-screen .btn.btn-primary:before,.lunest-unified .btn.btn-primary:before,.lunest-screen .btn.btn-primary:before,.lunest-game-card .btn.btn-primary:before,.lunest-glass-card .btn.btn-primary:before,.page-screen.lunest-dark .btn.btn-primary:before,.lunest-cta:not(:disabled):hover:before,.lunest-button--primary:not(:disabled):hover:before,.lunest-core-screen .btn.btn-primary:not(:disabled):hover:before,.lunest-unified .btn.btn-primary:not(:disabled):hover:before,.lunest-screen .btn.btn-primary:not(:disabled):hover:before,.lunest-game-card .btn.btn-primary:not(:disabled):hover:before,.lunest-glass-card .btn.btn-primary:not(:disabled):hover:before,.page-screen.lunest-dark .btn.btn-primary:not(:disabled):hover:before{display:none}.lunest-game-card--embed .btn.btn-primary,.lunest-game-card--embed .lunest-button--primary{height:var(--lunest-button-height);min-height:var(--lunest-button-height);border-radius:var(--lunest-radius-cta);font-size:var(--lunest-button-font-size);font-weight:var(--lunest-button-font-weight)}@media (prefers-reduced-motion:reduce){.lunest-cta,.lunest-game-card .btn.btn-primary{transition:box-shadow .25s}.lunest-cta:not(:disabled):hover,.lunest-game-card .btn.btn-primary:not(:disabled):hover{transform:none}.lunest-cta:before,.lunest-game-card .btn.btn-primary:before{transition:none}}.page-screen.lunest-dark{background:var(--lunest-bg-gradient);background-color:var(--lunest-bg-base);justify-content:center;min-height:100dvh;position:relative;overflow-x:hidden}.page-screen.lunest-dark:before{content:"";background:var(--lunest-aurora);filter:blur(120px);opacity:.35;pointer-events:none;z-index:0;border-radius:50%;width:600px;max-width:150vw;height:600px;position:absolute;top:0;left:50%;transform:translate(-50%,-42%)}.page-screen.lunest-dark>.page-content{z-index:1;align-items:center;width:min(100%,420px);max-width:420px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;position:relative}.page-screen.lunest-dark .page-header h1,.page-screen.lunest-dark .waiting-room-title{color:#fff}.page-screen.lunest-dark .back-link{color:#ffffff8c}.page-screen.lunest-dark .room-code{color:var(--lunest-text-muted)}.page-screen.lunest-dark .room-code strong{color:#fff}.page-screen.lunest-dark .game-start-footer:not(.game-start-footer--compact){box-shadow:none;background:0 0;border-top:none}.page-screen.lunest-dark .game-start-footer .btn.btn-primary,.page-screen.lunest-dark .game-start-footer .lunest-button--primary{height:var(--lunest-button-height);min-height:var(--lunest-button-height);border-radius:var(--lunest-radius-cta);background:var(--lunest-cta-bg);color:#fff;font-size:var(--lunest-button-font-size);font-weight:var(--lunest-button-font-weight);box-shadow:none;border:none}.page-screen.lunest-dark .game-start-footer .btn.btn-primary:not(:disabled):hover,.page-screen.lunest-dark .game-start-footer .lunest-button--primary:not(:disabled):hover{background:var(--lunest-cta-bg-hover);box-shadow:none;transform:none}.page-screen.lunest-dark .game-start-footer .btn.btn-primary:disabled,.page-screen.lunest-dark .game-start-footer .lunest-button--primary:disabled{opacity:.55}.lunest-game-card .waiting-list{width:100%}.lunest-game-card .player-item{background:#ffffff0f;border-color:#ffffff1a}.lunest-game-card .player-item--empty,.lunest-glass-card .player-item--empty,.lunest-unified .player-item--empty,.page-screen.lunest-dark .player-item--empty{background:0 0;border:1px dashed #ffffff2e}.lunest-core-screen .field input:not(.lunest-field),.lunest-core-screen .field select,.lunest-core-screen .field textarea,.lunest-core-screen .input:not(.lunest-field),.lunest-unified .field input:not(.lunest-field),.lunest-unified .field select,.lunest-unified .field textarea,.lunest-unified .input:not(.lunest-field),.lunest-screen .field input:not(.lunest-field),.lunest-screen .field select,.lunest-screen .field textarea,.lunest-screen .input:not(.lunest-field),.page-screen.lunest-dark .field input:not(.lunest-field),.page-screen.lunest-dark .field select,.page-screen.lunest-dark .field textarea,.page-screen.lunest-dark .input:not(.lunest-field){background:var(--lunest-field-bg);border-color:var(--lunest-field-border);color:#fff}.lunest-core-screen .field input:not(.lunest-field)::placeholder,.lunest-unified .field input:not(.lunest-field)::placeholder,.lunest-screen .field input:not(.lunest-field)::placeholder,.page-screen.lunest-dark .field input:not(.lunest-field)::placeholder{color:#ffffff59}.lunest-unified .panel,.lunest-unified .card,.lunest-screen .panel,.lunest-screen .card,.page-screen.lunest-dark .panel,.page-screen.lunest-dark .card{border-color:var(--lunest-card-border);color:inherit;background:#ffffff0a}.lunest-unified h1,.lunest-unified h2,.lunest-unified h3,.lunest-screen h1,.lunest-screen h2,.lunest-screen h3,.page-screen.lunest-dark h1,.page-screen.lunest-dark h2,.page-screen.lunest-dark h3,.page-screen.lunest-dark .page-title,.page-screen.lunest-dark .waiting-room-title{color:#fff}.lunest-unified .text-muted,.lunest-unified .subtitle,.lunest-screen .text-muted,.page-screen.lunest-dark .text-muted,.page-screen.lunest-dark .subtitle{color:var(--lunest-text-muted)}.lunest-unified .back-link,.lunest-screen .back-link,.page-screen.lunest-dark .back-link{color:#ffffff8c}.lunest-unified .back-link:hover,.lunest-screen .back-link:hover,.page-screen.lunest-dark .back-link:hover{color:#fff}.lunest-unified .game-phase-panel--in-game,.lunest-screen .game-phase-panel--in-game,.lunest-game-card .game-phase-panel--in-game,.lunest-glass-card .game-phase-panel--in-game,.page-screen.lunest-dark .game-phase-panel--in-game{border:1px solid var(--lunest-card-border);border-radius:var(--lunest-radius-card);background:#ffffff08;box-shadow:0 0 20px #7850ff1a}.lunest-unified .player-item,.lunest-screen .player-item,.lunest-game-card .player-item,.lunest-glass-card .player-item,.page-screen.lunest-dark .player-item{background:#ffffff0f;border-color:#ffffff1a}.lunest-unified .btn.btn-ghost,.lunest-screen .btn.btn-ghost,.page-screen.lunest-dark .btn.btn-ghost{color:#ffffffbf;border-color:#fff3}.lunest-unified .btn.btn-secondary,.lunest-unified .lunest-button--secondary,.lunest-screen .btn.btn-secondary,.lunest-screen .lunest-button--secondary,.page-screen.lunest-dark .btn.btn-secondary,.page-screen.lunest-dark .lunest-button--secondary{height:var(--lunest-button-height);min-height:var(--lunest-button-height);font-size:var(--lunest-button-font-size);font-weight:var(--lunest-button-font-weight);color:#ffffffe6;background:#ffffff0f;border-color:#ffffff26;line-height:1}.page-screen.lunest-dark .pwa-install-card{border-color:var(--lunest-card-border);color:var(--lunest-text);background:#ffffff0a}.lunest-marketing{justify-content:flex-start;align-items:stretch;padding:20px 16px 40px}.lunest-marketing-stack{box-sizing:border-box;flex-direction:column;gap:16px;width:min(100%,420px);margin:0 auto;display:flex}.lunest-marketing-brand{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:var(--lunest-gold);margin:0;font-size:.75rem;font-weight:800}.lunest-marketing-card{border-radius:var(--lunest-radius-card);background:var(--lunest-card-bg);border:1px solid var(--lunest-card-border);width:100%;box-shadow:var(--lunest-card-shadow);box-sizing:border-box;flex-direction:column;gap:14px;padding:20px 18px;display:flex}.lunest-marketing-card--hero{text-align:center;padding-top:28px;padding-bottom:28px}.lunest-marketing-moon{background:radial-gradient(circle at 38% 32%,#fdf6ff 0%,#c9b8ff 45%,#6d42ff 100%);border-radius:50%;width:56px;height:56px;margin:0 auto 16px;display:block;box-shadow:0 0 32px #8a63ff73,inset -6px -8px 18px #3c1e7873}.lunest-marketing-title{letter-spacing:.04em;color:#fff;margin:0;font-size:clamp(1.5rem,5vw,1.875rem);font-weight:800;line-height:1.2}.lunest-marketing-title--sm{letter-spacing:.02em;font-size:1.125rem;font-weight:700}.lunest-marketing-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#b9a6ffd9;margin:0 0 8px;font-size:.75rem;font-weight:700}.lunest-marketing-desc{color:var(--lunest-text-muted);margin:0;font-size:.9375rem;line-height:1.6}.lunest-marketing-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.lunest-marketing-list li{color:#ffffffd1;padding-left:18px;font-size:.875rem;line-height:1.5;position:relative}.lunest-marketing-list li:before{content:"";background:var(--lunest-gold);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0;box-shadow:0 0 8px #d8b35a80}.lunest-marketing-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.lunest-marketing-step{grid-template-columns:2.25rem 1fr;align-items:start;gap:10px;display:grid}.lunest-marketing-step__num{color:var(--lunest-gold);letter-spacing:.06em;font-size:.875rem;font-weight:800}.lunest-marketing-step__title{color:#fff;margin:0;font-size:.9375rem;font-weight:700}.lunest-marketing-step__body{color:var(--lunest-text-muted);grid-column:2;margin:4px 0 0;font-size:.8125rem;line-height:1.5}.lunest-marketing-join{flex-direction:column;gap:10px;display:flex}.lunest-marketing-join__input{border:1px solid var(--lunest-field-border);background:var(--lunest-field-bg);color:#fff;letter-spacing:.14em;text-transform:uppercase;text-align:center;box-sizing:border-box;border-radius:14px;width:100%;height:48px;padding:0 14px;font-family:inherit;font-size:1rem;font-weight:600}.lunest-marketing-join__input::placeholder{color:#ffffff52;letter-spacing:.04em;text-transform:none;font-weight:500}.lunest-marketing-join__input:focus{border-color:#d8b35a73;outline:none}.lunest-marketing-notice{flex-direction:column;gap:12px;display:flex}.lunest-marketing-notice__item{border-bottom:1px solid #ffffff14;padding-bottom:12px}.lunest-marketing-notice__item:last-child{border-bottom:none;padding-bottom:0}.lunest-marketing-notice__date{color:#b9a6ffcc;font-size:.6875rem}.lunest-marketing-notice__title{color:#fff;margin-top:4px;font-size:.9375rem;font-weight:700;display:block}.lunest-marketing-notice__body{color:var(--lunest-text-muted);margin:4px 0 0;font-size:.8125rem;line-height:1.5}.lunest-marketing-footer{text-align:center;border-top:1px solid var(--lunest-card-border);margin-top:8px;padding:20px 0 8px}.lunest-marketing-footer__logo{letter-spacing:.2em;color:#fff;font-size:1rem;font-weight:800;display:block}.lunest-marketing-footer__tagline{color:var(--lunest-text-muted);margin-top:6px;font-size:.75rem;display:block}.lunest-marketing-footer__links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:14px;display:flex}.lunest-marketing-footer__link{color:var(--lunest-text-muted);font-size:.75rem;text-decoration:none}.lunest-marketing-footer__link:hover{color:#fff}.lunest-marketing-footer__dev{color:#ffffff59;margin-top:12px;font-size:.6875rem;text-decoration:none;display:block}.lunest-marketing-divider{color:var(--lunest-text-muted);align-items:center;gap:12px;margin:4px 0;font-size:.75rem;display:flex}.lunest-marketing-divider:before,.lunest-marketing-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.lunest-marketing-btn--ghost{border-radius:var(--lunest-radius-cta);height:48px;color:var(--lunest-text-muted);cursor:not-allowed;opacity:.7;background:#ffffff0a;border:1px solid #ffffff29;font-family:inherit;font-size:.9375rem;font-weight:600}.lunest-marketing-btn--ghost:not(:disabled){cursor:pointer;opacity:1}.lunest-marketing-btn--ghost:not(:disabled):hover,a.lunest-marketing-btn--ghost:hover{color:#fff;border-color:#d8b35a59}a.lunest-marketing-btn--ghost{box-sizing:border-box;cursor:pointer;opacity:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.lunest-marketing-hint{color:#b9a6ffbf;text-align:center;margin:0;font-size:.75rem;line-height:1.45}.lunest-marketing-back{color:var(--lunest-text-muted);align-self:flex-start;font-size:.8125rem;text-decoration:none}.lunest-marketing-back:hover{color:#fff}.btn--block{box-sizing:border-box;justify-content:center;align-items:center;width:100%;text-decoration:none;display:flex}.design-studio__stage{min-height:0;padding:var(--space-3);box-sizing:border-box;flex-direction:column;flex:1;display:flex}.design-studio__stage--full{padding:0}.design-studio__viewport{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.design-studio__viewport--mobile{background:var(--lunest-bg-base);border:2px solid #ffffff24;border-radius:32px;width:min(100%,390px);max-height:min(92dvh,844px);margin:0 auto;overflow:hidden;box-shadow:0 0 0 1px #d8b35a1f,0 24px 48px #00000073}.design-studio__viewport-notch{background:#00000059;border-bottom:1px solid #ffffff0f;flex-shrink:0;height:28px;position:relative}.design-studio__viewport-notch:after{content:"";background:#ffffff1f;border-radius:999px;width:96px;height:6px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.design-studio__viewport-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}:root{--lunest-day-title-gradient:linear-gradient(135deg, #fff7a3 0%, #ffd84d 35%, #fbbf24 70%, #d97706 100%);--lunest-day-text:#1b1d2a;--lunest-day-text-muted:#4f5365;--lunest-day-accent:#facc15;--lunest-night-text:#ffffffeb;--lunest-night-text-muted:#dcdaffb8;--lunest-night-text-glow:0 0 14px #b4aaff47;--lunest-gold:#d8b35a;--lunest-theme-transition:color 1.2s ease, border-color 1.2s ease, background-color 1.2s ease;--experience-day-sky:#f5f7ff;--experience-day-top:#e8eeff;--experience-night-sky:#0b1020}.page-screen.is-day-theme,.page-screen.is-night-theme,.page-screen.is-dawn-theme,.page-screen.is-sunset-theme,.page-screen.is-role-reveal-theme{transition:var(--lunest-theme-transition)}.page-screen:has(.experience-backdrop){transition:var(--lunest-theme-transition)}.page-screen .page-content{z-index:1;position:relative}.lunest-day-title-gradient{background:var(--lunest-day-title-gradient);-webkit-text-fill-color:transparent;color:#0000;text-shadow:none;filter:none;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:700}.page-screen.is-day-theme,.page-screen.is-sunset-theme.is-day-theme{transition:var(--lunest-theme-transition)}.page-screen.is-day-theme{--game-phase-count-bg:#ffffffb8;--game-phase-count-border:#1b1d2a1a;transition:var(--lunest-theme-transition)}:is(.page-screen.lunest-dark.is-day-theme:not(:has(.experience-day-sky--active)),.page-screen.lunest-unified.is-day-theme:not(:has(.experience-day-sky--active))){color:var(--lunest-text,#ffffffeb);--color-text:#ffffffeb;--color-text-muted:var(--lunest-text-muted,#fff9)}:is(.page-screen.lunest-dark.is-day-theme:not(:has(.experience-day-sky--active)) .game-body-text,.page-screen.lunest-dark.is-day-theme:not(:has(.experience-day-sky--active)) .game-title,.page-screen.lunest-unified.is-day-theme:not(:has(.experience-day-sky--active)) .game-body-text,.page-screen.lunest-unified.is-day-theme:not(:has(.experience-day-sky--active)) .game-title){color:#fff;text-shadow:none}:is(.page-screen.lunest-dark.is-day-theme:not(:has(.experience-day-sky--active)) .game-muted-text,.page-screen.lunest-unified.is-day-theme:not(:has(.experience-day-sky--active)) .game-muted-text){color:#ffffffb8;text-shadow:none}.page-screen.is-day-theme:has(.experience-day-sky--active){color:#fffffff5;--color-text:#fffffff5;--color-text-muted:#ffffffd1;--color-surface:#ffffffe0;--color-border:#1b1d2a1f;--game-phase-count-bg:#ffffff47;--game-phase-count-border:#ffffff59}.page-screen.is-day-theme:has(.experience-day-sky--active) .game-title{color:#fffffff5;text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-day-theme:has(.experience-day-sky--active) .game-body-text{color:#fffffff5;text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-day-theme:has(.experience-day-sky--active) .lunest-title{color:#fffffff5;text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-day-theme:has(.experience-day-sky--active) .page-title:not(.game-title){color:#fffffff5;text-shadow:none;transition:var(--lunest-theme-transition)}:is(.page-screen.is-day-theme:has(.experience-day-sky--active) .game-muted-text,.page-screen.is-day-theme:has(.experience-day-sky--active) .lunest-desc,.page-screen.is-day-theme:has(.experience-day-sky--active) .lunest-status,.page-screen.is-day-theme:has(.experience-day-sky--active) .game-phase-hint){color:#ffffffe0;text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-day-theme:has(.experience-day-sky--active) .game-phase-card{-webkit-backdrop-filter:blur(10px);color:#1b2a42;background:#ffffffc7;border-color:#ffffff73;box-shadow:0 8px 28px #003c8c1f}:is(.page-screen.is-day-theme:has(.experience-day-sky--active) .lunest-game-card--in-game,.page-screen.is-day-theme:has(.experience-day-sky--active) .game-phase-panel--in-game){box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none}.page-screen.is-day-theme:has(.experience-day-sky--active) .game-phase-panel--in-game{padding:0}.page-screen.is-day-theme:has(.experience-day-sky--active) .phase-transition-card__surface{box-shadow:none;background:0 0;border-radius:0;overflow:visible}.page-screen.is-day-theme:has(.experience-day-sky--active) .game-phase-count{color:#ffffffe6;text-shadow:none}.page-screen.is-day-theme:has(.experience-day-sky--active) .day-phase__subtitle{color:#fff;text-shadow:0 0 12px #00000073;font-size:16px;font-weight:600}:is(.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-result__summary,.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-result__tie-msg,.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-result__role-text){color:#000}.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-result__dead .game-phase-card{color:#ffffffd1;box-shadow:none;-webkit-backdrop-filter:none;background:#000000ad;border-color:#ffffff1a}.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-result__dead .vote-result__heading{color:#ffffffb8}.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-result__role-text .role-text--police{color:#fff}.page-screen.is-day-theme:has(.experience-day-sky--active) .day-phase__guide{color:#ffffffdb}.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-request__question{color:#fffffff0;text-shadow:none}.page-screen.is-day-theme:has(.experience-day-sky--active) .vote-request__waiting{color:#ffffffd1}:is(.page-screen.is-day-theme .day-vote__select.game-phase-card.day-vote__select--selected,.page-screen.is-day-theme:has(.experience-day-sky--active) .day-vote__select.game-phase-card.day-vote__select--selected){color:#fff;box-shadow:none;-webkit-backdrop-filter:none;background:linear-gradient(135deg,#000000b8 0%,#5a0f18c7 48%,#140008b8 100%);border-color:#0000}:is(.page-screen.is-day-theme .day-vote__select.game-phase-card.day-vote__select--selected .day-vote__order,.page-screen.is-day-theme .day-vote__select.game-phase-card.day-vote__select--selected .day-vote__name,.page-screen.is-day-theme:has(.experience-day-sky--active) .day-vote__select.game-phase-card.day-vote__select--selected .day-vote__order,.page-screen.is-day-theme:has(.experience-day-sky--active) .day-vote__select.game-phase-card.day-vote__select--selected .day-vote__name){color:#fff}.page-screen.is-day-theme:has(.experience-day-sky--active) .game-phase-fixed-title__label{color:#000}.page-screen.is-sunset-theme:not(.is-night-theme){transition:var(--lunest-theme-transition)}.page-screen.is-sunset-theme .game-title,.page-screen.is-sunset-theme .game-body-text{color:#fff8f0f2;text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-night-theme{color:var(--lunest-night-text);--color-text:var(--lunest-night-text);--color-text-muted:var(--lunest-night-text-muted);--color-surface:#0e1224e0;--color-border:#d4af3747;--game-phase-count-bg:#0b1020b8;--game-phase-count-border:#d4af3759;transition:var(--lunest-theme-transition)}.page-screen.is-night-theme .game-title,.page-screen.is-night-theme .game-body-text,.page-screen.is-night-theme .lunest-title,.page-screen.is-night-theme .page-title:not(.game-title),.page-screen.is-night-theme .page-title.game-title.page-title--night-result{color:#fff;text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-night-theme .page-title.game-title.page-title--night-result{background:0 0;background-clip:initial;-webkit-background-clip:initial;-webkit-text-fill-color:#fff}.page-screen.is-night-theme .game-muted-text,.page-screen.is-night-theme .lunest-desc,.page-screen.is-night-theme .lunest-status,.page-screen.is-night-theme .game-phase-hint{color:var(--lunest-night-text-muted);text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-night-theme .game-phase-card{color:var(--lunest-night-text);transition:var(--lunest-theme-transition);background:#0b1020eb;border-color:#d4af3773}.page-screen.is-night-theme .game-phase-count{color:var(--lunest-night-text-muted);transition:var(--lunest-theme-transition)}.page-screen.is-night-theme .vote-result__summary--tie,.page-screen.is-night-theme .game-accent-text{color:var(--lunest-gold);text-shadow:none}.page-screen.is-night-theme .night-cell{color:#111;background:#fff;border-color:#0000001f}.page-screen.is-night-theme .night-cell__num,.page-screen.is-night-theme .night-cell__name,.page-screen.is-night-theme .night-cell__result{color:#111}.page-screen.is-night-theme .night-cell--empty,.page-screen.is-night-theme .night-cell--disabled{color:#11111173;background:#ffffffb8}.page-screen.is-night-theme .night-cell--empty .night-cell__num,.page-screen.is-night-theme .night-cell--empty .night-cell__name,.page-screen.is-night-theme .night-cell--disabled .night-cell__num,.page-screen.is-night-theme .night-cell--disabled .night-cell__name{color:#11111173}.page-screen.is-night-theme .night-cell--selected,.page-screen.is-night-theme .night-cell--viewed,.page-screen.is-night-theme .night-cell[aria-pressed=true]:not(.night-cell--disabled):not(.night-cell--empty){color:#111;box-shadow:none;background:#f90;border-color:#f90;transform:none}.page-screen.is-night-theme .night-cell--selected .night-cell__num,.page-screen.is-night-theme .night-cell--selected .night-cell__name,.page-screen.is-night-theme .night-cell--selected .night-cell__result,.page-screen.is-night-theme .night-cell--viewed .night-cell__num,.page-screen.is-night-theme .night-cell--viewed .night-cell__name,.page-screen.is-night-theme .night-cell--viewed .night-cell__result,.page-screen.is-night-theme .night-cell__name{color:#111}.page-screen.is-role-reveal-theme{color:#ffffffeb;--color-text:#ffffffeb;--color-text-muted:#ffffffb8;--color-surface:transparent;--color-border:#ffffff1f;--color-bg:#000;--lunest-bg-base:#000;transition:background-color .2s,color .2s;background:#000!important}.page-screen.is-role-reveal-theme:before{display:none!important}.page-screen.is-role-reveal-theme>.page-content{background:0 0!important}.page-screen.is-role-reveal-theme .experience-backdrop{display:none!important}.page-screen.is-role-reveal-theme .lunest-game-card,.page-screen.is-role-reveal-theme .lunest-game-card--in-game,.page-screen.is-role-reveal-theme .game-phase-panel,.page-screen.is-role-reveal-theme .game-phase-panel--in-game,.page-screen.is-role-reveal-theme .phase-transition-stage,.page-screen.is-role-reveal-theme .dev-waiting,.page-screen.lunest-dark.is-role-reveal-theme .game-phase-panel--in-game,.page-screen.lunest-dark.is-role-reveal-theme .lunest-game-card--in-game{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important}.page-screen.is-role-reveal-theme .phase-transition-card__surface{box-shadow:none!important;background:0 0!important;border-radius:0!important}.page-screen.is-role-reveal-theme .lunest-title,.page-screen.is-role-reveal-theme .lunest-desc,.page-screen.is-role-reveal-theme .lunest-status,.page-screen.is-role-reveal-theme .game-title,.page-screen.is-role-reveal-theme .game-body-text{color:#ffffffeb;text-shadow:none}.page-screen.is-role-reveal-theme .lunest-desc,.page-screen.is-role-reveal-theme .lunest-status{color:#ffffffb8}.page-screen.is-role-reveal-theme .game-phase-fixed-title__label{color:#fff}.page-screen.is-role-reveal-theme .game-phase-fixed-title__nick{color:var(--lunest-gold,#d8b56d)}.page-screen.is-dawn-theme .game-title,.page-screen.is-dawn-theme .game-body-text{color:#fff8f0f2;text-shadow:none;transition:var(--lunest-theme-transition)}.experience-backdrop{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.page-screen.is-game-end-phase{transition:background .8s,color .8s}.page-screen.is-game-end-phase:before,.page-screen.is-game-end-phase .experience-backdrop{display:none}.page-screen.is-game-end-phase.game-end-win--citizen,.page-screen.is-game-end-phase.game-end-win--default{background:linear-gradient(#4da3ff 0%,#60c4ff 45%,#bfe8ff 100%)}.page-screen.is-game-end-phase.game-end-win--mafia{background:linear-gradient(#22070b 0%,#5a0f18 45%,#8f1d2c 100%)}.page-screen.is-game-end-phase.game-end-win--police{background:linear-gradient(#10224d 0%,#1d4ed8 45%,#60a5fa 100%)}.page-screen.is-game-end-phase.game-end-win--doctor{background:linear-gradient(#0b3b2f 0%,#0f766e 45%,#5eead4 100%)}.page-screen.is-game-end-phase .game-title,.page-screen.is-game-end-phase .page-title,.page-screen.is-game-end-phase .game-body-text,.page-screen.is-game-end-phase .game-muted-text,.page-screen.is-game-end-phase .lunest-desc,.page-screen.is-game-end-phase .lunest-status,.page-screen.is-game-end-phase .game-phase-hint:not(.game-phase-hint--error){color:#fff;text-shadow:none;transition:var(--lunest-theme-transition)}.page-screen.is-game-end-phase .game-phase-hint--error{color:#fecaca;text-shadow:none}.page-screen.is-game-end-phase .game-phase-count{color:#ffffffd1;text-shadow:none}.page-screen.is-game-end-phase .game-end__role-list .game-phase-card,.page-screen.is-game-end-phase .game-phase-card-list.game-end__role-list .game-phase-card{color:#fff;background:#000c;border-color:#ffffff29}@media (prefers-reduced-motion:reduce){.page-screen,.page-screen.is-day-theme,.page-screen.is-night-theme,.page-screen.is-dawn-theme,.page-screen.is-sunset-theme,.page-screen.is-day-theme .game-title,.page-screen.is-night-theme .game-title,.page-screen.is-day-theme .game-phase-card,.page-screen.is-night-theme .game-phase-card,.page-screen.is-game-end-phase{transition-duration:.01ms!important}.experience-backdrop *{transition-duration:.01ms!important;animation:none!important}}.lunest-screen,.lunest-core-screen,.lunest-open-surface,.lunest-game-card,.lunest-glass-card,.page-screen.lunest-dark,.page-screen.lunest-unified,.lunest-page-label,.lunest-page-label__line,.lunest-title,.lunest-desc,.lunest-status,.lunest-day-title-gradient,.page-title,.page-title.game-title,.game-title,.game-body-text,.game-muted-text,.game-phase-hint,.game-phase-fixed-title,.game-phase-fixed-title__label,.game-phase-fixed-title__nick,.post-game,.post-game-roles,.tie-decision,.create-card,.join-card,.dev-multi__title,.dev-preview__title,.modal-card,.game-phase-card:not(.day-vote__select--selected){text-shadow:none}.status-board .status-board__title,.status-board .status-board__heading,.status-board .status-board__recent-title{color:#000!important;text-shadow:none!important}.game-effect-layer{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.game-effect-layer--compact{border-radius:inherit}.effect-shooting-star,.effect-moon-glow,.effect-sun-glow,.effect-magic-letter,.effect-vote-arrow{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;position:absolute}.effect-shooting-star{filter:drop-shadow(0 0 10px #dcd2ffcc);width:42px;height:42px}.game-effect-layer--compact .effect-shooting-star{width:28px;height:28px}.page-screen.is-night-theme .game-effect-layer .effect-shooting-star{filter:drop-shadow(0 0 12px #c8beffd9)}@media (prefers-reduced-motion:reduce){.game-effect-layer{display:none!important}}:root{--lunest-image-drop-shadow:drop-shadow(0 20px 40px #00000073) drop-shadow(0 8px 20px #00000052) drop-shadow(0 2px 6px #0000003d);--lunest-image-drop-shadow-letter:drop-shadow(0 14px 28px #00000061) drop-shadow(0 5px 12px #00000038)}.lunest-image-drop-shadow{filter:var(--lunest-image-drop-shadow)}.lunest-image-drop-shadow-letter{filter:var(--lunest-image-drop-shadow-letter)}img[src*="/images/c-"],img[src*="/images/result-"]{filter:var(--lunest-image-drop-shadow)}.player-invite-screen{justify-content:center;align-items:center;gap:var(--space-3);box-sizing:border-box;flex-direction:column;width:100%;min-width:0;min-height:clamp(320px,72vh,560px);display:flex;position:relative}.player-invite-screen--joined{flex:1;align-self:stretch;min-height:clamp(360px,78vh,720px)}.player-join-overlay{z-index:30;box-sizing:border-box;pointer-events:none;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.player-join-overlay .player-join-modal{pointer-events:auto}.player-join-modal{z-index:1;box-sizing:border-box;color:#f5f0e6;--player-join-control-height:44px;background:#0a0a0ae0;border:none;border-radius:4px;flex-direction:column;align-items:stretch;gap:8px;width:min(100%,420px);padding:10px 12px;display:flex;position:relative;transform:translateY(-60px);box-shadow:0 4px 20px #ffffff1a,0 8px 32px #ffffff12,0 0 24px #ffffff0d}.player-join-modal__error{text-align:center;color:#ffb4b4;margin:0;font-size:12px}.player-join-modal__row{align-items:stretch;gap:6px;width:100%;display:flex}.player-join-modal .player-join-modal__input{width:100%;min-width:0;height:var(--player-join-control-height,44px);min-height:var(--player-join-control-height,44px);box-sizing:border-box;color:var(--lunest-nickname-input-text,#f9c74f);font-family:inherit;font-size:14px;font-weight:var(--font-weight-medium,500);text-align:center;background:#00000059;border:none;border-bottom:2px solid #d4af3752;border-radius:4px;flex:1;margin:0;padding:0 12px;line-height:1.2;transition:border-bottom-color .2s,border-bottom-width .2s,box-shadow .2s}.player-join-modal .player-join-modal__input::placeholder{color:var(--lunest-nickname-input-placeholder,#f9c74f99)}.player-join-modal .player-join-modal__input:focus,.player-join-modal .player-join-modal__input:focus-visible{border-bottom:3px solid var(--lunest-gold,#d8b56d);color:var(--lunest-nickname-input-text,#f9c74f);outline:none;box-shadow:0 4px 10px -2px #d8b56d8c}.player-join-modal .player-join-modal__input:disabled{opacity:.55;cursor:not-allowed}.player-join-modal .player-join-modal__submit.lunest-button--primary,.dev-panel .player-join-modal .player-join-modal__submit.lunest-button--primary,.page-screen--embed .player-join-modal .player-join-modal__submit.lunest-button--primary{width:auto;min-width:4.75rem;height:var(--player-join-control-height,44px);min-height:var(--player-join-control-height,44px);color:#fff8e8;background:linear-gradient(135deg,#12100a 0%,#2a2210 42%,#5c4508 100%);border:1px solid #d8b56d6b;border-radius:4px;flex-shrink:0;padding-inline:12px;font-size:14px;box-shadow:0 2px 10px #00000052}.player-join-modal .player-join-modal__submit.lunest-button--primary:not(:disabled):hover,.dev-panel .player-join-modal .player-join-modal__submit.lunest-button--primary:not(:disabled):hover{background:linear-gradient(135deg,#1a160c 0%,#3a2f14 42%,#6f5410 100%);transform:none;box-shadow:0 3px 12px #00000061}.player-join-modal .player-join-modal__submit.lunest-button--primary:not(:disabled):active,.dev-panel .player-join-modal .player-join-modal__submit.lunest-button--primary:not(:disabled):active{background:linear-gradient(135deg,#0e0c08 0%,#221c0e 42%,#4a3806 100%);transform:none}.player-join-modal .player-join-modal__submit.lunest-button--primary:disabled,.dev-panel .player-join-modal .player-join-modal__submit.lunest-button--primary:disabled{opacity:.48;cursor:not-allowed;background:linear-gradient(135deg,#12100a 0%,#242018 42%,#3a3218 100%);border-color:#d8b56d38}.player-join-modal .player-join-modal__submit.lunest-button--primary:before{display:none}@media (width<=360px){.player-join-modal .player-join-modal__submit.lunest-button--primary{width:100%;min-width:0}}.player-waiting-minimal{box-sizing:border-box;flex-direction:column;flex:1;align-items:stretch;width:100%;min-width:0;min-height:min(100dvh,100%);display:flex}.player-waiting-minimal__footer{width:100%;padding:var(--space-4) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom,0px));box-sizing:border-box;margin-top:auto}.player-waiting-minimal__cancel{width:100%}.page-screen--embed .player-waiting-minimal,.page-screen--embed .player-invite-screen--joined{min-height:100%}.page-screen--player-wait>.page-content{flex-direction:column;flex:1;min-height:100%;display:flex}.page-screen--player-wait .player-waiting-minimal{flex:1;min-height:100%}:root{--lunest-matrix-green:#0f8;--matrix-green:var(--lunest-matrix-green);--lunest-matrix-green-glow:#00ff88bf;--lunest-matrix-green-soft:#00ff887a}.cinematic-countdown{z-index:var(--z-countdown,99999);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;inset:0;overflow:hidden}.cinematic-countdown--scoped{z-index:var(--z-countdown-scoped,99999);width:100%;height:100%;position:absolute;inset:0;container-type:inline-size}.cinematic-countdown__backdrop{z-index:0;-webkit-backdrop-filter:blur(12px);pointer-events:none;background:#000000e6;position:absolute;inset:0}.countdown-matrix{pointer-events:none;z-index:1;opacity:.62;position:absolute;inset:0;overflow:hidden}.countdown-matrix:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 11px,#39ff880f 11px 12px),repeating-linear-gradient(90deg,#0000 0 18px,#39ff880b 18px 19px);position:absolute;inset:0}.countdown-matrix-column{top:0;left:var(--x);font-size:var(--size);opacity:0;animation-duration:var(--duration);animation-delay:var(--delay);will-change:transform, opacity;flex-direction:column;align-items:center;margin:0;padding:0;font-family:Courier New,Courier,monospace;font-weight:700;line-height:1.12;animation-timing-function:linear;animation-iteration-count:infinite;display:flex;position:absolute;transform:translate(-50%)}.countdown-matrix-char{color:var(--lunest-matrix-green,#0f8);text-shadow:0 0 4px #39ff887a,0 0 10px #39ff8847,0 0 18px #39ff8824;opacity:.72;display:block}.countdown-matrix-char--lead{color:#eafff4;opacity:1;text-shadow:0 0 6px #c8ffe6d9,0 0 14px #39ff888c,0 0 22px #39ff8852}.countdown-matrix-column--direction-down{animation-name:matrix-column-flow-down}.countdown-matrix-column--direction-up{animation-name:matrix-column-flow-up}@keyframes matrix-column-flow-down{0%{opacity:0;transform:translate(-50%,-110%)}10%{opacity:var(--peak-opacity,.58)}45%{opacity:calc(var(--peak-opacity,.58) * .72)}78%{opacity:calc(var(--peak-opacity,.58) * .38)}to{opacity:0;transform:translate(-50%,calc(100vh + 110%))}}@keyframes matrix-column-flow-up{0%{opacity:0;transform:translate(-50%,calc(100vh + 110%))}10%{opacity:var(--peak-opacity,.58)}45%{opacity:calc(var(--peak-opacity,.58) * .72)}78%{opacity:calc(var(--peak-opacity,.58) * .38)}to{opacity:0;transform:translate(-50%,-110%)}}.cinematic-countdown__inner{z-index:2;box-sizing:border-box;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,4vw,2rem);width:100%;max-width:100%;padding:clamp(1rem,4vw,2rem);display:flex;position:relative}.cinematic-countdown__message{letter-spacing:-.01em;text-align:center;color:var(--matrix-green,#0f8);text-shadow:0 0 10px var(--lunest-matrix-green-glow);margin:0;font-size:20px;font-weight:600;line-height:1.35}.cinematic-countdown__fallback{text-align:center;color:var(--matrix-green,#0f8);text-shadow:0 0 10px var(--lunest-matrix-green-glow);margin:0;font-size:14px;font-weight:700;line-height:1.35}.cinematic-countdown--scoped .cinematic-countdown__message{font-size:20px}.cinematic-countdown__number-wrap{pointer-events:none;justify-content:center;align-items:center;width:100%;display:flex}.cinematic-countdown--scoped .countdown-number{font-size:clamp(2.25rem,28cqw,4.5rem)}.countdown-number-stage{pointer-events:none;place-items:center;width:100%;max-width:100%;display:grid;position:relative}.countdown-number{font-variant-numeric:tabular-nums;color:var(--matrix-green,#0f8);-webkit-text-fill-color:var(--matrix-green,#0f8);-webkit-text-stroke:.75px #00000073;paint-order:stroke fill;text-shadow:-.5px -.5px #00000073,.5px .5px #00000073;will-change:transform, opacity, filter;margin:0;font-size:clamp(120px,40vw,240px);font-weight:900;line-height:1;display:block}@keyframes countdown-number-stamp-matrix{0%{opacity:.22;transform:scale(2) rotate(var(--countdown-stamp-rotate,-6deg));filter:blur(2px);color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:2.5px #00ff8873;text-shadow:none}65%{opacity:.78;filter:blur(.5px);color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px #00ff88e6;text-shadow:0 0 8px var(--lunest-matrix-green-glow);transform:scale(1.12)rotate(1deg)}85%{opacity:1;filter:blur();color:#00ff880f;-webkit-text-fill-color:#00ff880f;-webkit-text-stroke:1.5px #00ff88f2;text-shadow:0 0 4px var(--lunest-matrix-green-glow);transform:scale(.98)rotate(0)}92%{opacity:1;filter:blur();color:#00ff8894;-webkit-text-fill-color:#00ff8894;-webkit-text-stroke:1px #00ff88b8;text-shadow:-.5px -.5px #00000047,.5px .5px #00000047;transform:scale(.99)rotate(0)}to{opacity:1;filter:blur();color:var(--matrix-green,#0f8);-webkit-text-fill-color:var(--matrix-green,#0f8);-webkit-text-stroke:.75px #00000073;text-shadow:-.5px -.5px #00000073,.5px .5px #00000073;transform:scale(1)rotate(0)}}.countdown-number-enter-active{animation:.64s cubic-bezier(.33,1,.38,1) forwards countdown-number-stamp-matrix}.countdown-number-leave-active{transition:opacity .52s ease-out,transform .52s cubic-bezier(.22,1,.36,1)}.countdown-number-enter-from{opacity:.22;transform:scale(2) rotate(var(--countdown-stamp-rotate,-6deg));filter:blur(2px);color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:2.5px #00ff8873;text-shadow:none}.countdown-number-leave-to{opacity:0;transform:scale(10)}@keyframes countdown-number-enter{0%{opacity:0;filter:brightness(2.2);text-shadow:0 0 40px #ffdc96f2,0 0 72px #8cb4ffbf,0 0 96px #b4a0ff80;transform:scale(.85)}38%{opacity:1;filter:brightness(1.55);text-shadow:0 0 32px #ffdc96cc,0 0 60px #8cb4ff99,0 0 80px #b4a0ff66;transform:scale(1)}to{opacity:1;filter:brightness();text-shadow:0 0 24px #b4a0ff73,0 0 56px #6e5aff47;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.countdown-matrix{opacity:.14}.countdown-matrix:before{opacity:.35}.countdown-matrix-column{opacity:.1;animation:none;transform:translate(-50%)}.countdown-number-enter-active{transition:opacity .28s;animation:none}.countdown-number-leave-active{transition:opacity .28s}.countdown-number-enter-from,.countdown-number-leave-to{filter:none;transform:none}}.cinematic-countdown--theme-cardback{background-color:#000}.cinematic-countdown--theme-cardback .cinematic-countdown__backdrop{display:none}.countdown-cardback{z-index:1;pointer-events:none;background-color:#000;position:absolute;inset:0;overflow:hidden}.countdown-cardback__tree{z-index:0;opacity:.9;pointer-events:none;background-color:#0000;background-image:url(/images/back-tree.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.cardback-count__image{z-index:1;width:auto;max-width:none;height:110%;transform:translate(var(--cardback-offset-x,0px), var(--cardback-offset-y,0px)) rotate(var(--cardback-image-rotate,12deg)) scale(var(--cardback-image-scale,1));transform-origin:50%;object-fit:contain;filter:var(--lunest-image-drop-shadow);opacity:1;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:0;animation:.82s cubic-bezier(.16,1,.3,1) forwards cardback-count-image-enter;position:absolute;top:-20%;left:auto;right:-10%}@keyframes cardback-count-image-enter{0%{opacity:.75;transform:translate(calc(var(--cardback-offset-x,0px) + var(--cardback-slide-from-x,0px)), calc(var(--cardback-offset-y,0px) + 8px)) rotate(var(--cardback-image-rotate,12deg)) scale(var(--cardback-image-scale,1))}to{opacity:1;transform:translate(var(--cardback-offset-x,0px), var(--cardback-offset-y,0px)) rotate(var(--cardback-image-rotate,12deg)) scale(var(--cardback-image-scale,1))}}.cinematic-countdown--theme-cardback .cinematic-countdown__dim{z-index:3;background:radial-gradient(85% 75%,#0000 35%,#00000047 100%)}.cinematic-countdown--theme-cardback .cinematic-countdown__inner{z-index:10;box-sizing:border-box;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;max-width:100%;padding:0;display:flex;position:absolute;inset:0}.cinematic-countdown--theme-cardback .cinematic-countdown__message,.cinematic-countdown--theme-cardback .cinematic-countdown__fallback{text-align:center;color:#fff;text-shadow:0 0 10px #ffffff8c,0 0 20px #ffffff59;width:min(100% - 32px,420px);margin:0;font-weight:600;line-height:1.35;position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.cinematic-countdown--theme-cardback .cinematic-countdown__message{font-size:20px}.cinematic-countdown--theme-cardback .cinematic-countdown__fallback{font-size:14px}.cinematic-countdown--theme-cardback .cinematic-countdown__number-wrap{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.cinematic-countdown--theme-cardback .countdown-number-stage{z-index:1}.cinematic-countdown--theme-cardback .countdown-number-bloom{z-index:0;aspect-ratio:1;pointer-events:none;opacity:.22;filter:blur();background:radial-gradient(circle,#ffffff38 0%,#ffffff1a 32%,#0000 70%);border-radius:50%;width:min(78vw,24rem);position:absolute;transform:scale(.64)}.cinematic-countdown--theme-cardback .countdown-number-stage:has(.countdown-number-enter-active) .countdown-number-bloom{animation:.64s cubic-bezier(.33,1,.38,1) forwards countdown-bloom-stamp}.cinematic-countdown--theme-cardback .countdown-number{z-index:1;font-family:var(--font-family-title,"Cinzel", "Times New Roman", serif);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#fff;-webkit-text-fill-color:#fff;-webkit-text-stroke:.75px #0000006b;paint-order:stroke fill;text-shadow:-.5px -.5px #0006,.5px -.5px #0006,-.5px .5px #0006,.5px .5px #0006;font-size:clamp(11rem,40vw,20rem);font-weight:700;position:relative}.cinematic-countdown--theme-cardback.cinematic-countdown--scoped .countdown-number{-webkit-text-stroke:.65px #0006;text-shadow:-.5px -.5px #00000061,.5px -.5px #00000061,-.5px .5px #00000061,.5px .5px #00000061;font-size:clamp(6.5rem,46cqw,13rem)}.cinematic-countdown--theme-cardback.cinematic-countdown--scoped .countdown-number-bloom{width:min(88cqw,14rem)}.cinematic-countdown--theme-cardback.cinematic-countdown--scoped .cinematic-countdown__message,.cinematic-countdown--theme-cardback.cinematic-countdown--scoped .cinematic-countdown__fallback{bottom:50px}.cinematic-countdown--theme-cardback .countdown-number-enter-from{opacity:.22;transform:scale(2) rotate(var(--countdown-stamp-rotate,-6deg));filter:blur(2px);color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:2.5px #ffffff6b;text-shadow:none}.cinematic-countdown--theme-cardback .countdown-number-enter-active{animation:.64s cubic-bezier(.33,1,.38,1) forwards countdown-number-stamp}.cinematic-countdown--theme-cardback .countdown-number-leave-active{transition:none;animation:.52s cubic-bezier(.22,1,.36,1) forwards countdown-number-leave-cardback}.cinematic-countdown--theme-cardback .countdown-number-leave-to{opacity:0;transform:scale(10)}@keyframes countdown-number-stamp{0%{opacity:.22;transform:scale(2) rotate(var(--countdown-stamp-rotate,-6deg));filter:blur(2px);color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:2.5px #ffffff6b;text-shadow:none}65%{opacity:.78;filter:blur(.5px);color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px #ffffffe0;text-shadow:0 0 8px #ffffff2e;transform:scale(1.12)rotate(1deg)}85%{opacity:1;filter:blur();color:#ffffff0f;-webkit-text-fill-color:#ffffff0f;-webkit-text-stroke:1.5px #fffffff2;text-shadow:0 0 4px #ffffff1f;transform:scale(.98)rotate(0)}92%{opacity:1;filter:blur();color:#ffffff94;-webkit-text-fill-color:#ffffff94;-webkit-text-stroke:1px #ffffffb8;text-shadow:0 1px #00000038,-.5px -.5px #00000047,.5px .5px #00000047;transform:scale(.99)rotate(0)}to{opacity:1;filter:blur();color:#fff;-webkit-text-fill-color:#fff;-webkit-text-stroke:.75px #0000006b;text-shadow:-.5px -.5px #0006,.5px -.5px #0006,-.5px .5px #0006,.5px .5px #0006;transform:scale(1)rotate(0)}}@keyframes countdown-bloom-stamp{0%{opacity:.22;filter:blur(14px);transform:scale(1.95)}65%{opacity:.48;filter:blur(5px);transform:scale(1.15)}85%{opacity:.34;filter:blur(.5px);transform:scale(.74)}88%{opacity:.3;filter:blur();transform:scale(.7)}to{opacity:.22;filter:blur();transform:scale(.64)}}@keyframes countdown-number-leave-cardback{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(6px);transform:scale(10)}}@media (prefers-reduced-motion:reduce){.cardback-count__image{opacity:1;animation:none}.cinematic-countdown--theme-cardback .countdown-number-enter-active,.cinematic-countdown--theme-cardback .countdown-number-leave-active{filter:none;transition:opacity .28s;animation:none}.cinematic-countdown--theme-cardback .countdown-number-leave-to{transform:scale(1)}.cinematic-countdown--theme-cardback .countdown-number-stage:has(.countdown-number-enter-active) .countdown-number-bloom{animation:none}}.btn-primary,.lunest-button,.lunest-cta,.action-gauge-btn,.lunest-action-btn{position:relative;overflow:hidden}.lunest-field-wrap{--lunest-field-border-width:2px;--lunest-field-border-color:#ffffff2e;--lunest-field-border-radius:16px;--lunest-field-gradient-border:linear-gradient(90deg, #2563eb, #7c3aed, #d8b56d, #2563eb);width:100%;min-height:var(--control-height);box-sizing:border-box;border:var(--lunest-field-border-width) solid var(--lunest-field-border-color);border-radius:var(--lunest-field-border-radius);isolation:isolate;transition:border-color .2s,border-width .2s;position:relative;overflow:hidden}.lunest-field-wrap:focus-within{box-shadow:none;outline:none}.lunest-field-wrap:before{content:"";border-radius:var(--lunest-field-border-radius);padding:var(--lunest-field-border-width);background:var(--lunest-field-gradient-border);-webkit-mask-composite:xor;opacity:0;pointer-events:none;z-index:2;background-size:300% 300%;transition:opacity .2s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.lunest-field-wrap--focused{border-width:var(--lunest-field-border-width);border-radius:var(--lunest-field-border-radius);border-color:#0000}.lunest-field-wrap--focused:before{opacity:1;border-radius:var(--lunest-field-border-radius);animation:4s linear infinite lunest-gradient-border-move}@keyframes lunest-gradient-border-move{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.lunest-field-wrap--compact{min-height:var(--control-height-sm)}.lunest-field-wrap--narrow{width:auto;min-width:4.5rem}.lunest-field-wrap__control{z-index:1;width:100%;min-height:var(--control-height);padding:var(--space-2) var(--input-padding-x) var(--space-1);border-radius:var(--lunest-field-border-radius);color:var(--lunest-field-text,#ffffffeb);font-family:inherit;font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);text-align:left;box-sizing:border-box;box-shadow:none;appearance:textfield;background:0 0;border:none;outline:none;transition:color .2s ease-out;display:block;position:relative}.lunest-field-wrap--md .lunest-field-wrap__control{font-size:15px}.lunest-field-wrap--sm .lunest-field-wrap__control{font-size:13px}.lunest-field-wrap--narrow .lunest-field-wrap__control{width:100%;min-width:4.5rem;padding-left:var(--space-3);padding-right:var(--space-3);text-align:center}.lunest-field-wrap__control::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.lunest-field-wrap__control::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lunest-field-wrap--host .lunest-field-wrap__control{color:var(--lunest-field-text-host,#d8b56d)}.lunest-field-wrap--nickname .lunest-field-wrap__control{text-align:center;color:var(--lunest-nickname-input-text,#f9c74f)}.lunest-field-wrap--nickname .lunest-field-wrap__control:focus,.lunest-field-wrap--nickname .lunest-field-wrap__control:focus-visible{color:var(--lunest-nickname-input-text,#f9c74f)}.lunest-field-wrap--nickname .lunest-field-wrap__control::placeholder{color:var(--lunest-nickname-input-placeholder,#f9c74f99)}.lunest-field-wrap__control::placeholder{color:var(--lunest-field-placeholder,#ffffff52)}.lunest-field-wrap__control:focus,.lunest-field-wrap__control:focus-visible,.field .lunest-field-wrap__control:focus,.field .lunest-field-wrap__control:focus-visible,.input-unit .lunest-field-wrap__control:focus,.input-unit .lunest-field-wrap__control:focus-visible{box-shadow:none;outline:none}.lunest-field-wrap--disabled{opacity:.55}.lunest-field-wrap--compact .lunest-field-wrap__control{min-height:var(--control-height-sm)}@media (prefers-reduced-motion:reduce){.lunest-field-wrap,.lunest-field-wrap:before,.lunest-field-wrap__control{transition-duration:.01ms}.lunest-field-wrap--focused:before{background-position:0%;animation:none}}:root{--lunest-gauge-fill:linear-gradient(90deg, #b8860b 0%, #d8b56d 42%, #f5e6a8 100%);--lunest-gauge-fill-glow:0 0 8px #d8b56d6b;--lunest-gauge-fill-inset:inset 0 0 4px #ffffff2e;--lunest-gauge-track-height:5px;--lunest-gauge-track-bg:#ffffff0f;--lunest-gauge-track-border:#ffffff14;--lunest-gauge-gap:8px;--lunest-gauge-gap-compact:6px;--lunest-gauge-text:#ffffffeb;--lunest-gauge-text-muted:#ffffffe0}.lunest-gauge{align-items:stretch;gap:var(--lunest-gauge-gap);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:100%;display:flex}.lunest-gauge--compact{gap:var(--lunest-gauge-gap-compact)}.lunest-gauge__text{font-size:var(--font-body);font-variant-numeric:tabular-nums;color:var(--lunest-gauge-text);text-align:center;pointer-events:none;justify-content:center;align-items:center;line-height:1.2;display:flex}.lunest-gauge--compact .lunest-gauge__text{font-size:var(--font-body-sm)}.lunest-gauge__text strong,.lunest-gauge__current{font-weight:700}.lunest-gauge__rest{color:var(--lunest-gauge-text-muted);font-weight:500}.lunest-gauge__track{width:100%;height:var(--lunest-gauge-track-height);background:var(--lunest-gauge-track-bg);border:1px solid var(--lunest-gauge-track-border);box-sizing:border-box;border-radius:999px;position:relative;overflow:hidden}.lunest-gauge__fill{border-radius:inherit;background:var(--lunest-gauge-fill);height:100%;box-shadow:var(--lunest-gauge-fill-glow), var(--lunest-gauge-fill-inset);pointer-events:none;transition:width .4s;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:reduce){.lunest-gauge__fill{transition-duration:.01ms}}.lunest-gauge--on-light{--lunest-gauge-text:#121212;--lunest-gauge-text-muted:#666;--lunest-gauge-track-bg:#3333331f;--lunest-gauge-track-border:#3333}.member-gauge--lobby{margin-top:var(--space-6);margin-bottom:var(--space-2)}.phase-transition-stage{--phase-soft-exit:.24s;--phase-soft-enter:.26s;--phase-soft-ease:cubic-bezier(.22, 1, .36, 1);z-index:1;flex-direction:column;flex:1;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative}.phase-transition-stage.is-busy{pointer-events:none}.phase-transition-card{transform-origin:50%;backface-visibility:hidden;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;position:relative}.phase-transition-stage.is-busy .phase-transition-card{position:absolute;inset:0}.phase-transition-card__surface{width:100%;min-width:0;min-height:0;box-shadow:none;background:0 0;border-radius:0;flex-direction:column;flex:1;display:flex}.phase-transition--soft .phase-transition-card{transition:opacity var(--phase-soft-exit) ease, transform var(--phase-soft-enter) var(--phase-soft-ease)}.phase-transition--soft .phase-transition-card.is-active{opacity:1;transform:translateY(0)scale(1)}.phase-transition--soft .phase-transition-card.is-exiting{opacity:0;transform:translateY(-8px)scale(.985)}.phase-transition--soft .phase-transition-card.is-entering{opacity:0;transform:translateY(10px)scale(.98)}.phase-transition--soft.is-busy .phase-transition-card.is-entering{z-index:2}.phase-transition--soft.is-busy .phase-transition-card.is-exiting{z-index:1}.page-screen.is-day-theme .phase-transition-card__surface,.page-screen.is-day-theme .game-phase-panel--in-game,.page-screen.is-day-theme .game-phase-content{box-shadow:none;background:0 0;border:none;border-radius:0}body.dev-transition-debug .phase-transition-card__surface{outline-offset:-2px;outline:2px solid #f90}@media (prefers-reduced-motion:reduce){.phase-transition-stage,.phase-transition-card{transition:none!important;transform:none!important}.phase-transition-card.is-exiting,.phase-transition-card.is-entering{opacity:1}}.lobby-tree-bg,.page-screen--lobby-tree{isolation:isolate;color:var(--lunest-text,#f4f3ff);position:relative;background:0 0!important}.lobby-tree-bg__backdrop,.page-screen--lobby-tree>.lobby-tree-bg__backdrop{z-index:0;pointer-events:none;background-color:#0a0a0a;background-image:url(/images/back-tree.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;position:fixed;inset:0;transform:translateZ(0)}.page-screen--embed.page-screen--lobby-tree>.lobby-tree-bg__backdrop{background-attachment:scroll;position:absolute;inset:0}.page-screen--embed.page-screen--lobby-tree{isolation:isolate;min-height:100%;position:relative;overflow:hidden}.page-screen--lobby-tree .experience-backdrop{display:none!important}.lobby-tree-bg__content,.page-screen--lobby-tree>.page-content{z-index:1;position:relative}.lobby-tree-bg{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex;overflow-x:hidden}.lobby-tree-bg--scroll{justify-content:flex-start;overflow-y:auto}.lobby-tree-bg--scroll .lobby-tree-bg__content{flex-direction:column;align-items:center;width:100%;margin-top:auto;margin-bottom:auto;display:flex}.page-screen--lobby-tree .page-header,.page-screen--lobby-tree .page-header h1,.page-screen--lobby-tree .room-code{text-shadow:0 1px 12px #00000073}.page-screen--lobby-tree .pwa-install-card{-webkit-backdrop-filter:blur(6px);border-radius:var(--lunest-radius-card,24px);background:#1414148c;border:1px solid #ffffff0f}@supports (-webkit-touch-callout:none){.lobby-tree-bg__backdrop,.page-screen--lobby-tree>.lobby-tree-bg__backdrop{background-attachment:scroll}}.host-waiting-layout{--wr-black-yellow:#1a1608;--wr-black-yellow-label:#2a240e;--wr-black-yellow-hover:#3a3212;--wr-border-black-yellow:#1a160859;--wr-border-black-yellow-soft:#1a160838;align-items:stretch;gap:var(--space-3);box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;margin:0;padding:0;display:flex}.host-waiting-layout--compact{gap:var(--space-2)}.host-waiting-layout .lunest-open-surface,.host-waiting-layout .waiting-card{gap:var(--space-3);width:100%;padding:0}.host-waiting-layout .waiting-room-footer{width:100%;padding:0}.host-waiting-layout .page-header--waiting-host{text-align:left;padding:0}.host-waiting-layout .page-header--waiting-host .back-link{margin-bottom:var(--space-2);display:inline-block}.host-waiting-panel{container-type:inline-size}.waiting-room-info-wrap{flex-direction:column;gap:10px;width:100%;display:flex}.waiting-room-url-row{box-sizing:border-box;flex-direction:column;gap:6px;width:100%;display:flex}.waiting-room-url-row__label{font-size:11px;font-weight:var(--font-weight-semibold,600);color:var(--wr-black-yellow-label);letter-spacing:.02em}.waiting-room-url-row__body{border:1px solid var(--wr-border-black-yellow);box-sizing:border-box;background:#fff8f066;border-radius:6px;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.waiting-room-url-row__path{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:var(--font-weight-semibold,600);color:var(--wr-black-yellow);flex:1;overflow:hidden}.waiting-room-url-row__copy{border:1px solid var(--wr-border-black-yellow);min-height:28px;color:var(--wr-black-yellow);font-family:inherit;font-size:12px;font-weight:var(--font-weight-semibold,600);cursor:pointer;background:#ffffff8c;border-radius:4px;flex-shrink:0;margin:0;padding:4px 10px;line-height:1.2;transition:background .2s}.waiting-room-url-row__copy:not(:disabled):hover{background:#ffffffd1}.waiting-room-url-row__copy:disabled{opacity:.55;cursor:not-allowed}.waiting-room-info-grid{border:1px solid var(--wr-border-black-yellow);box-sizing:border-box;background:#fff8f066;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:100%;padding:14px 12px;display:grid;box-shadow:inset 0 1px #1a16080f}.waiting-room-qr-panel{border-right:1px solid var(--wr-border-black-yellow-soft);flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;min-width:0;padding-right:12px;display:flex;position:relative}.waiting-room-qr-panel__header{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.waiting-room-qr-panel__label{font-size:12px;font-weight:var(--font-weight-semibold,600);color:var(--wr-black-yellow-label);text-align:center;margin:0;line-height:1.4}.waiting-room-qr-panel__help{border:1px solid var(--wr-border-black-yellow);width:18px;height:18px;color:var(--wr-black-yellow);font-family:inherit;font-size:11px;font-weight:var(--font-weight-bold,700);cursor:pointer;background:#ffffff73;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:background .2s,color .2s;display:inline-flex}.waiting-room-qr-panel__help:hover,.waiting-room-qr-panel__help[aria-expanded=true]{color:var(--wr-black-yellow);background:#1a16081a}.waiting-room-qr-panel__help-layer{z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-sizing:border-box;background:#1212126b;border-radius:6px;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.waiting-room-qr-panel__help-text{border:1px solid var(--wr-border-black-yellow);max-width:100%;color:var(--wr-black-yellow);font-size:12px;font-weight:var(--font-weight-medium,500);text-align:center;background:#fff8f0f5;border-radius:6px;margin:0;padding:10px 12px;line-height:1.45;box-shadow:0 4px 16px #0000001f}.waiting-room-qr-panel__code{aspect-ratio:1;border:1px solid var(--wr-border-black-yellow-soft);box-sizing:border-box;background:#ffffffeb;border-radius:4px;width:100%;max-width:108px;padding:5px;overflow:hidden}.waiting-room-qr-panel__code :deep(.join-qr-code-wrap){width:100%;height:100%}.waiting-room-qr-panel__code :deep(.join-qr-code){width:100%;height:auto;max-height:100%}.waiting-room-localhost-warn{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);color:#92400e;border-radius:var(--radius-sm);background:#fbbf242e;border:1px solid #f59e0b59;font-size:12px;line-height:1.45}.waiting-room-localhost-warn--qr{margin-top:calc(-1 * var(--space-1));color:#b45309;background:#fbbf241a;font-size:11px}.waiting-room-mock-only{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);color:#14532d;border-radius:var(--radius-sm);background:#86efac33;border:1px solid #22c55e59;font-size:12px;line-height:1.45}.waiting-room-qr-panel__mock-placeholder{aspect-ratio:1;box-sizing:border-box;color:#14532d;text-align:center;background:#86efac1f;border:1px dashed #22c55e73;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;max-width:108px;padding:8px;font-size:11px;font-weight:600;display:flex}.waiting-room-qr-panel__mock-room{letter-spacing:.1em;color:#166534;font-size:13px}.waiting-room-qr-panel__dev-url{margin:var(--space-2) 0 0;padding:var(--space-1) var(--space-2);word-break:break-all;color:#1a1608b8;border-radius:var(--radius-sm);background:#1a160814;font-size:10px;line-height:1.4}.waiting-room-qr-panel__meta{flex-direction:column;gap:10px;width:100%;margin:4px 0 0;display:flex}.waiting-room-qr-panel__meta-row{text-align:center;flex-direction:column;gap:2px;display:flex}.waiting-room-qr-panel__meta-row dt{font-size:11px;font-weight:var(--font-weight-semibold,600);color:var(--wr-black-yellow-label);margin:0}.waiting-room-qr-panel__meta-row dd{font-size:14px;font-weight:var(--font-weight-semibold,600);color:var(--wr-black-yellow);word-break:break-all;margin:0}.waiting-room-player-list-panel{flex-direction:column;min-width:0;padding-left:12px;display:flex}.waiting-room-player-list-panel .waiting-list{flex:1;min-height:0}.waiting-room-progress-area{width:100%;margin-top:20px}.waiting-room-progress-area .lunest-gauge{width:100%}.waiting-room-action-area{gap:var(--space-2);width:100%;margin-top:var(--space-3);padding:0 0 calc(env(safe-area-inset-bottom,0px));box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.host-waiting-panel--compact .waiting-room-progress-area{margin-top:20px}.host-waiting-panel--compact .waiting-room-action-area{margin-top:var(--space-2)}.host-waiting-layout .waiting-list--info-panel .player-item__name{color:var(--wr-black-yellow)}.host-waiting-layout .waiting-list--info-panel .player-item__num{color:var(--wr-black-yellow-label)}@container (width<=300px){.waiting-room-info-grid{grid-template-columns:minmax(0,1fr)}.waiting-room-qr-panel{border-right:none;border-bottom:1px solid var(--wr-border-black-yellow-soft);padding-bottom:12px;padding-right:0}.waiting-room-player-list-panel{padding-top:12px;padding-left:0}}.page-screen.is-role-reveal-theme{isolation:isolate;position:relative}.page-screen.is-role-reveal-theme:after{content:"";z-index:0;pointer-events:none;opacity:.9;background-color:#0000;background-image:url(/images/back-tree.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;position:fixed;inset:0;transform:translateZ(0)}.page-screen.is-role-reveal-theme>.page-content{z-index:1;position:relative}.page-screen--embed.is-role-reveal-theme:after{background-attachment:scroll;position:absolute}.dev-screen-frame:has(.page-screen--embed.is-role-reveal-theme):before{display:none!important}.dev-screen-frame:has(.page-screen--embed.is-role-reveal-theme):after{display:none!important}@supports (-webkit-touch-callout:none){.page-screen.is-role-reveal-theme:after{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.page-screen.is-role-reveal-theme:after{opacity:.75}}.page-screen.is-vote-result-phase{isolation:isolate;color:#ffffffeb;--color-text:#ffffffeb;--color-text-muted:#ffffffb8;--color-bg:#000;--lunest-bg-base:#000;transition:background-color .2s,color .2s;position:relative;background:#000!important}.page-screen.is-vote-result-phase .experience-backdrop{display:none!important}.page-screen.is-vote-result-phase:after{content:"";z-index:0;pointer-events:none;background-color:#000;background-image:url(/images/bg-dead-re.png);background-position:top;background-repeat:no-repeat;background-size:100%;position:fixed;inset:0;transform:translateZ(0)}.page-screen.is-vote-result-phase:before{content:"";z-index:1;pointer-events:none;filter:none;opacity:1;background:linear-gradient(#0000 0% 26%,#00000038 40%,#00000094 52%,#000000e0 64%,#000 76% 100%);border-radius:0;width:auto;max-width:none;height:auto;position:fixed;inset:0;transform:none}.page-screen.is-vote-result-phase>.page-content{z-index:2;position:relative;background:0 0!important}.page-screen.is-vote-result-phase .lunest-game-card--in-game,.page-screen.is-vote-result-phase .game-phase-panel--in-game,.page-screen.is-vote-result-phase .phase-transition-card__surface{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important}.page-screen.is-vote-result-phase .game-phase-card{-webkit-backdrop-filter:blur(10px);color:#1b2a42;background:#ffffffc7;border-color:#ffffff73;box-shadow:0 8px 28px #00000059}.page-screen.is-vote-result-phase .game-title,.page-screen.is-vote-result-phase .game-phase-fixed-title__label{color:#fffffff5;text-shadow:0 0 12px #00000073}.page-screen.is-vote-result-phase .game-phase-fixed-title__nick{color:var(--lunest-gold,#d8b56d)}.page-screen.is-vote-result-phase .game-muted-text,.page-screen.is-vote-result-phase .game-phase-hint:not(.game-phase-hint--error){color:#ffffffd1;text-shadow:none}.page-screen.is-vote-result-phase .vote-result__hero-text,.page-screen.is-vote-result-phase .vote-result__role-text{color:#fff;text-shadow:0 0 12px #00000073}.page-screen.is-vote-result-phase .vote-result__rank-row--top{background:#ffffff1f}.page-screen.is-vote-result-phase .vote-result__hero-name :deep(.player-name-role__role){color:#fff}.page-screen--embed.is-vote-result-phase:after,.page-screen--embed.is-vote-result-phase:before{background-attachment:scroll;position:absolute}@supports (-webkit-touch-callout:none){.page-screen.is-vote-result-phase:after,.page-screen.is-vote-result-phase:before{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.page-screen.is-vote-result-phase{transition-duration:.01ms!important}}.night-moon-icon{flex-shrink:0;width:4rem;margin-bottom:16px;display:block}img.night-moon-icon{object-fit:contain;height:auto;max-height:4rem}span.night-moon-icon{text-align:center;height:4rem;font-size:4rem;line-height:4rem}
