:root{--color-bg: #0a0a12;--color-bg-secondary: #14142a;--color-bg-card: #1a1a35;--color-bg-card-hover: #222250;--color-text: #e0e0e8;--color-text-secondary: #9090a8;--color-text-muted: #606078;--color-accent: #6a5aff;--color-accent-hover: #7b6dff;--color-accent-glow: rgba(106, 90, 255, .3);--color-danger: #ff4a5a;--color-success: #3ae88a;--color-warning: #ffb83a;--color-gold: #ffd700;--color-hp: #3ae88a;--color-hp-low: #ff4a5a;--color-sp: #5ac8ff;--color-rarity-1: #888;--color-rarity-2: #3ae88a;--color-rarity-3: #5ac8ff;--color-rarity-4: #b06aff;--color-rarity-5: #ffd700;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 32px;--app-max-width: 480px;--tap-min-size: 44px;--border-radius: 8px;--border-radius-sm: 4px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--battle-seal: 24px;--battle-enemy: 140px;--battle-message: 72px;--battle-ally: 180px;--battle-skill: 100px;--battle-ultimate: 56px}@media(max-width:359px){:root{--font-size-xs: 9px;--font-size-sm: 11px;--font-size-base: 13px;--space-sm: 6px;--space-md: 10px;--space-lg: 14px;--app-max-width: 100%}}@media(min-width:480px){:root{--app-max-width: 480px}}@media(min-width:768px){:root{--app-max-width: 640px;--font-size-base: 15px;--font-size-md: 17px;--font-size-lg: 22px;--space-lg: 20px;--space-xl: 28px}}@media(min-width:1024px){:root{--app-max-width: 720px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);min-height:100dvh;overflow-x:hidden;line-height:1.5}#app{max-width:var(--app-max-width);margin:0 auto;min-height:100dvh;position:relative;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min-size);padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--border-radius);font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast);user-select:none;-webkit-user-select:none;width:100%;text-align:center}.btn+.btn{margin-top:var(--space-sm)}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-accent)}.btn-outline{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-text-muted)}.btn-outline:hover{border-color:var(--color-text-secondary)}.btn-small{min-height:32px;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);width:auto}.btn-large{min-height:56px;font-size:var(--font-size-md);font-weight:700}.btn-disabled,.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.input-text{width:100%;min-height:var(--tap-min-size);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-md);outline:none}.input-text:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow)}.notification{position:fixed;bottom:var(--space-xl);left:50%;transform:translate(-50%);max-width:calc(var(--app-max-width) - var(--space-xl) * 2);padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius);font-size:var(--font-size-sm);z-index:9999;transition:opacity var(--transition-normal);text-align:center}.notification.hidden{opacity:0;pointer-events:none}.notification-info{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-accent)}.notification-warn{background:#2a2000;color:var(--color-warning);border:1px solid var(--color-warning)}.notification-error{background:#2a0010;color:var(--color-danger);border:1px solid var(--color-danger)}.transition-out-fade{animation:fadeOut var(--transition-normal) forwards}.transition-in-fade{animation:fadeIn var(--transition-normal) forwards}.transition-out-slide-left{animation:slideOutLeft var(--transition-normal) forwards}.transition-in-slide-left{animation:slideInRight var(--transition-normal) forwards}.transition-out-slide-right{animation:slideOutRight var(--transition-normal) forwards}.transition-in-slide-right{animation:slideInLeft var(--transition-normal) forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-30px);opacity:0}}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(30px);opacity:0}}@keyframes slideInLeft{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}.settings-slider{width:100%;accent-color:var(--color-accent);height:24px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:2px}@media(max-width:359px){.btn{min-height:40px;font-size:var(--font-size-sm)}.btn-large{min-height:48px}.screen{padding:var(--space-sm)}.screen-title{font-size:var(--font-size-lg)}}@media(min-width:768px){.screen{padding:var(--space-xl)}.btn{padding:var(--space-sm) var(--space-lg)}.btn-large{min-height:60px;font-size:var(--font-size-md)}}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible,.base-menu-item:focus-visible,.skill-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--color-accent-glow)}*:focus:not(:focus-visible){outline:none}.screen{padding:var(--space-lg);min-height:100dvh;display:flex;flex-direction:column;gap:var(--space-md)}.screen-title{font-size:var(--font-size-xl);font-weight:700;text-align:center;margin-bottom:var(--space-sm)}.title-screen{justify-content:center;align-items:center;text-align:center}.title-logo{font-size:clamp(1.5rem,6vw,2.2rem);font-weight:900;color:#e53935;text-shadow:0 0 20px rgba(229,57,53,.4),0 2px 4px rgba(0,0,0,.5);margin-bottom:var(--space-xs);letter-spacing:.1em}.title-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-2xl)}.title-tap-prompt{color:var(--color-text-secondary);font-size:var(--font-size-base);letter-spacing:.15em;animation:title-tap-pulse 2s ease-in-out infinite;cursor:pointer}@keyframes title-tap-pulse{0%,to{opacity:.5}50%{opacity:1}}.title-menu{display:flex;flex-direction:column;gap:var(--space-sm);width:100%;max-width:280px}.title-menu-fadein{animation:title-menu-appear .5s ease-out}@keyframes title-menu-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.slot-list{display:flex;flex-direction:column;gap:var(--space-sm)}.slot-card{background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);padding:var(--space-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.slot-card:hover{border-color:var(--color-accent);background:var(--color-bg-card-hover)}.slot-header{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.slot-info{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.slot-name{font-weight:700;font-size:var(--font-size-md)}.slot-level,.slot-day{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.slot-time{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-left:auto}.slot-empty .slot-info{color:var(--color-text-muted);justify-content:center}.creation-screen{align-items:center}.creation-progress,.creation-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.preset-names{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:center;margin:var(--space-sm) 0}.graphic-section{width:100%;margin-bottom:var(--space-md)}.graphic-section-label{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.graphic-section-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.graphic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);width:100%}.graphic-card{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-sm);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.graphic-card:hover{border-color:var(--color-text-muted)}.graphic-card.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover);box-shadow:0 0 8px var(--color-accent-glow)}.graphic-thumb{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#ffffff0d}.graphic-thumb-icon{width:64px;height:64px;border-radius:50%}.graphic-thumb-portrait{width:80px;height:80px;border-radius:12px}.graphic-emoji{font-size:2rem;line-height:1}.graphic-preview{width:100%;height:100%;object-fit:cover;border-radius:inherit}.graphic-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.graphic-thumb-row{display:flex;gap:var(--space-sm);align-items:center;justify-content:center}.graphic-reset-btn{margin-top:var(--space-xs);font-size:var(--font-size-xs)}.personality-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.personality-card{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.personality-card:hover{border-color:var(--color-text-muted)}.personality-card.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover);box-shadow:0 0 8px var(--color-accent-glow)}.personality-thumb{width:56px;height:56px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.personality-emoji{font-size:1.75rem;line-height:1}.personality-name{font-weight:700;font-size:var(--font-size-base)}.personality-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.passive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.passive-card{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.passive-card:hover{border-color:var(--color-text-muted)}.passive-card.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover);box-shadow:0 0 8px var(--color-accent-glow)}.passive-thumb{width:48px;height:48px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.passive-emoji{font-size:1.5rem;line-height:1}.passive-name{font-weight:700;font-size:var(--font-size-sm)}.passive-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.passive-source-badge{font-size:.65rem;padding:1px 4px;border-radius:3px;margin-right:4px}.passive-source-innate{background:var(--color-bg-secondary, #333);color:var(--color-text-secondary, #aaa)}.passive-source-learned{background:#1a4a2a;color:#4caf50}.ultimate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.ultimate-card{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.ultimate-card:hover{border-color:var(--color-text-muted)}.ultimate-card.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover);box-shadow:0 0 8px var(--color-accent-glow)}.ultimate-thumb{width:48px;height:48px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.ultimate-emoji{font-size:1.5rem;line-height:1}.ultimate-name{font-weight:700;font-size:var(--font-size-sm)}.ultimate-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.ultimate-info{font-size:var(--font-size-xs);color:var(--color-success)}.bonus-weapon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);width:100%}.bonus-weapon-card{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-sm);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.bonus-weapon-card:hover{border-color:var(--color-text-muted)}.bonus-weapon-card.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover);box-shadow:0 0 8px var(--color-accent-glow)}.weapon-thumb{width:44px;height:44px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.weapon-emoji{font-size:1.25rem;line-height:1}.weapon-name{font-weight:700;font-size:var(--font-size-xs)}.class-grid,.origin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.class-card,.origin-card{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-md);cursor:pointer;transition:border-color var(--transition-fast);text-align:center}.class-card:hover,.origin-card:hover{border-color:var(--color-text-muted)}.class-card.selected,.origin-card.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover);box-shadow:0 0 8px var(--color-accent-glow)}.class-name,.origin-name{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.class-weapons,.origin-bonus{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.class-bonus{font-size:var(--font-size-xs);color:var(--color-success);margin-top:var(--space-xs)}.creation-nav{display:flex;gap:var(--space-sm);width:100%}.creation-nav .btn{flex:1}.creation-summary{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-lg);width:100%}.summary-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid var(--color-bg)}.stats-preview{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);width:100%}.stats-title{font-weight:700;margin-bottom:var(--space-sm);text-align:center}.stat-row{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:2px 0}.starter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.starter-card{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-md);cursor:pointer;transition:border-color var(--transition-fast)}.starter-card:hover{border-color:var(--color-text-muted)}.starter-card.selected{border-color:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow)}.starter-name{font-weight:700;font-size:var(--font-size-base)}.starter-role{font-size:var(--font-size-xs);color:var(--color-accent);margin-bottom:var(--space-xs)}.starter-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.starter-stats{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:monospace}.base-screen{gap:var(--space-lg)}.base-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--color-bg-card);border-radius:var(--border-radius)}.base-day{font-weight:700;font-size:var(--font-size-lg);color:var(--color-accent)}.base-name{font-size:var(--font-size-md)}.base-gold{color:var(--color-gold);font-weight:700}.base-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.base-menu-item{background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);padding:var(--space-lg);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);text-align:center;min-height:var(--tap-min-size);display:flex;flex-direction:column;justify-content:center;align-items:center}.base-menu-item:hover{border-color:var(--color-accent);background:var(--color-bg-card-hover)}.menu-label{font-weight:700;font-size:var(--font-size-base)}.menu-sublabel{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-xs)}.base-party{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.base-party-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.base-party-member{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-xs) 0;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-bg)}.base-party-member:last-child{border-bottom:none}.party-name{flex:1;font-weight:700}.party-substats{font-size:var(--font-size-xs);color:var(--color-text-dim);margin-top:2px}.ally-list-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-bottom:1px solid var(--color-border)}.ally-list-row:last-of-type{border-bottom:none}.ally-list-info{flex:1;min-width:0}.ally-list-name{font-weight:700;font-size:var(--font-size-base)}.ally-list-squad-badge{font-size:var(--font-size-xs);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:3px;padding:0 4px;margin-left:4px;font-weight:400}.ally-list-sub{font-size:var(--font-size-xs);color:var(--color-text-dim);margin-top:2px}.base-contamination{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);margin-top:var(--space-md)}.base-contamination-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.contamination-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;font-size:var(--font-size-sm)}.cont-region{min-width:4em}.cont-bar-wrap{flex:1;height:8px;background:var(--color-bg);border-radius:4px;overflow:hidden}.cont-bar{display:block;height:100%;border-radius:4px;transition:width .3s}.cont-label{min-width:5em;text-align:right;font-size:var(--font-size-xs)}.party-level{color:var(--color-accent)}.party-hp{color:var(--color-hp)}.party-sp{color:var(--color-sp)}.party-fatigue{font-size:var(--font-size-xs);min-width:3em}.settings-screen{gap:var(--space-lg)}.settings-row{display:flex;flex-direction:column;gap:var(--space-xs)}.settings-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.settings-value{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:right}.squad-edit-screen{gap:var(--space-md)}.squad-tabs{display:flex;gap:var(--space-xs)}.squad-tab{flex:1;padding:var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;text-align:center;font-size:var(--font-size-sm)}.squad-tab.active{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.squad-current,.squad-available{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.squad-section-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.squad-member-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xs);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-bg);cursor:default}.squad-member-row:last-child{border-bottom:none}.squad-member-row.empty{color:var(--color-text-muted);font-style:italic}.squad-member-row.available{cursor:pointer;transition:background var(--transition-fast)}.squad-member-row.available:hover{background:#ffffff0d}.squad-member-row.disabled{opacity:.4;pointer-events:none}.member-name{flex:1;font-weight:700}.member-level{color:var(--color-accent);min-width:3em}.member-fatigue{min-width:3.5em;font-size:var(--font-size-xs)}.member-tags,.member-stats,.member-fixed{font-size:var(--font-size-xs);color:var(--color-text-muted)}.btn-remove{padding:2px 8px;font-size:var(--font-size-xs);background:transparent;border:1px solid var(--color-text-muted);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer}.btn-remove:hover{border-color:#e53e3e;color:#e53e3e}.squad-empty-msg{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--space-sm);text-align:center}.squad-tab.locked{opacity:.4;cursor:not-allowed}.squad-lock-message{background:var(--color-bg-card);border:1px dashed var(--color-text-muted);border-radius:var(--border-radius);padding:var(--space-lg);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.squad-presets{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.preset-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-bg)}.preset-row:last-child{border-bottom:none}.preset-name{flex:1;font-weight:700}.preset-members{color:var(--color-text-muted);font-size:var(--font-size-xs)}.btn-small{padding:2px 8px;font-size:var(--font-size-xs);background:transparent;border:1px solid var(--color-text-muted);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer}.btn-small:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-small.btn-danger:hover{border-color:#e53e3e;color:#e53e3e}.squad-preset-lock{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center;padding:var(--space-sm)}.base-facility{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.base-facility-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.base-facility-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.medical-screen{gap:var(--space-md)}.medical-info{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.medical-level{font-weight:700;color:var(--color-accent)}.medical-usage{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.medical-heal{font-size:var(--font-size-sm);color:var(--color-success)}.medical-list{display:flex;flex-direction:column;gap:var(--space-xs)}.medical-row{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.medical-name{flex:1;font-weight:700;font-size:var(--font-size-base)}.medical-char-level{color:var(--color-accent);font-size:var(--font-size-sm)}.medical-fatigue{font-size:var(--font-size-sm);font-weight:700;min-width:60px;text-align:right}.medical-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-lg)}.training-screen{gap:var(--space-md)}.training-selector{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.training-char-btn{background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--border-radius-sm);padding:var(--space-sm) var(--space-md);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast)}.training-char-btn:hover{border-color:var(--color-text-muted)}.training-char-btn.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover)}.training-section{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.training-section-title{font-weight:700;font-size:var(--font-size-base);color:var(--color-accent);margin-bottom:var(--space-sm);border-bottom:1px solid var(--color-text-muted);padding-bottom:var(--space-xs)}.training-equipped-slots{display:flex;flex-direction:column;gap:var(--space-xs)}.training-slot{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--border-radius-sm)}.training-slot-name{font-size:var(--font-size-sm);font-weight:700}.training-slot-empty{font-size:var(--font-size-sm);color:var(--color-text-muted)}.training-skill-list{display:flex;flex-direction:column;gap:var(--space-xs)}.training-skill-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-bg)}.training-skill-row:last-child{border-bottom:none}.training-skill-info{flex:1;display:flex;flex-direction:column;gap:2px}.training-skill-name{font-weight:700;font-size:var(--font-size-sm)}.training-skill-locked{color:var(--color-text-muted);font-style:italic}.training-skill-level{font-size:var(--font-size-xs);color:var(--color-accent)}.training-skill-req{font-size:var(--font-size-xs);color:var(--color-success)}.training-req-locked{color:var(--color-danger)}.training-skill-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.training-skill-actions{display:flex;gap:var(--space-xs);align-items:center}.training-equipped-label{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:700}.training-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-md);font-size:var(--font-size-sm)}.purification-screen{gap:var(--space-md)}.purification-info{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.purification-level{font-weight:700;color:var(--color-accent)}.purification-usage{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.purification-amount{font-size:var(--font-size-sm);color:var(--color-success)}.purification-list{display:flex;flex-direction:column;gap:var(--space-sm)}.purification-row{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.purification-region-info{flex:0 0 auto;min-width:80px}.purification-region-name{font-weight:700;font-size:var(--font-size-sm)}.purification-stage{font-size:var(--font-size-xs);font-weight:700}.purification-bar-wrapper{flex:1;display:flex;align-items:center;gap:var(--space-xs)}.purification-bar{flex:1;height:8px;background:var(--color-bg);border-radius:4px;overflow:hidden}.purification-bar-fill{height:100%;border-radius:4px;transition:width var(--transition-normal)}.purification-bar-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:42px;text-align:right}.purification-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-lg)}.interim-quick-menu{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.interim-quick-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:700}@media(min-width:600px){.starter-grid,.class-grid,.base-facility-menu{grid-template-columns:repeat(4,1fr)}}.inventory-screen{gap:var(--space-md)}.inventory-tabs{display:flex;gap:var(--space-xs)}.inventory-tab{flex:1;padding:var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;text-align:center;font-size:var(--font-size-sm);transition:background var(--transition-fast),border-color var(--transition-fast)}.inventory-tab.active{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.inventory-sort-bar{display:flex;gap:var(--space-xs);justify-content:flex-end}.inventory-sort-bar .btn-small.active{border-color:var(--color-accent);color:var(--color-accent)}.inventory-count{text-align:right;font-size:var(--font-sm);color:var(--color-text-secondary);padding:2px 0}.inventory-count-full{color:#ff6b6b;font-weight:700}.inventory-list{display:flex;flex-direction:column;gap:var(--space-xs)}.inventory-item{background:var(--color-bg-card);border:1px solid transparent;border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.inventory-item:hover{border-color:var(--color-text-muted)}.inventory-item.selected{border-color:var(--color-accent);background:var(--color-bg-card-hover)}.inventory-item.base-item{border-color:var(--color-accent);border-width:2px}.item-stars{font-size:var(--font-size-sm);min-width:4em}.item-name{flex:1;font-weight:700;min-width:6em}.item-equipped-tag{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:400}.item-info{color:var(--color-text-secondary);font-size:var(--font-size-xs);min-width:4em}.item-traits{width:100%;font-size:var(--font-size-xs);color:var(--color-text-muted);padding-left:var(--space-md)}.item-lock{background:transparent;border:none;cursor:pointer;font-size:var(--font-size-base);padding:2px;min-width:1.5em;text-align:center}.item-lock.locked{opacity:1}.inventory-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-lg);font-size:var(--font-size-sm)}.material-list{display:flex;flex-direction:column;gap:var(--space-xs)}.material-item{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm)}.material-name{font-weight:700}.material-qty{color:var(--color-text-secondary)}.consumable-desc{width:100%;font-size:var(--font-xs);color:var(--color-text-secondary);margin-top:2px}.material-item:has(.consumable-desc){flex-wrap:wrap}.workshop-screen{gap:var(--space-md)}.workshop-tabs{display:flex;gap:var(--space-xs)}.workshop-section-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--space-sm);border-bottom:1px solid var(--color-text-muted);padding-bottom:var(--space-xs)}.workshop-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-md);font-size:var(--font-size-sm)}.workshop-result{background:var(--color-bg-card);border:1px solid var(--color-accent);border-radius:var(--border-radius);padding:var(--space-md);text-align:center;color:var(--color-accent);font-weight:700;font-size:var(--font-size-sm)}.synthesis-section,.decomp-section{display:flex;flex-direction:column;gap:var(--space-md)}.synth-preview{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);color:var(--color-accent);font-size:var(--font-size-sm);text-align:center}.decomp-preview{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);font-size:var(--font-size-sm)}.decomp-material-row{color:var(--color-text-secondary);padding:2px 0}.equip-change-screen{gap:var(--space-md)}.equip-current-stats{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.equip-slot{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.equip-slot-header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.equip-slot-label{font-weight:700;font-size:var(--font-size-sm);color:var(--color-accent);min-width:3em}.equip-slot-current{flex:1;font-size:var(--font-size-sm)}.equip-slot-actions{display:flex;gap:var(--space-xs)}.equip-candidate-list{display:flex;flex-direction:column;gap:var(--space-xs);border-top:1px solid var(--color-text-muted);padding-top:var(--space-sm)}.equip-candidate-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--border-radius);flex-wrap:wrap;font-size:var(--font-size-sm)}.stat-comparison{width:100%;font-size:var(--font-size-xs);display:flex;gap:var(--space-sm);flex-wrap:wrap}.stat-up{color:var(--color-success);font-weight:700}.stat-down{color:var(--color-danger);font-weight:700}.stat-neutral{color:var(--color-text-muted)}.char-detail-screen{gap:var(--space-md)}.char-detail-tabs{display:flex;gap:var(--space-xs)}.char-stats{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.char-stats .stat-row{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:3px 0;border-bottom:1px solid var(--color-bg)}.char-stats .stat-row:last-child{border-bottom:none}.char-stats .stat-header{color:var(--color-accent);margin-top:var(--space-sm)}.char-equipment{display:flex;flex-direction:column;gap:var(--space-sm)}.char-skills{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.char-profile{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.char-profile .stat-row{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:3px 0}.facility-upgrade-section{background:#1a1a2e;border:1px solid #444;border-radius:8px;padding:12px;margin-bottom:16px}.facility-level{font-size:1.1em;font-weight:700;color:gold;margin-bottom:8px}.facility-current-effect{color:#aaa;font-size:.9em;margin-bottom:4px}.facility-next-effect{color:#4caf50;font-size:.9em;margin-bottom:8px}.facility-upgrade-cost{color:#ccc;font-size:.9em;margin-bottom:8px}.facility-upgrade-btn{width:100%;padding:8px;font-size:1em}.facility-upgrade-btn:disabled{opacity:.5;cursor:not-allowed}.facility-max-level{color:gold;font-size:.9em;text-align:center;padding:8px}.profile-section{display:flex;flex-direction:column;gap:12px}.profile-entry{background:#1a1a2e;border:1px solid #333;border-radius:6px;padding:10px}.profile-entry.locked{opacity:.6}.profile-entry-title{font-weight:700;color:gold;margin-bottom:6px;font-size:.95em}.profile-entry-text{color:#ccc;font-size:.9em;line-height:1.5}.profile-entry-text.locked-text{color:#666;font-style:italic}.profile-basic-info{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin-bottom:12px;font-size:.9em}.profile-basic-label{color:#888}.profile-basic-value{color:#ccc}.branch-section{background:linear-gradient(135deg,#1a1a3e,#2a1a2e);border:2px solid #ffd700;border-radius:10px;padding:14px;margin-bottom:16px}.branch-title{font-size:1.15em;font-weight:700;color:gold;margin-bottom:6px}.branch-desc{color:#aaa;font-size:.85em;margin-bottom:12px}.branch-choices{display:flex;gap:10px}.branch-choice-card{flex:1;background:#111;border:1px solid #555;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.branch-choice-card:hover{border-color:gold}.branch-choice-name{font-weight:700;color:#fff;font-size:1em}.branch-choice-desc{color:#aaa;font-size:.85em}.branch-choice-bonus{color:#4caf50;font-size:.85em}.branch-choice-skill{color:#2196f3;font-size:.85em}.branch-choice-btn{margin-top:auto;padding:6px;font-size:.9em}.branch-history{margin-bottom:12px;padding:8px;background:#1a1a2e;border-radius:6px}.branch-history-title{font-weight:700;color:gold;font-size:.9em;margin-bottom:6px}.branch-history-entry{color:#ccc;font-size:.85em;padding:2px 0 2px 12px;border-left:2px solid #555}.branch-pending-notice{color:gold;font-size:.9em;padding:8px;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);border-radius:6px;margin-bottom:12px;text-align:center}.event-screen{display:flex;flex-direction:column;min-height:100%;background:linear-gradient(180deg,#0a0a1a,#1a1a2e);padding:16px}.event-title{text-align:center;font-size:1.3em;font-weight:700;color:gold;padding:12px;border-bottom:1px solid #333;margin-bottom:20px}.event-dialogue-area{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px}.event-speaker{font-weight:700;color:#4caf50;font-size:1.1em;margin-bottom:8px}.event-speaker.narration{color:#888;font-style:italic}.event-text{color:#eee;font-size:1em;line-height:1.8;background:#0000004d;padding:16px;border-radius:8px;border:1px solid #333;min-height:80px}.event-next-btn{align-self:center;min-width:150px;margin-top:20px;padding:10px 24px;font-size:1.1em}.event-progress{text-align:center;color:#666;font-size:.8em;margin-top:8px}.shop-screen{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.shop-gold-display{background:var(--color-bg-card, #1a1a2e);border:1px solid rgba(255,215,0,.3);border-radius:var(--border-radius, 8px);padding:var(--space-md, 12px);text-align:center;font-size:1.2rem;color:#fbbf24;font-weight:700}.shop-tabs{display:flex;gap:var(--space-xs, 4px)}.shop-tabs .btn{flex:1;font-size:.85rem}.shop-sub-category{display:flex;gap:var(--space-xs, 4px);justify-content:center;margin-bottom:var(--space-sm, 8px)}.shop-sub-category .btn{font-size:.8rem;padding:4px 12px}.shop-content{display:flex;flex-direction:column;gap:var(--space-sm, 8px);flex:1;overflow-y:auto;max-height:50vh}.shop-item-list{display:flex;flex-direction:column;gap:var(--space-xs, 4px)}.shop-item-row{background:var(--color-bg-card, #1a1a2e);border:1px solid transparent;border-radius:var(--border-radius, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);display:flex;align-items:center;gap:var(--space-sm, 8px);flex-wrap:wrap;font-size:.85rem;transition:border-color .15s}.shop-item-row:hover{border-color:var(--color-text-muted, #666)}.shop-item-info{flex:1;min-width:0}.shop-item-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-item-desc{font-size:.75rem;color:var(--color-text-secondary, #999);margin-top:2px}.shop-item-price{color:#fbbf24;min-width:5em;text-align:right;font-weight:700}.shop-item-owned{font-size:.75rem;color:var(--color-text-muted, #666);min-width:4em;text-align:right}.shop-item-row .btn{font-size:.8rem;padding:4px 12px;white-space:nowrap}.sell-equip-row{background:var(--color-bg-card, #1a1a2e);border:1px solid transparent;border-radius:var(--border-radius, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);display:flex;align-items:center;gap:var(--space-sm, 8px);font-size:.85rem;transition:border-color .15s}.sell-equip-row:hover{border-color:var(--color-text-muted, #666)}.sell-equip-row.selected{border-color:#fbbf24;background:#ffd7000d}.sell-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#fbbf24;flex-shrink:0}.sell-equip-name{flex:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sell-equip-meta{font-size:.75rem;color:var(--color-text-secondary, #999)}.sell-equip-price{color:#fbbf24;min-width:4em;text-align:right}.sell-preview-bar{background:var(--color-bg-card, #1a1a2e);border:1px solid rgba(255,215,0,.4);border-radius:var(--border-radius, 8px);padding:var(--space-md, 12px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 12px)}.sell-preview-total{color:#fbbf24;font-weight:700;font-size:1rem}.sell-mat-row{background:var(--color-bg-card, #1a1a2e);border-radius:var(--border-radius, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);display:flex;align-items:center;gap:var(--space-sm, 8px);font-size:.85rem}.sell-mat-name{flex:1;font-weight:700}.sell-mat-qty{font-size:.75rem;color:var(--color-text-muted, #666)}.sell-mat-qty-input{width:50px;text-align:center;background:var(--color-bg, #0a0a1a);border:1px solid var(--color-text-muted, #666);border-radius:4px;color:var(--color-text, #e0e0e0);font-size:.85rem;padding:2px 4px}.sell-mat-unit-price{font-size:.75rem;color:var(--color-text-secondary, #999)}.sell-mat-total{color:#fbbf24;min-width:4em;text-align:right;font-weight:700}.shop-empty{text-align:center;color:var(--color-text-muted, #666);padding:var(--space-lg, 24px);font-size:.9rem}.shop-result-msg{background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:var(--border-radius, 8px);padding:var(--space-sm, 8px);text-align:center;color:#4ade80;font-size:.85rem;animation:fadeIn .3s ease}.rarity-common{color:#a0a0a0}.rarity-uncommon{color:#4ade80}.rarity-rare{color:#60a5fa}.rarity-epic{color:#c084fc}.rarity-legendary{color:#fbbf24}.trait-swap-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}.trait-swap-modal{background:var(--color-bg-secondary, #16162a);border:2px solid var(--color-accent, #6366f1);border-radius:var(--border-radius, 8px);padding:var(--space-lg, 24px);max-width:360px;width:90%;display:flex;flex-direction:column;gap:var(--space-md, 12px)}.trait-swap-title{font-weight:700;color:var(--color-accent, #6366f1);text-align:center;font-size:1rem}.trait-swap-section-label{font-size:.8rem;color:var(--color-text-secondary, #999);margin-bottom:4px}.trait-swap-current,.trait-swap-candidates{display:flex;flex-direction:column;gap:var(--space-xs, 4px)}.trait-swap-row{background:var(--color-bg-card, #1a1a2e);border:1px solid transparent;border-radius:4px;padding:var(--space-sm, 8px);cursor:pointer;font-size:.85rem;transition:border-color .15s}.trait-swap-row:hover{border-color:var(--color-accent, #6366f1)}.trait-swap-row.selected{border-color:var(--color-accent, #6366f1);background:#6366f11a}.trait-swap-row.trait-current-target{border-color:#ef4444;background:#ef44441a}.trait-swap-actions{display:flex;gap:var(--space-sm, 8px);justify-content:flex-end}.workshop-gate-info{background:#ffd70014;border:1px solid rgba(255,215,0,.25);border-radius:var(--border-radius, 8px);padding:var(--space-sm, 8px);font-size:.75rem;color:#fbbf24;text-align:center}.sell-equip-locked{opacity:.4;pointer-events:none}.sell-equip-lock-icon{color:#ef4444;font-size:.8rem}.codex-screen{display:flex;flex-direction:column;gap:var(--space-md, 12px);padding:var(--space-md, 12px)}.codex-tabs{display:flex;gap:var(--space-xs, 4px)}.codex-tabs .btn{flex:1;font-size:.85rem}.codex-completion{text-align:center;padding:var(--space-sm, 8px);color:var(--color-accent, #6366f1);font-weight:700;font-size:.95rem}.codex-completion-bar{width:100%;height:6px;background:var(--color-bg, #0a0a1a);border-radius:3px;overflow:hidden;margin-top:var(--space-xs, 4px)}.codex-completion-fill{height:100%;background:var(--color-accent, #6366f1);border-radius:3px;transition:width .3s ease}.codex-grid{display:flex;flex-direction:column;gap:var(--space-sm, 8px);flex:1;overflow-y:auto;max-height:55vh}.codex-card{background:var(--color-bg-card, #1a1a2e);border:1px solid var(--color-text-muted, #666);border-radius:var(--border-radius, 8px);padding:var(--space-md, 12px);cursor:pointer;transition:border-color .15s}.codex-card:hover{border-color:var(--color-accent, #6366f1)}.codex-card.locked{opacity:.3;cursor:default}.codex-card.locked:hover{border-color:var(--color-text-muted, #666)}.codex-card.expanded{border-color:var(--color-accent, #6366f1)}.codex-card-header{display:flex;justify-content:space-between;align-items:center}.codex-card-name{font-weight:700;color:var(--color-text, #e0e0e0)}.codex-card-level{font-size:.8rem;color:var(--color-text-secondary, #999)}.codex-card-meta{font-size:.8rem;color:var(--color-text-secondary, #999);margin-top:2px}.codex-rarity-tag{font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:3px;letter-spacing:.1em}.codex-rarity-rare{background:#ff408133;color:#ff4081;border:1px solid #ff4081}.codex-rarity-unique{background:#ffd70033;color:gold;border:1px solid #ffd700}.codex-card-detail{margin-top:var(--space-sm, 8px);padding-top:var(--space-sm, 8px);border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}.codex-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-xs, 4px);text-align:center;margin:var(--space-sm, 8px) 0}.codex-stat-label{color:var(--color-text-muted, #666);font-size:.7rem}.codex-stat-value{color:var(--color-text, #e0e0e0);font-weight:700;font-size:.85rem}.codex-resist-badges{display:flex;gap:var(--space-xs, 4px);flex-wrap:wrap;margin:var(--space-xs, 4px) 0}.codex-resist-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700}.codex-resist-weak{background:#ef444433;color:#ef4444}.codex-resist-resist{background:#60a5fa33;color:#60a5fa}.codex-resist-null{background:#6b72804d;color:#9ca3af}.codex-resist-absorb{background:#a78bfa33;color:#a78bfa}.codex-drops{margin-top:var(--space-xs, 4px)}.codex-drop-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary, #999);padding:2px 0}.codex-detail-label{color:var(--color-text-muted, #666);font-size:.75rem;margin-top:var(--space-xs, 4px)}.codex-skill-tags{display:flex;gap:var(--space-xs, 4px);flex-wrap:wrap;margin-top:var(--space-xs, 4px)}.codex-skill-tag{background:#6366f126;color:var(--color-accent, #6366f1);padding:1px 6px;border-radius:3px;font-size:.7rem}.achievement-screen{display:flex;flex-direction:column;gap:var(--space-md, 12px);padding:var(--space-md, 12px)}.achievement-progress{text-align:center;padding:var(--space-sm, 8px);font-size:.95rem}.achievement-progress-bar{width:100%;height:8px;background:var(--color-bg, #0a0a1a);border-radius:4px;overflow:hidden;margin-top:var(--space-xs, 4px)}.achievement-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent, #6366f1),#fbbf24);border-radius:4px;transition:width .3s ease}.achievement-filters{display:flex;gap:var(--space-xs, 4px);overflow-x:auto;-webkit-overflow-scrolling:touch}.achievement-filters .btn{font-size:.8rem;white-space:nowrap;padding:4px 12px}.achievement-list{display:flex;flex-direction:column;gap:var(--space-sm, 8px);flex:1;overflow-y:auto;max-height:55vh}.achievement-card{background:var(--color-bg-card, #1a1a2e);border:1px solid var(--color-text-muted, #666);border-radius:var(--border-radius, 8px);padding:var(--space-md, 12px);display:flex;gap:var(--space-md, 12px);align-items:flex-start}.achievement-card.unlocked{border-color:#fbbf24}.achievement-card.claimed{border-color:#4ade80;opacity:.75}.achievement-card.locked{opacity:.45}.achievement-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border-radius:var(--border-radius, 8px);background:var(--color-bg, #0a0a1a);flex-shrink:0}.achievement-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.achievement-name{font-weight:700;font-size:.9rem}.achievement-desc{font-size:.75rem;color:var(--color-text-secondary, #999)}.achievement-reward{font-size:.75rem;color:#fbbf24;margin-top:2px}.achievement-status{display:flex;align-items:center;flex-shrink:0}.achievement-claim-btn{padding:6px 14px;font-size:.8rem;background:#fbbf24;color:#000;border:none;border-radius:var(--border-radius, 8px);cursor:pointer;font-weight:700;transition:opacity .15s}.achievement-claim-btn:hover{opacity:.85}.achievement-claimed-mark{color:#4ade80;font-weight:700;font-size:1.2rem}.achievement-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#1a1a35,#2a1a3e);border:2px solid #fbbf24;border-radius:var(--border-radius, 8px);padding:8px 20px;z-index:10000;display:flex;align-items:center;gap:8px;animation:achievementSlideIn .4s ease,achievementFadeOut .4s ease 2.6s forwards;max-width:320px}.achievement-toast-text{color:#fbbf24;font-weight:700;font-size:.85rem}@keyframes achievementSlideIn{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes achievementFadeOut{0%{opacity:1}to{opacity:0;pointer-events:none}}.profile-completion{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) 0;font-size:.85rem;color:var(--color-text-secondary, #999)}.profile-completion-bar{flex:1;height:6px;background:var(--color-bg, #0a0a1a);border-radius:3px;overflow:hidden}.profile-completion-fill{height:100%;background:var(--color-accent, #6366f1);border-radius:3px;transition:width .3s ease}.profile-trust-bonus{font-size:.75rem;color:#4ade80;padding:4px 0}.volunteer-section{margin-bottom:var(--space-md)}.volunteer-section-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-accent, #6366f1);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border, #333)}.volunteer-card{background:var(--color-bg-card, #1a1a2e);border:1px solid var(--color-border, #333);border-radius:6px;padding:var(--space-md);margin-bottom:var(--space-sm)}.volunteer-name{font-weight:700;font-size:1rem;margin-bottom:2px}.volunteer-class{font-size:var(--font-size-sm);color:var(--color-text-secondary, #aaa);margin-bottom:4px}.volunteer-stats{font-size:var(--font-size-xs);color:var(--color-text-secondary, #aaa);margin-bottom:2px}.volunteer-tags{font-size:var(--font-size-xs);color:var(--color-accent, #6366f1);margin-bottom:4px}.volunteer-flavor{font-size:var(--font-size-xs);color:var(--color-text-secondary, #aaa);font-style:italic;margin-bottom:var(--space-sm)}.volunteer-cost{font-size:var(--font-size-sm);color:#fbbf24;margin-bottom:var(--space-sm)}@media(max-width:359px){.base-header{font-size:var(--font-size-sm);padding:var(--space-xs)}.base-menu-item{padding:var(--space-sm)}.base-facility-menu{gap:var(--space-xs)}.base-party-member{font-size:var(--font-size-xs);padding:var(--space-xs)}.contamination-row{font-size:var(--font-size-xs)}.mission-card{padding:var(--space-sm)}.mission-title{font-size:var(--font-size-sm)}.training-skill-row{flex-wrap:wrap}.training-skill-actions{width:100%;justify-content:flex-end;margin-top:var(--space-xs)}.volunteer-card{padding:var(--space-sm)}}@media(min-width:768px){.base-facility-menu{grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.mission-list{gap:var(--space-md)}.mission-card{padding:var(--space-lg)}.training-skill-list,.volunteer-list{gap:var(--space-md)}.result-rewards{max-width:500px}.base-facility:last-of-type .base-facility-menu{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.base-facility-menu{grid-template-columns:repeat(5,1fr)}}.tutorial-choice-screen{justify-content:center;align-items:center;text-align:center;max-width:600px;margin:0 auto}.tutorial-description{margin:var(--space-lg) 0;line-height:1.8}.tutorial-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-sm)}.tutorial-buttons{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:320px}.scenario-select-screen{align-items:center}.scenario-grid{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:600px}.scenario-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:border-color .2s,box-shadow .2s}.scenario-card:hover{border-color:var(--color-accent)}.scenario-card.selected{border-color:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow)}.scenario-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.scenario-name{font-size:var(--font-size-lg);font-weight:700}.scenario-length-badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-sm);color:#fff;font-weight:700}.scenario-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--space-xs) 0;line-height:1.6}.scenario-info{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-xs)}.scenario-detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-bg);padding:2px 8px;border-radius:var(--radius-sm)}.exploration-screen{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);min-height:100dvh}.exploration-header{text-align:center;font-size:var(--font-size-lg);font-weight:700}.exploration-region{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:-4px}.exploration-gauge-wrap{display:flex;flex-direction:column;gap:2px}.exploration-gauge-label{font-size:var(--font-size-sm);display:flex;justify-content:space-between}.exploration-gauge-bar{height:16px;background:var(--color-bg-card);border-radius:8px;overflow:hidden;border:1px solid var(--color-text-muted)}.exploration-gauge-fill{height:100%;background:linear-gradient(90deg,#4a90d9,#67c7eb);border-radius:8px;transition:width .3s ease}.exploration-gauge-fill.boss-ready{background:linear-gradient(90deg,#ff6b6b,orange);animation:gaugeGlow 1s infinite alternate}@keyframes gaugeGlow{0%{box-shadow:0 0 4px #ff6b6b66}to{box-shadow:0 0 12px #ffa500b3}}.exploration-party{display:flex;flex-direction:column;gap:4px}.exploration-npc{margin:var(--space-xs) 0;padding:6px var(--space-xs);background:#ffa50014;border:1px solid rgba(255,165,0,.3);border-radius:var(--border-radius-sm)}.exploration-npc-label{font-size:var(--font-size-sm);font-weight:700;color:orange;margin-bottom:2px}.npc-hp-bar{height:14px}.npc-target{border-left:3px solid #ffa500}.exploration-member{display:flex;align-items:center;gap:var(--space-xs);padding:4px var(--space-xs);background:var(--color-bg-card);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.exploration-member.ko{opacity:.4}.exploration-member-portrait{width:28px;height:28px;border-radius:50%;flex-shrink:0}.exploration-member-name{flex:0 0 auto;min-width:60px;font-weight:700;font-size:var(--font-size-xs)}.exploration-member-bars{flex:1;display:flex;flex-direction:column;gap:2px}.exploration-hp-bar,.exploration-sp-bar{height:6px;background:#333;border-radius:3px;overflow:hidden}.exploration-hp-fill{height:100%;background:#4caf50;border-radius:3px;transition:width .2s}.exploration-hp-fill.low{background:#ff9800}.exploration-hp-fill.critical{background:#f44336}.exploration-sp-fill{height:100%;background:#42a5f5;border-radius:3px;transition:width .2s}.exploration-member-ko-label{color:var(--color-danger);font-size:var(--font-size-xs);font-weight:700}.exploration-log{flex:1;min-height:80px;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:var(--space-xs);background:var(--color-bg);border:1px solid var(--color-bg-card);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.exploration-event{padding:2px var(--space-xs);border-radius:2px;line-height:1.4}.exploration-event.encounter{color:#ff6b6b}.exploration-event.item_find{color:#67c7eb}.exploration-event.trap{color:orange}.exploration-event.sub_squad{color:#a78bfa}.exploration-event.flavor{color:var(--color-text-secondary)}.exploration-event.choice_event{color:#f0c060}.exploration-event.dialogue-event{font-style:italic}.exploration-event.rarity-uncommon{color:#4ade80;font-weight:700}.exploration-event.rarity-rare{color:#60a5fa;font-weight:700}.exploration-event.rarity-epic{color:#c084fc;font-weight:700;text-shadow:0 0 6px rgba(192,132,252,.4)}.exploration-event.rarity-legendary{color:#fbbf24;font-weight:700;text-shadow:0 0 8px rgba(251,191,36,.5)}.exploration-event .event-speaker{font-weight:700;font-style:normal;margin-right:4px;color:var(--color-text)}.message-section-header{font-weight:700;font-size:var(--font-size-sm);color:var(--color-accent, #e040fb);margin-top:var(--space-sm);margin-bottom:var(--space-xs);padding-bottom:2px;border-bottom:1px solid var(--color-bg-card)}.exploration-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.exploration-actions .btn-primary{grid-column:1 / -1}.boss-btn{background:linear-gradient(135deg,#f44,#c00)!important;color:#fff!important;font-weight:700;animation:bossGlow 1.2s infinite alternate}@keyframes bossGlow{0%{box-shadow:0 0 4px #ff00004d}to{box-shadow:0 0 16px #f009}}.exploration-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:100}.exploration-overlay-panel{background:var(--color-bg);border-radius:var(--border-radius);padding:var(--space-lg);width:min(90vw,360px);max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.exploration-overlay-title{font-size:var(--font-size-lg);font-weight:700;text-align:center}.choice-event-desc{font-size:var(--font-size-sm);line-height:1.5;padding:var(--space-sm) 0;color:var(--color-text-secondary)}.choice-event-btn{width:100%;text-align:left;padding:var(--space-sm) var(--space-md);border:1px solid rgba(240,192,96,.3);background:#f0c06014;color:var(--color-text);cursor:pointer;transition:background .15s}.choice-event-btn:hover{background:#f0c06033}.exploration-overlay-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-card);border-radius:var(--border-radius-sm);cursor:pointer;transition:background .15s}.exploration-overlay-item:hover{background:var(--color-bg-hover, rgba(255, 255, 255, .08))}.exploration-overlay-item.disabled{opacity:.4;cursor:not-allowed}.exploration-overlay-item-name{flex:1;font-weight:700;font-size:var(--font-size-sm)}.exploration-overlay-item-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.exploration-overlay-item-count,.exploration-overlay-item-cd{font-size:var(--font-size-xs);color:var(--color-text-muted)}.exploration-overlay-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs);background:var(--color-bg-card);border-radius:var(--border-radius-sm)}.exploration-overlay-row-info{flex:1;min-width:0}.exploration-overlay-row-name{font-weight:700;font-size:var(--font-size-sm)}.exploration-overlay-row-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.exploration-overlay-message{text-align:center;color:var(--color-text-secondary);padding:var(--space-md) 0}.exploration-overlay-buttons{display:flex;gap:var(--space-sm)}.exploration-overlay-buttons .btn{flex:1}.exploration-member-info{flex:1;min-width:0}.exploration-member-bars{display:flex;flex-direction:column;gap:2px;margin-top:2px}.exploration-hp-bar,.exploration-sp-bar{position:relative}.exploration-bar-text{position:absolute;top:0;left:4px;font-size:9px;line-height:6px;color:#fffc;pointer-events:none}.exploration-gauge-text{font-size:var(--font-size-xs);text-align:center;color:var(--color-text-secondary)}.ko-label{color:var(--color-danger);font-size:var(--font-size-xs)}.hint-overlay{position:fixed;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:200;animation:fadeIn .3s ease}.hint-overlay-panel{background:var(--color-bg);border:1px solid var(--color-primary, #2196f3);border-radius:var(--border-radius);padding:var(--space-lg);width:min(90vw,400px);max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-md);box-shadow:0 0 30px #2196f34d}.hint-overlay-title{font-size:var(--font-size-lg);font-weight:700;text-align:center;color:var(--color-primary, #2196f3)}.hint-overlay-message{font-size:var(--font-size-sm);line-height:1.6;margin:0}.hint-overlay-buttons{display:flex;justify-content:center;margin-top:var(--space-sm)}.tutorial-instruction-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:flex-end;align-items:center;flex-direction:column;padding-bottom:20%;z-index:200;animation:fadeIn .3s ease}.tutorial-instruction-panel{background:var(--color-bg);border:2px solid var(--color-primary, #2196f3);border-radius:var(--border-radius);padding:var(--space-lg);width:min(92vw,420px);display:flex;flex-direction:column;gap:var(--space-sm);box-shadow:0 0 20px #2196f366}.tutorial-instruction-step{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:right}.tutorial-instruction-text{font-size:var(--font-size-sm);line-height:1.6}.tutorial-instruction-buttons{display:flex;justify-content:center;gap:var(--space-sm);margin-top:var(--space-sm)}.battle-wrapper{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.battle-seal-bar{height:var(--battle-seal);background:#1a0030;padding:4px;flex-shrink:0}.seal-fill{height:100%;background:linear-gradient(90deg,#b06aff,#e0b0ff);border-radius:2px;transition:width .3s ease}.battle-npc-bar{display:flex;align-items:center;gap:var(--space-xs);padding:3px 8px;background:#ffa5001a;border-bottom:1px solid rgba(255,165,0,.3);flex-shrink:0}.npc-label{font-size:var(--font-size-xs);font-weight:700;color:orange;white-space:nowrap}.npc-hp-gauge{flex:1;height:10px;background:var(--color-bg-card);border-radius:5px;overflow:hidden}.npc-hp-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,orange);border-radius:5px;transition:width .3s ease}.npc-hp-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:60px;text-align:right}.npc-heal-target{border:1px dashed #ffa500!important;color:orange!important}.battle-enemy-area{height:var(--battle-enemy);display:flex;justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-sm);flex-shrink:0;flex-wrap:wrap}.enemy-slot{text-align:center;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius);border:none;transition:filter var(--transition-fast),transform var(--transition-fast);min-width:70px;flex-shrink:1}.enemy-slot:hover{filter:brightness(1.2)}.enemy-slot.targeted .enemy-sprite{filter:brightness(1.3) drop-shadow(0 0 6px rgba(255,74,90,.6));transform:scale(1.05)}.enemy-slot.ko{opacity:.3;pointer-events:none}.enemy-name{font-size:var(--font-size-sm);margin-bottom:var(--space-xs);color:var(--color-text)}.enemy-hp-bar{width:80px;height:6px;background:#222;border-radius:3px;overflow:hidden;margin:0 auto}.enemy-hp-bar .hp-fill{height:100%;transition:width .2s ease;border-radius:3px}.battle-message{height:var(--battle-message);display:flex;flex-direction:column;justify-content:flex-end;font-size:var(--font-size-xs);color:var(--color-text);background:#0000008c;transition:opacity .3s ease;flex-shrink:0;overflow-y:auto;overflow-x:hidden;padding:2px 8px;line-height:1.3}.battle-log-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:1;animation:logFadeIn .2s ease-out}@keyframes logFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.battle-ally-area{height:var(--battle-ally);display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);flex-shrink:0;overflow-y:auto}.ally-slot{background:var(--color-bg-card);border-radius:var(--border-radius-sm);padding:var(--space-sm);border-left:3px solid var(--color-text-muted);position:relative;display:flex;align-items:center;gap:var(--space-xs)}.ally-slot-portrait{width:32px;height:32px;border-radius:50%;flex-shrink:0;overflow:visible;position:relative}.ally-slot.waiting{border-left-color:var(--color-accent);animation:pulse 1s infinite}.ally-slot.ko{opacity:.3;border-left-color:var(--color-danger)}.ally-slot.cmd-focus{border-left-color:var(--color-gold);background:#ffd7000d}.ally-slot.ally-targetable{border-left-color:#4caf50;cursor:pointer;animation:pulse-heal 1s infinite}.ally-slot.ally-target-invalid{opacity:.35;pointer-events:none}@keyframes pulse-heal{0%,to{box-shadow:0 0 #4caf5066}50%{box-shadow:0 0 8px 2px #4caf5066}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--color-accent-glow)}50%{box-shadow:0 0 8px 2px var(--color-accent-glow)}}.ally-info{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.ally-name{font-size:var(--font-size-sm);font-weight:700}.status-icon{display:inline-block;width:16px;height:16px;background:var(--color-danger);color:#fff;font-size:9px;line-height:16px;text-align:center;border-radius:2px}.enemy-statuses{display:flex;gap:2px;justify-content:center;min-height:18px;margin-top:2px}.ally-bars-column{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ally-bars{display:flex;gap:var(--space-sm)}.hp-bar-small,.sp-bar-small{flex:1;height:14px;background:#222;border-radius:2px;overflow:hidden;position:relative}.hp-fill{height:100%;background:var(--color-hp);transition:width .2s ease}.sp-fill{height:100%;background:var(--color-sp);transition:width .2s ease}.bar-text{position:absolute;top:0;left:0;right:0;text-align:center;font-size:11px;font-weight:700;line-height:14px;color:#fff;text-shadow:0 1px 2px #000,0 0 4px rgba(0,0,0,.8)}.timeline-bar{height:6px;background:#1a1a2e;border-radius:3px;overflow:hidden}.timeline-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--color-accent),#67c7eb);border-radius:3px;transition:width .1s linear}.ally-slot.waiting .timeline-fill{background:linear-gradient(90deg,orange,gold);box-shadow:0 0 4px #ffd70080}.battle-skill-panel{height:var(--battle-skill);display:flex;gap:var(--space-xs);padding:var(--space-sm);flex-shrink:0;align-items:stretch}.skill-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-card);border:1px solid var(--color-accent);border-radius:var(--border-radius);color:var(--color-text);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);transition:background-color var(--transition-fast);min-height:var(--tap-min-size);padding:var(--space-xs)}.skill-btn:hover{background:var(--color-bg-card-hover)}.skill-attack{border-color:var(--color-success)}.skill-disabled{opacity:.4;cursor:not-allowed;border-color:var(--color-text-muted)}.skill-name{font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.skill-cost{font-size:var(--font-size-xs);color:var(--color-sp)}.skill-cd{color:#ff6b6b}.battle-ultimate{height:var(--battle-ultimate);display:flex;flex-direction:column;align-items:center;padding:var(--space-xs) var(--space-sm);flex-shrink:0}.ult-btn{width:100%;height:32px;background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius-sm);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer}.ult-ready .ult-btn{background:linear-gradient(135deg,#6a5aff,#b06aff);border-color:#b06aff;animation:ultPulse 1.5s infinite;cursor:pointer}.ult-ready .ult-btn:hover{filter:brightness(1.2)}@keyframes ultPulse{0%,to{box-shadow:0 0 4px var(--color-accent-glow)}50%{box-shadow:0 0 16px var(--color-accent-glow)}}.ult-ready .ult-btn.combo-ult{background:linear-gradient(135deg,#ff6a5a,#ffb06a);border-color:#ff8a5a;animation:comboUltPulse 1.2s infinite}@keyframes comboUltPulse{0%,to{box-shadow:0 0 4px #ff6a5a88}50%{box-shadow:0 0 20px #ff6a5a88}}.ult-gauge{width:100%;height:4px;background:#222;border-radius:2px;overflow:hidden;margin-top:2px}.ult-fill{height:100%;background:var(--color-accent);transition:width .3s ease}.mission-screen{gap:var(--space-md)}.mission-counter{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.mission-list{display:flex;flex-direction:column;gap:var(--space-sm)}.mission-card{background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);padding:var(--space-md);cursor:pointer;transition:border-color var(--transition-fast)}.mission-card:hover{border-color:var(--color-accent)}.mission-card.mission-accepted{opacity:.4;pointer-events:none}.mission-card.mission-main{border-color:#d69e2e;background:#d69e2e1a}.mission-card.mission-chain{border-color:#805ad5;background:#805ad514}.mission-prefix{display:inline-block;font-size:var(--font-size-xs);font-weight:700;padding:1px 6px;border-radius:3px;margin-right:4px;vertical-align:middle}.main-prefix{background:#d69e2e;color:#1a1a2e}.chain-prefix{background:#805ad5;color:#fff}.collapse-prefix{background:#e53e3e;color:#fff;animation:collapse-pulse-bg 1.5s ease-in-out infinite}.emergency-prefix{background:#e53e3e;color:#fff}@keyframes collapse-pulse-bg{0%,to{opacity:1}50%{opacity:.6}}.mission-modifiers{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.modifier-badge{display:inline-block;font-size:var(--font-xs);padding:1px 6px;border-radius:3px;background:#a078ff26;border:1px solid rgba(160,120,255,.3);color:#c4b5fd}.mission-modifier-detail{background:#a078ff14;border:1px solid rgba(160,120,255,.2);border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);margin-top:var(--space-sm)}.modifier-detail-title{font-weight:700;color:#c4b5fd;margin-bottom:var(--space-xs);font-size:var(--font-size-sm)}.modifier-detail-row{font-size:var(--font-size-sm);padding:2px 0;color:var(--color-text-secondary)}.detail-badge{display:inline-block;font-size:var(--font-size-sm);font-weight:700;padding:2px 10px;border-radius:4px;letter-spacing:1px}.main-badge{background:#d69e2e;color:#1a1a2e}.chain-badge{background:#805ad5;color:#fff}.collapse-badge,.emergency-badge{background:#e53e3e;color:#fff}.mission-title{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.mission-type{font-size:var(--font-size-xs);color:var(--color-accent);margin-bottom:var(--space-xs)}.mission-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.mission-rewards{font-size:var(--font-size-xs);color:var(--color-text-muted)}.mission-detail{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-lg)}.detail-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-bg)}.detail-desc{margin-top:var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.squad-info{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.squad-title{font-weight:700;margin-bottom:var(--space-sm);font-size:var(--font-size-sm)}.squad-member{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:2px 0}.result-screen{align-items:center;justify-content:center;text-align:center}.result-mission{font-size:var(--font-size-md);color:var(--color-text-secondary)}.result-rating{font-size:var(--font-size-2xl);font-weight:900;margin:var(--space-md) 0}.rating-S{color:var(--color-gold)}.rating-A{color:var(--color-success)}.rating-B{color:var(--color-sp)}.rating-C{color:var(--color-text-muted)}.result-rewards{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-lg);width:100%}.reward-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:var(--font-size-base)}.reward-title{font-weight:700;margin-top:var(--space-md);margin-bottom:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.reward-mat{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.reward-equipment{margin-top:var(--space-sm)}.reward-equip-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;font-size:var(--font-size-sm)}.equip-stars{font-size:var(--font-size-sm);min-width:5em}.equip-name{font-weight:700;color:var(--color-text)}.equip-info{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-left:auto}.result-special-message{background:#d69e2e1a;border:1px solid #d69e2e;border-radius:var(--border-radius);padding:var(--space-md);width:100%;color:#d69e2e;font-size:var(--font-size-sm);line-height:1.6}.result-levelup{background:var(--color-bg-card-hover);border:1px solid var(--color-gold);border-radius:var(--border-radius);padding:var(--space-md);width:100%}.levelup-title{font-size:var(--font-size-lg);font-weight:900;color:var(--color-gold);margin-bottom:var(--space-sm)}.levelup-entry{font-size:var(--font-size-sm);color:var(--color-success)}.battle-end-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0009;z-index:100;animation:overlayFadeIn .8s ease}@keyframes overlayFadeIn{0%{opacity:0}50%{opacity:.3}to{opacity:1}}.skill-name-popup{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:1.4rem;font-weight:900;letter-spacing:.15em;pointer-events:none;z-index:90;animation:skillNamePop 1.2s ease-out forwards;white-space:nowrap;padding:6px 24px;border-radius:4px}.skill-name-popup.ally-skill{color:#def;background:linear-gradient(135deg,#143264e0,#1e468cd9);border:1px solid rgba(120,180,255,.6);box-shadow:0 0 16px #5096ff66,inset 0 0 8px #64b4ff26;text-shadow:0 1px 3px rgba(0,0,0,.7)}.skill-name-popup.enemy-skill{color:#fdd;background:linear-gradient(135deg,#641414e0,#8c1e1ed9);border:1px solid rgba(255,120,120,.6);box-shadow:0 0 16px #ff505066,inset 0 0 8px #ff646426;text-shadow:0 1px 3px rgba(0,0,0,.7)}@keyframes skillNamePop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}15%{transform:translate(-50%,-50%) scale(1.1);opacity:1}30%{transform:translate(-50%,-50%) scale(1);opacity:1}70%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.9);opacity:0}}.battle-end-text{font-size:2.5rem;font-weight:900;letter-spacing:.3em;animation:textSlideIn .6s ease}.battle-end-text.victory{color:var(--color-gold);text-shadow:0 0 20px rgba(255,215,0,.5)}.battle-end-text.defeat{color:var(--color-danger);text-shadow:0 0 20px rgba(255,74,90,.5)}@keyframes textSlideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.battle-end-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);letter-spacing:.2em;margin-top:var(--space-sm)}.prequeue-label{display:flex;align-items:center;font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;padding:0 var(--space-xs)}.active-turn{color:var(--color-accent);font-weight:700}.queued-indicator{color:var(--color-accent);flex:1;justify-content:center;font-size:var(--font-size-sm)}.skill-cancel{border-color:var(--color-danger)!important;color:var(--color-danger);max-width:60px}.battle-interim{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:100dvh;padding:var(--space-lg);background:var(--color-bg)}.interim-title{font-size:var(--font-size-lg);font-weight:900;color:var(--color-gold)}.interim-enemies{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.interim-party{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-sm)}.interim-member{background:var(--color-bg-card);border-radius:var(--border-radius-sm);padding:var(--space-sm) var(--space-md);display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.interim-member.ko{opacity:.4}.interim-hp{color:var(--color-hp)}.interim-sp{color:var(--color-sp)}.comm-room-screen{gap:var(--space-md)}.comm-gold-info{text-align:center;font-size:var(--font-size-base);color:var(--color-gold);font-weight:700}.comm-refresh-info{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.comm-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-xl) 0;font-size:var(--font-size-base)}.volunteer-list{display:flex;flex-direction:column;gap:var(--space-sm)}.volunteer-card{background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);padding:var(--space-md);transition:border-color var(--transition-fast)}.volunteer-card:hover{border-color:var(--color-accent)}.volunteer-name{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.volunteer-class{font-size:var(--font-size-sm);color:var(--color-accent);margin-bottom:var(--space-xs)}.volunteer-stats{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.volunteer-tags{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.volunteer-cost{font-size:var(--font-size-sm);color:var(--color-gold);margin-bottom:var(--space-sm)}.hire-btn{width:100%;min-height:var(--tap-min-size)}.living-quarter-screen{gap:var(--space-md)}.lq-selector{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.lq-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-xl) 0}.trust-info{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.trust-title{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-sm)}.trust-bar{width:100%;height:12px;background:#222;border-radius:6px;overflow:hidden;margin-bottom:var(--space-xs)}.trust-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),#b06aff);border-radius:6px;transition:width .3s ease}.trust-exp-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;margin-bottom:var(--space-xs)}.trust-bonus{font-size:var(--font-size-sm);color:var(--color-success)}.gift-section{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md);margin-top:var(--space-sm)}.gift-section-title{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-sm)}.gift-limit-msg{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--space-md) 0}.gift-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--space-sm) 0}.gift-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-bg)}.gift-item-name{font-size:var(--font-size-sm);color:var(--color-text)}.gift-free-btn{width:100%;margin-top:var(--space-sm);min-height:var(--tap-min-size)}.research-lab-screen{gap:var(--space-md)}.daily-production{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--space-md)}.production-title{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.production-detail{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.codex-section-title{font-weight:700;font-size:var(--font-size-md);margin-top:var(--space-sm)}.codex-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-xl) 0;font-size:var(--font-size-base)}.codex-list{display:flex;flex-direction:column;gap:var(--space-sm)}.codex-entry{background:var(--color-bg-card);border:1px solid var(--color-text-muted);border-radius:var(--border-radius);padding:var(--space-md)}.codex-name{font-weight:700;font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.codex-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.codex-weakness{font-size:var(--font-size-sm);color:var(--color-danger)}.codex-weakness-unknown{color:var(--color-text-muted)}@keyframes damageFloat{0%{transform:translate(-50%) scale(1);opacity:1}20%{transform:translate(-50%,-10px) scale(1.3);opacity:1}60%{transform:translate(-50%,-35px) scale(1.1);opacity:1}to{transform:translate(-50%,-55px) scale(.9);opacity:0}}.damage-number{position:absolute;font-weight:900;font-size:1.6em;pointer-events:none;animation:damageFloat 1s ease-out forwards;z-index:100;text-shadow:0 2px 4px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.5);color:#fff;letter-spacing:.02em}.damage-number.crit{color:#f22;font-size:2.2em;animation:critFloat 1.1s ease-out forwards;text-shadow:0 2px 6px rgba(255,0,0,.6),0 0 12px rgba(255,50,50,.4)}.damage-number.weak{color:#f80;font-size:1.8em;text-shadow:0 2px 4px rgba(255,136,0,.5),0 0 8px rgba(255,136,0,.3)}.damage-number.heal{color:#4f4;font-size:1.6em;text-shadow:0 2px 4px rgba(0,200,0,.5),0 0 8px rgba(0,200,0,.3)}.damage-number.resist{color:#88f;font-size:1.1em}.damage-number.evade{color:#ccc;font-size:1.2em;font-style:italic}.damage-number.absorb{color:#a4f;font-size:1.4em}@keyframes critFloat{0%{transform:translate(-50%) scale(1.8);opacity:1}15%{transform:translate(-50%,-8px) scale(2.2);opacity:1}40%{transform:translate(-50%,-25px) scale(1.5);opacity:1}to{transform:translate(-50%,-65px) scale(.9);opacity:0}}@keyframes hitFlash{0%{filter:brightness(1)}15%{filter:brightness(2.5)}30%{filter:brightness(1)}to{filter:brightness(1)}}.hit-flash{animation:hitFlash .3s ease-out}@keyframes iconShake{0%{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-1px)}to{transform:translate(0)}}.icon-shake{animation:iconShake .4s ease-out}@keyframes iconActionBounce{0%{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(0)}75%{transform:translateY(-3px)}to{transform:translateY(0)}}.icon-action-bounce{animation:iconActionBounce .4s ease-out}@keyframes hitParticle{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(.3);opacity:0}}.hit-particle{position:fixed;border-radius:50%;background:#fc4;box-shadow:0 0 4px #fa0;pointer-events:none;z-index:9999;animation:hitParticle .4s ease-out forwards;transform:translate(-50%,-50%)}.hit-particle-crit{background:#f44;box-shadow:0 0 8px #f20,0 0 16px #f606}@keyframes koFade{0%{opacity:1;transform:translateY(0)}50%{opacity:.5;transform:translateY(5px)}to{opacity:.3;transform:translateY(10px);filter:grayscale(100%)}}.char-ko{animation:koFade .5s ease-out forwards}@keyframes actionReady{0%,to{box-shadow:0 0 5px #ffd7004d}50%{box-shadow:0 0 15px #ffd700cc}}.action-ready{animation:actionReady 1s ease-in-out infinite}@keyframes skillFlash{0%{background-color:#6496ff00}30%{background-color:#6496ff4d}to{background-color:#6496ff00}}.skill-use-flash{animation:skillFlash .4s ease-out}.status-icon.corruption{background:#6a0dad;color:#fff}.status-icon.bewilderment{background:#ff69b4;color:#fff}.status-icon.bind{background:#228b22;color:#fff}.status-icon.brittling{background:peru;color:#fff}.status-icon.curse{background:#8b0000;color:#fff}.status-icon.seal{background:#4a4a8a;color:#fff}.status-icon.sleep{background:#4682b4;color:#fff}.status-icon.petrify{background:#708090;color:#fff}@keyframes messageSlideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.battle-log-entry{animation:messageSlideIn .2s ease-out}.battle-overlay-content{text-align:center}.battle-result-title{font-size:2em;font-weight:700;margin-bottom:16px}.battle-result-title.victory{color:gold;text-shadow:0 0 20px rgba(255,215,0,.5)}.battle-result-title.defeat{color:#f44;text-shadow:0 0 20px rgba(255,0,0,.5)}@keyframes levelUpGlow{0%{box-shadow:0 0 5px #ffd70000;text-shadow:none}50%{box-shadow:0 0 20px #ffd700cc;text-shadow:0 0 10px gold}to{box-shadow:0 0 5px #ffd70000;text-shadow:none}}.level-up-effect{animation:levelUpGlow 1.5s ease-in-out;color:gold;font-weight:700}.battle-damage-overlay{position:fixed;inset:0;pointer-events:none;z-index:200}.battle-message.active{animation:messageSlideIn .3s ease-out}@keyframes bossPhaseFlash{0%{box-shadow:0 0 #f000}30%{box-shadow:0 0 20px #f00c}to{box-shadow:0 0 #f000}}.boss-phase-change{animation:bossPhaseFlash .6s ease-out}@keyframes statusApplied{0%{background-color:#9600ff00}30%{background-color:#9600ff33}to{background-color:#9600ff00}}.status-applied{animation:statusApplied .5s ease-out}@keyframes healFlash{0%{box-shadow:0 0 #0f00}30%{box-shadow:0 0 12px #00ff0080}to{box-shadow:0 0 #0f00}}.heal-flash{animation:healFlash .4s ease-out}.reward-equip-item.rarity-common{border-left:3px solid #888;padding-left:8px}.reward-equip-item.rarity-uncommon{border-left:3px solid #4caf50;padding-left:8px}.reward-equip-item.rarity-rare{border-left:3px solid #2196f3;padding-left:8px}.reward-equip-item.rarity-epic{border-left:3px solid #9c27b0;padding-left:8px}.reward-equip-item.rarity-legendary{border-left:3px solid #ff9800;padding-left:8px;background:#ff98000d}@keyframes victoryShine{0%{text-shadow:0 0 10px rgba(255,215,0,.3)}50%{text-shadow:0 0 30px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.3)}to{text-shadow:0 0 10px rgba(255,215,0,.3)}}.result-title-victory{color:var(--color-gold);animation:victoryShine 2s ease-in-out infinite}.result-title-defeat{color:var(--color-danger);text-shadow:0 0 15px rgba(255,74,90,.4)}@keyframes levelUpSlideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.levelup-entry-animated{animation:levelUpSlideIn .4s ease-out both}@keyframes ratingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.rating-S{animation:ratingPulse 1.5s ease-in-out infinite}@keyframes shake-2px{0%,to{transform:translate(0)}10%{transform:translate(-2px,1px)}20%{transform:translate(2px,-1px)}30%{transform:translate(-1px,2px)}40%{transform:translate(1px,-2px)}50%{transform:translate(-2px)}60%{transform:translate(2px,1px)}70%{transform:translate(-1px,-1px)}80%{transform:translate(1px,2px)}90%{transform:translateY(-1px)}}@keyframes shake-4px{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px)}20%{transform:translate(4px,-2px)}30%{transform:translate(-2px,4px)}40%{transform:translate(2px,-4px)}50%{transform:translate(-4px)}60%{transform:translate(4px,2px)}70%{transform:translate(-2px,-2px)}80%{transform:translate(2px,4px)}90%{transform:translateY(-2px)}}@keyframes shake-6px{0%,to{transform:translate(0)}10%{transform:translate(-6px,3px)}20%{transform:translate(6px,-3px)}30%{transform:translate(-3px,6px)}40%{transform:translate(3px,-6px)}50%{transform:translate(-6px)}60%{transform:translate(6px,3px)}70%{transform:translate(-3px,-3px)}80%{transform:translate(3px,6px)}90%{transform:translateY(-3px)}}@keyframes shake-8px{0%,to{transform:translate(0)}10%{transform:translate(-8px,4px)}20%{transform:translate(8px,-4px)}30%{transform:translate(-4px,8px)}40%{transform:translate(4px,-8px)}50%{transform:translate(-8px)}60%{transform:translate(8px,4px)}70%{transform:translate(-4px,-4px)}80%{transform:translate(4px,8px)}90%{transform:translateY(-4px)}}@keyframes shake-10px{0%,to{transform:translate(0)}10%{transform:translate(-10px,5px)}20%{transform:translate(10px,-5px)}30%{transform:translate(-5px,10px)}40%{transform:translate(5px,-10px)}50%{transform:translate(-10px)}60%{transform:translate(10px,5px)}70%{transform:translate(-5px,-5px)}80%{transform:translate(5px,10px)}90%{transform:translateY(-5px)}}@keyframes shake-12px{0%,to{transform:translate(0)}10%{transform:translate(-12px,6px)}20%{transform:translate(12px,-6px)}30%{transform:translate(-6px,12px)}40%{transform:translate(6px,-12px)}50%{transform:translate(-12px)}60%{transform:translate(12px,6px)}70%{transform:translate(-6px,-6px)}80%{transform:translate(6px,12px)}90%{transform:translateY(-6px)}}.shake-2px{animation:shake-2px .15s ease}.shake-4px{animation:shake-4px .2s ease}.shake-6px{animation:shake-6px .25s ease}.shake-8px{animation:shake-8px .3s ease}.shake-10px{animation:shake-10px .35s ease}.shake-12px{animation:shake-12px .4s ease}.dmg-normal{font-size:1em!important;color:#fff!important}.dmg-light{font-size:1.2em!important;color:#fff!important}.dmg-medium{font-size:1.4em!important;color:#fc0!important;text-shadow:0 0 6px rgba(255,204,0,.6),1px 1px 2px rgba(0,0,0,.8)!important}.dmg-heavy{font-size:1.6em!important;color:#f80!important;text-shadow:0 0 8px rgba(255,136,0,.7),1px 1px 3px rgba(0,0,0,.8)!important}.dmg-ultimate{font-size:2em!important;color:#f44!important;text-shadow:0 0 12px rgba(255,68,68,.9),0 0 24px rgba(255,0,0,.4),2px 2px 4px rgba(0,0,0,.8)!important}.weak-popup{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:1.1em;font-weight:900;color:#f80;text-shadow:0 0 8px rgba(255,136,0,.8),1px 1px 2px rgba(0,0,0,.9);z-index:150;pointer-events:none;animation:weakBounce .6s ease-out forwards}@keyframes weakBounce{0%{transform:translate(-50%) scale(0);opacity:0}40%{transform:translate(-50%) scale(1.2);opacity:1}60%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%) scale(1);opacity:0}}@keyframes critBounce{0%{transform:scale(1)}20%{transform:scale(1.3)}50%{transform:scale(.8)}to{transform:scale(1)}}.crit-bounce{animation:critBounce .5s ease-out}.ult-overlay{position:fixed;inset:0;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ult-darken{position:absolute;inset:0;background:#0000;animation:ultDarkenIn .2s ease-out forwards}@keyframes ultDarkenIn{to{background:#000000d9}}.ult-portrait{position:relative;z-index:1;font-size:2rem;font-weight:900;color:#fff;text-shadow:0 0 20px rgba(176,106,255,.8);animation:ultPortraitSlide .3s ease-out forwards}@keyframes ultPortraitSlide{0%{transform:translate(-100px);opacity:0}to{transform:translate(0);opacity:1}}.ult-skillname{position:relative;z-index:1;font-size:1.5rem;font-weight:900;color:#b06aff;text-shadow:0 0 15px rgba(176,106,255,.6);margin-top:8px;animation:ultSkillFadeIn .2s ease-out forwards}@keyframes ultSkillFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.ult-message{position:relative;z-index:1;font-size:.9rem;color:#ccc;margin-top:12px;animation:ultMsgFadeIn .3s ease-out forwards}@keyframes ultMsgFadeIn{0%{opacity:0}to{opacity:1}}.ult-overlay.ult-fade .ult-darken{animation:ultDarkenOut .2s ease-in forwards}.ult-overlay.ult-fade .ult-portrait,.ult-overlay.ult-fade .ult-skillname,.ult-overlay.ult-fade .ult-message{animation:ultContentFadeOut .2s ease-in forwards}@keyframes ultDarkenOut{to{background:#0000}}@keyframes ultContentFadeOut{to{opacity:0}}@media(max-width:359px){.enemy-slot{min-width:60px;padding:var(--space-xs)}.enemy-name{font-size:10px}.enemy-hp-bar{width:60px}.ally-slot{padding:var(--space-xs)}.ally-name{font-size:11px}.bar-text{font-size:8px}.skill-btn{font-size:11px;padding:2px}.skill-cost{font-size:9px}.ult-btn{height:28px;font-size:11px}.battle-message{font-size:9px}.damage-number{font-size:1em}}@media(min-width:768px){.battle-enemy-area{gap:var(--space-xl)}.enemy-slot{min-width:100px}.enemy-hp-bar{width:100px;height:8px}.ally-slot{padding:var(--space-md)}.skill-btn{font-size:var(--font-size-base);padding:var(--space-sm)}}:root{--bg-title: url(/images/bg/bg_title.webp);--bg-base: url(/images/bg/bg_base.webp);--bg-battle: url(/images/bg/bg_battle.webp);--bg-mission: url(/images/bg/bg_mission.webp);--bg-facility: linear-gradient(175deg, #0a0a12 0%, #0f1a20 50%, #0a1018 100%);--bg-medical: url(/images/bg/bg_medical.webp);--bg-training: url(/images/bg/bg_training.webp);--bg-workshop: url(/images/bg/bg_workshop.webp);--bg-purification: url(/images/bg/bg_purification.webp);--bg-research: url(/images/bg/bg_research.webp);--bg-comm-room: url(/images/bg/bg_comm-room.webp);--bg-living: url(/images/bg/bg_living.webp);--bg-shop: url(/images/bg/bg_shop.webp);--bg-event: linear-gradient(155deg, #0d0d1a 0%, #1a0f28 50%, #100a1a 100%);--bg-creation: linear-gradient(170deg, #0a0a1a 0%, #0f0a28 40%, #1a0a20 100%);--bg-exploration: url(/images/bg/bg_exploration.webp);--bg-combat-result: linear-gradient(180deg, #0a0a12 0%, #0a1a18 50%, #0a0f12 100%);--bg-overlay-opacity: .55}.screen{position:relative;z-index:0}.screen:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(10,10,18,var(--bg-overlay-opacity));z-index:-1;pointer-events:none}.screen:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}.title-screen:after{background-image:var(--bg-title)}.title-screen:before{--bg-overlay-opacity: .4}.base-screen:after{background-image:var(--bg-base)}.mission-screen:after{background-image:var(--bg-mission)}.result-screen:after{background-image:var(--bg-combat-result)}.creation-screen:after{background-image:var(--bg-creation)}.ally-select-screen:after{background-image:var(--bg-creation)}.scenario-select-screen:after{background-image:var(--bg-creation)}.tutorial-choice-screen:after{background-image:var(--bg-creation)}.event-screen:after{background-image:var(--bg-event)}.medical-screen:after{background-image:var(--bg-medical)}.training-screen:after{background-image:var(--bg-training)}.workshop-screen:after{background-image:var(--bg-workshop)}.purification-screen:after{background-image:var(--bg-purification)}.research-lab-screen:after{background-image:var(--bg-research)}.comm-room-screen:after{background-image:var(--bg-comm-room)}.living-quarter-screen:after{background-image:var(--bg-living)}.shop-screen:after{background-image:var(--bg-shop)}.char-detail-screen:after,.squad-edit-screen:after,.equip-change-screen:after,.inventory-screen:after{background-image:var(--bg-base)}.codex-screen:after,.achievement-screen:after{background-image:var(--bg-facility)}.save-load-screen:after,.settings-screen:after{background-image:var(--bg-base)}.exploration-screen:after{background-image:var(--bg-exploration)}.exploration-screen:before{--bg-overlay-opacity: .3}.exploration-screen[style*=--bg-region-override]:after{background-image:var(--bg-region-override)!important}.battle-wrapper{position:relative;z-index:0;background:transparent}.battle-wrapper:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a1280;z-index:-1;pointer-events:none}.battle-wrapper:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;pointer-events:none;background-image:var(--bg-battle);background-size:cover;background-position:center;background-repeat:no-repeat}.screen:after,.screen:before,.battle-wrapper:after,.battle-wrapper:before{will-change:auto;transform:translateZ(0)}@media(prefers-reduced-motion:reduce){.screen:after,.battle-wrapper:after{position:absolute;background-attachment:scroll}}
