:root{color-scheme:dark;--bg0:#07090d;--bg1:#0d1118;--panel:rgba(19,23,31,.96);--panel2:#1d2430;--line:#465064;--text:#f7f2e6;--muted:#b6becb;--gold:#d9b85f;--blue:#72a8ff;--green:#7bd996;--red:#ef757d;--shadow:0 18px 45px rgba(0,0,0,.42)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 8% 3%,rgba(89,127,210,.18),transparent 25%),radial-gradient(circle at 92% 10%,rgba(175,67,74,.15),transparent 23%),linear-gradient(180deg,#080a0e,#101620 48%,#07090d)}
button,select,input,textarea{font:inherit}button{border:1px solid #535f73;border-radius:9px;background:linear-gradient(180deg,#2b3340,#1d2430);color:var(--text);padding:8px 11px;cursor:pointer}button:hover{border-color:#8d7545}button.primary{background:linear-gradient(180deg,#496da6,#29466f);border-color:#6f94cc}button.good{background:linear-gradient(180deg,#2d6742,#183c28);border-color:#4c8e61}button.bad{background:linear-gradient(180deg,#6e333a,#462127);border-color:#98505a}button:disabled{opacity:.45;cursor:not-allowed}select,input,textarea{border:1px solid #4a556a;border-radius:8px;background:#0b0f15;color:var(--text);padding:8px}.app{max-width:1500px;margin:auto;padding:12px}.mast{border:1px solid #6e5a32;border-radius:16px;padding:14px 16px;background:linear-gradient(105deg,rgba(8,10,14,.95),rgba(23,28,38,.94));box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sigil{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#17130a;background:radial-gradient(circle at 35% 30%,#fff0a9,#d2a449 55%,#76511c);border:2px solid #f0d88d}.mast h1{font:700 28px/1 Georgia,serif;margin:0}.sub{color:var(--muted);font-size:12px}.toolbar{margin-top:10px;display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding:9px;border:1px solid #374052;border-radius:12px;background:rgba(10,14,20,.82)}.status{margin-left:auto;color:#e9d796}.integrity{font-weight:800}.integrity.ok{color:var(--green)}.integrity.bad{color:var(--red)}.turnbar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:9px}.turnbar label{font-size:11px;color:var(--muted)}.turnbar select{width:100%;margin-top:3px}.table{margin-top:10px;display:grid;grid-template-columns:170px minmax(0,1fr) 170px;gap:9px}.side,.center{border:1px solid #3e485a;border-radius:13px;background:linear-gradient(180deg,rgba(25,30,40,.97),rgba(15,19,26,.97));padding:10px}.life{display:flex;align-items:center;justify-content:center;gap:9px;margin:7px}.life strong{font-size:26px;color:#fff0b7}.zone{border:1px solid #3e485a;border-radius:11px;background:#0a0e14;min-height:118px;padding:7px;margin-top:7px;overflow:auto}.zone h3{margin:0 0 6px;color:#eedba6;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.zone.drop{outline:2px dashed #d9b85f}.hand{min-height:175px}.battlefield{min-height:210px}.cards{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.card{width:92px;border:1px solid #62583d;border-radius:7px;background:#151a22;padding:4px;position:relative;box-shadow:0 6px 16px rgba(0,0,0,.28)}.card img{width:82px;height:115px;object-fit:cover;border-radius:5px;display:block;background:#080a0d}.card .name{font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card.tapped{transform:rotate(7deg);outline:2px solid rgba(217,184,95,.6)}.card.back{height:130px;display:grid;place-items:center;background:radial-gradient(circle,#2a3c65,#111827);font-weight:900;color:#e8d8a2}.card[draggable=true]{cursor:grab}.meta{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:11px}.stackbox{display:grid;grid-template-columns:1fr 310px;gap:9px}.log{height:210px;overflow:auto;white-space:pre-wrap;background:#080b10;border:1px solid #30394a;border-radius:9px;padding:8px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.manual textarea{width:100%;min-height:72px}.preview{position:sticky;top:10px}.preview img{width:100%;max-height:390px;object-fit:contain;border-radius:10px;background:#080a0d}.rules{white-space:pre-wrap;font-size:12px;color:#d8dce4;margin-top:8px;max-height:250px;overflow:auto}.modal{display:none;position:fixed;inset:0;background:rgba(3,5,8,.88);z-index:50;align-items:center;justify-content:center;padding:16px}.modal.open{display:flex}.modal-panel{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#111722;border:1px solid #7e6b40;border-radius:14px;padding:14px}.choose-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.choose-card{border:1px solid #465064;border-radius:9px;padding:8px;background:#0c1118}.choose-card.selected{outline:2px solid var(--gold)}.small{font-size:11px;padding:5px 7px}.hidden{display:none!important}@media(max-width:900px){.table{grid-template-columns:1fr}.preview{position:static}.turnbar{grid-template-columns:repeat(2,1fr)}.stackbox{grid-template-columns:1fr}.side{order:2}.center{order:1}}@media(max-width:560px){.app{padding:6px}.card{width:76px}.card img{width:66px;height:93px}.mast h1{font-size:23px}.status{width:100%;margin-left:0}.turnbar{grid-template-columns:1fr 1fr}}
.challenge-banner{margin-top:9px;border:1px solid #7e6b40;border-radius:12px;background:linear-gradient(90deg,rgba(64,48,18,.72),rgba(18,24,34,.92));padding:9px 11px;display:flex;justify-content:space-between;gap:10px;align-items:center}.challenge-banner .actions{margin:0}.challenge-panel{width:min(1100px,97vw)}.challenge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.challenge-head h2{margin:0}.challenge-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px}.challenge-list-pane label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.challenge-list-pane select{width:100%;margin-bottom:8px}.challenge-list{max-height:68vh;overflow:auto;display:flex;flex-direction:column;gap:5px}.challenge-item{text-align:left;width:100%;padding:8px}.challenge-item.active{outline:2px solid var(--gold);border-color:#a88c4c}.challenge-detail{border:1px solid #354052;border-radius:11px;padding:12px;background:#0a0e14;min-height:420px}.challenge-detail h2{margin:5px 0 12px}.challenge-detail h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#eedba6;margin:14px 0 4px}.challenge-detail p{white-space:pre-wrap}.challenge-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;border:1px solid #536078;border-radius:999px;padding:3px 8px;font-size:10px;color:#d8deea;background:#18202c}.challenge-solution{margin-top:12px;border-left:3px solid var(--gold);background:#141a22;padding:10px;border-radius:7px;white-space:pre-wrap}.challenge-solution::before{content:'Solution / teaching reference';display:block;color:#eedba6;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}@media(max-width:760px){.challenge-layout{grid-template-columns:1fr}.challenge-list{max-height:190px}.challenge-banner{align-items:flex-start;flex-direction:column}}.challenge-setup-tools{margin-top:6px;border:1px dashed #4c5870;border-radius:10px;padding:7px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:rgba(10,14,20,.72)}.challenge-setup-tools input{min-width:190px;flex:1}.challenge-setup-tools select{min-width:110px}
/* CHOICES mechanical beta — test fixture only, not final art */
button.choices-accent{background:linear-gradient(180deg,#725190,#432d5a);border-color:#9c73bd}.choices-modal{z-index:70}.choices-panel{width:min(1180px,96vw);max-height:94vh;overflow:auto}.choices-setup{display:flex;gap:7px;align-items:end;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #374052}.choices-setup label{display:grid;gap:3px;color:var(--muted);font-size:11px}.choices-days{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0}.day-chip{border:1px solid #4b5569;border-radius:999px;padding:5px 8px;color:var(--muted);font-size:11px}.day-chip.current{border-color:#d9b85f;color:#f8e4a5}.day-chip.done{border-color:#4c8e61;color:#9ee9b2}.choices-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px}.choices-card{border:1px solid #3d4658;border-radius:13px;background:rgba(12,16,23,.86);padding:12px;min-width:0}.choices-card h3{margin:8px 0}.choice-kicker{display:flex;gap:7px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:11px}.choice-facts{display:grid;gap:5px}.choice-facts div{display:grid;grid-template-columns:78px 1fr;gap:6px}.choice-facts dt{color:var(--muted)}.choice-facts dd{margin:0}.choices-entities{display:grid;gap:6px}.choice-entity{display:grid;gap:2px;border:1px solid #4a556a;border-radius:9px;padding:8px;background:#0a0e14}.choice-entity span{font-size:11px;color:var(--muted)}.choice-action-hand{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}.choice-action{display:grid;text-align:left;gap:3px}.choice-action span{font-size:11px;color:var(--muted)}.choice-action.selected,#choicesImprovise.selected{outline:2px solid #d9b85f;border-color:#d9b85f}.choices-card textarea{width:100%;min-height:72px;margin:7px 0}.choices-card select{max-width:100%}.choice-outcome{border:1px solid #59657a;border-radius:10px;padding:10px;font-weight:800;background:#101722}.emotion-row{display:flex;gap:6px;flex-wrap:wrap}.emotion-chip{border:1px solid #b16f72;border-radius:999px;padding:5px 8px;background:#3c2229;color:#ffd8dc;font-weight:700;font-size:11px}.choices-memories{display:grid;gap:5px;max-height:220px;overflow:auto}.choice-memory{display:grid;gap:2px;padding:7px;border-radius:8px;border:1px solid #4a556a}.choice-memory span{font-size:10px;color:var(--muted)}.good-memory{border-color:#4c8e61;background:rgba(28,73,43,.25)}.bad-memory{border-color:#98505a;background:rgba(83,35,40,.25)}.week-summary{margin-top:10px;border:1px solid #d9b85f;border-radius:10px;padding:10px;background:rgba(94,72,24,.2)}.choices-dev{margin-top:10px;border:1px solid #374052;border-radius:10px;padding:8px}.choices-dev summary{cursor:pointer;font-weight:700}.dev-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.bad-text{color:var(--red)!important}@media(max-width:900px){.choices-grid{grid-template-columns:1fr}.choice-action-hand{grid-template-columns:1fr}.choices-panel{width:98vw}}
