@import"https://fonts.googleapis.com/css2?family=Jua&family=Do+Hyeon&display=swap";*,*:before,*:after{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}button,input,select,textarea{font:inherit}button{border:0;background:none}:root{color-scheme:light;--ink: #15332a;--ink-dim: #5d746a;--line: rgba(122, 188, 145, .44);--line-soft: rgba(198, 229, 206, .32);--panel: rgba(247, 246, 239, .92);--panel-soft: rgba(251, 250, 244, .96);--good: #62d889;--bad: #ff8e78;--warn: #f2c46c;--text-strong: #1f6243;--text-primary: #284d40;--text-muted: #5c7668;--text-base: var(--text-primary);--text-soft: var(--text-muted);--text-accent: #1d9460;--text-on-accent: #f8fffd;--text-brand: #25a35f;--text-brand-soft: #2f8555;--text-strong-soft: #173a2f;--text-chat: #19352d;--text-danger: #b15b47;--text-danger-soft: #8f6252;--text-warn: #8a6428;--text-success: #2f7b58;--text-note: #5f9f79;--text-hud: #46675a;--text-hud-accent: #249664;--text-observed: #4fcb88;--surface-elevated: linear-gradient(180deg, rgba(248, 247, 240, .96), rgba(232, 244, 234, .95));--surface-card: rgba(247, 246, 239, .9);--surface-card-strong: rgba(241, 247, 239, .94);--surface-card-muted: rgba(238, 244, 237, .86);--surface-interactive: rgba(242, 247, 241, .94);--surface-interactive-hover: rgba(234, 245, 236, .98);--surface-overlay: rgba(17, 28, 36, .5);--surface-overlay-strong: rgba(10, 22, 28, .62);--surface-input: linear-gradient(180deg, rgba(252, 251, 244, .98), rgba(238, 246, 239, .96));--surface-accent: linear-gradient(135deg, #188a52, #8cd96d);--surface-accent-soft: rgba(239, 248, 241, .95);--surface-accent-chip: rgba(216, 243, 223, .92);--surface-accent-chip-soft: rgba(220, 244, 226, .88);--surface-warn: rgba(255, 241, 222, .86);--surface-warn-soft: rgba(251, 236, 207, .9);--surface-danger: rgba(255, 232, 224, .9);--surface-success: rgba(214, 240, 220, .96);--surface-chip: rgba(230, 242, 234, .9);--surface-chip-soft: rgba(235, 245, 238, .94);--surface-chat: rgba(248, 246, 239, .9);--surface-chat-me: rgba(225, 248, 232, .92);--surface-chat-system: rgba(255, 238, 229, .94);--surface-subtle: rgba(246, 247, 242, .94);--accent-strong: var(--text-accent);--red: var(--text-danger);--border-strong: rgba(98, 196, 128, .34);--border-soft: rgba(167, 208, 178, .28);--border-card: rgba(159, 198, 171, .26);--border-table: rgba(162, 192, 173, .34);--border-accent: rgba(77, 166, 109, .34);--border-danger: rgba(218, 156, 132, .34);--border-danger-soft: rgba(218, 156, 132, .26);--border-warn: rgba(222, 181, 110, .38);--border-warn-soft: rgba(222, 181, 110, .28);--border-success: rgba(118, 190, 134, .34);--shadow-elevated: 0 24px 60px rgba(83, 148, 98, .18), 0 10px 26px rgba(55, 91, 66, .08);--shadow-soft: 0 16px 36px rgba(82, 144, 98, .14), 0 6px 14px rgba(55, 91, 66, .06);--control-transition: transform .34s cubic-bezier(.22, 1, .36, 1), border-color .26s ease, box-shadow .32s ease, background-color .26s ease, background-position .42s ease, color .18s ease, filter .32s ease, opacity .18s ease;--control-hover-lift: translateY(-2px) scale(1.01);--control-press-offset: translateY(1px) scale(.985);--control-fill: linear-gradient(180deg, rgba(252, 251, 244, .98), rgba(235, 244, 236, .94));--control-fill-strong: linear-gradient(180deg, rgba(247, 247, 240, .98), rgba(227, 240, 230, .95));--control-surface: rgba(255, 255, 255, .94);--control-surface-border: var(--border-accent);--control-surface-border-hover: color-mix(in srgb, var(--text-brand) 56%, white 44%);--control-surface-shadow: 0 8px 18px rgba(45, 114, 71, .12);--control-surface-shadow-hover: 0 12px 24px rgba(45, 114, 71, .18);--control-button-shadow-hover: 0 14px 26px rgba(37, 124, 72, .2)}.app-root.theme-dark{color-scheme:dark;--ink: #e7f4e9;--ink-dim: #9db8aa;--line: rgba(113, 192, 136, .38);--line-soft: rgba(113, 192, 136, .18);--panel: rgba(13, 28, 21, .92);--panel-soft: rgba(9, 21, 16, .96);--good: #83e29e;--bad: #ffab91;--warn: #f3c57b;--text-strong: #d3f5db;--text-primary: #dbeee0;--text-muted: #9cb7a8;--text-base: var(--text-primary);--text-soft: var(--text-muted);--text-accent: #a6edb9;--text-on-accent: #f7fffd;--text-brand: #8fe4a6;--text-brand-soft: #b7efc5;--text-strong-soft: #ebfff0;--text-chat: #edfdf1;--text-danger: #ffc0a8;--text-danger-soft: #e8ae95;--text-warn: #f7d499;--text-success: #9be7b5;--text-note: #80c692;--text-hud: #bbd7c4;--text-hud-accent: #9ae7b1;--text-observed: #84dfa2;--surface-elevated: linear-gradient(180deg, rgba(14, 31, 22, .96), rgba(8, 20, 15, .95));--surface-card: rgba(14, 31, 22, .9);--surface-card-strong: rgba(18, 39, 29, .94);--surface-card-muted: rgba(12, 24, 18, .86);--surface-interactive: linear-gradient(180deg, rgba(22, 52, 36, .96), rgba(12, 28, 21, .94));--surface-interactive-hover: linear-gradient(180deg, rgba(30, 68, 46, .98), rgba(15, 35, 25, .96));--surface-overlay: rgba(4, 9, 6, .7);--surface-overlay-strong: rgba(4, 9, 6, .8);--surface-input: linear-gradient(180deg, rgba(18, 43, 30, .98), rgba(12, 28, 21, .96));--surface-accent: linear-gradient(135deg, #1f7547, #73c56a);--surface-accent-soft: linear-gradient(180deg, rgba(21, 50, 35, .96), rgba(12, 28, 21, .94));--surface-accent-chip: rgba(28, 69, 47, .94);--surface-accent-chip-soft: rgba(20, 54, 37, .9);--surface-warn: rgba(89, 67, 38, .78);--surface-warn-soft: rgba(101, 76, 43, .34);--surface-danger: rgba(88, 54, 42, .8);--surface-success: rgba(32, 82, 52, .82);--surface-chip: rgba(20, 54, 37, .9);--surface-chip-soft: rgba(16, 41, 29, .92);--surface-chat: rgba(18, 46, 32, .9);--surface-chat-me: rgba(25, 60, 40, .92);--surface-chat-system: rgba(88, 54, 42, .8);--surface-subtle: rgba(11, 25, 18, .88);--accent-strong: var(--text-accent);--red: var(--text-danger);--border-strong: rgba(105, 199, 130, .36);--border-soft: rgba(77, 142, 95, .34);--border-card: rgba(77, 142, 95, .34);--border-table: rgba(77, 142, 95, .18);--border-accent: rgba(127, 221, 152, .44);--border-danger: rgba(241, 163, 130, .24);--border-danger-soft: rgba(241, 163, 130, .22);--border-warn: rgba(226, 176, 110, .24);--border-warn-soft: rgba(226, 176, 110, .2);--border-success: rgba(77, 142, 95, .28);--shadow-elevated: 0 18px 44px rgba(4, 10, 6, .42), 0 6px 18px rgba(0, 0, 0, .22);--shadow-soft: 0 16px 32px rgba(4, 10, 6, .38), 0 6px 16px rgba(0, 0, 0, .24);--control-fill: linear-gradient(180deg, rgba(22, 55, 38, .96), rgba(12, 32, 23, .94));--control-fill-strong: linear-gradient(180deg, rgba(27, 67, 44, .96), rgba(15, 40, 29, .94));--control-surface: rgba(22, 52, 36, .94);--control-surface-border: var(--border-accent);--control-surface-border-hover: rgba(188, 246, 204, .86);--control-surface-shadow: 0 10px 24px rgba(4, 10, 6, .28);--control-surface-shadow-hover: 0 12px 26px rgba(4, 10, 6, .34);--control-button-shadow-hover: 0 16px 30px rgba(4, 10, 6, .34)}body{color:var(--text-primary);font-family:Jua,sans-serif;background:radial-gradient(circle at 14% 18%,rgba(184,240,176,.32),transparent 22%),radial-gradient(circle at 86% 14%,rgba(255,230,184,.24),transparent 24%),linear-gradient(180deg,#f5f2e3,#e1f2df 52%,#d7ecd8)}#app{isolation:isolate}a{color:inherit}.view-shell{min-height:100%;padding:clamp(1rem,2vw,1.75rem)}.view-wrap{width:min(1320px,100%);margin:0 auto}.panel-strong{background:var(--surface-elevated);border-color:var(--border-card);box-shadow:var(--shadow-elevated)}.panel-header,.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.eyebrow,.field-label,.subtle{color:var(--text-note);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.headline{margin:.35rem 0 0;color:var(--text-strong);font-family:Do Hyeon,sans-serif;font-size:clamp(2rem,1.3rem + 1.8vw,3.2rem);line-height:1}.muted{margin:.4rem 0 0;color:var(--text-muted);line-height:1.6}.field{display:grid;gap:.45rem}.input{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:clamp(2.3rem,2.05rem + .7vw,2.75rem);padding:0 12px;border:2px solid var(--border-card);border-radius:16px;font-family:Jua,sans-serif;font-size:clamp(.76rem,.72rem + .18vw,.82rem);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;isolation:isolate;border-color:var(--btn-border, var(--border-card));background:var(--btn-fill, var(--control-fill));color:var(--btn-color, var(--text-accent));box-shadow:var(--btn-shadow, var(--control-surface-shadow));transition:var(--control-transition)}.btn:before,.btn:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.btn:before{inset:1px;background:linear-gradient(180deg,#ffffff57,#fff0 46%);opacity:.78;z-index:0}.btn:after{inset:-35% auto -35% -45%;width:38%;transform:translate(-180%) rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);opacity:0;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .22s ease;z-index:0}.btn>*{position:relative;z-index:1}.btn:hover:not(:disabled),.btn:focus-visible{transform:translateY(-2px) scale(1.015);border-color:var(--btn-border-hover, var(--control-surface-border-hover));box-shadow:var(--btn-shadow-hover, var(--control-button-shadow-hover)),0 0 0 1px color-mix(in srgb,var(--text-brand) 20%,transparent),inset 0 0 0 1px #9be4932e;filter:saturate(1.1) brightness(1.04)}.btn:hover:not(:disabled):after,.btn:focus-visible:after{transform:translate(410%) rotate(18deg);opacity:1}.btn:active:not(:disabled){transform:translateY(1px) scale(.982);filter:saturate(1) brightness(.985)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary,.btn.success,.btn.btn-primary,.btn.btn-success,.btn-primary,.btn-success{--btn-border: color-mix(in srgb, var(--border-accent) 82%, transparent);--btn-shadow: 0 12px 24px rgba(42, 118, 70, .18);background:var(--surface-accent);color:var(--text-on-accent)}.btn.secondary,.btn.ghost,.btn.btn-secondary,.btn.btn-ghost,.btn-secondary,.btn-ghost{--btn-border: var(--border-card);--btn-fill: var(--control-fill-strong);--btn-color: var(--text-accent);--btn-shadow: var(--control-surface-shadow);--btn-border-hover: color-mix(in srgb, var(--text-brand) 68%, white 32%);--btn-shadow-hover: 0 16px 30px rgba(43, 116, 64, .18), 0 0 24px rgba(110, 198, 110, .14)}.btn.danger,.btn.btn-danger,.btn-danger{--btn-border: rgba(239, 169, 150, .35);--btn-shadow: 0 12px 24px rgba(190, 113, 88, .18);background:linear-gradient(135deg,#cf7c58,#e5a76e);color:var(--text-on-accent)}.action-card{--action-card-radius: 1rem;--action-card-background: var(--control-fill-strong);--action-card-border: var(--border-card);--action-card-border-hover: var(--control-surface-border-hover);--action-card-shadow: var(--control-surface-shadow);--action-card-shadow-hover: var(--control-button-shadow-hover);border:2px solid var(--action-card-border);border-radius:var(--action-card-radius);background:var(--action-card-background);color:var(--text-primary);box-shadow:var(--action-card-shadow);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;isolation:isolate;transition:var(--control-transition)}.action-card:before,.action-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.action-card:before{inset:1px;background:linear-gradient(180deg,#ffffff42,#fff0 48%);opacity:.74;z-index:0}.action-card:after{inset:-40% auto -40% -48%;width:40%;transform:translate(-185%) rotate(16deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);opacity:0;transition:transform .46s cubic-bezier(.22,1,.36,1),opacity .22s ease;z-index:0}.action-card>*{position:relative;z-index:1}.action-card:hover:not(:disabled),.action-card:focus-visible{transform:var(--action-card-hover-lift, translateY(-2px) scale(1.015));border-color:var(--action-card-border-hover);box-shadow:var(--action-card-shadow-hover),0 0 0 1px color-mix(in srgb,var(--text-brand) 18%,transparent),inset 0 0 0 1px #9be49324;filter:saturate(1.09) brightness(1.03)}.action-card:hover:not(:disabled):after,.action-card:focus-visible:after{transform:translate(405%) rotate(16deg);opacity:1}.action-card:active:not(:disabled){transform:var(--action-card-press-offset, translateY(1px) scale(.985));filter:saturate(1) brightness(.985)}.action-card:disabled{opacity:.5;cursor:not-allowed}.action-card.action-card-neutral{--action-card-background: var(--control-fill);--action-card-border: var(--border-card)}.game-action-btn{--action-card-radius: 16px;--action-card-background: var(--control-fill-strong);--action-card-border: var(--border-card);--action-card-border-hover: var(--text-brand);--action-card-shadow: var(--control-surface-shadow);--action-card-shadow-hover: var(--control-button-shadow-hover);--action-card-hover-lift: translateY(-1px) scale(1.01);--action-card-press-offset: translateY(1px) scale(.985)}.game-action-btn.game-action-btn-soft{color:var(--text-accent)}.app-root.theme-dark .btn.ghost,.app-root.theme-dark .btn.btn-ghost{--btn-fill: var(--surface-interactive);--btn-color: var(--text-on-accent);--btn-border: var(--border-soft);--btn-shadow: var(--shadow-soft);background:var(--btn-fill);color:var(--text-on-accent);border-color:var(--border-soft);box-shadow:var(--shadow-soft)}.app-root.theme-dark .btn.primary,.app-root.theme-dark .btn.success,.app-root.theme-dark .btn.btn-primary,.app-root.theme-dark .btn.btn-success{background:var(--surface-accent);border-color:var(--border-accent);color:var(--text-on-accent)}.app-root.theme-dark .btn.danger,.app-root.theme-dark .btn.btn-danger{background:linear-gradient(135deg,#c66750,#dca05f)}.app-root.theme-dark .action-card{--action-card-background: var(--control-fill-strong);--action-card-border: var(--border-soft);--action-card-border-hover: var(--control-surface-border-hover);--action-card-shadow: var(--control-surface-shadow);--action-card-shadow-hover: var(--control-button-shadow-hover);color:var(--text-on-accent)}.app-root.theme-dark .action-card.action-card-neutral{--action-card-background: var(--control-fill);--action-card-border: var(--border-soft)}.btn-sm{height:2rem;min-height:2rem;padding-inline:.85rem;border-radius:999px;font-size:.72rem}.pill{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--border-soft);background:var(--surface-chip-soft);color:var(--text-muted);font-size:.72rem;line-height:1}.pill.success{color:var(--text-success);background:var(--surface-success);border-color:var(--border-success)}.pill.warn{color:var(--text-warn);background:var(--surface-warn-soft);border-color:var(--border-warn)}.pill.danger{color:var(--text-danger);background:var(--surface-danger);border-color:var(--border-danger)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.85rem}.stat-card{padding:1rem;border-radius:1rem;border:1px solid var(--border-card);background:#ffffffb8}.stat-card span{display:block;color:var(--text-soft, var(--text-muted));font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}.stat-card strong{display:block;margin-top:.4rem;color:var(--text-strong);font-size:1.1rem}.stat-card small{display:block;margin-top:.2rem;color:var(--text-muted);font-size:.76rem}.surface-card{--surface-card-radius: 1rem;--surface-card-padding: 1rem;--surface-card-border: var(--border-soft);--surface-card-background: rgba(255, 255, 255, .72);--surface-card-shadow: none;padding:var(--surface-card-padding);border:1px solid var(--surface-card-border);border-radius:var(--surface-card-radius);background:var(--surface-card-background);box-shadow:var(--surface-card-shadow)}.surface-card.surface-card-raised{--surface-card-shadow: var(--shadow-soft)}.surface-card.surface-card-warn{--surface-card-border: var(--border-warn);--surface-card-background: color-mix(in srgb, var(--surface-warn-soft) 84%, transparent)}.surface-card.surface-card-danger{--surface-card-border: var(--border-danger);--surface-card-background: color-mix(in srgb, var(--surface-danger) 84%, transparent);color:var(--text-danger)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.modal-backdrop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:1rem;background:var(--surface-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card{width:min(44rem,100%);border-radius:1.35rem;border:1px solid var(--border-card);background:var(--surface-elevated);box-shadow:var(--shadow-elevated);padding:1.15rem}.modal-head h3,.modal-head p{margin:0}.modal-head p{margin-top:.35rem;color:var(--text-muted);line-height:1.55}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:2px solid var(--border-card);border-radius:999px;color:var(--text-accent);background:var(--control-fill-strong);box-shadow:var(--control-surface-shadow);cursor:pointer;transition:var(--control-transition)}.modal-close:hover,.modal-close:focus-visible{transform:var(--control-hover-lift);border-color:var(--control-surface-border-hover);box-shadow:var(--control-button-shadow-hover)}.toast{position:fixed;right:1rem;bottom:1rem;z-index:5000;min-width:16rem;max-width:min(24rem,calc(100vw - 2rem));border-radius:1rem;border:1px solid var(--border-card);background:var(--surface-elevated);box-shadow:var(--shadow-elevated);padding:.9rem 1rem}.toast>div{display:grid;gap:.25rem}.toast.warn{border-color:var(--border-warn)}.toast.danger{border-color:var(--border-danger)}.empty-state{display:grid;place-items:center;min-height:8rem;padding:1rem;border-radius:1rem;border:1px dashed var(--border-soft);color:var(--text-muted);background:#ffffff85;text-align:center;line-height:1.6}.app-root.theme-dark .surface-card{--surface-card-border: var(--border-soft);--surface-card-background: var(--surface-card-strong);--surface-card-shadow: var(--shadow-soft)}.app-root.theme-dark .surface-card.surface-card-warn{--surface-card-border: rgba(240, 177, 135, .42);--surface-card-background: rgba(82, 58, 40, .9)}.app-root.theme-dark .surface-card.surface-card-danger{--surface-card-border: var(--border-danger);--surface-card-background: var(--surface-danger);color:var(--text-danger)}.app-root.theme-dark .modal-card{background:var(--surface-elevated);border-color:var(--border-soft);box-shadow:var(--shadow-elevated)}.app-root.theme-dark .modal-close{color:var(--text-on-accent);background:var(--surface-interactive);border-color:var(--border-soft)}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.numeric-stepper{display:inline-grid;grid-template-columns:2.4rem minmax(2.8rem,auto) 2.4rem;align-items:center;border-radius:999px;border:1px solid var(--border-card);background:color-mix(in srgb,var(--surface-card) 82%,white 18%);overflow:hidden}.numeric-stepper button{height:2.5rem;color:var(--text-accent);cursor:pointer}.numeric-stepper span{text-align:center;color:var(--text-strong)}@media(max-width:720px){.view-shell{padding:.9rem}.chat-form{grid-template-columns:1fr}.toast{left:1rem;right:1rem;min-width:0;max-width:none}}.overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 16% 18%,rgba(110,186,95,.24),transparent 24%),radial-gradient(circle at 78% 12%,rgba(236,194,98,.12),transparent 20%),radial-gradient(circle at 50% 100%,rgba(84,150,79,.12),transparent 30%),repeating-linear-gradient(0deg,rgba(133,186,120,.045) 0 1px,transparent 1px 30px),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 30px),linear-gradient(180deg,#ffffff03,#18381c1a);-webkit-backdrop-filter:none;backdrop-filter:none}.panel{width:min(560px,100%);max-height:92dvh;overflow:auto;position:relative;border-radius:24px;border:2px solid var(--border-card);padding:18px;isolation:isolate;background:linear-gradient(180deg,#f6f8f0d1,#e9f2e4c2),linear-gradient(135deg,#ffffff29,#fff0 34%);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 28px 72px #30583529,0 10px 26px #375b421a}.panel:before,.room-box:before,.room-item:before,.player-card:before,.result-box:before,.overlay-chat-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(circle at 12% 14%,rgba(173,224,157,.16),transparent 20%),radial-gradient(circle at 88% 12%,rgba(255,226,173,.12),transparent 20%),repeating-linear-gradient(0deg,rgba(137,193,125,.024) 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 26px);opacity:.55}.panel:after,.room-box:after,.room-item:after,.player-card:after,.result-box:after,.overlay-chat-card:after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0;box-shadow:inset 0 1px #ffffff47}.panel>*,.room-box>*,.room-item>*,.player-card>*,.result-box>*,.overlay-chat-card>*{position:relative;z-index:1}.title{margin:0;font-family:Do Hyeon,sans-serif;font-size:clamp(1.7rem,1.2rem + 1.1vw,2rem);letter-spacing:.8px;color:#289e5b;text-shadow:0 2px 0 rgba(255,255,255,.8),0 10px 24px rgba(129,204,124,.28)}.subtitle{margin:4px 0 0;color:#667d68;font-size:.9rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-brand{min-width:0}.panel-head-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.panel-mini-btn{flex:0 0 auto;height:clamp(1.9rem,1.75rem + .5vw,2rem);padding:0 10px;border-radius:999px;font-size:.75rem;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.section-title{margin:10px 0;font-size:1.05rem;color:#215a63}.room-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.room-password-inline{color:#2d7479;font-size:.84rem;line-height:1}.row{display:flex;gap:8px}.register-row{margin-top:8px}.auth-actions{margin-top:10px}.auth-error{margin:8px 0 0;font-size:.76rem;color:#b15b47}input,select{min-width:0;border-width:2px;border-radius:14px;border-color:var(--border-card);color:var(--text-primary);font-family:Jua,sans-serif;box-shadow:inset 0 1px #ffffff1a;background:var(--surface-input)}input{flex:1;height:clamp(2.25rem,2.05rem + .55vw,2.625rem);padding:0 12px;font-size:clamp(.84rem,.78rem + .18vw,.94rem)}input::placeholder{color:color-mix(in srgb,var(--text-muted) 76%,transparent)}select{flex:0 0 92px;height:clamp(2.25rem,2.05rem + .55vw,2.625rem);padding:0 10px;font-size:clamp(.84rem,.78rem + .18vw,.94rem)}input:focus,select:focus{outline:none;border-color:#49aba5;box-shadow:0 0 0 3px #49aba529,inset 0 1px #ffffff24}.count{text-align:right;margin:6px 4px 10px;font-size:.78rem;color:#617579}.create-room-row{align-items:stretch;margin-bottom:12px}.room-password-input{flex:0 0 min(150px,30vw)}.visible-password-input{color:#1f7f84;caret-color:#1f7f84}.visible-password-input::placeholder{color:#1f7f846b}.lobby-header{display:grid;gap:2px;margin-bottom:10px}.lobby-level-line{margin:0;font-size:.73rem;color:#4d686e}.lobby-meta-line{margin:-2px 2px 10px;text-align:right;font-size:.72rem;color:color-mix(in srgb,var(--text-muted) 84%,var(--text-primary) 16%)}.level-progress{position:relative;margin-top:4px;height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--surface-chip) 84%,transparent);border:1px solid var(--border-card)}.level-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2aa063,#e6bf73)}.lobby-tool-row{margin-top:0;margin-bottom:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tutorial-doc,.codex-doc{position:relative;border-radius:24px;border:2px solid var(--border-card);padding:10px;margin-bottom:10px;background:var(--surface-card);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-soft)}.tutorial-doc h3,.codex-doc h3{margin:0 0 4px;font-size:.95rem;color:var(--text-brand-soft)}.tutorial-doc>p,.codex-doc>p{margin:0 0 8px;color:var(--text-muted);font-size:.78rem}.tutorial-section+.tutorial-section{margin-top:8px}.tutorial-section h4{margin:0 0 4px;font-size:.82rem;color:var(--text-brand-soft)}.tutorial-section ul{margin:0;padding-left:18px}.tutorial-section li{margin:2px 0;color:var(--text-primary);font-size:.76rem;line-height:1.35}.codex-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface-subtle)}.codex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.codex-card{border-radius:16px;border:1px solid var(--border-soft);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 88%,white 12%),var(--surface-subtle));padding:12px;box-shadow:var(--shadow-soft)}.codex-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.codex-card-head strong{color:var(--text-strong);font-size:.92rem}.codex-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 8px;font-size:.68rem;color:var(--text-accent);background:var(--surface-accent-chip);border:1px solid var(--border-accent)}.codex-subline,.codex-effect,.codex-growth{margin:0;font-size:.73rem;line-height:1.4;color:var(--text-primary)}.codex-subline{color:var(--text-muted)}.codex-effect{margin-top:8px}.codex-growth{margin-top:6px;color:var(--text-note)}.codex-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.codex-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.68rem;color:var(--text-primary);background:var(--surface-chip-soft);border:1px solid var(--border-card)}.codex-chip.accent{color:var(--text-brand-soft);background:var(--surface-accent-chip-soft);border-color:var(--border-accent)}.codex-table{width:100%;border-collapse:collapse;min-width:760px;font-size:.74rem}.codex-table th,.codex-table td{padding:7px 8px;border-bottom:1px solid var(--border-table);color:var(--text-primary);text-align:left;vertical-align:top}.codex-table thead th{color:var(--text-accent);background:color-mix(in srgb,var(--surface-warn) 45%,transparent);font-size:.75rem}.codex-table tbody tr:last-child td{border-bottom:none}.room-box,.room-item,.player-card,.result-box{position:relative;border:2px solid var(--border-card);background:linear-gradient(180deg,#f5f8eec2,#e8f2e2ad);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-elevated)}.resume-box{border-radius:12px;border:1px solid var(--border-warn);background:color-mix(in srgb,var(--surface-warn) 88%,transparent);padding:10px;margin-bottom:10px;display:grid;gap:8px}.resume-box p{margin:0;font-size:.82rem;color:var(--text-primary)}.room-box{border-radius:12px;padding:10px}.room-head,.empty,.waiting{color:var(--text-muted)}.room-item{border-radius:28px;padding:14px 16px;margin-bottom:8px;background:linear-gradient(180deg,#f4f8edb8,#e6f1e0a3);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.room-main{min-width:0;display:grid;gap:8px;font-size:.88rem}.room-topline{min-width:0}.room-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong-soft);font-size:1.02rem}.room-status-badge,.room-meta-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:.7rem;line-height:1.3;white-space:nowrap}.room-status-badge{color:var(--text-muted);border:1px solid var(--border-success);background:var(--surface-chip)}.room-status-badge.waiting{color:var(--text-brand-soft);background:var(--surface-accent-chip)}.room-status-badge.countdown{color:var(--text-warn);background:var(--surface-warn-soft);border-color:var(--border-warn)}.room-status-badge.full{color:var(--text-warn);background:var(--surface-warn-soft)}.room-status-badge.started{color:var(--text-brand-soft);background:var(--surface-accent-chip-soft)}.room-status-badge.finished{color:var(--text-danger);background:var(--surface-danger)}.room-meta-row{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;flex-wrap:nowrap}.room-meta-chip{color:var(--text-muted);background:var(--surface-chip-soft);border:1px solid var(--border-soft);flex:0 0 auto}.room-host{display:inline-flex;align-items:center;gap:4px;color:var(--text-brand-soft)}.room-host-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-lock-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:2px 7px;border-radius:999px;font-size:.68rem;color:var(--text-warn);background:var(--surface-warn-soft);border:1px solid var(--border-warn)}.room-item>.btn{flex:0 0 auto;min-width:5.8rem;height:3.2rem;padding:0 1rem;border-radius:24px;font-size:.86rem}.players{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}.player-card{border-radius:24px;padding:9px 10px;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:10px}.player-card.me{border-color:var(--border-strong);background:var(--surface-interactive-hover)}.player-main{min-width:0;display:inline-flex;align-items:center;gap:8px;flex:1}.player-actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.player-card .name{min-width:0;max-width:min(55vw,440px);display:inline-flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:.68rem;line-height:1.25;color:var(--text-success);background:var(--surface-success)}.player-level-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:.68rem;line-height:1.25;color:var(--text-muted);background:var(--surface-chip-soft);border:1px solid var(--border-card);flex:0 0 auto}.player-level-chip.compact{font-size:.66rem;padding:2px 7px}.player-level-chip.spec{font-size:.64rem;padding:2px 7px}.player-level-name{color:var(--text-strong-soft)}.ready-badge{border-radius:999px;padding:2px 8px;font-size:.72rem;color:var(--text-danger);border:1px solid var(--border-danger);background:var(--surface-danger)}.ready-badge.on{color:var(--text-brand-soft);border-color:var(--border-accent);background:var(--surface-accent-chip)}.result-wait-badge{border-radius:999px;padding:2px 8px;font-size:.7rem;color:var(--text-warn);border:1px solid var(--border-warn);background:var(--surface-warn-soft)}.host{border-radius:8px;padding:2px 6px;font-size:.72rem;color:var(--text-warn);background:var(--surface-warn-soft);border:1px solid var(--border-warn)}.room-action-btn{height:clamp(1.85rem,1.72rem + .35vw,2rem)!important;min-height:clamp(1.85rem,1.72rem + .35vw,2rem)!important;padding:0 10px!important;line-height:clamp(1.85rem,1.72rem + .35vw,2rem)!important;font-size:clamp(.66rem,.63rem + .12vw,.74rem)!important}.kick-modal-backdrop{z-index:2000}.join-room-modal-backdrop{z-index:3000;padding:14px;background:var(--surface-overlay-strong)}.join-room-modal,.kick-modal{width:min(420px,calc(100vw - 28px))}.kick-modal{position:relative;border-radius:24px;padding:14px}.kick-modal h3{margin:0 0 6px;font-size:1.05rem;color:var(--text-strong)}.kick-modal p{margin:0;color:var(--text-primary);font-size:.88rem;line-height:1.45}.settings-modal{width:min(460px,calc(100vw - 28px))}.settings-list{margin-top:10px;display:grid;gap:8px}.settings-item{--action-card-radius: 16px;--action-card-background: var(--surface-interactive);--action-card-border: var(--border-soft);--action-card-border-hover: var(--border-strong);width:100%;color:var(--text-primary);padding:11px 12px;display:flex;align-items:center;justify-content:space-between;font-family:Jua,sans-serif;font-size:.88rem}.settings-item span{color:inherit}.settings-item strong{color:var(--text-accent)}.result-box{border-radius:14px;padding:16px;text-align:center}.result-duration{margin:6px 0 0;color:var(--text-muted);font-size:.82rem}.result-highlight{margin-top:12px;display:grid;gap:4px;padding:12px;border-radius:18px;border:1px solid var(--border-warn-soft);background:var(--surface-warn);color:var(--text-primary)}.result-highlight strong{color:var(--text-danger)}.result-mvp{margin-top:10px;color:var(--text-danger);font-size:.8rem}.result-table-wrap{margin-top:12px;overflow-x:auto;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface-subtle)}.result-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.75rem}.result-table th,.result-table td{padding:8px;border-bottom:1px solid var(--border-table);text-align:center;color:var(--text-primary)}.result-table thead th{color:var(--text-accent);background:color-mix(in srgb,var(--surface-warn) 45%,transparent)}.result-table tbody tr.me{background:color-mix(in srgb,var(--surface-warn) 35%,transparent)}.result-actions{margin-top:14px;justify-content:center;gap:10px}.bot-invite-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.lobby-actions{display:flex;align-items:center;gap:8px}.logout-row{margin-top:12px;justify-content:flex-end}.overlay-chat-card{margin-top:12px;position:relative;border-radius:24px;border:2px solid var(--border-card);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card-strong) 72%,white 28%),color-mix(in srgb,var(--surface-card) 80%,transparent));padding:10px;display:flex;flex-direction:column;gap:8px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-elevated)}.app-root.theme-dark .overlay,.app-root.theme-dark .panel,.app-root.theme-dark .tutorial-doc,.app-root.theme-dark .codex-doc,.app-root.theme-dark .room-box,.app-root.theme-dark .room-item,.app-root.theme-dark .player-card,.app-root.theme-dark .result-box,.app-root.theme-dark .overlay-chat-card,.app-root.theme-dark .resume-box,.app-root.theme-dark .result-table-wrap,.app-root.theme-dark .codex-table-wrap{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card-strong) 88%,black 12%),color-mix(in srgb,var(--surface-card) 92%,transparent)),linear-gradient(135deg,#ffffff0a,#fff0 38%);border-color:var(--border-soft);box-shadow:var(--shadow-elevated)}.app-root.theme-dark .overlay{background:radial-gradient(circle at 18% 18%,rgba(82,171,101,.18),transparent 22%),radial-gradient(circle at 82% 14%,rgba(200,161,90,.1),transparent 22%),repeating-linear-gradient(0deg,rgba(102,170,112,.05) 0 1px,transparent 1px 30px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 30px),repeating-linear-gradient(45deg,rgba(120,186,117,.03) 0 1px,transparent 1px 56px),linear-gradient(180deg,#0b1c0f14,#0610093d);-webkit-backdrop-filter:none;backdrop-filter:none}.app-root.theme-dark .kick-modal-backdrop,.app-root.theme-dark .join-room-modal-backdrop{background:var(--surface-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-root.theme-dark .title,.app-root.theme-dark .section-title,.app-root.theme-dark .kick-modal h3,.app-root.theme-dark .tutorial-doc h3,.app-root.theme-dark .codex-doc h3,.app-root.theme-dark .tutorial-section h4,.app-root.theme-dark .settings-item strong,.app-root.theme-dark .room-host,.app-root.theme-dark .room-password-inline{color:var(--text-strong)}.app-root.theme-dark,.app-root.theme-dark .subtitle,.app-root.theme-dark .waiting,.app-root.theme-dark .room-head,.app-root.theme-dark .empty,.app-root.theme-dark .count,.app-root.theme-dark .kick-modal p,.app-root.theme-dark .settings-item,.app-root.theme-dark .settings-item span,.app-root.theme-dark .result-duration,.app-root.theme-dark .tutorial-doc>p,.app-root.theme-dark .codex-doc>p,.app-root.theme-dark .tutorial-section li,.app-root.theme-dark .room-meta-chip,.app-root.theme-dark .player-level-name,.app-root.theme-dark .lobby-level-line,.app-root.theme-dark .lobby-meta-line{color:var(--text-primary)}.app-root.theme-dark .settings-item{--action-card-background: var(--surface-interactive);--action-card-border: var(--border-strong);--action-card-border-hover: var(--border-strong)}.app-root.theme-dark input,.app-root.theme-dark select{color:var(--text-on-accent);border-color:var(--border-soft);background:var(--surface-input)}.app-root.theme-dark input::placeholder,.app-root.theme-dark .visible-password-input::placeholder{color:#bee0da85}.app-root.theme-dark .room-status-badge,.app-root.theme-dark .player-level-chip,.app-root.theme-dark .ready-badge,.app-root.theme-dark .result-wait-badge,.app-root.theme-dark .host{background:#1c3136eb;border-color:#5ca39747;color:#e8fffb}.app-root.theme-dark .room-lock-badge,.app-root.theme-dark .result-highlight{background:#4c3227d1;border-color:#e2b06e38;color:#ffe2d5}.app-root.theme-dark .level-progress{background-color:color-mix(in srgb,var(--surface-chip-soft) 86%,transparent)}.app-root.theme-dark .codex-table th,.app-root.theme-dark .codex-table td,.app-root.theme-dark .result-table th,.app-root.theme-dark .result-table td{color:#edf8f6;border-bottom-color:#5ca3972e}.app-root.theme-dark .codex-table thead th,.app-root.theme-dark .result-table thead th{color:#b8ece4;background:#1a5f6357}.app-root.theme-dark .result-table tbody tr.me{background:#31928c24}.command-deck:before,.deck-card:before{content:none}.deck-card{position:relative;border-radius:26px;border:1px solid var(--border-soft);background:var(--surface-elevated);padding:clamp(10px,.85vw,14px);min-height:0;overflow:hidden;display:flex;flex-direction:column;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto;box-shadow:var(--shadow-elevated)}.chat-card{background:color-mix(in srgb,var(--surface-elevated) 82%,transparent);border-color:var(--border-table)}.deck-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}.deck-head h3{margin:0;font-size:clamp(.82rem,.76rem + .22vw,1rem);color:var(--text-brand);display:inline-flex;align-items:center;gap:6px}.deck-head small{color:var(--text-muted);font-size:clamp(.62rem,.58rem + .12vw,.7rem)}.summon-grid,.tower-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));gap:clamp(4px,.45vw,8px);min-height:0;overflow:visible;padding:4px 2px;align-content:start}.summon-card{min-height:clamp(14rem,28dvh,23rem);max-height:min(36dvh,26rem);overflow:auto}.spectate-card{min-height:clamp(16rem,34dvh,26rem);max-height:min(42dvh,30rem)}.summon-card .build-box,.summon-card .summon-grid,.summon-card .tower-grid{min-height:0;max-height:100%;overflow:visible}.summon-btn,.tower-btn{--action-card-radius: 10px;min-height:clamp(2.8rem,2.4rem + .8vw,3.6rem);padding:5px;font-family:Jua,sans-serif;color:var(--text-primary)}.summon-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:clamp(.72rem,.67rem + .16vw,.82rem)}.summon-btn .icon{font-size:1rem;line-height:1}.summon-btn small,.tower-btn small{font-size:clamp(.6rem,.56rem + .12vw,.66rem)}.icon-shell{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:color-mix(in srgb,var(--surface-accent-chip-soft) 76%,white 24%);box-shadow:none}.unit-thumb{width:18px;height:18px;object-fit:contain;image-rendering:-webkit-optimize-contrast;filter:drop-shadow(0 1px 0 rgba(0,0,0,.22))}.build-box p,.guide{margin:0 0 8px;font-size:clamp(.72rem,.68rem + .16vw,.86rem);line-height:1.35;color:var(--text-muted)}.watch-guide{color:var(--text-note)}.tower-limit-guide.danger,.tower-limit-alert{color:var(--text-danger)}.quick-return{width:100%;margin-bottom:8px}.subtle-notice-enter-active,.subtle-notice-leave-active{transition:opacity .18s ease,transform .18s ease}.subtle-notice-enter-from,.subtle-notice-leave-to{opacity:0;transform:translate(-50%) translateY(-4px)}.tier-pill{display:inline-flex;align-items:center;border:1px solid;border-radius:999px;padding:1px 8px;margin-left:4px;font-size:.69rem;background:#fffce31a}.tower-btn{min-height:clamp(2.8rem,2.35rem + .8vw,3.5rem);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(.7rem,.66rem + .16vw,.8rem);gap:3px;text-align:center}.tower-btn.active{--action-card-background: linear-gradient(180deg, rgba(235, 248, 244, .98), rgba(223, 243, 236, .96));--action-card-border: color-mix(in srgb, var(--text-brand) 56%, white 44%);--action-card-border-hover: color-mix(in srgb, var(--text-brand) 72%, white 28%);--action-card-shadow: 0 12px 24px rgba(42, 118, 70, .18);--action-card-shadow-hover: 0 14px 28px rgba(42, 118, 70, .22)}.tower-btn.unaffordable{opacity:.72;filter:none}.tower-btn-title{display:inline-flex;align-items:center;gap:6px}.tower-btn-title-full{justify-content:center;width:100%}.tower-btn-meta{opacity:.92}.tower-btn.cancel{color:var(--text-accent)}.build-modal-backdrop{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:color-mix(in srgb,var(--surface-overlay) 50%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.build-modal-backdrop>.build-modal{width:min(100%,28rem);max-height:min(70dvh,32rem);overflow:auto}.build-modal-head{margin-bottom:12px}.build-modal-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px}.build-preview-card{margin:0 0 10px;border-radius:16px;padding:12px;color:var(--text-primary);background:color-mix(in srgb,var(--surface-card) 92%,white 8%);border:1px solid var(--border-accent);box-shadow:var(--control-surface-shadow)}.build-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.build-preview-stats{display:flex;flex-wrap:wrap;gap:6px}.build-preview-effect{margin:10px 0 0;color:var(--text-primary)}.tower-preview-owned{background:color-mix(in srgb,var(--surface-accent-chip-soft) 82%,transparent);border-color:color-mix(in srgb,var(--border-strong) 70%,transparent);color:var(--text-primary)}.build-modal-grid{max-height:none;overflow:visible}.confirm-modal{width:min(100%,24rem)}.tower-manage-modal{width:min(100%,26rem)}.sell-box .sell-btn{width:100%;margin-bottom:6px}.tower-level-line,.tower-stat-line,.tower-next-line{margin-top:-2px}.tower-economy-line{margin:8px 0 10px;color:var(--text-muted);font-size:.8rem}.tower-refund-rate,.tower-next-line{color:var(--text-note)}.tower-change-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tower-stat-list{display:inline-flex;margin-top:0;margin-left:6px;vertical-align:middle}.tower-change-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--surface-accent-chip) 80%,transparent);border:1px solid var(--border-accent);color:var(--text-muted);font-size:.72rem;line-height:1.2}.tower-stat-pill{background:color-mix(in srgb,var(--surface-warn) 75%,transparent);border-color:var(--border-danger-soft);color:var(--text-danger-soft)}.tower-title-line{margin-bottom:8px}.tower-title{display:inline-flex;align-items:center;gap:6px}.tower-detail-sheet{min-height:0;max-height:100%;overflow:auto;padding-right:2px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.tower-sheet-head{position:sticky;top:0;z-index:2;background:var(--surface-accent-soft);margin:-2px 0 6px;padding:2px 0 4px}.tower-close-btn{width:100%}.lock-msg{margin:0 0 8px;padding:5px 8px;border-radius:8px;font-size:.73rem;color:var(--text-danger-soft);background:color-mix(in srgb,var(--surface-danger) 85%,transparent);border:1px solid var(--border-danger-soft)}.chat-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}.chat-head h3{margin:0;font-size:clamp(.8rem,.74rem + .18vw,.9rem);color:var(--text-brand);display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.chat-head small{color:var(--text-muted);font-size:clamp(.6rem,.56rem + .1vw,.66rem);min-width:0;max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-log{min-height:clamp(10rem,22dvh,12rem);max-height:clamp(12rem,28dvh,16rem);overflow:auto;border-radius:14px;border:1px solid var(--border-table);background:var(--surface-card-muted);padding:10px;display:flex;flex-direction:column;gap:6px}.game-chat-log{min-height:10rem;flex:1 1 auto;height:auto;max-height:none;pointer-events:auto}.chat-empty{color:var(--text-muted);font-size:clamp(.72rem,.68rem + .16vw,.86rem);text-align:center;padding:10px 0;text-shadow:none}.chat-line{display:block;padding:6px 8px;border-radius:8px;background:var(--surface-chat);border:1px solid var(--line-soft);line-height:1.2}.chat-line.me{background:var(--surface-chat-me);border-color:var(--border-accent)}.chat-line.system{background:var(--surface-chat-system);border-color:var(--border-danger)}.chat-system-badge{display:inline-flex;align-items:center;justify-content:center;margin-right:6px;padding:1px 6px;border-radius:999px;font-size:.62rem;line-height:1.35;letter-spacing:.08em;color:var(--text-on-accent);background:var(--surface-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--border-accent) 78%,transparent);vertical-align:1px}.chat-system-badge.preview{margin-right:5px}.chat-meta{color:var(--text-accent);font-size:clamp(.7rem,.66rem + .16vw,.86rem);margin-right:4px;text-shadow:none}.chat-meta:after{content:":";margin-left:2px;opacity:.8}.chat-meta.system{color:var(--text-danger)}.chat-text{display:inline;color:var(--text-chat);font-size:clamp(.7rem,.66rem + .16vw,.86rem);line-height:1.15;word-break:break-word;text-shadow:none}.chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;align-items:stretch;padding:8px;border-radius:14px;background:var(--surface-card);border:1px solid var(--border-card)}.chat-input-row input{height:clamp(2.2rem,2rem + .5vw,2.5rem);min-height:clamp(2.2rem,2rem + .5vw,2.5rem);font-size:clamp(.76rem,.7rem + .2vw,.84rem);width:100%;min-width:0;box-sizing:border-box}.chat-send-btn{width:clamp(3.2rem,3rem + .6vw,3.9rem);min-width:clamp(3.2rem,3rem + .6vw,3.9rem);height:clamp(2.2rem,2rem + .5vw,2.5rem)!important;min-height:clamp(2.2rem,2rem + .5vw,2.5rem)!important;line-height:clamp(2.2rem,2rem + .5vw,2.5rem)!important;padding:0!important;box-sizing:border-box;box-shadow:none!important}.spectate-card,.chat-card{min-height:0;overflow:hidden}.chat-card{width:100%;min-inline-size:0;min-block-size:18rem;max-block-size:18rem;height:18rem;display:flex!important;flex-direction:column;gap:10px;min-width:0;pointer-events:auto;background:color-mix(in srgb,var(--surface-card) 65%,transparent);border-color:color-mix(in srgb,var(--border-soft) 55%,transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.chat-overlay-head{display:flex;justify-content:flex-end;margin-bottom:2px;flex:0 0 auto;pointer-events:auto}.chat-toggle-btn{height:1.85rem;min-height:1.85rem;padding:0 .65rem;border-radius:999px;font-size:.68rem;background:var(--surface-accent);color:var(--text-on-accent)}.chat-preview{--action-card-radius: 12px;--action-card-background: var(--surface-card);--action-card-border: var(--border-table);--action-card-border-hover: var(--border-strong);--action-card-shadow: none;--action-card-shadow-hover: var(--shadow-soft);height:1.85rem;min-height:1.85rem;display:flex;align-items:center;padding:0 10px;flex:1 1 100%;box-sizing:border-box;pointer-events:auto}.chat-preview *{pointer-events:none}.chat-preview-line{display:inline-block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:none}.chat-closed-row{display:flex;align-items:center;justify-content:center;width:100%;pointer-events:auto;min-height:1.85rem}.chat-panel-input{flex:0 0 auto;pointer-events:auto}.spec-list{display:flex;flex-direction:column;gap:5px;max-height:100%;min-height:0;overflow:auto;flex:1;padding:2px 3px;scroll-padding-block:2px}.spec-item{touch-action:manipulation;--action-card-radius: 8px;--action-card-background: var(--surface-card);--action-card-border: var(--line-soft);--action-card-border-hover: var(--border-strong);--action-card-shadow: none;--action-card-shadow-hover: var(--shadow-soft);--action-card-hover-lift: translateY(-1px) scale(1.004);color:var(--text-primary);padding:7px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:Jua,sans-serif;font-size:clamp(.68rem,.64rem + .16vw,.8rem)}.spec-name{min-width:0;display:inline-flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spec-stats{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.spec-stat{display:inline-flex;align-items:center;gap:4px}.spec-stat.life{color:var(--text-danger)}.spec-stat.gold{color:var(--text-accent)}.spec-stat.out{color:var(--text-danger);border:1px solid var(--border-danger);border-radius:999px;padding:2px 6px;font-size:.68rem;background:var(--surface-danger)}.spec-stat.offline{color:var(--text-warn);border:1px solid var(--border-warn);border-radius:999px;padding:2px 6px;font-size:.68rem;background:var(--surface-warn-soft)}.spec-item.active,.spec-item.me.active{--action-card-background: var(--surface-accent);--action-card-border: var(--border-accent);--action-card-border-hover: var(--border-accent);color:var(--text-on-accent)}.spec-item.dead{opacity:.45;text-decoration:line-through}.spec-item.offline{border-style:dashed}.overlay-fade-enter-active,.overlay-fade-leave-active{transition:opacity .2s ease}.overlay-fade-enter-from,.overlay-fade-leave-to{opacity:0}.app-root.theme-dark .deck-card,.app-root.theme-dark .chat-input-row,.app-root.theme-dark .chat-log{background:var(--surface-elevated);border-color:var(--border-soft);box-shadow:var(--shadow-elevated)}.app-root.theme-dark .build-modal-backdrop{background:var(--surface-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-root.theme-dark .deck-head h3,.app-root.theme-dark .chat-head h3,.app-root.theme-dark .chat-meta{color:var(--text-strong)}.app-root.theme-dark .guide,.app-root.theme-dark .chat-empty,.app-root.theme-dark .chat-text,.app-root.theme-dark .spec-item{color:var(--text-primary)}.app-root.theme-dark .tower-btn.active{--action-card-background: linear-gradient(180deg, rgba(26, 58, 60, .96), rgba(17, 40, 44, .94));--action-card-border: rgba(126, 212, 199, .66);--action-card-border-hover: rgba(178, 240, 230, .86);--action-card-shadow: 0 12px 26px rgba(5, 4, 14, .28);--action-card-shadow-hover: 0 14px 30px rgba(5, 4, 14, .34)}.app-root.theme-dark .icon-shell{background:var(--surface-accent-chip-soft)}.app-root.theme-dark .build-preview-card{background:var(--surface-card-strong);color:var(--text-on-accent);border-color:color-mix(in srgb,var(--border-accent) 78%,transparent);box-shadow:var(--control-surface-shadow)}.app-root.theme-dark .build-preview-effect{color:var(--text-on-accent)}.app-root.theme-dark .spec-stat.out,.app-root.theme-dark .spec-stat.offline,.app-root.theme-dark .tower-change-pill,.app-root.theme-dark .chat-line,.app-root.theme-dark .chat-line.me,.app-root.theme-dark .chat-line.system{background:#1c3136eb;border-color:#5ca39742;color:#e8fffb}.app-root.theme-dark .lock-msg,.app-root.theme-dark .tower-stat-pill{background:#4c3227d1;border-color:#e2b06e38;color:#ffe2d5}.game-icon[data-v-2c5c23aa]{display:inline-block;vertical-align:middle;flex-shrink:0}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}.app-root{position:relative;width:100%;height:100dvh;overflow:hidden;box-sizing:border-box;padding:0;border-radius:0;color:var(--ink);isolation:isolate;font-size:16px;font-family:Jua,sans-serif;background:radial-gradient(circle at 14% 18%,rgba(156,221,101,.58),transparent 26%),radial-gradient(circle at 52% 24%,rgba(110,178,84,.26),transparent 30%),radial-gradient(circle at 84% 14%,rgba(235,196,88,.2),transparent 20%),linear-gradient(180deg,#9fd26d,#6aa057 40%,#497844 72%,#31573a)}.app-root.theme-dark{background:radial-gradient(circle at 16% 18%,rgba(88,182,94,.46),transparent 24%),radial-gradient(circle at 84% 14%,rgba(184,149,72,.16),transparent 20%),radial-gradient(circle at 50% 0%,rgba(43,114,63,.56),transparent 34%),linear-gradient(180deg,#0b180d,#183720 42%,#102714 72%,#0b160d)}.app-root,.app-root:before,.app-root:after,.app-root *,.app-root *:before,.app-root *:after{transition:background .36s ease,background-color .36s ease,color .28s ease,border-color .28s ease,box-shadow .36s ease,opacity .28s ease,filter .36s ease}.orientation-lock{display:none}.orientation-lock-card{width:min(18rem,calc(100vw - 2rem));padding:1.25rem 1rem;border-radius:24px;border:1px solid var(--border-card);background:var(--surface-elevated);box-shadow:var(--shadow-elevated);text-align:center}.orientation-lock-card strong{display:block;color:var(--text-brand);font-size:1.05rem}.orientation-lock-card p{margin:.5rem 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.4}.app-root:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.78;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 24%),linear-gradient(0deg,rgba(25,62,31,.14),transparent 24%),repeating-linear-gradient(0deg,rgba(66,122,68,.058) 0 1px,transparent 1px 30px),repeating-linear-gradient(90deg,rgba(248,255,244,.04) 0 1px,transparent 1px 30px),repeating-linear-gradient(45deg,rgba(136,195,117,.024) 0 1px,transparent 1px 64px),radial-gradient(circle at 12% 18%,rgba(183,230,138,.22),transparent 18%),radial-gradient(circle at 50% 108%,rgba(83,142,74,.24),transparent 32%);animation:none}.app-root:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-20%;height:42%;z-index:-1;pointer-events:none;opacity:1;filter:none;background:radial-gradient(ellipse at 8% 78%,rgba(41,93,49,.62) 0 26%,transparent 27%),radial-gradient(ellipse at 28% 84%,rgba(52,111,58,.66) 0 28%,transparent 29%),radial-gradient(ellipse at 50% 82%,rgba(171,145,76,.26) 0 18%,transparent 19%),radial-gradient(ellipse at 70% 86%,rgba(46,102,55,.64) 0 28%,transparent 29%),radial-gradient(ellipse at 92% 78%,rgba(35,82,42,.58) 0 24%,transparent 25%)}.app-root.theme-dark:before{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%),linear-gradient(0deg,rgba(6,18,10,.22),transparent 28%),repeating-linear-gradient(0deg,rgba(84,154,92,.045) 0 1px,transparent 1px 32px),repeating-linear-gradient(90deg,rgba(255,255,255,.024) 0 1px,transparent 1px 32px),repeating-linear-gradient(45deg,rgba(118,184,110,.02) 0 1px,transparent 1px 64px),radial-gradient(circle at 14% 18%,rgba(92,184,112,.18),transparent 18%),radial-gradient(circle at 50% 110%,rgba(36,96,56,.3),transparent 34%)}.app-root.theme-dark:after{background:radial-gradient(ellipse at 8% 78%,rgba(16,53,28,.72) 0 26%,transparent 27%),radial-gradient(ellipse at 28% 84%,rgba(22,69,35,.76) 0 28%,transparent 29%),radial-gradient(ellipse at 50% 82%,rgba(95,77,39,.24) 0 18%,transparent 19%),radial-gradient(ellipse at 70% 86%,rgba(24,72,37,.74) 0 28%,transparent 29%),radial-gradient(ellipse at 92% 78%,rgba(14,46,23,.7) 0 24%,transparent 25%)}.ambient{display:none}.ambient-a{top:-90px;left:-40px;width:280px;height:280px;background:#cfeadf}.ambient-b{right:-70px;bottom:-90px;width:260px;height:260px;background:#f4ddb1}.alerts{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:9999;width:min(430px,calc(100vw - 24px));display:flex;flex-direction:column;gap:6px;pointer-events:none}.alerts *{pointer-events:none}.alert-chip{border-radius:999px;padding:8px 10px;text-align:center;font-size:.8rem;box-shadow:0 2px #28364247;animation:popout 2.2s ease forwards}.alert-chip.success{color:#17362a;background:linear-gradient(180deg,#b1ebabf5,#5bbd6ef5)}.alert-chip.danger{background:linear-gradient(180deg,#f4af88f5,#d87b59f5)}@keyframes popout{0%{opacity:0;transform:translateY(-8px)}10%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@keyframes canopyFloat{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,-10px,0) scale(1.03)}}@keyframes glowPulse{0%,to{opacity:.42}50%{opacity:.7}}.conn-banner{position:fixed;top:10px;right:10px;z-index:9999;display:flex;align-items:center;gap:8px;border-radius:999px;padding:5px 10px;font-size:.74rem;color:var(--text-primary);background:var(--surface-accent-soft);border:1px solid var(--border-strong);box-shadow:var(--shadow-soft);max-width:min(76vw,300px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-banner .dot{width:7px;height:7px;border-radius:999px;background:#ffd9a5;box-shadow:0 0 0 4px #ffe1b71f}.conn-banner.connected .dot{background:var(--good)}.conn-banner.disconnected .dot{background:#ffb38d}.conn-banner.connected{color:var(--text-accent)}.app-root.theme-dark .conn-banner{background:var(--surface-elevated);border-color:var(--border-soft);box-shadow:var(--shadow-elevated)}.app-root.theme-dark .conn-banner.connected{color:var(--text-on-accent);border-color:var(--border-strong);background:var(--surface-accent-soft);box-shadow:var(--shadow-soft)}.app-root.theme-dark .conn-banner.connected .dot{background:var(--good);box-shadow:0 0 0 4px #76db9229}.app-root.theme-dark .game-layout{background:radial-gradient(circle at 50% 20%,rgba(67,147,88,.24),transparent 38%),radial-gradient(circle at 80% 0%,rgba(148,115,63,.1),transparent 30%),linear-gradient(180deg,#09150efa,#07100af7)}.app-root.theme-dark .canvas-shell{background:radial-gradient(circle at 18% 18%,rgba(94,192,119,.14),transparent 12%),radial-gradient(circle at 82% 16%,rgba(226,176,110,.08),transparent 14%),linear-gradient(180deg,#0f1f16fa 0 37%,#09150efa 37% 100%)}.orientation-install-tip{margin:10px 0 0;padding:10px 12px;border-radius:14px;border:1px solid var(--border-card);background:color-mix(in srgb,var(--surface-card) 84%,transparent);color:var(--text-primary);font-size:.78rem;line-height:1.5;text-align:left}.game-layout{--edge-gap: clamp(10px, 1vw, 18px);--command-switch-clearance: 2.65rem;--hud-min: min(11rem, 100%);--panel-min: min(20rem, 100%);--chat-min: min(18rem, 100%);position:relative;width:100%;height:100dvh;min-height:0;z-index:1;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(189,240,179,.28),transparent 38%),radial-gradient(circle at 80% 0%,rgba(255,228,183,.14),transparent 30%),linear-gradient(180deg,#f8f7effa,#e0f2e1f5)}.game-layout:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;background:repeating-linear-gradient(0deg,rgba(74,145,92,.055) 0 1px,transparent 1px 32px),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 32px),repeating-linear-gradient(45deg,rgba(162,212,149,.03) 0 1px,transparent 1px 64px)}.game-frame{position:absolute;inset:0;margin:auto;width:min(100vw,calc(100dvh * 16 / 9));height:min(100dvh,56.25vw);max-width:100%;max-height:100%;min-width:0;min-height:0;box-shadow:0 0 0 1px color-mix(in srgb,var(--border-card) 72%,transparent),0 28px 60px #7e9f962e,0 8px 24px #4d656214}.status-ribbon{position:absolute;inset:0;z-index:4;pointer-events:none}.game-main-grid{position:absolute;inset:0;min-height:0}.hud-cluster{position:absolute;display:flex;pointer-events:none}.hud-cluster-top-left{top:10px;left:10px;flex-direction:column;align-items:flex-start;gap:.22rem}.hud-cluster-top-center{top:10px;left:50%;transform:translate(-50%);align-items:center;gap:.7rem}.hud-cluster-bottom-right{right:3px;bottom:3px;align-items:flex-end}.hud-readout{display:inline-flex;align-items:center;gap:.32rem;line-height:1.04;min-width:0;color:#fff;-webkit-text-stroke:.28px rgba(0,0,0,.44);text-shadow:0 1px 0 rgba(0,0,0,.62),0 0 2px rgba(0,0,0,.42)}.hud-readout-resource{font-size:clamp(.94rem,.74rem + .34vw + .16vh,1.26rem);font-weight:900}.hud-readout-meta{font-size:clamp(.78rem,.62rem + .24vw + .12vh,1rem);font-weight:800;letter-spacing:.01em}.hud-readout-ping{font-size:clamp(.92rem,.74rem + .3vw + .16vh,1.18rem);font-weight:900;letter-spacing:.01em}.hud-readout-ping.connecting{opacity:.72}.hud-readout-ping.disconnected{opacity:.56}.hud-readout.observed{opacity:.88}@media(prefers-reduced-motion:reduce){.app-root,.app-root:before,.app-root:after,.app-root *,.app-root *:before,.app-root *:after{transition:none}}.hud-inline{display:inline-flex;align-items:center;gap:.36rem;min-width:0}.hud-label{opacity:.86;font-size:.92em;font-weight:800}.hud-meta-value{opacity:.84;font-size:.88em}.hud-value{white-space:nowrap}.hud-inline-note{font-size:clamp(.68rem,.54rem + .18vw + .1vh,.84rem);font-weight:800;color:#fff;-webkit-text-stroke:.24px rgba(0,0,0,.4);text-shadow:0 1px 0 rgba(0,0,0,.58),0 0 2px rgba(0,0,0,.38)}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:clamp(11px,9px + .2vw + .08vh,14px);height:clamp(11px,9px + .2vw + .08vh,14px);color:var(--text-warn);filter:none}.hud-icon{width:clamp(14px,12px + .3vw + .12vh,18px);height:clamp(14px,12px + .3vw + .12vh,18px);filter:drop-shadow(0 1px 0 rgba(0,0,0,.84)) drop-shadow(0 0 3px rgba(0,0,0,.44))}.hud-icon-heart{color:#ff8f9f}.hud-icon-gold{color:#ffd86b}.hud-icon-income{color:#87f7b3}.hud-icon-neutral{color:#f7f3e2}.hud-icon-mode{color:#c7f2ff}.hud-icon-network{color:#9fe7ff}.status-icon-heart{color:var(--bad)}.status-icon-gold{color:#ffe084}.status-icon-income{color:var(--text-observed)}.hud-delta-stack{display:flex;align-items:center;gap:.28rem;min-width:0;-webkit-text-stroke:.22px rgba(0,0,0,.36);text-shadow:0 1px 0 rgba(0,0,0,.56),0 0 2px rgba(0,0,0,.34)}.delta-text{font-size:clamp(.72rem,.56rem + .2vw + .1vh,.9rem);font-weight:800}.delta-text.up{color:var(--text-observed)}.delta-text.down{color:#ffd0bf}.delta-float-enter-active,.delta-float-leave-active{transition:transform .8s ease,opacity .8s ease}.delta-float-enter-from,.delta-float-leave-to{opacity:0;transform:translateY(6px)}.battle-zone{position:absolute;inset:0;min-height:0}.canvas-shell{position:absolute;inset:0;border-radius:0;background:radial-gradient(circle at 18% 18%,rgba(195,239,185,.14),transparent 12%),radial-gradient(circle at 82% 16%,rgba(252,220,171,.1),transparent 14%),linear-gradient(180deg,#fffffcfa 0 37%,#e8f6e9f2 37% 100%);padding:0;overflow:hidden}.canvas-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 20%),radial-gradient(circle at 50% 120%,rgba(20,66,43,.24),transparent 35%)}.canvas-shell:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background:repeating-linear-gradient(0deg,rgba(61,122,76,.06) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 34px),repeating-linear-gradient(45deg,rgba(157,206,147,.03) 0 1px,transparent 1px 68px)}#game-main-canvas{position:relative;z-index:1;width:100%;height:100%;display:block}.command-deck{position:absolute;top:calc(var(--edge-gap) + var(--command-switch-clearance));right:var(--edge-gap);z-index:5;width:min(28rem,calc(100% - (var(--edge-gap) * 2)));pointer-events:none}.game-command-dock{position:absolute;top:var(--edge-gap);right:var(--edge-gap);z-index:5;pointer-events:none}.game-chat-dock{position:absolute;left:50%;bottom:var(--edge-gap);transform:translate(-50%);z-index:5;width:min(24rem,calc(100% - (var(--edge-gap) * 2)));display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.command-stack{width:100%;display:flex;flex-direction:column;gap:calc(var(--edge-gap) * .55);min-width:0;pointer-events:none}.command-panel-switch{width:auto;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:calc(var(--edge-gap) * .45);min-width:0;pointer-events:auto}.switch-btn.btn.ghost{width:2rem;min-width:2rem;height:2rem;min-height:2rem;padding:0;border-radius:999px;background:var(--surface-elevated);color:var(--text-brand);border-color:var(--border-success);-webkit-backdrop-filter:none;backdrop-filter:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft)}.switch-btn.btn.ghost.active{width:2.15rem;min-width:2.15rem;height:2.15rem;min-height:2.15rem;background:var(--surface-accent);color:var(--text-on-accent);border-color:var(--border-accent);box-shadow:0 10px 22px #2c76463d}@media(max-width:640px){.app-root{font-size:15px}.game-layout{--edge-gap: 8px;--command-switch-clearance: 2.35rem;height:100dvh}.hud-cluster-top-left{top:8px;left:8px}.hud-cluster-top-center{top:8px;gap:.5rem}.hud-readout-resource{font-size:clamp(.84rem,.68rem + .22vw + .14vh,1rem)}.hud-readout-meta{font-size:clamp(.68rem,.56rem + .16vw + .12vh,.82rem)}.hud-readout-ping{font-size:clamp(.82rem,.66rem + .22vw + .14vh,.98rem)}.command-deck{top:calc(var(--edge-gap) + var(--command-switch-clearance));right:8px;width:min(24rem,calc(100% - 16px))}.game-chat-dock{left:8px;right:8px;bottom:8px;transform:none;width:auto}.game-command-dock{top:8px;right:8px}.command-stack,.chat-card{min-inline-size:100%;max-inline-size:100%}.command-panel-switch{width:auto}.switch-btn.btn.ghost{width:1.85rem;min-width:1.85rem;height:1.85rem;min-height:1.85rem}.switch-btn.btn.ghost.active{width:2rem;min-width:2rem;height:2rem;min-height:2rem}.chat-head small,.deck-head small{display:none}.hud-label{font-size:.88em}}@media(orientation:portrait){.orientation-lock{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at top,rgba(190,231,220,.28),transparent 42%),radial-gradient(circle at 20% 20%,rgba(255,226,183,.22),transparent 30%),#f7f5eff5}.app-root>:not(.orientation-lock){display:none!important}}
