:root{--ink:#17211f;--muted:#6f7c78;--paper:#f5f3ec;--card:#fffdf8;--green:#175f53;--line:#d9ddd5;--red:#9c4938}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:ui-sans-serif,Yu Gothic UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:9px;padding:.62rem .8rem}button:hover{border-color:var(--green)}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:.7rem}textarea{width:100%;min-height:90px;display:block}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{color:#eef7f2;background:#122d28;flex-direction:column;gap:.35rem;height:100vh;padding:1rem .7rem;display:flex;position:sticky;top:0}.sidebar a{border-radius:9px;align-items:center;gap:.8rem;padding:.72rem;display:flex}.sidebar a:hover{background:#24463f}.sidebar b{text-align:center;width:1.6rem}.brand{margin-bottom:1rem;font-size:1.35rem}.side-icons{grid-template-columns:64px 1fr}.side-icons .sidebar span{display:none}.side-hidden{grid-template-columns:0 1fr}.side-hidden .sidebar{display:none}.stage{flex-direction:column;min-width:0;display:flex}.stage>header{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f3eceb;align-items:center;gap:1rem;height:60px;padding:0 1.3rem;display:flex;position:sticky;top:0}header small{color:var(--muted);margin-left:auto}main{flex:1;width:min(1180px,100%);margin:auto;padding:2rem}footer{color:var(--muted);text-align:center;padding:1rem 2rem}.bottom{display:none}.hero{max-width:760px;padding:4rem 0 2rem}.hero h1{margin:.5rem 0 1.3rem;font-family:serif;font-size:clamp(2.4rem,6vw,5.5rem);line-height:1.05}.hero p{color:var(--muted);font-size:1.05rem}.entry-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.entry-grid a{background:var(--card);border:1px solid var(--line);border-radius:16px;gap:.5rem;min-height:145px;padding:1.4rem;display:grid}.entry-grid strong{font-size:1.3rem}.entry-grid span{color:var(--muted)}.entry-grid i{margin-top:auto}.page-title{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-title h1{margin:0;font-family:serif;font-size:2.2rem}.page-title p,.muted{color:var(--muted)}.toolbar,.form-row{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.toolbar input{flex:1;min-width:200px}.primary,.active{background:var(--green);color:#fff;border-color:var(--green)}.danger{color:#fff;background:var(--red)}.generals{gap:.65rem;display:grid}.generals.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.generals.list{grid-template-columns:1fr}.general-card{text-align:left;align-items:center;gap:.7rem;padding:.7rem;display:flex}.general-card.selected{outline:2px solid var(--green)}.portrait{background:#dfe7de;border-radius:8px;flex:none;place-items:center;width:48px;height:58px;display:grid;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.general-card span:last-child{gap:.25rem;display:grid;overflow:hidden}.general-card small{color:var(--muted);white-space:nowrap}.formation-slots article,.share-preview,.settings,.chart{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.2rem}.formation-slots article{gap:.5rem;min-height:140px;display:grid}.list-panel{gap:.65rem;margin-top:1rem;display:grid}.list-panel article{background:var(--card);border-bottom:1px solid var(--line);gap:.4rem;padding:1rem;display:grid}.list-panel small{color:var(--muted)}.list-panel p{color:#4c5653;margin:0}.chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.chips span{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.4rem}.chips input{width:50px;padding:.25rem}.stats{flex-wrap:wrap;gap:1rem;margin:1rem 0;display:flex}.stats b{background:#dfece6;border-radius:10px;padding:.7rem 1rem}.chart-box{height:380px}.tooltip{border:1px solid var(--line);background:#fff;max-width:280px;padding:.7rem}.ad{border:1px dashed var(--line);min-height:80px;color:var(--muted);place-items:center;margin-top:2rem;display:grid}.settings>*{margin-right:.5rem}.settings h2{margin-top:2rem}.share-preview a{color:var(--green);margin-left:1rem;display:inline-block}@media (max-width:740px){.shell,.side-icons,.side-hidden{display:block}.sidebar{display:none}.stage>header{height:52px;padding:0 .7rem}.stage>header strong{font-size:.85rem}header small{font-size:.68rem}main{padding:1rem 1rem 6rem}.bottom{z-index:10;border-top:1px solid var(--line);height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom a{place-items:center;font-size:.68rem;display:grid}.bottom b{font-size:1.05rem}.hero{padding:2rem 0 1rem}.entry-grid{grid-template-columns:1fr 1fr}.entry-grid a{min-height:120px;padding:1rem}.formation-slots{grid-template-columns:1fr}.page-title{display:block}.page-title h1{font-size:1.8rem}.chart-box{height:300px}.form-row label,.form-row input,.form-row select{width:100%}}.beta-badge{color:#fff;letter-spacing:.04em;white-space:nowrap;background:#b74f35;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:.15rem .52rem;font-size:.74rem;font-weight:800;display:inline-flex}.beta-ribbon{z-index:4;color:#69461f;text-align:center;background:#fff1d8;border-bottom:1px solid #e2c69f;padding:.42rem 1.3rem;font-size:.82rem;position:sticky;top:60px}.stage>footer{gap:.28rem;font-size:.78rem;display:grid}.stage>footer p{margin:0}.feedback-trigger{z-index:20;color:#fff;background:#9c4938;border-color:#7f382b;font-weight:700;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 8px 24px #331f193d}.feedback-trigger:hover{background:#843b2e;border-color:#542018}.feedback-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f191794;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.feedback-dialog{border:1px solid var(--line);background:var(--card);border-radius:18px;width:min(560px,100%);max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto;box-shadow:0 26px 70px #0a16134d}.feedback-dialog-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.feedback-dialog-head>div{align-items:center;gap:.65rem;display:flex}.feedback-dialog h2{margin:0;font-family:serif;font-size:1.55rem}.feedback-close{background:0 0;border:0;padding:.2rem .35rem;font-size:1.55rem;line-height:1}.feedback-dialog form,.feedback-dialog label{gap:.42rem;display:grid}.feedback-dialog form{gap:1rem}.feedback-dialog label{font-weight:700}.feedback-dialog label small{color:var(--muted);font-weight:400}.feedback-dialog textarea{resize:vertical;min-height:150px}.feedback-two-columns{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.feedback-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.feedback-privacy{color:var(--muted);margin:0;font-size:.78rem;line-height:1.55}.feedback-error{color:var(--red);margin:0;font-weight:700}.feedback-submit{justify-self:end;min-width:140px}.feedback-submit:disabled{opacity:.65;cursor:wait}.feedback-complete{justify-items:start;gap:.8rem;display:grid}.feedback-complete p{color:var(--muted);margin:0}.formation-details{margin-top:1rem}.formation-details>summary{cursor:pointer;padding:.8rem 0;font-weight:800}.rank-help{color:var(--muted);font-size:.84rem}.member-config{border:1px solid var(--line);background:var(--card);border-radius:14px;gap:1rem;margin:1rem 0;padding:1rem;display:grid}.member-config-heading,.allocation-heading,.skill-equipment>div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.member-config-heading h3{margin:.15rem 0 0;font-family:serif;font-size:1.35rem}.member-config-heading label{align-items:center;gap:.5rem;font-weight:700;display:flex}.member-config-heading input{width:72px}.allocation-heading span{color:var(--green);font-weight:800}.allocation-grid{grid-template-columns:repeat(4,1fr);gap:.55rem;display:grid}.allocation-grid label,.skill-equipment label{gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.trait-list{gap:.4rem;display:grid}.trait-list>span{border-radius:8px;padding:.55rem .65rem;font-size:.78rem;line-height:1.45}.trait-list .unlocked{color:#1c5247;background:#e3efe8}.trait-list .locked{color:#8a918e;background:#ecece8}.trait-list b{min-width:2.4rem;display:inline-block}.skill-equipment{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.skill-equipment>div,.unique-skill-card{grid-column:1/-1}.skill-equipment small{color:var(--muted)}.skill-equipment select,.skill-equipment .skill-search{width:100%}.skill-picker{position:relative}.skill-result-count{pointer-events:none;background:#edf5f1;border-radius:5px;padding:.15rem .35rem;font-weight:800;position:absolute;top:2.35rem;right:.65rem;color:var(--green)!important}.unique-skill-card{background:#fff8e6;border:1px solid #ceb36e;border-radius:10px;gap:.35rem;padding:.8rem;display:grid}.unique-skill-card>div{color:#795b18;justify-content:space-between;gap:.5rem;font-size:.72rem;display:flex}.unique-skill-card>strong{font-family:serif;font-size:1.1rem}.unique-skill-card p{color:#574c35;margin:0;font-size:.78rem;line-height:1.55}.simulation-notes{background:#fff4df;border-left:4px solid #c88d38;margin-top:1rem;padding:1rem}.simulation-notes h3{margin:0 0 .5rem}.simulation-notes ul{margin:.5rem 0 0;padding-left:1.25rem}.simulation-notes li{color:#604b2d;margin:.25rem 0;font-size:.82rem}@media (max-width:740px){.stage>header{gap:.55rem}.app-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stage>header .beta-badge{min-height:21px;padding:.1rem .42rem;font-size:.66rem}.stage>header small{display:none}.beta-ribbon{text-align:left;padding:.38rem .8rem;font-size:.73rem;top:52px}.feedback-trigger{padding:.58rem .72rem;font-size:.8rem;bottom:76px;right:.75rem}.feedback-dialog{padding:1rem}.feedback-dialog-head>div{align-items:flex-start}.feedback-dialog h2{font-size:1.35rem}.feedback-two-columns{grid-template-columns:1fr}.feedback-submit{justify-self:stretch;width:100%}.stage>footer{padding:1rem 1rem 5.5rem;font-size:.7rem}.allocation-grid{grid-template-columns:1fr 1fr}.skill-equipment{grid-template-columns:1fr}.member-config-heading{align-items:flex-end}.trait-list>span{font-size:.72rem}}.bell{margin-left:auto;position:relative}.bell b{color:#fff;background:#9c4938;border-radius:99px;padding:1px 5px;font-size:.65rem;position:absolute;top:-8px;right:-10px}.badge{color:#175f53;background:#dfece6;border-radius:99px;padding:.15rem .45rem;font-style:normal}.unread{border-left:4px solid #175f53!important}.check{margin:.5rem 0;display:block}.beta-unavailable{color:#65430f;background:#fff4d9;border:1px solid #d9a441;border-radius:14px;gap:.35rem;margin:0 0 1rem;padding:1rem 1.1rem;display:grid}.beta-unavailable strong{font-size:1rem}.beta-unavailable span{font-size:.85rem;line-height:1.55}.question-preview{opacity:.72}.question-preview fieldset{border:0;gap:.75rem;margin:0;padding:0;display:grid}.question-preview fieldset:disabled{cursor:not-allowed}.question-preview textarea{min-height:110px}.community-compose{gap:.8rem;margin-bottom:1.5rem;display:grid}.community-compose h2,.community-compose p{margin:0}.community-compose label,.admin-login label{gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.community-compose .primary{justify-self:start}.community-message{min-height:1.4em;color:var(--green);font-weight:700}.community-list article{border:1px solid var(--line);border-radius:14px}.community-list article>strong{font-size:1.12rem}.community-list article>div{flex-wrap:wrap;gap:.5rem;display:flex}.empty-community{text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:2rem}.report-link{color:var(--muted);background:0 0;border:0;justify-self:start;padding:.25rem .5rem;font-size:.75rem}.answer-list{gap:.5rem;margin-top:.5rem;display:grid!important}.answer-list>div{background:#f5faf7;border-left:3px solid #9ab7ae;gap:.35rem;padding:.8rem;display:grid}.answer-form{grid-template-columns:1fr auto;align-items:end;margin-top:.5rem;display:grid!important}.answer-form textarea{min-height:70px}.admin-login{align-items:end;gap:.6rem;display:flex}.admin-summary{flex-wrap:wrap;gap:.6rem;display:flex}.admin-summary b{background:#dfece6;border-radius:10px;padding:.7rem 1rem}.community-list code{overflow-wrap:anywhere}@media (max-width:740px){.answer-form{grid-template-columns:1fr}.admin-login{display:grid}.community-compose .form-row label{width:100%}}.battle-log{border:1px solid var(--line);background:var(--card);border-radius:14px;gap:.6rem;margin-top:1rem;padding:1.1rem;display:grid}.battle-log h2{margin:0 0 .35rem;font-family:serif}.battle-log details{border:1px solid var(--line);background:#fff;border-radius:10px}.battle-log summary{cursor:pointer;padding:.75rem;font-weight:800}.battle-log ol{gap:.35rem;margin:0;padding:.2rem 1rem 1rem 2.2rem;display:grid}.battle-log li{color:#46514e;font-size:.84rem;line-height:1.5}.sidebar{padding-top:1.4rem}.sidebar .nav-icon{flex:none;width:22px;height:22px}.side-icons .sidebar{align-items:center}.side-icons .sidebar a{justify-content:center}.menu-button{align-content:center;gap:4px;width:38px;height:38px;padding:8px;display:grid}.menu-button span{background:currentColor;border-radius:3px;height:2px}.bottom .nav-icon{width:21px;height:21px}.bottom a{gap:2px}.formation-editor{background:#fffdf8;border:1px solid #d9ddd5;border-radius:18px;min-width:0;padding:1.15rem}.formation-heading{justify-content:space-between;align-items:end;margin-bottom:1rem;display:flex}.formation-heading h2{margin:.15rem 0;font-family:serif;font-size:1.6rem}.formation-heading small,.page-title small{letter-spacing:.16em;color:#907956}.formation-heading>span{color:#175f53;font-weight:700}.formation-slots{grid-template-columns:repeat(3,1fr);gap:.7rem;margin:0;display:grid}.formation-card{text-align:left;background:#f7f3e9;border:1px solid #0000;border-radius:13px;gap:.55rem;min-width:0;padding:.65rem;display:grid}.formation-card:hover,.formation-card.editing{border-color:#b39c6d;box-shadow:0 4px 18px #55452218}.slot-portrait{aspect-ratio:4/5;background:#e8e1d3;border-radius:10px;place-items:center;width:100%;font-size:1.5rem;display:grid;overflow:hidden}.slot-portrait img{object-fit:cover;width:100%;height:100%}.slot-portrait.placeholder{color:#ead7a6;background:linear-gradient(145deg,#3b4d48,#172b27);font-family:serif;font-size:2.1rem}.slot-portrait.empty{color:#8e887a;border:1px dashed #b5aa91}.formation-card>span{gap:.15rem;display:grid}.formation-card strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.formation-card em{color:#6f7c78;font-size:.72rem;font-style:normal}.formation-card>i{color:#175f53;font-size:.72rem;font-style:normal}.picker-panel{background:#f3f0e8;border-radius:14px;margin-top:1rem;padding:1rem}.picker-title{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.picker-panel .generals.grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));max-height:460px;padding-right:.25rem;overflow:auto}.formation-details{border-top:1px solid #d9ddd5;margin-top:1rem;padding-top:.8rem}.formation-details summary{cursor:pointer;color:#6f7c78}.formation-details label{align-items:center;gap:.4rem;margin:.6rem .5rem 0 0;display:inline-flex}.formation-details input{width:85px}.save-formation,.battle-start{color:#fff;background:#175f53;border-color:#175f53;margin-top:1rem;font-weight:700}.battle-builder{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.versus{align-self:center;place-items:center;display:grid}.versus span{color:#f4e6bb;background:#172b27;border-radius:50%;place-items:center;width:52px;height:52px;font-family:serif;font-weight:800;display:grid}.battle-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin:1.4rem auto;display:flex}.battle-controls .battle-start{margin:0;padding:.8rem 1.3rem}.battle-start:disabled{opacity:.45;cursor:not-allowed}.portrait.placeholder{color:#ead7a6;background:linear-gradient(145deg,#3b4d48,#172b27);font-family:serif}.general-browser .portrait{background-size:cover}.general-card .portrait b{font-size:1.25rem}.page-title>div h1{margin-top:.2rem}@media (max-width:900px){.battle-builder{grid-template-columns:1fr}.versus{margin:-.25rem 0}.formation-slots{gap:.45rem}.formation-card{padding:.45rem}.formation-heading h2{font-size:1.35rem}}@media (max-width:520px){.formation-editor{padding:.8rem}.slot-portrait.placeholder{font-size:1.45rem}.formation-card strong{font-size:.8rem}.formation-card>i,.formation-card em{font-size:.62rem}.battle-controls>*{flex:1}.battle-controls .battle-start{flex-basis:100%}.picker-panel{padding:.65rem}.picker-panel .generals.grid{grid-template-columns:repeat(2,1fr)}}.general-card{color:inherit;border:1px solid var(--line);background:var(--card);border-radius:9px;text-decoration:none}.general-card:hover{border-color:var(--green)}.back-link,.source-link{color:var(--green);font-weight:700}.back-link{margin-bottom:1rem;display:inline-block}.general-detail{grid-template-columns:minmax(220px,340px) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.general-detail-portrait{aspect-ratio:4/5;background:#dfe7de;border-radius:18px;display:block;overflow:hidden;box-shadow:0 16px 42px #17211f1f}.general-detail-portrait img{object-fit:cover;width:100%;height:100%}.general-detail-body h1{margin:.4rem 0 .2rem;font-family:serif;font-size:clamp(2.4rem,6vw,4.8rem)}.detail-badges,.skill-heading span{flex-wrap:wrap;gap:.4rem;display:flex}.detail-badges span,.skill-heading i{border:1px solid var(--line);background:#fffdf8;border-radius:999px;padding:.28rem .58rem;font-size:.75rem;font-style:normal}.detail-badges .reference-badge,.skill-heading .reference-badge{color:#684f10;background:#efe4bd;border-color:#d4bd73}.detail-caption{color:var(--muted);margin:.2rem 0}.general-stats{grid-template-columns:repeat(3,minmax(90px,1fr));gap:.55rem;margin:1rem 0 1.5rem;display:grid}.general-stats div{border:1px solid var(--line);background:#fffdf8;border-radius:12px;padding:.8rem}.general-stats dt{color:var(--muted);font-size:.76rem}.general-stats dd{margin:.18rem 0 0;font-size:1.35rem;font-weight:800}.detail-section{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.detail-section h2{margin:0 0 .7rem;font-size:1rem}.detail-section p{line-height:1.75}.detail-section p small{width:3.5rem;color:var(--muted);display:inline-block}.detail-section p strong{font-size:1.05rem}.reference-notice,.reference-summary{background:#f1ead4;border:1px solid #d9ca97;border-radius:12px;padding:1rem;line-height:1.65}.reference-notice{margin:1.2rem 0}.reference-notice p{margin:.35rem 0 0}.skill-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.skill-heading>strong{font-size:1.15rem}.skill-list article.reference-card{border:1px solid #d9ca97;border-radius:12px}.skill-analysis{border-left:3px solid #b39c6d;padding-left:.8rem}.skill-effect{white-space:pre-line;line-height:1.65}.reference-summary a{color:var(--green);text-underline-offset:2px;text-decoration:underline}.skill-list .source-link{margin-top:.2rem;font-size:.82rem}.formation-card[data-reorderable=true]{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.formation-card[data-reorderable=true]:active{cursor:grabbing}.formation-card.dragging{opacity:.48;transform:scale(.98)}.formation-card.drop-target{border-color:#175f53;outline:2px solid #175f5340;transform:translateY(-2px)}.formation-card .slot-portrait{pointer-events:none}.formation-card>i span{color:#907956;font-size:.85rem}.formation-reorder-hint{color:#6f7c78;text-align:center;margin:.65rem 0 0;font-size:.76rem}@media (max-width:740px){.general-detail{grid-template-columns:1fr}.general-detail-portrait{width:min(280px,82vw);margin:auto}.general-stats{grid-template-columns:repeat(2,1fr)}.skill-heading{display:grid}}
