:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f6f0e6;background:#10131b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at top right,#362549 0,#10131b 42%),#10131b}.shell{max-width:1180px;margin:0 auto;padding:48px 24px 72px}.hero-header,.section-heading,.stats{display:flex;justify-content:space-between;gap:24px;align-items:center}.eyebrow{margin:0 0 12px;color:#dba86b;font-size:11px;letter-spacing:.2em;font-weight:800}.hero-header h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,72px);line-height:.95;margin:0}.hero-header h1 span{color:#dba86b}.lead{max-width:600px;color:#a8a7b3;line-height:1.6;font-size:17px}.status-card{border:1px solid #3e4353;border-radius:999px;padding:10px 14px;color:#c3c3cd;font-size:13px;white-space:nowrap}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6bd19b;margin-right:8px}.hero-panel{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;padding:28px;margin:56px 0;border:1px solid #393d4a;border-radius:24px;background:linear-gradient(120deg,#1c202d,#151923);box-shadow:0 20px 80px #0005}.hero-art{display:grid;place-items:center;min-height:210px;border-radius:18px;background:linear-gradient(145deg,#604b6b,#25283d);font-size:90px}.hero-copy h2,.section-heading h2{margin:0 0 8px;font-family:Georgia,serif;font-size:32px}.muted{color:#9295a5}.stats{justify-content:flex-start;flex-wrap:wrap;color:#c1c1ca;gap:18px;margin:22px 0}button{font:inherit;color:inherit;cursor:pointer}.hero-copy button{border:0;border-radius:10px;padding:12px 18px;background:#dba86b;color:#18131b;font-weight:800}.feedback{min-height:20px;color:#87d6aa;font-size:13px}.section-heading{margin:34px 0 18px}.section-heading h2{font-size:26px}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.class-card,.mount-card{border:1px solid #343846;border-radius:14px;text-align:left;background:#171b25;padding:18px;transition:.2s}.class-card:hover,.mount-card:hover,.selected{border-color:#dba86b;transform:translateY(-2px)}.class-icon{display:block;color:#dba86b;font-size:24px;margin-bottom:18px}.class-card strong,.mount-card strong{display:block;font-size:16px}.class-card small,.mount-card small{display:block;color:#dba86b;margin-top:5px}.class-card p{color:#9599aa;font-size:13px;line-height:1.45;min-height:57px}.mount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mount-card{display:flex;align-items:center;gap:14px}.mount-card>span{font-size:32px}.mount-card small{color:#9295a5}@media(max-width:760px){.hero-header,.section-heading{align-items:flex-start;flex-direction:column}.hero-panel{grid-template-columns:1fr}.class-grid{grid-template-columns:repeat(2,1fr)}.mount-grid{grid-template-columns:1fr}}@media(max-width:430px){.class-grid{grid-template-columns:1fr}.shell{padding:30px 16px 50px}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:36px;border:1px solid #393d4a;border-radius:24px;background:#171b25;box-shadow:0 20px 80px #0006}.auth-card h1{font-family:Georgia,serif;font-size:42px;margin:0 0 12px}.auth-card form,.creation-layout label{display:grid;gap:8px}.auth-card form{gap:16px;margin-top:28px}.auth-card label,.creation-layout label{color:#c9c8d0;font-size:13px;font-weight:700}.auth-card input,.creation-layout input,.sheet-preview select{width:100%;margin-top:7px;padding:13px;border:1px solid #3b4050;border-radius:9px;background:#10131b;color:#fff}.auth-card form button,.sheet-preview button{border:0;border-radius:9px;padding:13px;background:#dba86b;color:#18131b;font-weight:800;cursor:pointer}.link-button{border:0;background:transparent;color:#dba86b;cursor:pointer;padding:12px 0}.creation-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px}.section-title{font-family:Georgia,serif;margin:30px 0 16px}.class-art{display:grid;place-items:center;width:100%;height:112px;margin-bottom:16px;border-radius:12px;background:linear-gradient(145deg,#604b6b,#25283d);font-size:55px}.sheet-preview{align-self:start;position:sticky;top:24px;padding:22px;border:1px solid #393d4a;border-radius:18px;background:#171b25}.sheet-preview .class-art{height:190px;font-size:82px}.sheet-preview h2{font-family:Georgia,serif;font-size:28px;margin:0 0 8px}.sheet-preview h3{font-size:14px;margin:25px 0 8px}.sheet-preview select{margin:0 0 14px}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0}.stat-grid div{padding:8px 4px;border-radius:8px;background:#10131b;text-align:center}.stat-grid strong{display:block;color:#9295a5;font-size:9px}.stat-grid span{display:block;color:#dba86b;font-weight:800;margin-top:5px}.sheet-preview .stat-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:850px){.creation-layout{grid-template-columns:1fr}.sheet-preview{position:static}.class-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.class-grid{grid-template-columns:repeat(2,1fr)}.hero-header h1{font-size:42px}}.avatar-3d{height:150px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 20%,#53436f,#1a1729 72%);border-radius:14px}.avatar-stage{width:120px;height:130px;position:relative;perspective:500px;transform-style:preserve-3d;animation:floatAvatar 3.2s ease-in-out infinite}.avatar-shadow{position:absolute;bottom:4px;left:22px;width:76px;height:16px;border-radius:50%;background:#090811;filter:blur(4px)}.avatar-body{position:absolute;top:8px;right:22px;bottom:12px;left:22px;transform-style:preserve-3d;transform:rotateY(-18deg)}.avatar-head{position:absolute;top:8px;left:22px;width:38px;height:38px;border-radius:45%;background:linear-gradient(135deg,#f1b68b,#9a5363);box-shadow:inset -8px -4px #713d59;transform:translateZ(18px)}.avatar-torso{position:absolute;top:42px;left:13px;width:56px;height:60px;border-radius:45% 45% 25% 25%;background:linear-gradient(90deg,#4c3872,#bd7a63 55%,#32254c);box-shadow:8px 8px #211a35;transform:translateZ(9px) rotateX(-5deg)}.avatar-arm{position:absolute;top:49px;width:15px;height:55px;border-radius:12px;background:#9b5961;transform-origin:top center}.arm-left{left:3px;transform:rotate(18deg) translateZ(4px)}.arm-right{right:0;transform:rotate(-22deg) translateZ(14px)}.avatar-weapon{position:absolute;right:-22px;top:42px;font-size:31px;color:#edc477;text-shadow:0 0 12px #9ce7ff;transform:translateZ(28px) rotate(-25deg)}.art-chemist .avatar-weapon,.art-white-mage .avatar-weapon,.art-black-mage .avatar-weapon,.art-time-mage .avatar-weapon,.art-summoner .avatar-weapon,.art-geomancer .avatar-weapon,.art-mystic .avatar-weapon,.art-calculator .avatar-weapon{color:#9ce7ff}.art-ninja .avatar-weapon,.art-thief .avatar-weapon{color:#d58cff}@keyframes floatAvatar{0%,to{transform:translateY(0) rotateY(-3deg)}50%{transform:translateY(-5px) rotateY(3deg)}}@media(max-width:700px){.tactical-map{width:100%;overflow:hidden;grid-template-columns:repeat(15,minmax(0,1fr));padding:8px;gap:2px}.tactical-map .tile{min-width:0;min-height:25px;font-size:10px}.tactical-map .unit{width:18px;height:18px;font-size:8px}}.iso-scene{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:8px}.iso-scene-svg{display:block;width:100%;height:100%;max-height:360px}.map-data{display:none}.tactical-map{position:relative;display:block;min-height:340px;overflow:hidden}.tactical-map:hover .iso-scene-svg{filter:saturate(1.12) brightness(1.05)}@media(max-width:700px){.tactical-map{min-height:250px}.iso-scene{padding:2px}.iso-scene-svg{min-width:560px;transform:translate(-85px) scale(.96);transform-origin:center}.tactical-map{overflow:hidden}}.map-data{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.iso-scene-svg{min-width:0;transform:none}.pixel-character{display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,#46355f,#171426 75%);overflow:hidden}.pixel-character img{width:120px;height:160px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 0 #0d0b16)}.city-scene{position:relative;min-height:250px;overflow:hidden;border:1px solid #41485b;border-radius:14px;background:linear-gradient(#294563 0,#294563 42%,#5d8154 42%,#5d8154);background-image:linear-gradient(150deg,transparent 45%,#3f5c49 46% 54%,transparent 55%),linear-gradient(30deg,transparent 45%,#486d51 46% 54%,transparent 55%),linear-gradient(#294563 0,#294563 42%,#5d8154 42%,#5d8154)}.city-plaza{position:absolute;left:34%;top:42%;width:32%;height:38%;display:grid;place-items:center;border:3px solid #c79a65;border-radius:50%;background:#9b805d;color:#f5d494;font-weight:800;box-shadow:0 12px #4d5548}.city-plaza span{padding:8px;border-radius:8px;background:#171b27dd}.city-building{position:absolute;display:grid;place-items:center;width:105px;height:86px;border:4px solid #8b5b4f;border-radius:10px 10px 4px 4px;background:#b87959;color:#ffe0a0;box-shadow:0 12px #394b47}.city-building strong{font-size:36px}.city-building span{font-weight:800}.city-market{left:8%;top:32%;background:#8d6a4d}.city-tavern{right:8%;top:30%;background:#754d55}.city-arsenal{left:39%;bottom:5%;background:#53677b}.city-tree{position:absolute;left:20%;bottom:13%;font-size:62px;color:#9fc46c;text-shadow:10px 10px #3b6248}.city-tree-two{left:auto;right:20%;bottom:10%;font-size:54px}.city-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.city-actions a{display:grid;gap:4px;padding:12px;border:1px solid #4b5368;border-radius:10px;background:#1d2634;color:#f0c878;text-decoration:none;font-weight:800}.city-actions small{color:#a9adba;font-size:11px;font-weight:500}@media(max-width:700px){.city-scene{min-height:210px}.city-building{width:78px;height:68px;font-size:12px}.city-building strong{font-size:26px}.city-actions{grid-template-columns:repeat(2,1fr)}}@media(min-width:701px){.iso-scene-svg{max-height:420px}}@media(max-width:700px){.iso-scene-svg{max-height:260px}}@media(max-width:700px){.iso-scene-svg{width:100%;height:100%;min-width:0;transform:none}}.terrain-bridge{background:#87653f;border-color:#c4975d}.terrain-dirt{background:#76573d;border-color:#b7905c}.terrain-sand{background:#a78b56;border-color:#e1c783}.terrain-ice{background:#5c8ca0;border-color:#b7e4e8}.terrain-lava{background:#653439;border-color:#ef7650}.elevation-3{filter:brightness(1.4);box-shadow:inset 0 -11px #27343a}.stair-tile:after{content:"⇩";color:#f0c878;font-size:16px}.terrain-forest:after{content:"♣";color:#9fbd72;font-size:15px}.terrain-ruin:after{content:"⌂";color:#d9a475;font-size:14px}.terrain-bridge:after{content:"═";color:#f1cf86;font-size:17px}.terrain-dirt:after{content:"·";color:#d6aa70;font-size:18px}.terrain-sand:after{content:"⁙";color:#f1d89b;font-size:14px}.terrain-ice:after{content:"✦";color:#c5f5f0;font-size:13px}.terrain-lava:after{content:"•";color:#ffb052;font-size:18px}.legend-structure{background:#d39b72}.terrain-water{background:#245f70;border-color:#398596}.terrain-forest{background:#456846;border-color:#668a55}.terrain-stone{background:#555b70;border-color:#7b8298}.terrain-ruin{background:#705750;border-color:#a17d62}.terrain-moss{background:#526c53;border-color:#78915c}.elevation-1{filter:brightness(1.12);box-shadow:inset 0 -5px #263d38}.elevation-2{filter:brightness(1.28);box-shadow:inset 0 -8px #273c3d}.obstacle-tile{background:#292b3b!important;border-color:#b07b67!important}.obstacle-tile:after{content:"◆";color:#d39b72;font-size:13px}.terrain-water:after{content:"≈";color:#83d5d1;font-size:18px}.scenario-badge{color:#dba86b}@media(max-width:700px){.priority-row{grid-template-columns:28px 52px minmax(0,1fr);align-items:start}.priority-row .priority-toggle{grid-column:3;justify-self:start}.priority-row .priority-move{grid-row:2}.priority-row .use-item{grid-row:2;grid-column:3;justify-self:stretch}.priority-info small{line-height:1.3}}.game-menu{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;padding:8px;border:1px solid #393d4a;border-radius:12px;background:#151923}.game-menu a{padding:10px 14px;border:1px solid #41485b;border-radius:8px;color:#c9c8d0;text-decoration:none;background:#1d2230;font-size:13px;font-weight:700}.game-menu a:first-child,.game-menu a:hover{color:#171426;background:#dba86b;border-color:#f2c882}.priority-panel{margin:28px 0 42px;padding:24px;border:1px solid #393d4a;border-radius:20px;background:linear-gradient(120deg,#171b27,#11151f);box-shadow:0 16px 50px #0004}.priority-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.priority-heading h2{margin:0 0 6px;font-family:Georgia,serif;font-size:28px}.gold-badge{padding:9px 12px;border:1px solid #80633d;border-radius:9px;color:#f0c878;background:#29231c;white-space:nowrap}.priority-list{display:grid;gap:8px;margin-top:18px}.priority-row{display:grid;grid-template-columns:32px 58px minmax(0,1fr) auto 34px 34px auto;align-items:center;gap:9px;padding:10px;border:1px solid #3f4658;border-radius:10px;background:#1b2030}.priority-disabled{opacity:.48}.priority-index{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dba86b;color:#171426;font-weight:900}.priority-kind{font-size:9px;font-weight:900;letter-spacing:.1em;text-align:center}.kind-item{color:#f0c878}.kind-skill{color:#b78ae6}.kind-behavior{color:#72d8d5}.priority-info{display:grid;gap:4px}.priority-info strong{font-size:14px}.priority-info small{color:#969aaa;font-size:12px}.priority-toggle,.priority-move,.use-item{border:1px solid #4b5368;border-radius:6px;padding:7px;background:#242a3c;color:#d5d7e0;font-size:11px;cursor:pointer}.priority-toggle{color:#82d9a7}.priority-disabled .priority-toggle{color:#db817b}.priority-move{font-size:17px;padding:3px}.use-item{color:#171426;background:#dba86b;border-color:#f0c878;font-weight:800;white-space:nowrap}.priority-note{margin:15px 0 0;color:#9295a5;font-size:12px}.battle-panel{margin:28px 0 42px;padding:24px;border:1px solid #393d4a;border-radius:20px;background:#151923;box-shadow:0 16px 50px #0004}.battle-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.battle-heading h2{margin:0 0 6px;font-family:Georgia,serif;font-size:28px}.turn-order{display:flex;gap:7px;align-items:center}.turn-order span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #4b5162;border-radius:8px;background:#202535;color:#e3b45f;font-weight:900}.turn-order .turn-active{background:#dba86b;color:#171426;border-color:#f5d493}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;margin-top:18px}.tactical-map,.battle-preview-grid{display:grid;grid-template-columns:repeat(15,1fr);gap:4px;padding:14px;border:1px solid #3d4354;border-radius:14px;background:#0d111a;min-height:220px}.tile{position:relative;display:grid;place-items:center;min-height:38px;border:1px solid #3b5a54;background:#304c48;clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);color:#fff}.tile-0{background:#304c48}.tile-1{background:#536347}.tile-2{background:#4f5369}.tile-3{background:#315a68}.tile-4{background:#684e55}.selected-tile{outline:2px solid #e3b45f;outline-offset:-3px}.unit{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-size:14px;z-index:1;box-shadow:0 3px #1118}.hero-unit{background:#72d8d5;color:#10202a}.enemy-unit{background:#d96b5f;color:#2c1013}.battle-log{padding:14px;border:1px solid #343b4c;border-radius:12px;background:#10131b}.battle-log strong{color:#dba86b;font-size:11px;letter-spacing:.12em}.battle-log p{margin:12px 0;color:#b8bac6;font-size:13px;line-height:1.45}.battle-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;color:#9fa4b5;font-size:12px}.battle-legend i{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px}.legend-hero{background:#72d8d5}.legend-enemy{background:#d96b5f}.legend-reach{background:#b78ae6}.legend-height{background:#55745a}.empty-battle{display:flex;justify-content:space-between;align-items:center;gap:24px}.battle-preview-grid{width:min(360px,100%);min-height:auto}.battle-preview-grid .tile{min-height:28px}@media(max-width:700px){.battle-layout{grid-template-columns:1fr}.battle-log{order:-1}.empty-battle{display:grid}.battle-preview-grid{width:100%}}:root{--surface-parchment-light: #D8D2C2;--surface-parchment-base: #C5BDAB;--surface-parchment-dark: #A89F8B;--surface-stone-dark: #1E222A;--surface-overlay: rgba(0, 0, 0, .65);--border-frame-outer: #3D3122;--border-frame-inner: #8C7A62;--border-divider: #9E9380;--text-primary-dark: #1C1813;--text-secondary-dark: #4A4337;--text-primary-light: #EAE3D2;--text-accent-gold: #D4A343;--text-accent-blue: #4A90E2;--text-accent-red: #D0021B;--stat-hp-fill: #2E7D32;--stat-mp-fill: #1565C0;--stat-ct-fill: #D84315;--stat-bar-bg: #101418;font-family:Georgia,Times New Roman,serif;color:var(--text-primary-light);background:var(--surface-stone-dark)}body{background:radial-gradient(circle at 50% -10%,#4d4537 0,var(--surface-stone-dark) 44%),var(--surface-stone-dark)}.shell{max-width:1220px;padding-top:32px}.hero-header h1,.auth-card h1,.hero-copy h2,.section-heading h2,.section-title,.sheet-preview h2,.priority-heading h2,.battle-heading h2{font-family:Georgia,Times New Roman,serif;letter-spacing:.015em}.eyebrow{color:var(--text-accent-gold);letter-spacing:.16em}.lead,.muted{color:var(--text-secondary-dark)}.hero-header .lead,.auth-card .lead,.battle-panel .muted,.priority-panel .muted,.hero-panel .muted{color:var(--text-primary-light);opacity:.78}.hero-header h1 span{color:var(--text-accent-gold)}.hero-panel,.priority-panel,.battle-panel,.auth-card,.sheet-preview{border:2px solid var(--border-frame-outer);border-radius:4px;background:linear-gradient(135deg,#1e222afa,#302b23fa);box-shadow:4px 4px 12px #0009,inset 0 0 0 1px var(--border-frame-inner)}.hero-panel{padding:24px}.hero-art,.class-art,.pixel-character,.avatar-3d{border:2px solid var(--border-frame-inner);border-radius:2px;background:radial-gradient(circle at 50% 25%,#655744,#1b2028 76%)}.class-card,.mount-card,.game-menu,.priority-row,.battle-log,.city-actions a{border:1px solid var(--border-frame-inner);border-radius:2px;background:var(--surface-parchment-base);color:var(--text-primary-dark);box-shadow:inset 0 0 0 1px #ffffff2e}.class-card:hover,.mount-card:hover,.class-card.selected,.selected{border-color:var(--text-accent-gold);transform:translateY(-2px)}.class-card strong,.mount-card strong,.priority-info strong{color:var(--text-primary-dark)}.class-card small,.mount-card small,.priority-info small,.priority-note,.class-card p{color:var(--text-secondary-dark)}.stat-grid div{border:1px solid var(--border-divider);border-radius:2px;background:var(--surface-parchment-light);color:var(--text-primary-dark)}.stat-grid strong{color:var(--text-secondary-dark)}.stat-grid span,.gold-badge,.scenario-badge{color:var(--text-accent-gold)}button,.game-menu a,.city-actions a{font-family:Georgia,Times New Roman,serif}.hero-copy button,.auth-card form button,.sheet-preview button,.use-item{border:2px solid var(--border-frame-outer);border-radius:2px;background:var(--text-accent-gold);color:var(--text-primary-dark);box-shadow:2px 2px #00000073}.hero-copy button:hover,.auth-card form button:hover,.sheet-preview button:hover,.use-item:hover{filter:brightness(1.1)}.auth-card input,.creation-layout input,.sheet-preview select,.creation-layout select{border:1px solid var(--border-frame-inner);border-radius:2px;background:var(--surface-parchment-light);color:var(--text-primary-dark)}.link-button{color:var(--text-accent-gold)}.game-menu{padding:8px;background:var(--surface-stone-dark)}.game-menu a{color:var(--text-primary-dark);background:var(--surface-parchment-light)}.game-menu a:first-child,.game-menu a:hover{color:var(--text-primary-dark);background:var(--text-accent-gold);border-color:var(--border-frame-outer)}.gold-badge{border-color:var(--border-frame-inner);border-radius:2px;background:var(--surface-stone-dark)}.priority-row{background:var(--surface-parchment-light)}.priority-index{border-radius:2px;background:var(--border-frame-outer);color:var(--text-accent-gold)}.priority-toggle,.priority-move{border:1px solid var(--border-frame-inner);border-radius:2px;background:var(--surface-stone-dark);color:var(--text-primary-light)}.priority-toggle{color:#86c98d}.priority-disabled .priority-toggle{color:var(--text-accent-red)}.battle-panel{background:linear-gradient(135deg,#20252e,#302d28)}.battle-log{background:#101820;color:#f4ead7}.battle-log strong{color:#f0c878}.battle-log p,.battle-legend{color:#f3eee4}.city-scene,.tactical-map{border:2px solid var(--border-frame-outer);border-radius:2px}.city-actions a{color:var(--text-primary-dark)}.city-actions small{color:var(--text-secondary-dark)}:focus-visible{outline:3px solid var(--text-accent-gold);outline-offset:3px}@media(max-width:700px){.shell{padding-left:16px;padding-right:16px}}.tactical-card{max-width:980px;margin:42px auto;padding:16px;color:var(--text-primary-dark);background:var(--surface-stone-dark);border:3px solid var(--border-frame-outer);outline:1px solid var(--border-frame-inner);border-radius:2px;box-shadow:4px 4px 12px #0009,inset 0 0 0 1px #ffffff14}.tactical-header{margin-bottom:12px;color:var(--text-accent-gold);font-size:11px;letter-spacing:2px;text-align:center;text-transform:uppercase}.tactical-main-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:16px;margin-bottom:16px}.unit-portrait-block,.unit-id-block,.stats-grid-panel,.tactical-detail-panel{background:var(--surface-parchment-base);border:2px solid var(--border-frame-outer);padding:12px}.unit-portrait-block{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center}.portrait-frame{display:grid;place-items:center;min-height:176px;padding:8px;background:#24252a;border:2px solid var(--border-frame-inner);box-shadow:inset 0 0 0 4px #574631}.portrait-frame .class-art{height:154px;margin:0;border:0;background:radial-gradient(circle,#3c4145,#171a1e)}.portrait-frame .class-art img{width:104px;height:140px}.vital-stats{display:grid;gap:10px}.level-exp,.bar-container,.gold-display{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;color:var(--text-primary-dark);font-family:Georgia,serif}.level-exp{grid-template-columns:1fr 1fr;font-size:17px;font-weight:700}.stat-label,.bar-label{font-weight:700}.stat-value,.bar-text{white-space:nowrap;font-weight:700}.bar-bg{min-width:80px;height:10px;background:var(--stat-bar-bg);border:1px solid #000}.bar-fill{height:100%}.hp-fill{background:var(--stat-hp-fill)}.mp-fill{background:var(--stat-mp-fill)}.unit-id-block{display:grid;align-content:center;gap:16px;min-height:214px;background:var(--surface-parchment-light)}.unit-name{padding-bottom:10px;border-bottom:1px solid var(--border-divider);font-size:clamp(20px,3vw,28px);font-weight:700}.unit-job-info{display:grid;gap:7px;font-size:20px}.job-title{font-weight:700}.sub-status{font-size:14px;color:var(--text-secondary-dark)}.identity-stats{display:flex;gap:18px;font-size:16px;font-weight:700}.stats-grid-panel{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;text-align:center;background:var(--surface-parchment-light)}.stat-box{padding:6px;border:1px solid var(--border-frame-inner);background:#fff3}.stat-box .lbl{display:block;color:var(--text-secondary-dark);font-size:10px}.stat-box .val{display:block;color:var(--text-primary-dark);font-size:18px;font-weight:700}.tactical-detail-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 18px;margin-top:10px;background:var(--surface-parchment-light);font-size:15px}.class-skills-panel{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid rgba(219,168,107,.35);border-radius:10px;background:#18172b8c}.class-skills-panel .eyebrow{margin:0}.class-skills-panel strong,.class-skills-panel small{display:block}.class-skills-panel small{color:var(--muted)}.skill-list{display:flex;flex-wrap:wrap;gap:6px}.skill-list span{padding:5px 8px;border-radius:6px;background:#785aa040;font-size:13px}.tactical-footer{display:grid;grid-template-columns:1fr auto;gap:14px 18px;align-items:center;margin-top:10px;padding:14px;background:var(--surface-parchment-base);border:2px solid var(--border-frame-outer)}.controls-row{display:flex;flex-wrap:wrap;gap:12px}.controls-row label{display:grid;gap:5px;color:var(--text-primary-dark);font-size:12px;font-weight:700}.tactical-select{min-width:180px;padding:8px 10px;color:var(--text-primary-dark);background:var(--surface-parchment-light);border:1px solid var(--border-frame-inner);border-radius:2px}.action-row{justify-self:end}.btn-tactical-primary{padding:11px 24px;color:#fff;font-family:Georgia,serif;font-weight:700;background:var(--text-accent-gold);border:2px solid var(--border-frame-outer);border-radius:2px;box-shadow:2px 2px #00000080}.btn-tactical-primary:hover{background:#e5b34e}.glove-cursor{filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.expedition-status,.expedition-log{grid-column:1 / -1;margin:0;color:var(--text-secondary-dark);font-size:12px}.expedition-progress{grid-column:1 / -1;height:8px;background:var(--stat-bar-bg);border:1px solid #000}.expedition-progress span{display:block;height:100%;background:var(--stat-ct-fill)}@media(max-width:760px){.tactical-main-grid,.unit-portrait-block{grid-template-columns:1fr}.unit-id-block{min-height:0}.portrait-frame{min-height:150px}.tactical-detail-panel{grid-template-columns:repeat(2,1fr)}.tactical-footer{grid-template-columns:1fr}.action-row{justify-self:stretch}.btn-tactical-primary{width:100%}}@media(max-width:480px){.stats-grid-panel{grid-template-columns:repeat(2,1fr)}.stats-grid-panel .stat-box:last-child{grid-column:1 / -1}.level-exp,.bar-container{font-size:13px}}.battle-layout{min-width:0;align-items:start}.battle-log{min-width:0;max-height:360px;height:360px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-self:start;scrollbar-color:var(--text-accent-gold) #0b1118}.battle-log strong{flex:0 0 auto;position:sticky;top:0;z-index:1;padding-bottom:8px;background:#101820}.battle-log p{flex:0 0 auto;max-width:100%;margin:0 0 7px;overflow-wrap:anywhere;line-height:1.35}@media(max-width:700px){.battle-log{width:100%;max-height:260px;height:260px}}.automatic-skills{margin:28px auto;padding:18px;max-width:980px;border:2px solid var(--border-frame-outer);background:linear-gradient(135deg,#1e222afa,#302b23fa);box-shadow:4px 4px 12px #0009,inset 0 0 0 1px var(--border-frame-inner)}.automatic-skill-list{display:grid;gap:8px}.automatic-skill-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border-frame-inner);background:var(--surface-parchment-light);color:var(--text-primary-dark)}.automatic-skill-info strong,.automatic-skill-info small{display:block}.automatic-skill-info small{color:var(--text-secondary-dark);line-height:1.35}.skill-state{color:var(--text-secondary-dark);font-size:12px;font-weight:700}.skill-locked{opacity:.72}.skill-unlock,.skill-upgrade{padding:7px 10px;border:1px solid var(--border-frame-outer);border-radius:2px;background:var(--text-accent-gold);color:var(--text-primary-dark);font-weight:700}.skill-unlock:disabled,.skill-upgrade:disabled{cursor:not-allowed;opacity:.45}@media(max-width:700px){.automatic-skill-row{grid-template-columns:1fr;gap:6px}.automatic-skill-row button{width:100%}}
