html,body,#game{width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;background:#08070a;position:relative;box-sizing:border-box;overscroll-behavior:none;touch-action:none;-webkit-text-size-adjust:100%;-webkit-user-select:none;user-select:none}body{font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#game{width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}canvas{display:block;image-rendering:auto;touch-action:none}:fullscreen #game,:-webkit-full-screen #game{width:100vw;height:100vh;padding:0}#site-links{position:fixed;left:50%;bottom:3px;transform:translate(-50%);z-index:20;display:flex;gap:14px;padding:2px 10px;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:11px;opacity:.5;pointer-events:auto}#site-links a{color:#c9b878;text-decoration:none}#site-links a:hover{color:#f7e9bb;text-decoration:underline}@media(orientation:portrait)and (max-width:900px){#site-links{display:none}}#rotate-hint{display:none}@media(orientation:portrait)and (max-width:900px){#rotate-hint{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;color:#f6f0df;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:18px;line-height:1.5;background:#08070a}#rotate-hint .rotate-hint-icon{font-size:46px}}.commander-chat-panel{--chat-scale: 1;--commander-accent: #ff604f;--commander-accent-soft: rgba(255, 96, 79, .42);--commander-panel-top: rgba(20, 12, 15, .42);--commander-panel-bottom: rgba(7, 17, 24, .38);position:fixed;z-index:30;box-sizing:border-box;display:grid;grid-template-rows:calc(56px * var(--chat-scale)) 1fr calc(32px * var(--chat-scale));gap:calc(5px * var(--chat-scale));padding:calc(7px * var(--chat-scale));color:#f6f0df;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;background:linear-gradient(180deg,var(--commander-panel-top),var(--commander-panel-bottom));border:1px solid var(--commander-accent-soft);box-shadow:0 0 0 1px #08070a38,0 8px 20px #0000002e;pointer-events:auto;backdrop-filter:blur(1.5px);transition:opacity .16s ease,height .16s ease}.commander-chat-panel.is-collapsed{grid-template-rows:1fr;gap:0;background:linear-gradient(180deg,#140c0f4d,#07111842);border-color:#c9b87857}.commander-chat-panel.high-contrast{color:#fff8dc;background:#040508e0;border-color:#ffe69ae6;backdrop-filter:none}.commander-chat-panel.high-contrast.is-collapsed{background:#040508d1;border-color:#ffe69ac7}.commander-chat-panel:hover,.commander-chat-panel:focus-within{opacity:1}.commander-chat-toggle{position:absolute;top:calc(4px * var(--chat-scale));right:calc(5px * var(--chat-scale));z-index:2;width:calc(24px * var(--chat-scale));height:calc(20px * var(--chat-scale));color:#f7e9bb;font:700 calc(13px * var(--chat-scale)) "Apple SD Gothic Neo","Noto Sans KR",sans-serif;line-height:1;background:#07111885;border:1px solid rgba(141,231,255,.45);cursor:pointer}.commander-chat-head{min-width:0;display:grid;grid-template-columns:calc(52px * var(--chat-scale)) 1fr;gap:calc(8px * var(--chat-scale));align-items:center}.commander-chat-portrait{width:calc(50px * var(--chat-scale));height:calc(50px * var(--chat-scale));border:1px solid var(--commander-accent);background:linear-gradient(#4b0d1214,#0a080c0a),url(/assets/ui/commander_portrait_focus.png) center / contain no-repeat;image-rendering:auto}.commander-chat-meta{min-width:0}.commander-chat-name,.commander-chat-title,.commander-chat-status,.commander-chat-mood,.commander-chat-latest{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #08070a}.commander-chat-panel.high-contrast .commander-chat-name,.commander-chat-panel.high-contrast .commander-chat-title,.commander-chat-panel.high-contrast .commander-chat-status,.commander-chat-panel.high-contrast .commander-chat-mood,.commander-chat-panel.high-contrast .commander-chat-latest,.commander-chat-panel.high-contrast .commander-chat-line,.commander-chat-panel.high-contrast .commander-chat-speaker{text-shadow:0 1px 0 #000,0 0 3px #000}.commander-chat-name{color:#ffe1c2;font-size:calc(13px * var(--chat-scale));font-weight:700;text-shadow:0 1px 2px #08070a,0 0 8px var(--commander-accent-soft)}.commander-chat-title,.commander-chat-status,.commander-chat-mood{font-size:calc(10px * var(--chat-scale))}.commander-chat-title{color:#d8c486}.commander-chat-mood{color:#ff9b73}.commander-chat-status{color:#83ecff}.commander-chat-status:before{content:"";display:inline-block;width:calc(6px * var(--chat-scale));height:calc(6px * var(--chat-scale));margin-right:calc(5px * var(--chat-scale));border-radius:50%;background:#83ecff;box-shadow:0 0 calc(6px * var(--chat-scale)) #83ecffa6;vertical-align:middle}.commander-chat-panel[data-connection=healthy] .commander-chat-status,.commander-chat-panel[data-connection=connected] .commander-chat-status{color:#aee7b0}.commander-chat-panel[data-connection=healthy] .commander-chat-status:before,.commander-chat-panel[data-connection=connected] .commander-chat-status:before{background:#6fe086;box-shadow:0 0 calc(6px * var(--chat-scale)) #6fe086a8}.commander-chat-panel[data-connection=offline] .commander-chat-status,.commander-chat-panel[data-connection=misconfigured] .commander-chat-status,.commander-chat-panel[data-connection=health-failed] .commander-chat-status,.commander-chat-panel[data-connection=error] .commander-chat-status{color:#ffb15a}.commander-chat-panel[data-connection=offline] .commander-chat-status:before,.commander-chat-panel[data-connection=misconfigured] .commander-chat-status:before,.commander-chat-panel[data-connection=health-failed] .commander-chat-status:before,.commander-chat-panel[data-connection=error] .commander-chat-status:before{background:#ff9b73;box-shadow:0 0 calc(6px * var(--chat-scale)) #ff9b73a8}.commander-chat-latest{display:none;max-width:calc(190px * var(--chat-scale));margin-top:calc(2px * var(--chat-scale));color:#eef8ff;font-size:calc(10px * var(--chat-scale))}.commander-chat-panel.is-collapsed .commander-chat-title,.commander-chat-panel.is-collapsed .commander-chat-status,.commander-chat-panel.is-collapsed .commander-chat-mood{display:none}.commander-chat-panel.is-collapsed .commander-chat-latest{display:block}.commander-chat-panel.is-collapsed .commander-chat-log,.commander-chat-panel.is-collapsed .commander-chat-compose{display:none}.commander-chat-panel[data-mood=furious] .commander-chat-mood,.commander-chat-panel[data-mood=insane] .commander-chat-mood{color:#ff604f}.commander-chat-panel[data-mood=tactical] .commander-chat-mood{color:#ffd15a}.commander-chat-log{min-height:0;overflow-y:auto;padding:calc(5px * var(--chat-scale));background:#08070a3d;border:1px solid rgba(168,139,86,.34);scrollbar-color:rgba(141,231,255,.72) rgba(8,7,10,.42);scrollbar-width:thin}.commander-chat-line{display:grid;grid-template-columns:auto 1fr;gap:calc(5px * var(--chat-scale));margin-bottom:calc(5px * var(--chat-scale));font-size:calc(11px * var(--chat-scale));line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.commander-chat-line.player{color:#dff9ff}.commander-chat-speaker{color:#d8c486;font-weight:700}.commander-chat-speaker:not(:empty):after{content:":"}.commander-chat-input{box-sizing:border-box;width:100%;height:100%;padding:0 calc(10px * var(--chat-scale));color:#f7e9bb;font:calc(12px * var(--chat-scale)) "Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",serif;background:#0711187a;border:1px solid rgba(93,233,255,.56);outline:none;-webkit-user-select:text;user-select:text}.commander-chat-panel.high-contrast .commander-chat-log,.commander-chat-panel.high-contrast .commander-chat-input{background:#000000b8;border-color:#8de7ffe6}@media(max-width:760px),(max-height:430px){.commander-chat-panel{opacity:.92}.commander-chat-panel:not(.is-collapsed){max-width:calc(100vw - 12px);max-height:calc(100vh - 12px)}}.commander-chat-input:focus{border-color:#8de7ff;box-shadow:0 0 0 1px #8de7ff59}
