:root{--bg:#100d17;--surface:#1b1624;--line:#40344e;--text:#eee7dc;--muted:#b6aabd;--accent:#ceaf78;--danger:#efa5ae;background:var(--bg)}
body{background:radial-gradient(ellipse at top right,#38234550,transparent 55%),var(--bg);min-height:100vh}
header h1{font-family:"Noto Serif TC","PMingLiU",serif;letter-spacing:3px}
.entry-nav{display:flex;flex-wrap:wrap;gap:20px}.entry-nav a{color:var(--accent);font-size:13px;text-decoration:none;padding:10px 0}.entry-nav a:hover{text-decoration:underline}
#notice,.active-skill{background:#292032}input,select,button,.file-button,.combatant{background:#15101e}button:hover,.file-button:hover{background:#362a42}.primary{background:var(--accent);color:#201727}.primary:hover{background:#e4c892}.item-choice[aria-pressed=true]{background:#35283d}.formula-node{background:#201828;border-left-color:#9c7db5}.health,.posture,.charge{background:#0d0a12}.panel{box-shadow:0 12px 32px #00000018}.workspace-tabs [aria-selected="true"]{color:#201727}
/* The workshop embeds the shared battle scene and keeps only formation inputs here. */
.workspace-main .arena{max-width:none}.battle-preview{display:block;width:100%;height:1120px;border:0;border-radius:12px;background:#0c0b12;margin-bottom:24px}.arena>.section-title #timer,.arena .live-board,.arena .team-skill,.arena>.battle-controls,.arena>.active-skill,.arena>#battle-result,.arena>#log{display:none}.arena #teams{display:flex;flex-direction:column-reverse;gap:16px}.arena .slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.arena .slot[data-occupied=true]{opacity:.45}.arena .slot{padding:10px;background:#15101e;border:1px solid var(--line);border-radius:8px}@media(max-width:700px){.arena .slots{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-preview{height:1250px}}
.enemy-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}#enemy-list{margin-bottom:20px}#enemy-list [aria-pressed=true]{border-color:var(--accent);background:#42334b}#enemy-message{color:var(--accent)}@media(max-width:720px){.enemy-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

#enemy-list{display:grid;gap:8px}#enemy-list button{text-align:left;width:100%}.enemy-slots>label{padding:12px;border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;align-content:start}.enemy-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-settings{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.growth-row{display:grid;grid-template-columns:60px repeat(4,minmax(0,1fr));gap:10px;align-items:center;margin:12px 0}.growth-row input{width:100%;min-width:0}#growth-preview{overflow-x:auto}#growth-preview table{width:100%;border-collapse:collapse}#growth-preview th,#growth-preview td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}@media(max-width:720px){.growth-row{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-row>strong{grid-column:1/-1}.enemy-slots{grid-template-columns:1fr}}

.growth-row{grid-template-columns:100px repeat(3,minmax(100px,1fr));padding:14px;border-bottom:1px solid var(--line)}.growth-row>strong{grid-column:1/-1}@media(max-width:720px){.growth-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
#growth-form .workspace-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));max-width:660px}#growth-form .workspace-tabs button{white-space:nowrap}#growth-form .growth-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){#growth-form .workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}#growth-form .growth-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
#law-list{display:grid;gap:8px;margin-top:16px}#law-list button{width:100%;text-align:left}#law-list button[aria-pressed=true]{border-color:var(--accent);background:#42334b}.law-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.law-passive{min-width:0;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.law-passive>label{display:block;margin-bottom:12px}.law-condition{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.law-passive .effect-card{margin:16px 0}.law-passive>button{margin:8px 8px 0 0}@media(max-width:720px){.law-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.global-data-toolbar{position:sticky;top:0;z-index:50;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 20px;background:#181420;border-bottom:1px solid var(--line);box-shadow:0 5px 16px #0006}.global-data-toolbar span{font-size:.85rem;color:var(--muted)}
#editor-file-status{overflow-wrap:anywhere}#editor-file-status[data-state="error"]{color:#f0a99f}#editor-file-status[data-state="pending"]{color:#dfc290}

.trial-laws{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.trial-laws button{font-size:11px;padding:4px 6px;overflow-wrap:anywhere}
/* 技能出現條件：分類多選沿用條件卡結構，勾選值可自然換行。 */
.skill-filter-values{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0}.skill-filter-values label{display:inline-flex;align-items:center;gap:6px;margin:0;min-width:0}.skill-filter-values input[type=checkbox]{width:auto;margin:0}.skill-count-filters{min-width:0}.skill-count-filters .effect-condition{min-width:0;overflow-wrap:anywhere}

.status-enhanced-toggle{display:flex;align-items:center;gap:8px;margin-top:16px}.status-enhanced-toggle input[type=checkbox]{width:auto;margin:0;padding:0}

.enemy-generator{min-width:0;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:8px}.enemy-generator legend{padding:0 8px}.enemy-generator .fields{margin-bottom:12px}.enemy-generator p{font-size:13px}

.tournament-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;max-height:360px;overflow:auto;margin:16px 0}.tournament-teams label{display:flex;align-items:start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:7px;overflow-wrap:anywhere}.tournament-teams input{width:auto;flex:none;margin:2px 0}.tournament-teams input:disabled+span{opacity:.55}.tournament-results{margin-top:20px}.tournament-table-scroll{max-width:100%;overflow:auto;margin:16px 0}.tournament-table-scroll table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.tournament-table-scroll th,.tournament-table-scroll td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.tournament-table-scroll th{color:var(--accent)}#tournament-progress{display:block;width:100%;margin:16px 0 8px}#tournament-message{color:var(--accent)}@media(max-width:620px){.tournament-teams{grid-template-columns:1fr}}
