:root{--font-body: "Pretendard", "Noto Sans KR", system-ui, sans-serif;--font-display: Georgia, "Times New Roman", serif;--color-void: #05060d;--color-panel: #17142d;--color-text: #f7f1ff;--color-muted: #bfc7de;--color-rift: #9277ff;--color-aether: #5cc4ff;--color-action-warm: color-mix(in srgb, var(--color-aether) 62%, white);--text-xs: .72rem;--text-sm: .84rem;--text-base: .96rem;--text-md: 1.12rem;--text-lg: 1.75rem;--text-xl: 2.65rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-none: 0;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--shadow-none: none;--shadow-soft: 0 10px 28px rgba(5, 6, 13, .24);--shadow-panel: 0 18px 52px rgba(5, 6, 13, .42);--shadow-glow: 0 0 30px rgba(92, 196, 255, .34);--control-sm: 34px;--control-md: 44px;--card-h: 104px;--stage-max: 1280px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow:hidden;background:var(--color-void);color:var(--color-text);font-family:var(--font-body)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--color-aether);outline-offset:3px}strong{color:color-mix(in srgb,var(--color-aether) 68%,white)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.app-shell{min-height:100svh;background:var(--color-void);overflow:hidden}.analytics-notice{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:18;width:min(560px,calc(100vw - 32px));transform:translate(-50%);color:color-mix(in srgb,var(--color-muted) 86%,transparent);font-size:11px;line-height:1.45;text-align:center;text-shadow:0 1px 10px rgba(5,6,13,.82);pointer-events:none}.stage-viewport{width:100vw;height:100svh;overflow:hidden;display:grid;place-items:center;background:var(--color-void)}.stage-canvas{position:relative;width:var(--stage-max);height:720px;transform:scale(var(--stage-scale, 1));transform-origin:center}.lobby-screen,.report-screen,.play-shell{position:relative;width:100%;min-height:720px;height:720px;overflow:hidden;isolation:isolate}.room-stack,.room-image,.scene-shade,.report-room,.report-shade{position:absolute;inset:0}.room-image,.report-room{background-position:center;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity .36s ease;z-index:-3}.room-image[data-active=true],.report-room{opacity:1}.lobby-screen{transition:opacity .18s ease,visibility .18s ease}.lobby-screen[data-active=false]{visibility:hidden;opacity:0;pointer-events:none}.report-screen,.play-shell{position:absolute;inset:0;z-index:10}.scene-shade,.report-shade{z-index:-2}.scene-shade{background:transparent}.lobby-screen[data-room=sunset] .scene-shade{background:radial-gradient(circle at 78% 46%,rgba(255,206,132,.16),transparent 35%),linear-gradient(90deg,rgba(255,180,112,.08),transparent 48%,rgba(134,65,116,.12))}.lobby-screen[data-room=night] .scene-shade{background:radial-gradient(circle at 78% 46%,rgba(5,6,13,.2),transparent 34%),linear-gradient(90deg,#05060d1f,#05060d05 46%,#05060d38),linear-gradient(0deg,#05060d52,#05060d0a 52%,#05060d2e)}.glass-panel{color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-aether) var(--panel-border-alpha, 28%),transparent);border-radius:var(--panel-radius, var(--radius-md));background:var(--panel-background, color-mix(in srgb, var(--color-panel) 80%, transparent));box-shadow:var(--panel-shadow, var(--shadow-panel));-webkit-backdrop-filter:blur(var(--panel-blur, 12px));backdrop-filter:blur(var(--panel-blur, 12px))}.control-button{min-height:var(--control-sm);padding:0 var(--space-3);color:var(--color-text);border:0;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-rift),color-mix(in srgb,var(--color-rift) 72%,var(--color-aether)));box-shadow:var(--shadow-soft);font-size:var(--text-sm);font-weight:700}.control-surface{background:color-mix(in srgb,var(--color-panel) var(--control-surface-alpha, 74%),transparent);border:1px solid color-mix(in srgb,var(--color-aether) var(--control-border-alpha, 26%),transparent);box-shadow:var(--shadow-none)}.copy-stack{display:grid;gap:var(--space-1)}.stroke-icon circle,.stroke-icon path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.stroke-icon--sm{width:18px;height:18px}.status-panel{--panel-background: color-mix(in srgb, var(--color-panel) 82%, transparent);--panel-border-alpha: 34%;--panel-radius: var(--radius-none) var(--radius-lg) var(--radius-none) var(--radius-lg);--panel-shadow: var(--shadow-soft);--panel-blur: 14px;position:absolute;top:var(--space-5);left:var(--space-5);z-index:5;display:flex;align-items:center;gap:var(--space-3);min-height:68px;padding:var(--space-2) var(--space-3)}.profile-chip{display:flex;align-items:center;gap:var(--space-3);min-width:200px}.profile-copy{min-width:120px}.status-panel strong,.menu-copy strong,.project-row strong{font-size:var(--text-base);line-height:1.1}.status-panel small,.menu-copy small,.project-row small{color:var(--color-muted);font-size:var(--text-xs);line-height:1.35}.avatar-ring{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-none) var(--radius-md) var(--radius-none) var(--radius-md);background:color-mix(in srgb,var(--color-rift) 20%,white);color:var(--color-rift);box-shadow:var(--shadow-glow)}.avatar-icon{width:34px;height:34px}.status-panel .control-button{border-radius:var(--radius-none)}.auth-actions{display:flex;gap:var(--space-2)}.top-controls{position:absolute;top:var(--space-5);right:var(--space-5);z-index:8;display:flex;align-items:flex-start;gap:var(--space-3)}.time-indicator{--control-border-alpha: 22%;display:flex;align-items:center;gap:var(--space-2);min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--color-text);white-space:nowrap}.language-trigger{min-height:30px;white-space:nowrap}.time-indicator .screen-label{line-height:1}.time-indicator strong{font-size:var(--text-sm);line-height:1}.language-select{position:relative}.language-menu{position:absolute;right:0;top:calc(100% + var(--space-2));display:grid;gap:var(--space-1);min-width:128px;padding:var(--space-2);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--color-aether) 24%,transparent);box-shadow:var(--shadow-panel)}.language-menu button{width:100%;text-align:left}.language-menu button[data-active=true]{--control-surface-alpha: 88%;--control-border-alpha: 42%;color:var(--color-aether)}.screen-label{color:var(--color-aether);font-size:var(--text-xs);font-weight:800}.character-zone{position:absolute;left:4.5%;bottom:-42px;z-index:3;width:min(38vw,470px);height:86%;min-width:340px;pointer-events:auto}.live2d-host{position:relative;width:100%;height:100%;overflow:hidden}.live2d-canvas,.character-fallback{position:absolute;inset:0;width:100%;height:100%}.live2d-canvas{z-index:2}.live2d-loading{position:absolute;top:46%;left:50%;z-index:4;display:inline-flex;align-items:center;max-width:calc(100% - var(--space-6));padding:10px 14px;gap:var(--space-3);border:1px solid color-mix(in srgb,var(--color-aether) 36%,transparent);border-radius:var(--radius-sm);color:var(--color-text);background:color-mix(in srgb,var(--color-panel) 76%,transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%,-50%);font-size:var(--text-sm);font-weight:700;line-height:1.2;white-space:nowrap;text-shadow:0 1px 8px rgba(5,6,13,.62);pointer-events:none}.live2d-loading-spinner{flex:0 0 auto;width:16px;height:16px;border:2px solid color-mix(in srgb,var(--color-aether) 22%,transparent);border-top-color:var(--color-aether);border-right-color:color-mix(in srgb,var(--color-aether) 68%,white);border-radius:50%;animation:live2d-loading-spin .9s linear infinite}.live2d-host[data-state=fallback] .live2d-canvas{display:none}.character-fallback{--fallback-look-x: 0px;--fallback-look-y: 0px;--fallback-look-rotate: 0deg;inset:0 auto 0 50%;z-index:1;width:78%;height:100%;object-fit:cover;object-position:50% 0%;transform:translate(calc(-50% + var(--fallback-look-x))) translateY(calc(4% + var(--fallback-look-y))) rotate(var(--fallback-look-rotate));transform-origin:50% 74%;filter:drop-shadow(0 18px 32px rgba(5,6,13,.56));will-change:transform}.live2d-host[data-state=fallback] .character-fallback{animation:character-breathe 4.8s ease-in-out infinite}.live2d-host[data-state=ready] .character-fallback{display:none}@keyframes character-breathe{0%,to{transform:translate(calc(-50% + var(--fallback-look-x))) translateY(calc(4% + var(--fallback-look-y))) rotate(var(--fallback-look-rotate)) scaleX(1) scaleY(1)}50%{transform:translate(calc(-50% + var(--fallback-look-x))) translateY(calc(3.2% + var(--fallback-look-y))) rotate(var(--fallback-look-rotate)) scaleX(1.012) scaleY(1.018)}}@keyframes live2d-loading-spin{to{transform:rotate(1turn)}}.main-menu{position:absolute;top:160px;right:7%;z-index:5;display:grid;gap:var(--space-4);width:min(44vw,560px)}.menu-card{position:relative;display:flex;align-items:center;justify-self:start;width:min(88%,456px);min-height:var(--card-h);overflow:hidden;padding:0 var(--space-5);border:1px solid color-mix(in srgb,var(--color-aether) 34%,transparent);border-radius:var(--radius-none) var(--radius-lg) var(--radius-none) var(--radius-lg);color:var(--color-text);background-position:center;background-size:cover;box-shadow:var(--shadow-soft);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.menu-card:nth-child(2n){justify-self:end}.menu-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05060dc7,#05060d47 62%,#05060d9e),color-mix(in srgb,var(--color-rift) 12%,transparent)}.menu-card:after{content:"";position:absolute;inset:-18% auto -18% -40%;z-index:2;width:34%;transform:translate(-160%) skew(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),rgba(255,255,255,.72),rgba(92,196,255,.22),transparent);opacity:0;pointer-events:none}.menu-card:hover,.menu-card:focus-visible{transform:translate(-8px);border-color:var(--color-aether);box-shadow:var(--shadow-glow)}.menu-card:hover:after,.menu-card:focus-visible:after{animation:menu-sheen .68s ease-out}@keyframes menu-sheen{0%{opacity:0;transform:translate(-160%) skew(-18deg)}18%{opacity:1}to{opacity:0;transform:translate(430%) skew(-18deg)}}@media(prefers-reduced-motion:reduce){.live2d-loading-spinner,.live2d-host[data-state=fallback] .character-fallback,.menu-card:hover:after,.menu-card:focus-visible:after{animation:none}.project-row{transition:none}.project-row[data-active=true]{transform:none}}.menu-number{position:relative;z-index:3;width:78px;color:color-mix(in srgb,var(--color-rift) 78%,white);font-family:var(--font-display);font-size:var(--text-xl);line-height:1}.menu-copy{position:relative;z-index:3}.menu-copy strong{font-size:var(--text-lg)}.menu-arrow{position:relative;z-index:3;display:grid;place-items:center;width:32px;height:32px;margin-left:auto;color:var(--color-aether);border-radius:50%;background:color-mix(in srgb,var(--color-panel) 64%,transparent)}.dialogue-box{--panel-background: color-mix(in srgb, var(--color-panel) 82%, transparent);--panel-blur: 14px;position:absolute;left:var(--space-5);bottom:var(--space-5);z-index:6;width:min(560px,50vw);min-height:132px;padding:var(--space-4) var(--space-5)}.speaker-dot{display:inline-block;width:8px;height:8px;margin-right:var(--space-2);border-radius:50%;background:var(--color-aether);box-shadow:var(--shadow-glow)}.dialogue-name,.dialogue-text{margin:0}.dialogue-name{display:inline-block;color:var(--color-aether);font-size:var(--text-xs);font-weight:800}.dialogue-text{margin-top:var(--space-3);color:var(--color-text);font-size:var(--text-md);line-height:1.55}.report-screen{padding:var(--space-5)}.report-room{filter:blur(1px)}.report-shade{background:linear-gradient(90deg,#05060db8,#05060d42,#05060dc2),linear-gradient(0deg,#05060dc2,#05060d52)}.report-header{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);align-items:start}.report-header-actions{display:flex;gap:var(--space-2)}.report-header h1,.play-shell h1,.info-modal h2,.admin-header h1,.admin-login h1,.admin-form h2{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:var(--text-xl);line-height:1.05}.report-header h1{font-family:var(--font-body)}.report-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(360px,.92fr);gap:var(--space-5);height:calc(100% - 126px);margin-top:var(--space-6)}.project-detail{--panel-shadow: var(--shadow-panel), var(--shadow-glow), 0 0 64px rgba(92, 196, 255, .08), inset 0 0 0 1px color-mix(in srgb, var(--color-aether) 16%, transparent);overflow:hidden;border-color:var(--color-aether)}.project-detail{display:grid;grid-template-rows:1fr auto}.project-art{position:relative;display:grid;place-items:center;min-height:280px;background:linear-gradient(140deg,#9277ff57,#5cc4ff1f),color-mix(in srgb,var(--color-panel) 84%,var(--color-rift))}.project-art img{width:100%;height:100%;object-fit:cover}.project-art>span:not(.status-badge){display:grid;place-items:center;width:74px;height:74px;color:var(--color-aether);border:1px solid color-mix(in srgb,var(--color-aether) 48%,transparent);border-radius:var(--radius-none);font-family:var(--font-display);font-size:var(--text-xl);background:color-mix(in srgb,var(--color-panel) 72%,transparent)}.project-art p{position:absolute;left:50%;top:calc(50% + 58px);transform:translate(-50%);margin:0;color:var(--color-muted);font-size:var(--text-sm);font-weight:700}.project-copy{padding:var(--space-5)}.project-copy h2{margin:0;font-size:var(--text-lg);line-height:1.2}.project-copy p{margin:var(--space-3) 0;color:var(--color-muted);font-size:var(--text-base);line-height:1.55}.project-copy dl{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-5)}.project-copy dl div{display:flex;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-sm);font-weight:700}.project-copy dt{color:var(--color-aether)}.project-copy dd{margin:0}.project-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.action-button{min-height:var(--control-md)}.action-button--secondary{background:color-mix(in srgb,var(--color-panel) 78%,transparent);border:1px solid color-mix(in srgb,var(--color-aether) 30%,transparent)}.action-button--warm{color:var(--color-void);background:var(--color-action-warm)}.project-list{--panel-background: transparent;--panel-border-alpha: 0%;--panel-shadow: var(--shadow-none);--panel-blur: 0px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;gap:var(--space-4);height:100%;min-height:0;overflow:hidden;padding:var(--space-3) var(--space-4);border-color:transparent}.list-title{grid-row:1;display:flex;justify-content:space-between;align-items:center;color:var(--color-muted);font-size:var(--text-sm)}.list-title strong{color:var(--color-text);font-size:var(--text-md)}.data-notice{grid-row:2;margin:0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.45}.project-scroll{grid-row:3;display:grid;align-content:start;gap:var(--space-4);min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-2) 0;scrollbar-gutter:stable}.project-empty{width:calc(100% - 36px);margin:0 auto;padding:var(--space-4);color:var(--color-muted);text-align:center;border:1px dashed color-mix(in srgb,var(--color-aether) 22%,transparent);font-size:var(--text-sm);line-height:1.5}.project-row{position:relative;z-index:0;display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center;justify-self:center;width:calc(100% - 36px);min-height:74px;padding:var(--space-3);color:var(--color-text);text-align:left;border:1px solid color-mix(in srgb,var(--color-aether) 14%,transparent);border-radius:var(--radius-none);background:color-mix(in srgb,var(--color-panel) 34%,transparent);opacity:.88;transform-origin:center;transition:transform .18s ease,opacity .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.project-row:hover,.project-row:focus-visible{opacity:1;border-color:color-mix(in srgb,var(--color-aether) 26%,transparent);background:color-mix(in srgb,var(--color-panel) 48%,transparent)}.project-row[data-active=true]{z-index:2;color:var(--color-void);border-color:var(--color-aether);background:linear-gradient(135deg,color-mix(in srgb,var(--color-action-warm) 96%,white),color-mix(in srgb,var(--color-aether) 70%,white));box-shadow:var(--shadow-glow);opacity:1;transform:scale(1.07)}.project-row[data-active=true] strong,.project-row[data-active=true] small{color:var(--color-void)}.project-row[data-active=true] .status-badge{color:var(--color-void);background:color-mix(in srgb,var(--color-void) 10%,transparent)}.project-row>span{min-width:0}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--space-2);color:color-mix(in srgb,var(--color-aether) 70%,white);white-space:nowrap;border-radius:var(--radius-none);background:color-mix(in srgb,var(--color-aether) 16%,transparent);font-size:var(--text-xs);font-weight:800}.project-art .status-badge{position:absolute;top:var(--space-4);left:var(--space-4)}.ad-slot{grid-row:4;display:grid;place-items:center;min-height:58px;color:var(--color-muted);border:1px dashed color-mix(in srgb,var(--color-aether) 28%,transparent);border-radius:var(--radius-none);font-size:var(--text-xs)}.report-screen .glass-panel,.report-screen .control-button{border-radius:var(--radius-none)}.play-shell{display:grid;place-items:center;padding:var(--space-6);background:linear-gradient(140deg,#9277ff2e,#5cc4ff14),var(--color-void)}.play-shell .ghost-button{position:absolute;top:var(--space-5);left:var(--space-5)}.play-panel{--panel-background: color-mix(in srgb, var(--color-panel) 84%, transparent);max-width:620px;padding:var(--space-6)}.play-shell p{color:var(--color-muted);line-height:1.6}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:var(--space-5);background:#05060d9e}.info-modal{--panel-background: color-mix(in srgb, var(--color-panel) 94%, transparent);position:relative;width:min(520px,100%);padding:var(--space-6)}.info-modal-body{margin-bottom:0;color:var(--color-muted);line-height:1.65;white-space:pre-line}.admin-screen{position:absolute;inset:0;z-index:12;width:100%;height:720px;overflow:auto;padding:var(--space-4);background:linear-gradient(90deg,#05060dd1,#05060d70,#05060dd6),url(/mua-assets/room-night.png) center / cover}.admin-screen .control-button{min-height:28px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs)}.admin-screen .screen-label{margin:0;font-size:.66rem;line-height:1}.admin-gate{display:grid;place-items:center}.admin-gate>.ghost-button{position:absolute;top:var(--space-4);left:var(--space-4)}.admin-header{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center}.admin-form-heading>div{display:grid;gap:2px}.admin-header h1,.admin-login h1{font-size:1.44rem;line-height:1.05}.admin-session{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:700;justify-self:end}.admin-tabs{display:flex;gap:6px;margin-top:var(--space-2)}.admin-tabs .control-button[data-active=true],.period-toggle .control-button[data-active=true]{--control-surface-alpha: 88%;--control-border-alpha: 44%;color:var(--color-aether);box-shadow:var(--shadow-glow)}.admin-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(480px,1.28fr);gap:var(--space-2);margin-top:var(--space-2)}.admin-list,.admin-form,.admin-login,.admin-analytics{--panel-background: color-mix(in srgb, var(--color-panel) 90%, transparent)}.admin-list{display:grid;align-content:start;gap:6px;max-height:608px;overflow:auto;padding:var(--space-2)}.admin-list-title,.admin-form-heading,.form-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.admin-empty{margin:0;color:var(--color-muted);font-size:var(--text-sm)}.admin-project-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);align-items:center;padding:var(--space-1) var(--space-2);border:1px solid color-mix(in srgb,var(--color-aether) 18%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-panel) 68%,transparent)}.admin-project-row[data-active=true]{border-color:var(--color-aether);box-shadow:var(--shadow-glow)}.admin-project-row>button:first-child{display:grid;gap:var(--space-1);min-width:0;color:var(--color-text);text-align:left;border:0;background:transparent}.admin-project-row small{color:var(--color-muted);font-size:var(--text-xs)}.danger-button{color:#ffd7df;border-color:color-mix(in srgb,#ff6f91 42%,transparent)}.admin-form{max-height:608px;overflow:auto;padding:var(--space-2) var(--space-3)}.admin-form h2,.admin-analytics h2{font-size:var(--text-base)}.admin-analytics{display:grid;gap:var(--space-2);max-height:642px;overflow:auto;margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}.analytics-toolbar{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center}.analytics-toolbar h2,.analytics-section h3{margin:var(--space-1) 0 0}.analytics-toolbar p{max-width:620px;margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.45}.period-toggle{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2)}.metric-card{display:grid;gap:var(--space-1);min-height:64px;padding:var(--space-2);border:1px solid color-mix(in srgb,var(--color-aether) 18%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-void) 26%,transparent)}.metric-card span{color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.metric-card strong{font-size:var(--text-md);line-height:1}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-3)}.analytics-section{min-width:0}.analytics-section h3{font-size:var(--text-sm)}.analytics-table{display:grid;gap:6px;margin-top:var(--space-2)}.analytics-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 58px 58px;gap:var(--space-2);align-items:center;min-height:44px;padding:6px var(--space-2);border:1px solid color-mix(in srgb,var(--color-aether) 16%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-panel) 56%,transparent)}.analytics-row--heading{min-height:28px;color:var(--color-aether);background:transparent;font-size:var(--text-xs);font-weight:800}.analytics-table--paths .analytics-row,.analytics-row--path{grid-template-columns:minmax(0,1fr) 58px 58px}.analytics-row>span{min-width:0;color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.analytics-row strong{display:block;overflow:hidden;color:var(--color-text);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.analytics-row small{display:block;overflow:hidden;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap}.analytics-bar{position:relative;display:block;height:4px;margin-top:var(--space-1);overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--color-aether) 12%,transparent)}.analytics-bar:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--metric-width, 0%);border-radius:inherit;background:linear-gradient(90deg,var(--color-aether),var(--color-action-warm))}.admin-slug{color:var(--color-muted);font-size:var(--text-xs);font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.admin-login{display:grid;gap:var(--space-3);width:min(380px,100%);padding:var(--space-5)}.admin-login h2{margin-bottom:var(--space-2)}.admin-form label,.admin-login label{display:grid;gap:3px;color:var(--color-muted);font-size:var(--text-xs);font-weight:800;line-height:1.15}.form-field--wide{grid-column:1 / -1}.admin-form input,.admin-form textarea,.admin-form select,.admin-login input{width:100%;color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-aether) 24%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-void) 42%,transparent);min-height:28px;padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.admin-form textarea{line-height:1.35;resize:vertical}.checkbox-field{display:flex!important;flex-direction:row;align-items:center}.checkbox-field input{width:auto}.image-preview-list{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.image-preview{position:relative;display:grid;place-items:center;width:80px;min-height:58px;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-aether) 24%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-void) 36%,transparent);color:var(--color-muted);font-size:var(--text-xs);text-align:center}.image-preview img{width:100%;height:58px;object-fit:cover}.image-preview button{position:absolute;right:var(--space-1);bottom:var(--space-1);min-height:24px;padding:0 var(--space-2);font-size:var(--text-xs)}.image-preview--file{padding:var(--space-2)}.image-preview-list p{margin:0;color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.form-message{margin:var(--space-2) 0 0;color:var(--color-aether);font-size:var(--text-xs);font-weight:800;line-height:1.45;white-space:pre-line}.form-message--error{color:#ffd7df}.form-actions{justify-content:flex-start;margin-top:var(--space-2)}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);color:var(--color-text);border:0;border-radius:50%;background:color-mix(in srgb,var(--color-aether) 12%,transparent)}@media(max-width:860px){body{overflow:auto}.app-shell{overflow:visible}.analytics-notice{position:static;width:auto;transform:none;padding:0 var(--space-4) var(--space-4)}.stage-viewport{display:block;width:100%;height:auto;min-height:calc(100svh - 32px);overflow:visible}.stage-canvas{width:100%;height:auto;transform:none}.lobby-screen,.report-screen,.play-shell{width:100%;min-height:100svh;height:auto;max-height:none}.lobby-screen{display:grid;grid-template-rows:auto minmax(300px,37svh) auto;gap:var(--space-3);min-height:calc(100svh - 32px);padding:var(--space-4)}.status-panel,.top-controls,.character-zone,.main-menu,.dialogue-box{position:relative;inset:auto;width:100%;min-width:0}.status-panel{grid-row:1;padding-right:0}.profile-chip{flex:1}.profile-chip,.profile-copy{min-width:0}.status-panel button,.auth-actions{display:none}.top-controls{position:absolute;top:var(--space-4);right:var(--space-4);width:auto}.time-indicator{display:none}.character-zone{grid-row:2;grid-column:1;height:100%;bottom:auto}.main-menu{grid-row:3;grid-column:1;gap:var(--space-2);margin-top:-50px}.menu-card{justify-self:stretch;width:100%;min-height:82px}.menu-number{width:62px;font-size:var(--text-lg)}.menu-copy strong{font-size:var(--text-md)}.dialogue-box{--panel-background: color-mix(in srgb, var(--color-panel) 88%, transparent);grid-row:2;grid-column:1;align-self:end;justify-self:center;z-index:7;width:min(100%,440px);min-height:108px;margin:0 0 46px;padding:var(--space-3) var(--space-4)}.dialogue-text{font-size:var(--text-base)}.report-screen{padding:var(--space-4)}.report-header,.report-layout,.admin-header,.admin-layout,.analytics-toolbar,.analytics-grid,.form-grid{grid-template-columns:1fr}.report-layout,.project-list{height:auto}.project-scroll{max-height:96px;scroll-snap-type:y mandatory;scrollbar-gutter:auto}.admin-screen{height:auto;min-height:100svh;padding:var(--space-4)}.admin-list,.admin-form,.admin-analytics{max-height:none}.admin-tabs,.period-toggle{justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-row{grid-template-columns:minmax(0,1fr) 74px 52px 52px}.analytics-table--paths .analytics-row,.analytics-row--path{grid-template-columns:minmax(0,1fr) 52px 52px}.project-row{grid-template-columns:1fr;transform-origin:center;width:100%;scroll-snap-align:center}.project-row[data-active=true]{transform:translateY(-2px) scale(1.015)}.project-row .status-badge{width:fit-content}}
