:root{color-scheme:dark;font-family:Malgun Gothic,system-ui,sans-serif;--ui-space-padXs: 4px;--ui-space-padSm: 8px;--ui-space-padMd: 12px;--ui-space-padLg: 20px;--ui-space-gapSm: 6px;--ui-space-gapMd: 8px;--ui-space-gapLg: 12px;--ui-radius-sm: 10px;--ui-radius-md: 12px;--ui-radius-lg: 16px;--ui-font-xs: 11px;--ui-font-sm: 12px;--ui-font-md: 13px;--ui-font-lg: 14px;--ui-font-xl: 17px;--ui-font-title: 20px;--ui-color-text: #f4f6ff;--ui-color-textMuted: #9aa3c7;--ui-color-textDim: #6f7694;--ui-color-accent: #ffd27a;--ui-color-accentInk: #1a1200;--ui-color-surface: rgba(8, 12, 24, .75);--ui-color-surfaceStrong: rgba(16, 22, 40, .96);--ui-color-surfaceDock: rgba(40, 52, 84, .95);--ui-color-surfaceMenu: rgba(10, 14, 28, .82);--ui-color-btnPrimary: rgba(255, 181, 71, .95);--ui-color-btnDefault: rgba(48, 64, 104, .95);--ui-color-border: rgba(255, 255, 255, .18);--ui-color-borderStrong: rgba(255, 255, 255, .2);--ui-color-modalScrim: rgba(6, 8, 16, .72);--ui-dock-columns: 3}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#0b1020;color:var(--ui-color-text);overflow:hidden}#app{position:relative;width:100%;height:100%}#game{width:100%;height:100%}#screen-overlay{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;display:block;padding:0;margin:0}#ui-safe-frame{pointer-events:none;position:absolute;left:0;top:0;width:0;height:0;box-sizing:border-box;overflow:hidden}#ui-safe-frame .hud-chip{pointer-events:none;background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-sm);padding:var(--ui-space-padSm) var(--ui-space-padMd);font-size:var(--ui-font-lg);letter-spacing:.02em}.menu-panel{pointer-events:auto;display:flex;flex-direction:column;gap:var(--ui-space-gapMd);align-items:stretch;min-width:min(320px,88%);max-width:420px;width:88%;margin-top:0;padding:var(--ui-space-padLg);border-radius:var(--ui-radius-lg);background:var(--ui-color-surfaceMenu);border:1px solid var(--ui-color-border)}.menu-row{display:flex;flex-direction:row;align-items:stretch;gap:8px}.menu-row .menu-btn{flex:1 1 auto;min-width:0}.menu-btn{min-height:48px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-borderStrong);background:var(--ui-color-btnDefault);color:var(--ui-color-text);font-size:var(--ui-font-xl);font-weight:700;cursor:pointer}.menu-btn-primary{background:var(--ui-color-btnPrimary);color:var(--ui-color-accentInk);border-color:#ffdca080}.menu-empty{margin:0;text-align:center;color:var(--ui-color-textMuted);font-size:var(--ui-font-md)}.menu-copy{flex:0 0 auto;min-width:64px;min-height:48px;padding:0 12px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-borderStrong);background:#ffffff0f;color:var(--ui-color-textMuted);font-size:var(--ui-font-md);font-weight:600;cursor:pointer;white-space:nowrap}.menu-copy:hover{color:var(--ui-color-text);border-color:#ffdca059}.menu-copy-ok{color:#b8f0c8;border-color:#78dca073}.ffa-top{pointer-events:none;width:100%;display:flex;flex-direction:column;gap:var(--ui-space-gapSm)}.ffa-top-row{display:flex;flex-direction:row;align-items:flex-start;gap:var(--ui-space-gapSm);width:100%}.ffa-top-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--ui-space-gapSm)}.ffa-minimap-wrap{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;align-items:center}.ffa-minimap{width:112px;height:112px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-color-border);background:#152033;display:block;pointer-events:none;touch-action:none}.ffa-zoom-btns{display:flex;gap:4px;pointer-events:auto}.ffa-zoom-btn{width:36px;height:28px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-color-border);background:var(--ui-color-surfaceDock);color:var(--ui-color-text);font-size:16px;font-weight:800;line-height:1;cursor:pointer;padding:0}.ffa-zoom-btn:active{transform:scale(.92)}.ffa-ranks{display:flex;gap:var(--ui-space-gapMd);flex-wrap:wrap;font-size:var(--ui-font-sm);background:var(--ui-color-surface);border-radius:var(--ui-radius-sm);padding:var(--ui-space-padSm) 10px}.ffa-ranks .me{color:var(--ui-color-accent);font-weight:700}.ffa-meters{background:var(--ui-color-surface);border-radius:var(--ui-radius-sm);padding:var(--ui-space-padSm) 10px;font-size:var(--ui-font-md);line-height:1.35;display:flex;flex-direction:column;gap:4px}.ffa-meter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ffa-stat{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.ffa-stat b{font-weight:700}.ffa-stat small{font-size:var(--ui-font-xs);color:var(--ui-color-textMuted);font-weight:500}.ffa-res-svg{width:14px;height:14px;flex:0 0 auto;display:block}.ffa-msg{color:var(--ui-color-textMuted);font-size:var(--ui-font-sm)}.ffa-mid{pointer-events:none;flex:1;display:flex;justify-content:center;align-items:flex-start;padding-top:var(--ui-space-padSm);position:relative;min-height:0}.ffa-field-hit{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;touch-action:none;z-index:1;cursor:crosshair}.ffa-dock{display:flex;flex-direction:column;gap:6px;width:100%;padding:var(--ui-space-padSm) 0 4px}.ffa-dock-grid{display:grid;grid-template-columns:repeat(var(--ui-dock-columns, 3),1fr);gap:var(--ui-space-gapMd);width:100%}.ffa-dock-toast{align-self:center;max-width:92%;padding:6px 12px;border-radius:var(--ui-radius-sm);background:#14101ceb;border:1px solid rgba(255,120,120,.55);color:#ffd0d0;font-size:var(--ui-font-md);font-weight:700;text-align:center;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}.ffa-dock-toast.is-show{opacity:1;transform:translateY(0)}.ffa-dock-toast[hidden]{display:none!important}.ffa-summon{min-height:56px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-border);background:var(--ui-color-surfaceDock);color:var(--ui-color-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:var(--ui-font-lg);font-weight:700;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ffa-summon-icon{width:28px;height:28px;image-rendering:pixelated;image-rendering:crisp-edges}.ffa-summon:disabled{opacity:.4;cursor:default}.ffa-summon.is-press{transform:scale(.92)}.ffa-summon.is-ok{border-color:#7ec8a3;box-shadow:0 0 0 2px #7ec8a373}.ffa-summon.is-queued{border-color:#ffd27a;box-shadow:0 0 0 2px #ffd27a66}.ffa-summon.is-fail{border-color:#e07070;box-shadow:0 0 0 2px #e0707073;animation:ffa-summon-shake .28s ease}@keyframes ffa-summon-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.ffa-summon small{font-size:var(--ui-font-xs);font-weight:500;color:#b7c0e0}.ffa-summon-cost{display:inline-flex;align-items:center;gap:3px}.ffa-summon-cost .ffa-res-svg{width:12px;height:12px}.ffa-death{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--ui-color-modalScrim)}.ffa-death[hidden]{display:none!important}.ffa-death-card{width:min(320px,88%);background:var(--ui-color-surfaceStrong);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);padding:var(--ui-space-padLg);display:flex;flex-direction:column;gap:10px}.ffa-death-card h2{margin:0;font-size:var(--ui-font-title);color:var(--ui-color-accent)}.ffa-death-card pre{margin:0;font-family:Malgun Gothic,sans-serif;font-size:var(--ui-font-md);color:#d7def7;white-space:pre-wrap}#mobile-controls{display:none!important;position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}body:has(#game[data-mobile-controls=platformer]) #mobile-controls{display:block!important}.mc-stick{pointer-events:auto;position:absolute;left:max(16px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:120px;height:120px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);touch-action:none}.mc-stick-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#ffb547e6}.mc-actions{pointer-events:auto;position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:12px;touch-action:none}.mc-btn{min-width:72px;min-height:72px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#28385cd9;color:#f4f6ff;font-size:14px;font-weight:700}.mc-btn-primary{background:#208c60e6}html[data-input-mode=keyboard] #mobile-controls{display:none}.df-top{pointer-events:auto;width:100%;display:flex;flex-direction:column;gap:6px;padding:8px 10px 0}.df-top-row{display:flex;flex-direction:row;align-items:center;gap:8px}.df-chip{background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-sm);padding:6px 10px;font-size:var(--ui-font-md);font-weight:700}.df-chip-hq{color:#e0b8ff}.df-top-actions{margin-left:auto;display:flex;gap:6px}.df-icon-btn{pointer-events:auto;border:1px solid var(--ui-color-borderStrong);background:var(--ui-color-btnDefault);color:var(--ui-color-text);border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700;cursor:pointer}.df-msg{font-size:var(--ui-font-sm);color:var(--ui-color-textMuted);min-height:1.2em}.df-mid{flex:1;pointer-events:none}.df-dock{pointer-events:auto;width:100%;padding:8px 10px 12px}.df-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.df-card{min-height:64px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-borderStrong);background:#304068f2;color:var(--ui-color-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-weight:700}.df-card-name{font-size:12px}.df-card-cost{font-size:14px;color:var(--ui-color-accent)}.df-card-selected{background:#ffb547f2;color:#1a1200;border-color:#ffdca099}.df-card-selected .df-card-cost{color:#1a1200}.df-card-disabled{opacity:.45}.df-modal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--ui-color-modalScrim);pointer-events:auto}.df-modal[hidden]{display:none!important}.df-result-card{width:min(320px,88%);background:var(--ui-color-surfaceStrong);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);padding:var(--ui-space-padLg);display:flex;flex-direction:column;gap:10px}.df-result-card h2{margin:0;color:var(--ui-color-accent)}.df-result-sub{margin:0;color:var(--ui-color-textMuted);font-size:var(--ui-font-sm)}.df-result-card pre{margin:0;white-space:pre-wrap;font-family:Malgun Gothic,sans-serif;font-size:var(--ui-font-md);color:#d7def7}
