:root{font-family:'Segoe UI',system-ui,sans-serif;color:#3c344b;background:#f6f4f0;font-synthesis:none;--ink:#393147;--muted:#837c8e;--line:#e2dce7;--purple:#74608d;--lavender:#f0eaf6;--peach:#f6d6bd;--green:#4b7d6b}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:9px 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}button:hover{background:#f2edf6;border-color:#ad9dbb}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bba0d2;outline-offset:2px}input,select{color:var(--ink);background:white;border:1px solid var(--line);border-radius:6px;padding:8px 9px;min-width:0}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox]{accent-color:var(--purple)}.lab-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#332c42;color:#f9eff2;border-bottom:1px solid #4a4059;gap:20px}.lab-brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:750;letter-spacing:2.6px}.brand-star{color:#f4d0aa;font-size:32px}.lab-brand small{display:block;font-size:9px;letter-spacing:2px;color:#baaacb;margin-top:5px}.header-center{font-size:12px;color:#bfb0ce;display:flex;gap:9px;align-items:center}.local-dot{background:#b9cbb4;border-radius:50%;width:6px;height:6px}.game-link{font-size:12px;border:1px solid #71617f;padding:10px 15px;border-radius:6px}.game-link span{margin-left:14px;color:#f4d0aa}.lab-shell{display:grid;grid-template-columns:200px minmax(400px,1fr) minmax(360px,440px);min-height:calc(100vh - 82px);max-width:1800px;margin:auto}.sidebar{border-right:1px solid var(--line);padding:29px 16px 18px;background:#eeeaf0;display:flex;flex-direction:column;gap:14px}.nav-caption{font-size:9px;letter-spacing:1.8px;font-weight:750;color:#92879f;padding:0 12px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-button{display:flex;align-items:center;gap:11px;border-color:transparent;background:transparent;width:100%;text-align:left;font-size:12px;padding:11px 12px;font-weight:500;color:#72677f}.nav-button>span{font-size:17px;width:22px;color:#9c8cae;text-align:center}.nav-button small{margin-left:auto;font-size:9px;color:#998ba4}.nav-button.active{color:#4f3c65;background:white;box-shadow:0 2px 8px #65507709;font-weight:700}.nav-button.active>span{color:#886b9b}.sidebar-note{margin-top:30px;padding:15px 12px;background:#e5deeb;border-radius:9px}.sidebar-note>span{display:block;font-size:29px;color:#9a7faf;margin-bottom:9px}.sidebar-note b{font-size:12px}.sidebar-note p{font-size:11px;line-height:1.8;color:#887b95}.sidebar-note a{display:block;font-size:10px;line-height:1.5;color:#78608b;border-top:1px solid #d3c7dc;padding-top:11px}.local-foot{font-size:8px;color:#9b90a5;letter-spacing:.8px;margin-top:auto;padding:25px 9px 0}.workspace{padding:33px 34px 50px;min-width:0}.intro{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:27px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#a28b9c}.intro h1{font-size:38px;letter-spacing:-1.3px;line-height:1.12;font-weight:650;margin:13px 0}.intro em{font-family:Georgia,serif;font-weight:400;color:#9c7c94}.intro p{font-size:12px;color:var(--muted);margin:0}.intro-badge{background:#eee6ee;border-radius:50% 50% 43% 43%;width:115px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #dfd3e4;transform:rotate(5deg)}.intro-badge span{color:#aa8d9b;font-size:23px}.intro-badge b{font-size:26px;font-weight:600;margin:2px}.intro-badge small{font-size:9px;color:#9e8c9d}.preset-bar{display:flex;gap:7px;align-items:flex-end;padding:14px;border:1px solid var(--line);background:#fdfcfa;border-radius:9px}.preset-bar label{display:flex;flex:1;min-width:100px;flex-direction:column;gap:6px;font-size:8px;letter-spacing:1.3px;font-weight:700;color:#a395a8}.preset-bar select{padding:7px;font-size:11px;max-width:220px;letter-spacing:0}.preset-bar button{font-size:10px;padding:8px 9px;white-space:nowrap}.search-bar{display:flex;align-items:center;margin:18px 0 27px;border:1px solid var(--line);background:white;border-radius:7px;padding:0 12px;gap:7px;height:43px}.search-bar>span{font-size:25px;color:#a69aac}.search-bar input[type=search]{border:0;background:transparent;flex:1;font-size:11px;outline:none;width:80px}.changed-filter{white-space:nowrap;font-size:10px;color:#8c7f97;display:flex;gap:4px;align-items:center}.search-bar kbd{font-size:10px;color:#aaa0b0;border:1px solid var(--line);padding:1px 5px;border-radius:3px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.section-title h2{font-size:21px;letter-spacing:-.5px;margin:7px 0}.section-title p{font-size:11px;color:var(--muted);margin:0;max-width:390px;line-height:1.6}.text-button{border:0;background:none;padding:7px 0;color:#a48d9a;font-size:10px;white-space:nowrap}.fields{display:flex;flex-direction:column;gap:17px}.field-section{background:#fffefc;border:1px solid var(--line);border-radius:10px;overflow:hidden}.field-section h3{margin:0;padding:14px 17px;background:#f4eff5;font-size:11px;font-weight:650;color:#796382;letter-spacing:.3px;display:flex;justify-content:space-between}.field-section h3 small{font-weight:400;color:#a999b1;font-size:9px}.field-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;padding:14px 17px;border-top:1px solid #eee8ee;position:relative}.field-row:first-of-type{border-top:0}.field-row.modified{box-shadow:inset 3px 0 #bca1cf}.field-label{font-size:12px;font-weight:600;line-height:1.4;display:block}.field-help{display:block;font-size:10px;line-height:1.55;color:#9a8c9f;margin-top:4px;max-width:400px}.field-path{display:block;color:#b2a5b8;font-size:8px;line-height:1.3;margin-top:4px;overflow-wrap:anywhere}.field-control{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:5px}.number-wrap{display:flex;align-items:center;position:relative}.number-wrap input{width:100%;font-size:14px;font-weight:650;background:#f7f3f8;border-color:#e5dce9;text-align:right;padding-right:23px;height:35px}.number-wrap input[aria-invalid=true]{border-color:#cb6974;background:#fff0ef}.field-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:13px;font-size:9px;color:#9e8ea8}.field-reset{font-size:9px;border:0;background:transparent;padding:0;color:#a799ad;font-weight:400}.field-reset:hover{background:none;color:#6f4a86}.field-error{color:#b45361;font-size:10px;grid-column:1/-1}.empty-state{font-size:13px;color:#a491a6;border:1px dashed #cbbacf;border-radius:10px;padding:30px;text-align:center}.end-note{font-size:10px;line-height:1.8;color:#a493a5;padding:22px 6px}.test-column{padding:29px 24px 36px 0;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;max-height:100vh;overflow:auto;align-self:start}.test-card{border:1px solid var(--line);border-radius:12px;background:#fffefc;overflow:hidden}.test-heading{padding:17px 17px 15px;display:flex;align-items:center;justify-content:space-between;gap:9px}.test-heading h2{font-size:15px;letter-spacing:-.3px;margin:6px 0 0}.test-badge{font-size:8px;color:#628c72;background:#e9f0e7;border:1px solid #dae5d7;padding:5px 7px;border-radius:4px;white-space:nowrap}.preview-wrap{aspect-ratio:1200/650;position:relative;background:#393347;border-top:1px solid #e5dce9;border-bottom:1px solid #e5dce9}.preview-wrap iframe{width:100%;height:100%;border:0;display:block}.test-controls{display:grid;grid-template-columns:1fr 65px;gap:10px;padding:15px 17px 8px}.test-controls label{display:flex;flex-direction:column;gap:5px;color:#9d8ca9;font-size:8px;font-weight:650;letter-spacing:1px}.test-controls select,.test-controls input{font-size:11px;letter-spacing:0;padding:7px;height:33px}.map-select{grid-column:1/-1}.test-actions{display:flex;gap:7px;padding:4px 17px 14px}.test-actions button{font-size:10px;padding:7px 11px}.test-actions button:first-child{background:#f2ebf6;border-color:#d8c7e3;color:#785e8d;flex:1}.test-stats{display:flex;justify-content:space-between;gap:10px;background:#f5f0f5;padding:11px 18px;color:#a193a8;font-size:8px}.test-stats b{font-size:12px;display:block;margin-top:4px;color:#786184}.play-hint{font-size:10px;line-height:1.7;color:#9e8fa8;padding:0 17px;margin:12px 0}.play-hint b{font-weight:600;color:#7e6c8e}.changes-card{padding:20px;background:#f0e8f2;border:1px solid #e1d6e5;border-radius:10px}.card-caption{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1px;color:#a38bac}.card-caption b{font-weight:600;letter-spacing:0;color:#8a6f98}.changes-card h3{font-size:17px;letter-spacing:-.4px;margin:16px 0 8px}.changes-card>p{font-size:11px;line-height:1.7;color:#9984a4}.change-line{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #e2d6e6;font-size:10px;color:#91759e}.change-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-line b{white-space:nowrap;font-weight:600}.primary{background:#79608f;color:white;border-color:#79608f;box-shadow:0 2px 3px #684e7b16;padding:11px 16px}.primary:hover{background:#68507c;border-color:#68507c}.changes-card>.primary{display:flex;justify-content:space-between;width:100%;margin-top:19px}.secondary-actions{display:flex;justify-content:space-between;gap:10px;margin-top:9px}.secondary-actions button{font-size:9px;padding:4px 0;border:0;background:none;color:#a08aa9}.save-status{margin-bottom:0!important;font-size:9px!important;min-height:15px}.save-status.error{color:#ad5060!important}.help-card{padding:2px 8px;color:#a28eab;font-size:10px;line-height:1.9}.help-card b{color:#91799d}.help-card p{margin:6px 0 12px}dialog{border:1px solid #cab6d4;border-radius:14px;padding:27px;background:#fffdfa;color:var(--ink);max-width:420px;width:90vw;box-shadow:0 25px 80px #30233555}dialog::backdrop{background:#30273966;backdrop-filter:blur(3px)}dialog h2{font-size:24px;margin:14px 0 22px}dialog label{display:flex;flex-direction:column;gap:7px;font-size:12px}dialog p{font-size:11px;color:var(--muted)}dialog form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(min-width:1500px){.workspace{padding-left:48px;padding-right:48px}.test-column{padding-right:34px}}@media(max-width:1150px){.lab-shell{grid-template-columns:168px minmax(350px,1fr) 330px}.workspace{padding:27px 22px}.test-column{padding:24px 16px 30px 0}.intro h1{font-size:32px}.intro-badge{width:85px;height:105px}.intro-badge small{font-size:8px}.changed-filter{font-size:9px}.preset-bar{flex-wrap:wrap}.preset-bar label{flex-basis:100%}.preset-bar select{max-width:none}.sidebar{padding:25px 10px}.nav-button{padding:10px 8px}.field-row{padding:12px;grid-template-columns:minmax(0,1fr) 95px}.test-heading{padding:14px 12px}.test-heading h2{font-size:13px}.test-badge{font-size:7px;padding:4px}.test-controls{padding:12px}.test-actions{padding:0 12px 12px}.search-bar kbd{display:none}}@media(max-width:920px){.lab-header{padding:0 20px;height:70px}.header-center{display:none}.lab-shell{grid-template-columns:150px 1fr}.test-column{grid-column:2;position:static;max-height:none;padding:0 22px 30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.test-card{grid-row:span 2}.sidebar{grid-row:span 2}.help-card{align-self:start}.workspace{padding-bottom:10px}.intro{max-width:700px}.intro-badge{width:105px;height:120px}.preset-bar{flex-wrap:nowrap}.preset-bar label{flex-basis:auto}.field-row{grid-template-columns:minmax(0,1fr) 130px}}@media(max-width:650px){.lab-header{height:65px;padding:0 16px}.lab-brand{font-size:12px;letter-spacing:1.7px}.brand-star{font-size:25px}.game-link{padding:8px;font-size:10px}.game-link span{margin-left:3px}.lab-shell{display:flex;flex-direction:column}.sidebar{padding:12px 14px;gap:0;border-right:0;border-bottom:1px solid var(--line)}.nav-caption,.sidebar-note,.local-foot{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;gap:5px}.nav-button{width:auto;flex-shrink:0;padding:8px;font-size:10px;gap:5px}.nav-button>span{font-size:13px;width:auto}.nav-button small{display:none}.workspace{padding:24px 17px 5px}.intro h1{font-size:33px}.intro p{font-size:11px}.intro-badge{width:83px;height:100px}.preset-bar{flex-wrap:wrap}.preset-bar label{flex-basis:100%}.search-bar{padding:0 8px}.changed-filter{font-size:8px}.test-column{display:flex;padding:0 17px 30px}.test-card{width:100%}.test-heading h2{font-size:16px}.field-row{grid-template-columns:minmax(0,1fr) 105px}.section-title h2{font-size:20px}.field-path{display:none}.intro{margin-bottom:22px}.test-controls{grid-template-columns:1fr 65px 1.4fr}.map-select{grid-column:auto}.test-actions button{font-size:11px}.play-hint{font-size:11px}.help-card{display:none}.end-note{padding:18px 3px}}

/* Keep the playtest controls intact inside the independently scrolling column. */
.test-column>*{flex-shrink:0}.scenario-select{grid-column:1/-1}.test-card.expanded{position:fixed;z-index:50;left:50%;top:3vh;transform:translateX(-50%);width:min(96vw,1120px);height:94vh;overflow:auto;box-shadow:0 0 0 100vmax #231c33ba,0 30px 90px #20162c88}.test-card.expanded .preview-wrap{width:100%;max-height:65vh;aspect-ratio:1200/650}.test-card.expanded .test-controls{grid-template-columns:1fr 80px 1fr 1.2fr}.test-card.expanded .map-select,.test-card.expanded .scenario-select{grid-column:auto}.test-card.expanded .play-hint{font-size:12px}.test-card.expanded .test-actions{max-width:540px}.test-card.expanded .test-stats{justify-content:flex-start;gap:40px}@media(max-width:650px){.test-card.expanded .test-controls{grid-template-columns:1fr 65px}.test-card.expanded .map-select,.test-card.expanded .scenario-select{grid-column:1/-1}}

.draft-dock{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:20;background:#332c42f5;color:#f5edf9;border:1px solid #7c688b;border-radius:12px;padding:9px 10px 9px 20px;display:flex;align-items:center;gap:30px;box-shadow:0 10px 35px #38274533;font-size:12px;backdrop-filter:blur(8px)}.draft-dock[hidden]{display:none}.draft-dock button{background:#d6bedf;border-color:#d6bedf;color:#44324f;font-size:12px;white-space:nowrap}.draft-dock button:hover{background:#e4d0eb}.draft-dock span{white-space:nowrap}@media(max-width:650px){.draft-dock{bottom:10px;width:calc(100% - 24px);justify-content:space-between;gap:10px;padding:8px 9px 8px 14px;font-size:11px}}
