:root{color-scheme:dark;--bg:#0e1411;--panel:#171f1a;--line:#2c3a30;--muted:#a0b0a4;--accent:#d2f974;--text:#eef4e9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,sans-serif}header{padding:14px max(20px,calc((100vw - 1390px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;background:#131b16}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.1em;line-height:1.2}.brand b{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--accent);color:#192511;font-size:25px}.brand small{display:block;margin-top:4px;font-size:9px;color:var(--muted)}.version,.intro small{font:700 11px monospace;letter-spacing:.09em;color:var(--accent)}.version{margin-left:auto;border:1px solid var(--line);padding:7px;border-radius:5px;white-space:nowrap}button,.upload{border:1px solid var(--line);border-radius:6px;background:#202b23;color:var(--text);padding:7px 10px;font:inherit;cursor:pointer}button:hover,.upload:hover{border-color:var(--accent)}button[aria-pressed=true],.primary{background:var(--accent);color:#1a2511;font-weight:800}.intro,main,footer{max-width:1430px;margin:auto;padding-inline:20px}.intro{padding-top:27px;padding-bottom:19px}h1{font-size:clamp(28px,4vw,44px);margin:3px 0;letter-spacing:-.055em}.intro p,p{margin:5px 0;color:var(--muted)}main{display:grid;grid-template-columns:225px minmax(280px,1fr) 245px;gap:12px;align-items:start}aside,.workspace{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}aside{padding:14px}h2{margin:0 0 9px;font-size:15px}h3{font-size:13px;margin:0 0 8px}small,#size{color:var(--muted)}#tabs,.tools,.palette,.bar,#swatches{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#tabs button{flex:1;padding:5px}#assets{display:grid;gap:6px;margin:10px 0;max-height:340px;overflow:auto}#assets button{text-align:left;overflow-wrap:anywhere}#add,hr{border:0;border-top:1px solid var(--line);margin:16px 0 0;padding-top:13px}label{font-size:12px;color:var(--muted)}label input:not([type=checkbox],[type=color],[type=file]),textarea{display:block;width:100%;margin:4px 0 10px;background:#101713;border:1px solid var(--line);color:var(--text);border-radius:5px;padding:8px;font:inherit}textarea{resize:vertical;min-height:64px}.bar,.palette,.tools{padding:10px 13px}.bar{justify-content:space-between}.bar h2{margin:0}.tools,.bottom{border-top:1px solid var(--line)}.stage{min-height:390px;display:grid;place-items:center;padding:16px;background:radial-gradient(#304034 1px,transparent 1px) 0 0/16px 16px,#101713}.board,.preview{background:conic-gradient(#354039 25%,#242e28 0 50%,#354039 0 75%,#242e28 0) 0 0/20px 20px}.board{position:relative;width:min(100%,370px);display:grid;place-items:center;box-shadow:0 0 0 1px #536859}.board.grid:after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,#82908348 1px,transparent 1px),linear-gradient(to bottom,#82908348 1px,transparent 1px);background-size:var(--cell-x) var(--cell-y)}canvas{image-rendering:pixelated;display:block}#canvas{width:100%;touch-action:none;cursor:crosshair}.preview{height:160px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;margin-bottom:6px}.preview canvas{max-width:85%;max-height:115px;width:auto;height:110px;object-fit:contain}.palette{border-top:1px solid var(--line)}.color{display:flex;gap:5px;align-items:center}.swatch{width:23px;height:23px;padding:0}.upload input{display:none}.notice{border:1px solid var(--line);padding:10px;border-radius:6px;margin-top:14px}.notice p,#status{font-size:12px}footer{display:flex;justify-content:space-between;gap:10px;padding-top:18px;padding-bottom:20px;color:var(--muted);font-size:11px}.inspector h2{margin-top:8px}@media(max-width:910px){main{grid-template-columns:180px minmax(0,1fr)}.inspector{grid-column:1/-1}}@media(max-width:590px){main{grid-template-columns:minmax(0,1fr)}.stage{min-height:220px}.intro,main,footer{padding-inline:10px}header{padding-inline:10px;gap:7px}.brand small{display:none}}

#assets{max-height:430px}#assets button small{display:block;color:inherit;opacity:.73;font:10px monospace}
#search{margin-top:5px}#sceneOptions label{display:block;margin:4px 0}#sceneOptions select{display:block;width:100%;max-width:100%;background:#101713;border:1px solid var(--line);border-radius:5px;color:var(--text);padding:5px;font:inherit}
.preview{height:180px}.preview canvas{max-width:100%;max-height:100%;height:100%;width:100%;object-fit:contain}
.texture-heading{margin:10px 0 6px}#textureList{display:grid;gap:4px;max-height:180px;overflow:auto}#textureList button{overflow-wrap:anywhere;text-align:left;font:11px monospace}
#sceneOptions{max-height:190px;overflow:auto}#assetPath{overflow-wrap:anywhere}.stage{overflow:hidden}#canvas{max-height:512px;object-fit:contain}.page-nav{display:flex;justify-content:space-between;align-items:center}

#tabs button{white-space:nowrap;font-size:11px;padding-inline:4px}#sceneOptions>button{width:100%;font-size:11px;margin-bottom:3px}

#itemData{border:1px solid var(--line);border-radius:7px;margin:12px 0;padding:8px}
#itemData summary{cursor:pointer;color:var(--accent);font-size:13px}
#itemData label{display:block;margin-top:7px}#itemData textarea{min-height:47px}
#itemData #give{margin:7px 0 0;font:10px monospace}#itemDataNote{display:block;margin-top:5px}

#uploadHint{display:block;padding:0 13px 10px}
#dropZone.file-over{outline:2px dashed var(--accent);outline-offset:-6px;background-color:#253321}
.upload{position:relative}
.upload input{display:block;position:absolute;width:1px;height:1px;opacity:0}
.upload:focus-within{outline:2px solid var(--accent);outline-offset:2px}

.version select{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}.version option{background:var(--panel);color:var(--text)}

#draftDialog{width:min(520px,calc(100% - 24px));border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);padding:18px}
#draftDialog::backdrop{background:#060d09aa}.draft-head,.draft-row,.draft-actions{display:flex;align-items:center;gap:7px}
.draft-head,.draft-row{justify-content:space-between}.draft-head h2{margin:0}
.draft-row{padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.draft-row div:first-child{min-width:0;flex:1 1 160px;overflow-wrap:anywhere}.draft-row small{display:block}
#draftStatus{color:var(--accent);min-height:1.5em}header #drafts,header #export{white-space:nowrap}
@media(max-width:430px){header{flex-wrap:wrap}header #export{margin-left:auto}}

#accountDialog{width:min(520px,calc(100% - 24px));border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);padding:18px}
#accountDialog::backdrop{background:#060d09aa}#accountDialog label{display:block;margin:8px 0}
#accountDialog summary{cursor:pointer}#accountDialog li{margin:5px 0}#accountDialog ul{padding-left:21px}
.account-warning{color:#ffdc93;margin:12px 0}#accountStatus{color:var(--accent);min-height:1.5em}
header #accountOpen{white-space:nowrap}
body{background:radial-gradient(ellipse at 64% -22%,#204338 0,transparent 54%),#0b1311}
header{box-shadow:0 1px 0 #a9d7b322,0 12px 30px #0003}
.intro small,.account-kicker{color:#b6f4a0;letter-spacing:.13em;font-weight:700}
.intro h1{letter-spacing:-.045em;text-shadow:0 5px 28px #0005}
.workspace,.inspector{box-shadow:0 12px 36px #0004}
#accountDialog{border:1px solid #395b4c;background:linear-gradient(155deg,#23382e,#101c17 65%);box-shadow:0 25px 90px #0009;padding:22px}
#accountDialog h2{font-size:23px;letter-spacing:-.04em}
#accountTabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:18px;padding:4px;background:#091510;border-radius:11px}
#accountTabs[hidden]{display:none}
#accountTabs button{border:0;border-radius:8px}
#accountTabs button[aria-pressed=true]{background:#b5ed91;color:#132112;font-weight:750}
.account-warning{border:1px solid #80633466;border-radius:9px;padding:11px;background:#2b2418;font-size:13px}
#accountDialog input:not([type=checkbox]){width:100%;min-height:40px;border:1px solid #456556;border-radius:8px;background:#101c17;color:#f0f8ed;padding:8px}
#accountDialog input[type=checkbox]{accent-color:#b5ed91}
#signupConsent{border-top:1px solid #47635366;padding-top:10px;margin-bottom:12px}
#accountSubmit{width:100%;min-height:42px;font-weight:800}
.resolution,.enchant-builder,.name-colors{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:10px 13px;border-top:1px solid var(--line)}
.resolution label{max-width:76px}.resolution input{margin:0!important;max-width:76px}
.resolution select,.enchant-builder select,select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px}
.rank-badge{border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-size:11px}
.studio-sections{max-width:1430px;margin:16px auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px}
.studio-panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel)}
.studio-panel summary{cursor:pointer;font-weight:800}.studio-panel label,.studio-panel small{display:block;margin:9px 0}
.studio-panel audio{width:100%;margin-top:14px}#namePreview{padding:10px;border:1px solid var(--line);border-radius:6px}
#transitionPreview{width:100%;image-rendering:pixelated;margin-top:12px}
:root[data-theme=black]{--bg:#0d0d0d;--panel:#191919;--line:#3a3a3a;--muted:#ababab;--accent:#eee;--text:#fff}
:root[data-theme=white]{color-scheme:light;--bg:#f4f4f4;--panel:#fff;--line:#ccc;--muted:#555;--accent:#222;--text:#111}
:root[data-theme=violet]{--bg:#160d26;--panel:#25183c;--line:#594573;--accent:#d7b8ff}
:root[data-theme=ocean]{--bg:#081923;--panel:#122d3b;--line:#365b70;--accent:#80e9ff}
:root[data-theme=rose]{--bg:#230d19;--panel:#381d2b;--line:#704155;--accent:#ffb8d6}
:root[data-theme=forest]{--bg:#0e1912;--panel:#1b2c20;--line:#3f6048;--accent:#c8f395}
:root[data-theme] body{background:var(--bg);color:var(--text)}
:root[data-theme] header,:root[data-theme] .stage,:root[data-theme] #accountDialog{background:var(--panel)}
:root[data-theme] button{background:var(--panel);color:var(--text)}
:root[data-theme] button.primary,:root[data-theme] button[aria-pressed=true]{background:var(--accent);color:var(--bg)}
:root[data-theme] input,:root[data-theme] textarea{background:var(--bg)!important;color:var(--text)!important}
@media(max-width:850px){.studio-sections{grid-template-columns:1fr}header{flex-wrap:wrap}.resolution{gap:5px}}
:root[data-theme=black] .intro small,:root[data-theme=white] .intro small,:root[data-theme=black] .account-kicker,:root[data-theme=white] .account-kicker{color:var(--accent)}
:root[data-theme=black] .account-warning,:root[data-theme=white] .account-warning{color:var(--text);background:var(--bg);border-color:var(--line)}
:root[data-theme=black] #accountTabs button[aria-pressed=true],:root[data-theme=white] #accountTabs button[aria-pressed=true]{background:var(--accent);color:var(--bg)}
.login-landing{display:block;max-width:1000px;padding:12vh 30px;margin:auto}
.login-landing h1{font-size:clamp(34px,6vw,70px);line-height:1.1;letter-spacing:-.065em;margin:22px 0}
.login-landing p{margin:15px 0 24px}.login-landing button{padding:12px 22px}
