:root{color-scheme:light;--paper:#f4f2ec;--card:#fffefa;--ink:#203a40;--muted:#657a7d;--line:#d7dfd9;--accent:#25766a;--gold:#b68a48;--dark:#13262b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Hiragino Sans",Meiryo,sans-serif}button,input,select,textarea{font:inherit}button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:9px 15px;background:var(--card);color:var(--ink);cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c39847;outline-offset:2px}input,select,textarea{width:100%;min-height:46px;padding:9px 12px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px}input[type=checkbox]{width:25px;min-height:25px;accent-color:var(--accent)}input[type=number]{font-variant-numeric:tabular-nums}textarea{min-height:100px;resize:vertical}.app-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 26px;background:var(--dark);color:#f5f3e9;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:13px}.brand strong{font-size:21px;letter-spacing:.12em}.brand small{display:block;font-size:10px;letter-spacing:.17em;color:#9ebbb4}.mark{font-size:42px;color:#d0b57c}.head-actions{display:flex;align-items:center;gap:10px}#save-status{font-size:12px;color:#bcd3cc;max-width:170px}.shell{display:grid;grid-template-columns:286px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh -100px)}aside{border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:101px;height:calc(100dvh - 101px);overflow:auto}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.tabs button{background:transparent}.tabs button.active{background:#dfece5;border-color:#80a798;color:#175e51;font-weight:700}.count{font-size:12px;color:var(--muted);margin:12px 4px}.records{display:grid;gap:7px}.record{text-align:left;padding:11px 13px;display:flex;flex-direction:column;gap:3px;min-height:70px}.record small{font-size:12px;color:var(--muted)}.record.active{border-left:4px solid var(--accent);background:#e8f0e9}.dirty-dot{color:var(--gold)}main{padding:28px 30px 100px;min-width:0}.eyebrow{font-size:11px;color:var(--accent);letter-spacing:.16em;margin:0 0 5px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}h1{font-size:29px;line-height:1.3;margin:0}h2{font-size:19px;margin:0 0 16px}h3{font-size:16px;margin:0 0 12px}.toolbar{display:flex;gap:7px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:23px;margin-bottom:18px;box-shadow:0 3px 14px #17393604}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span,.field-label{font-size:13px;font-weight:650;color:var(--muted)}.field.wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:12px;min-height:46px}.note{font-size:13px;color:var(--muted)}.pill{display:inline-block;border:1px solid var(--line);border-radius:100px;padding:4px 11px;font-size:12px;background:#eaf1eb}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.stat-row{display:grid;grid-template-columns:110px repeat(3,minmax(70px,1fr));gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.stat-row strong{font-size:14px}.table-head{color:var(--muted);font-size:12px}.stat-curve{width:100%;height:160px;display:block;background:#f0f5ef;border-radius:10px}.assignment{display:grid;grid-template-columns:30px minmax(0,1fr) 95px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.assignment small{display:block;color:var(--muted);font-size:12px}.filter-row{display:flex;gap:8px;margin:10px 0}.effect{border-left:3px solid #8bb6a3;background:#f3f6ef;padding:16px;border-radius:8px;margin-bottom:12px}.effect .grid{gap:12px}.wave{border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px;background:#f6f8f2}.enemy-slot{border:1px solid var(--line);border-radius:10px;background:white;padding:14px;margin:10px 0}.enemy-slot .grid{margin-top:10px}.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-row select{flex:1;min-width:160px;width:auto}.danger{color:#a13e36}.welcome{max-width:850px;margin:60px auto;padding:30px}.welcome h1{font-size:40px;line-height:1.4}.welcome .lead{font-size:18px;margin:24px 0}.welcome .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0}.steps strong{font-size:32px;color:#88a999}.steps p{font-size:14px}.notice{padding:14px 18px;border-radius:10px;background:#edf3ec;margin:16px 0}.errors{background:#fff0e7;color:#8c3f30}.advanced summary{min-height:44px;cursor:pointer;font-weight:600}.advanced details{margin:12px 0;border:1px solid var(--line);border-radius:8px;padding:12px}.advanced .grid{margin-top:12px}.array-row{display:flex;align-items:center;gap:8px;margin:8px 0}.array-row label{flex:1}dialog{max-width:620px;width:90%;border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#102d3677}dialog button{display:block;width:100%;margin:12px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 24px;background:var(--dark);color:white;border-radius:12px;z-index:30;display:none}footer{font-size:12px;color:var(--muted);margin-top:20px;overflow-wrap:anywhere}.summary-values{display:flex;flex-wrap:wrap;gap:10px}.summary-values span{padding:7px 12px;background:#edf3ec;border-radius:8px;font-size:13px}.empty{padding:50px 15px;text-align:center;color:var(--muted)}@media(max-width:950px){.app-head{padding:12px 16px}.brand strong{font-size:18px}.mark{font-size:32px}.head-actions{gap:6px}#save-status{display:none}.shell{grid-template-columns:235px minmax(0,1fr)}aside{top:80px;height:calc(100dvh - 80px);padding:16px 10px}main{padding:22px 16px 80px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:17px}.stat-row{grid-template-columns:88px repeat(3,minmax(60px,1fr));gap:7px}.stat-row input{padding:8px}.title-row{align-items:flex-start}h1{font-size:24px}}@media(max-width:650px){.app-head{flex-wrap:wrap}.head-actions{width:100%;justify-content:flex-end}.shell{display:block}aside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.tabs{grid-template-columns:repeat(4,1fr)}.tabs button{padding:8px 4px;font-size:13px}.records{display:flex;overflow-x:auto}.record{min-width:180px;max-width:240px}.count{margin:6px}.grid.three,.grid{grid-template-columns:1fr 1fr}.title-row{flex-wrap:wrap}.welcome{margin:16px auto;padding:22px}.welcome h1{font-size:29px}.welcome .steps{grid-template-columns:1fr}.stat-row{grid-template-columns:78px repeat(3,minmax(55px,1fr))}.assignment{grid-template-columns:30px minmax(0,1fr) 78px}}

.section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.section-tabs .active{background:#dfece5;border-color:#80a798;color:#175e51;font-weight:700}

@media(max-width:950px){.tabs button{padding:9px 5px;font-size:14px}}

.effect-description{white-space:pre-line;line-height:1.65;margin-top:6px;color:var(--ink)!important}.assignment{align-items:start}.assignment>input{margin-top:8px}
