:root{color-scheme:dark;--bg:#090e16;--side:#0a111b;--panel:#101b27;--panel2:#142332;--border:#27394b;--edge:#1b2c3b;--text:#e5edf6;--muted:#8ba0b3;--dim:#60758a;--mint:#69e6bf;--blue:#7fbaff;--amber:#f6bf76;--red:#ff918c;--mono:'Cascadia Code','SFMono-Regular',Consolas,monospace;--sans:Inter,'Segoe UI',system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.55 var(--sans);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#0d1723,#090f19 65%);border-right:1px solid #253546;min-height:100vh;padding:27px 18px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:0 8px 46px}.brandmark{display:grid;place-items:center;font:bold 27px var(--mono);width:44px;height:44px;border:1px solid #2f796a;background:#16352d;color:var(--mint);border-radius:8px}.brandmark span{color:var(--amber)}.brand b{display:block;font:bold 16px var(--mono);letter-spacing:.22em}.brand small{font:9px var(--mono);color:var(--muted);letter-spacing:.09em;display:block;margin-top:5px}.side-kicker{font:10px var(--mono);letter-spacing:.16em;color:#66839a;margin:0 13px 15px}.nav{display:grid;gap:5px}.nav-btn{width:100%;display:flex;align-items:center;gap:11px;border:1px solid transparent;border-radius:8px;padding:12px 12px;background:none;color:#a5b6c7;text-align:left;white-space:nowrap;font-weight:600;font-size:13px}.nav-btn>span{font:18px var(--mono);width:29px;color:#88aabd;text-align:center}.nav-btn>em{margin-left:auto;font:10px var(--mono);color:#51677d;font-style:normal}.nav-btn:hover{background:#152534}.nav-btn.active{background:#1a3037;border-color:#2a6b67;color:#e9fff8}.nav-btn.active>span{color:var(--mint)}.side-divider{border-top:1px solid var(--edge);margin:27px 4px}.source-box{margin:0 4px 27px;display:flex;gap:10px;padding:12px;border:1px solid #294254;background:#122332;border-radius:8px;min-width:0}.source-box strong{font:11px/1.4 var(--mono);display:block;overflow-wrap:anywhere}.source-box small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.dot{width:8px;height:8px;flex:none;border-radius:50%;display:inline-block;margin-top:4px}.dot.mint{background:var(--mint);box-shadow:0 0 9px #69e6bf55}.dot.amber{background:var(--amber)}.authority{border-left:2px solid #547b71;margin:0 6px;padding-left:14px}.authority strong{font:11px var(--mono);color:var(--mint)}.authority small{display:block;color:#90a6b2;font-size:11px;margin-top:8px}.side-bottom{margin-top:auto;font:9px/1.8 var(--mono);color:#72919b;letter-spacing:.03em;padding:22px 8px 0}.side-bottom .dot{margin-right:6px;width:6px;height:6px}.main{min-width:0}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:15px clamp(22px,3.5vw,60px);border-bottom:1px solid #1c2d3b;gap:15px}.breadcrumbs{display:flex;gap:13px;align-items:center;font:10px var(--mono);letter-spacing:.12em;color:#7090a7}.breadcrumbs i{color:#3d556c;font-style:normal}.breadcrumbs strong{color:#c9dee8}.top-right{display:flex;gap:10px;flex-wrap:wrap}.modechip,.localchip{font:9px var(--mono);border:1px solid #306052;padding:8px 10px;color:var(--mint);background:#0e2624;border-radius:4px}.localchip{border-color:#5e533e;color:var(--amber);background:#231d16}.content{width:min(1600px,calc(100% - clamp(44px,7vw,120px)));margin:auto;padding:30px 0 76px}.view{display:none}.view.active{display:block}.hero{background:radial-gradient(ellipse at 78% 50%,#184a49 0%,transparent 45%),linear-gradient(140deg,#142536,#0c1522 70%);border:1px solid #2a4957;border-radius:14px;padding:clamp(25px,4vw,56px);min-height:328px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:5%;top:12%;height:225px;width:225px;border:1px solid #41796c42;border-radius:50%;box-shadow:0 0 0 27px #3e817111,0 0 0 62px #3e81710b;pointer-events:none}.eyebrow{font:10px var(--mono);letter-spacing:.15em;color:var(--mint);margin-bottom:13px;text-transform:uppercase}.hero h1,.pagelead h1{font-size:clamp(30px,4.1vw,57px);font-weight:760;letter-spacing:-.045em;line-height:1.11;margin:0 0 18px;max-width:850px}.hero h1 span,.pagelead h1 span{color:var(--mint)}.hero p{font-size:14px;color:#acc2d2;line-height:1.8;max-width:760px}.hero p strong{color:#e3f8f1}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.primary,.outline,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:6px;padding:11px 15px;min-height:40px;font:700 11px var(--mono);letter-spacing:.02em}.primary{background:#68dfb8;color:#08241e;border:1px solid #68dfb8}.primary:hover{background:#a5ffe0}.outline{background:#101f2c;color:#bfd9e5;border:1px solid #3c5364}.outline:hover{background:#193046}.ghost{background:#192c37cc;border:1px solid #48606a;color:#d2e3e8}.ghost:hover{background:#284353}.anchor{white-space:nowrap}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 32px}.metric{background:#121e2a;border:1px solid #27394a;border-radius:8px;padding:18px;min-width:0}.metric label{font:10px var(--mono);color:#8aa2b6;letter-spacing:.09em;display:block}.metric strong{display:block;color:#f0f7fc;font:bold clamp(14px,1.35vw,21px) var(--mono);margin:14px 0 7px;overflow-wrap:anywhere}.metric small{color:#839cae;font:11px var(--sans)}.metric .warning{color:var(--amber)}.sectionbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:22px 0 15px}.sectionbar h2{font-size:23px;margin:0;letter-spacing:-.02em}.sectionbar .eyebrow{margin-bottom:5px}.subtle,.cap{color:#869eb2;font:10px var(--mono)}.topo-scroller{border:1px solid #2d4353;background:linear-gradient(150deg,#0e1d29,#112835);padding:23px;border-radius:10px;overflow:auto}.topo{display:flex;min-width:870px;align-items:center;gap:8px}.topo-origin{flex:1;min-width:0;min-height:150px;background:#101f2d;border:1px solid #345163;border-radius:8px;padding:14px 11px}.topo-origin b{display:block;font:700 14px var(--mono);margin:16px 0 7px}.topo-origin small{display:block;font-size:10px;color:#94b0c0;margin-top:4px}.topo-arrow{color:var(--mint);font:25px var(--mono);margin:auto 0}.sticker{color:var(--amber);font:9px var(--mono);letter-spacing:.05em}.sticker.mint{color:var(--mint)}.sticker.blue{color:var(--blue)}.dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.panel{border:1px solid #2b4152;background:linear-gradient(155deg,#121f2c,#101a26);border-radius:10px;min-width:0}.panel.pad{padding:22px}.panelhead{border-bottom:1px solid #24394a;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panelhead.compact{border:0;padding:0 0 17px}.panelhead h3{font-size:16px;margin:0;letter-spacing:-.015em}.tag{font:9px var(--mono);letter-spacing:.06em;border:1px solid #53607a;color:#b1c8dd;border-radius:4px;padding:5px 8px;white-space:nowrap}.tag.green{color:var(--mint);border-color:#3c7162}.tag.pending{color:var(--amber);border-color:#826f50}.stage-list{padding:9px;max-height:520px;overflow:auto}.stage-item{display:flex;gap:12px;width:100%;text-align:left;align-items:center;background:transparent;border:1px solid transparent;padding:11px;border-radius:6px;color:#c5d7e5}.stage-item:hover,.stage-item.selected{background:#1b3340;border-color:#375565}.stage-num{width:29px;height:29px;display:grid;place-items:center;background:#1a3339;color:var(--mint);font:10px var(--mono);border-radius:5px;flex:none}.stage-item strong{font:12px var(--sans);display:block}.stage-item small{font:10px var(--mono);color:#8ba1b4}.stage-item .arrow{margin-left:auto;font:15px var(--mono);color:#659e94}.stage-detail{padding:23px;min-height:370px}.stage-detail .detailintro{font-size:14px;color:#cadbe3;line-height:1.8;margin:0 0 23px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detailgrid>div{border:1px solid #294352;padding:12px;background:#101e2b;border-radius:7px}.detailgrid label{font:9px var(--mono);color:var(--mint);display:block;margin-bottom:9px}.detailgrid strong{font:12px var(--mono);line-height:1.8;display:block;color:#d1e3e9;overflow-wrap:anywhere}.stage-bullets{padding-left:19px;color:#9fb8c6;line-height:1.9}.role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.role{border:1px solid #2b4150;background:#111e2b;padding:18px;border-radius:8px}.role label{font:9px var(--mono);color:var(--mint)}.role strong{font-size:14px;display:block;margin:14px 0 8px}.role p{font-size:11.5px;color:#9fb3c2;margin:0;line-height:1.7}.footnote{border-left:2px solid var(--amber);background:#201e1c;color:#c7bcb1;padding:16px 18px;font-size:12px;line-height:1.75;margin-top:21px}.footnote.tight{margin-top:14px;padding:12px}.pagelead{margin:18px 0 28px}.pagelead h1{margin-bottom:10px}.pagelead p{max-width:970px;color:#a9bccc;font-size:14px;line-height:1.8}.intake-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.uploadzone{border:2px dashed #467469;border-radius:11px;background:radial-gradient(circle at center,#12352f,#10222a);padding:35px 19px;text-align:center;transition:.2s;cursor:pointer}.uploadzone.drag,.uploadzone:hover{border-color:var(--mint);background:#153d39}.upload-icon{font:60px var(--mono);color:var(--mint);line-height:1.2}.uploadzone h3{font:700 21px var(--mono);margin:12px 0}.uploadzone p{font-size:13px;max-width:390px;color:#accbc5;margin:auto}.uploadzone small{display:block;margin-top:15px;color:#73aa9d;font:9px var(--mono)}.ruleline{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;margin-top:20px}.ruleline label,.fieldlabel{font:10px var(--mono);letter-spacing:.08em;color:#a4bdc8;display:block;margin-bottom:8px}.ruleline input,.ruleline select,.gallery-controls input,.gallery-controls select,#fxColor{width:100%;padding:11px 12px;border-radius:6px;border:1px solid #38546a;background:#0c1924;color:#e6f2f3;min-width:0}.progress{margin:20px 0}.progress-top{display:flex;justify-content:space-between;font:11px var(--mono);color:#bbd6ce}.progressbar{height:11px;background:#09131b;border:1px solid #33544e;border-radius:9px;margin-top:9px;overflow:hidden}.progressbar>div{background:linear-gradient(90deg,#289b7f,#77ecc5);width:0;height:100%;transition:width .15s}.progress p{color:#899faf;font-size:12px}.actionrow{display:flex;gap:8px;flex-wrap:wrap}.code{font:11.5px/1.73 var(--mono);background:#09131e;color:#bcd6e4;border:1px solid #263d4e;border-radius:7px;padding:17px;white-space:pre;overflow:auto;margin:0}.receipt-list{display:grid;gap:8px}.receipt{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:12px;background:#0d1b28;border:1px solid #2e4757;border-radius:7px;padding:13px 14px}.receipt b{font:12px var(--sans);display:block}.receipt small{font:10px var(--mono);color:#8fa5b6}.receipt .state{font:10px var(--mono);color:var(--mint)}.receipt .state.wait{color:var(--amber)}.empty{padding:35px 20px;color:#85a0b3;text-align:center;font-size:13px}.gallery-controls{display:flex;gap:11px;align-items:center;margin-bottom:19px;flex-wrap:wrap}.gallery-controls input{flex:1;min-width:240px}.gallery-controls select{width:210px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:14px}.assetcard{border:1px solid #2c4759;background:#111f2c;text-align:left;padding:0;border-radius:9px;overflow:hidden;color:var(--text)}.assetcard:hover,.assetcard.selected{border-color:#56ad96;box-shadow:0 0 0 1px #407f70}.assetcover{height:142px;display:grid;place-items:center;background:conic-gradient(#1b2c39 25%,#233749 0 50%,#1b2c39 0 75%,#233749 0) 0 0 / 22px 22px;overflow:hidden}.assetcover img{width:100%;height:100%;object-fit:contain}.assetcover .symbol{font:35px var(--mono);color:#8cd6c3}.assetname{padding:12px 11px 4px;font:bold 12px var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assetmeta{padding:0 11px 12px;color:#819bab;font:10px var(--mono)}.asset-details{min-height:190px}.asset-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(#1e3442 25%,#293f4e 0 50%,#1e3442 0 75%,#293f4e 0) 0 0 / 20px 20px;border:1px solid #354958;border-radius:7px;padding:20px;min-height:250px;max-height:380px}.asset-preview img{max-height:300px;max-width:100%;object-fit:contain}.asset-preview audio{width:min(100%,460px)}.assetdetailgrid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:20px}.kv{display:grid;grid-template-columns:120px minmax(0,1fr);gap:7px 14px;font:11px/1.5 var(--mono);margin:15px 0}.kv dt{color:#7d9aaa}.kv dd{color:#d5e6e9;margin:0;overflow-wrap:anywhere}.tabs{display:flex;gap:8px;margin:18px 0}.tabs button,.fx-options button{border:1px solid #315061;padding:11px;background:#121f2c;color:#a4bcca;border-radius:6px;font:10px var(--mono)}.tabs button.selected,.fx-options button.selected{color:#0e3025;background:#7be4c2;border-color:#7be4c2}.manifest-code{max-height:740px;min-height:500px}.fx-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr)}.fxheader{display:flex;justify-content:space-between;margin-bottom:16px}#fxCanvas{width:100%;height:auto;aspect-ratio:840/460;border:1px solid #385266;border-radius:8px;background:#070e17;display:block;margin-bottom:16px}.fx-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:25px}.fx-options button{font-size:11px;line-height:1.8}.fx-options button small{display:block;font-size:9px;opacity:.8}.fieldlabel{margin:21px 0 8px;display:flex;justify-content:space-between}.fx-layout input[type=range]{width:100%;accent-color:var(--mint)}.micro{font-size:11px;color:#829bae;line-height:1.7}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gamecard{background:#111f2b;border:1px solid #2d4356;border-radius:10px;overflow:hidden}.game-art{height:200px;position:relative;overflow:hidden;padding:24px;display:flex;flex-direction:column;justify-content:end}.game-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07101ccc,transparent 75%);pointer-events:none}.game-art .art-title{font:bold 31px/1.01 var(--mono);position:relative;z-index:2;letter-spacing:-.04em;text-shadow:0 3px 16px #000b}.art-quantum{background:radial-gradient(circle at 64% 35%,#155f72 0%,transparent 36%),linear-gradient(130deg,#112942,#101528)}.art-pixels{position:absolute;right:25px;top:25px;display:grid;grid-template-columns:repeat(3,30px);gap:4px;opacity:.65}.art-pixels span{color:#6eeef3;background:#1a4554;border:1px solid #2b8191;text-align:center}.art-sweep{background:radial-gradient(circle at 66% 40%,#1c5547,#0b1c2a 62%)}.radar{position:absolute;top:15px;right:20px;width:155px;height:155px;border-radius:50%;border:2px solid #6befb766;display:grid;place-items:center}.radar i{position:absolute;width:75%;height:75%;border:1px solid #6befb766;border-radius:50%}.radar i:nth-child(2){width:50%;height:50%}.radar i:nth-child(3){width:20%;height:20%;background:#6befb744}.art-ion{background:radial-gradient(circle at 66% 27%,#632962,#071e32 70%)}.laser{position:absolute;width:18px;height:290px;transform:rotate(27deg);background:linear-gradient(90deg,transparent,#7cecff,#fafcff,#7cecff,transparent);filter:drop-shadow(0 0 18px #74d5ff);right:25%;top:-65px}.game-body{padding:20px}.game-body h3{font-size:20px;margin:14px 0 8px}.game-body p{font-size:12px;color:#a3b5c4;min-height:87px}.game-meta{font:9px var(--mono);color:var(--blue);display:flex;justify-content:space-between;margin:12px 0 20px;gap:5px}.release-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.release-lanes .panel h3{font-size:19px;margin:18px 0 9px}.release-lanes p{color:#a1b6c5;font-size:12px;min-height:100px}.release-lanes ul{padding-left:17px;color:#c0d0d6;font-size:11.5px;line-height:2}.skillmatrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skillrow{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:11px;align-items:start;padding:14px;border:1px solid #2e4557;border-radius:7px;background:#101f2c}.skillid{font:10px var(--mono);color:var(--mint)}.skillrow strong{font-size:12px;display:block}.skillrow p{color:#94aab8;font-size:11px;margin:5px 0 0}.skillrow span{font:9px var(--mono);color:var(--amber);white-space:nowrap}.footer{padding:22px clamp(22px,3.5vw,60px);border-top:1px solid #203345;display:flex;gap:15px;justify-content:space-between;font:9px var(--mono);color:#6e8698}#toast{position:fixed;right:24px;bottom:23px;padding:13px 18px;background:#143b32;border:1px solid #5cad98;border-radius:7px;color:#f0fef8;font:12px var(--mono);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;max-width:min(440px,calc(100% - 30px));z-index:99}#toast.shown{opacity:1;transform:translateY(0)}
@media(max-width:1270px){.app-shell{grid-template-columns:228px minmax(0,1fr)}.sidebar{padding:20px 10px}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-right{display:none}}@media(max-width:1020px){.dual,.fx-layout,.intake-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.release-lanes,.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-detail{min-height:unset}}@media(max-width:730px){.app-shell{display:block}.sidebar{position:static;height:auto;min-height:0;padding:14px}.brand{margin:0 6px 14px}.sidebar>.side-kicker,.sidebar>.side-divider,.source-box,.authority,.side-bottom{display:none}.nav{display:flex;overflow-x:auto}.nav-btn{width:auto;flex:none;padding:9px;white-space:nowrap}.nav-btn>em{display:none}.topbar{min-height:54px}.content{width:calc(100% - 28px);padding:15px 0 50px}.hero{padding:27px}.hero:after{display:none}.metric-row,.game-grid,.release-lanes,.skillmatrix,.assetdetailgrid{grid-template-columns:1fr}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ruleline{grid-template-columns:1fr}.sectionbar{align-items:start;flex-direction:column}.footer{flex-direction:column}.fx-options{grid-template-columns:1fr 1fr}}@media(max-width:425px){.role-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr}.kv{grid-template-columns:1fr}}

/* V3 server projects remain an independent collection from legacy browser demos. */
.v3-server .gallery-controls{margin-top:12px;margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap}.v3-server .gallery-controls input,.v3-server .gallery-controls select{flex:1;min-width:160px}.v3-server .game-grid{margin-top:15px}.v3-server .assetcard{min-width:0}.v3-server .assetcover{min-height:120px}.v3-server #serverAssetDetail .asset-detail{margin-top:10px}.v3-server #serverAssetDetail audio{width:100%;max-width:500px}.v3-server #serverAssetDetail dl{display:grid;grid-template-columns:minmax(100px,130px) minmax(0,1fr);gap:7px;font:11px var(--mono);overflow-wrap:anywhere}.v3-server #serverAssetDetail dt{color:var(--muted)}.v3-server #serverAssetDetail dd{margin:0}.v3-server .staged-card{border:1px solid #335266;border-radius:8px;padding:16px;background:#142431}.v3-server .staged-card h3{margin:8px 0 6px}.v3-server .staged-card p{font-size:12px;color:var(--muted)}
.v3-server #serverAssetDetail .assetpreview{min-height:220px;max-height:360px;display:grid;place-items:center;background:repeating-conic-gradient(#1b2b3c 0% 25%,#142331 0% 50%) 50%/24px 24px;border:1px solid #33495b;border-radius:7px;overflow:hidden;padding:12px}
.v3-server #serverAssetDetail .assetpreview img{width:100%;height:100%;max-height:330px;object-fit:contain}
.v3-server #serverAssetDetail .assetpreview audio{max-width:98%}
.v3-server #serverAssetDetail .dual{align-items:start}
.v3-server .actionrow>a{max-width:100%;white-space:normal;text-align:center}
@media(max-width:700px){.v3-server #serverAssetDetail .dual{grid-template-columns:1fr}}

/* V4 game-workspace profiles — shared Ashlight visual system */
.workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px;margin:16px 0}.workspace-card{text-align:left;display:flex;flex-direction:column;align-items:start;gap:7px;border:1px solid #2c4d60;background:#111e2b;color:#e2f2f6;border-radius:7px;padding:16px;cursor:pointer}.workspace-card:hover,.workspace-card:focus-visible{border-color:#66e5bf}.workspace-card span,.workspace-card small{color:#91aabd;font-size:12px}.workspace-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0;padding:13px;border:1px solid #243e4f;border-radius:7px}.workspace-form label{display:flex;flex:1;min-width:190px;flex-direction:column;gap:7px;font:11px monospace;letter-spacing:.05em;color:#8cb8bc}.workspace-form input,.workspace-form select,.workspace-form textarea{font:13px system-ui;color:#e2f3f0;background:#0c1621;border:1px solid #3b5267;border-radius:5px;padding:10px;width:100%}.workspace-form button{margin-bottom:0}.workspace-timeline{display:grid;gap:10px;margin-top:20px}.workspace-event{background:#0e1c28;border:1px solid #243e4f;border-radius:7px;padding:12px}.workspace-event b{font:11px monospace;color:#62d7ba}.workspace-event p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.workspace-detail h3{margin:10px 0}.workspace-detail p{font-size:13px;color:#a7baca}

/* V4.1.1 Persistent gallery: match verified local-gallery grid and contain previews. */
#serverAssetGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:14px;align-items:stretch}
#serverAssetGrid>.assetcard{width:100%;min-width:0;display:block;overflow:hidden}
#serverAssetGrid .assetcover{height:142px;min-height:142px;display:grid;place-items:center;overflow:hidden}
#serverAssetGrid .assetcover img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:440px){#serverAssetGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}

/* V5 local-native QA: private preview, opaque-origin sandbox iframe. */
.ashgf-preview-overlay{position:fixed;inset:0;z-index:10000;background:#050b12;display:flex;flex-direction:column;padding:8px;box-sizing:border-box}
.ashgf-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 14px;background:#142530;border:1px solid #315263;color:#c5f3e3;font-family:monospace;font-size:12px}
.ashgf-preview-overlay iframe{border:1px solid #305263;background:#080e1a;flex:1;width:100%;min-height:0}
.staged-card .actionrow{margin-top:10px;flex-wrap:wrap}
.staged-card .micro{font-size:11px;color:#97acbd;line-height:1.5}

/* V5.2 private browser compiler chamber */
.ashgf-build-overlay{position:fixed;inset:0;z-index:10000;background:#030812eb;display:flex;justify-content:center;align-items:stretch;padding:16px;box-sizing:border-box}
.ashgf-build-panel{width:min(1300px,100%);min-width:0;display:flex;flex-direction:column;background:#0c1824;border:1px solid #375a65;border-radius:12px;padding:14px;gap:12px;overflow:hidden}
.ashgf-build-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#84edc8;font:12px var(--mono)}
.ashgf-build-log{background:#07121a;border:1px solid #273e4c;min-height:90px;max-height:180px;overflow:auto;white-space:pre-wrap;padding:12px;color:#bbdecf;font:11px/1.5 var(--mono);margin:0}
.ashgf-build-panel iframe{display:none;flex:1;min-height:240px;width:100%;border:1px solid #2b4c57;background:#080d18}
.ashgf-build-panel .micro{margin:0}.ashgf-build-panel .actionrow{margin-top:0}


/* V5.3 — native-aspect private preview, browser fullscreen, concise build feedback */
.ashgf-build-panel{width:min(1480px,100%);gap:8px;min-height:0}
.ashgf-build-panel .ashgf-build-log{max-height:145px;min-height:55px;flex:none}
.ashgf-build-panel.ashgf-log-collapsed .ashgf-build-log{display:none}
.ashgf-stage-toolbar{display:flex;gap:10px;align-items:center;justify-content:end;flex-wrap:wrap;padding:5px 0;color:#94bcc5;font:10px var(--mono)}
.ashgf-stage-toolbar select{background:#0e2230;border:1px solid #3a6777;color:#d7f6f2;border-radius:5px;padding:7px 12px;font:11px var(--mono)}
.ashgf-stage-toolbar .outline{padding:8px 13px}
.ashgf-stage-shell{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;background:#070f19;overflow:hidden;border:1px solid #274452;border-radius:6px}
.ashgf-stage-frame{position:relative;flex:none;background:#050a14;overflow:hidden;max-width:100%;max-height:100%}
.ashgf-stage-iframe,.ashgf-build-panel iframe.ashgf-stage-iframe,.ashgf-preview-overlay iframe.ashgf-stage-iframe{display:block!important;width:100%;height:100%;border:0;min-height:0!important;background:#080e1a}
.ashgf-stage-shell:fullscreen,.ashgf-stage-shell.ashgf-stage-fullscreen{position:fixed;inset:0;z-index:11000;width:100%;height:100%;border:0;border-radius:0;background:#020609}
.ashgf-preview-overlay .ashgf-stage-toolbar{background:#0c1d28;padding:8px 15px}
.ashgf-preview-overlay .ashgf-stage-shell{margin-top:6px}
@media(max-width:780px){.ashgf-build-overlay{padding:0}.ashgf-build-panel{border-radius:0;padding:8px}.ashgf-build-bar,.ashgf-preview-bar{font-size:10px}.ashgf-stage-toolbar{justify-content:start}}

/* V5.3: confirmation remains visible above an open build chamber. */
#toast{z-index:12001}
/* V5.5 · parity-focused curated profile cards */
#serverGameGrid.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,370px),1fr));align-items:start;gap:16px}
.v3-server .staged-card.profile-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0;height:100%}
.profile-cover{height:168px;position:relative;background:linear-gradient(145deg,#193844,#06131e);display:grid;place-items:center;overflow:hidden;border-bottom:1px solid #315061}
.profile-cover img{height:100%;width:100%;object-fit:cover;filter:saturate(.88)}
.profile-cover-label{position:absolute;right:8px;bottom:8px;font:9px var(--mono);color:#b4e3de;background:#081621d9;border:1px solid #315f64;border-radius:3px;padding:5px 7px}
.profile-body{padding:17px;display:flex;flex-direction:column;gap:9px;flex:1}
.profile-heading{display:flex;gap:6px;flex-wrap:wrap}
.profile-card .profile-body h3{font-size:18px;line-height:1.25;margin:0;overflow-wrap:anywhere}
.profile-card .profile-subtitle{margin:0;color:#7ce3ce;font:11px var(--mono)}
.profile-card .profile-description{font-size:12px;line-height:1.55;color:#b3cbd0;min-height:3.3em;max-height:6em;overflow:hidden;margin:0}
.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;font:9px var(--mono);color:#98b3c1;padding:8px 0;border-top:1px solid #263f50}
.profile-actions{display:grid;gap:9px;padding-top:11px;border-top:1px solid #263f50}
.profile-actions strong{color:#83ead5;font:10px var(--mono);letter-spacing:.04em}
.profile-actions .actionrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
.profile-actions .actionrow button{font:9px/1.35 var(--mono);padding:10px 8px;min-height:37px;white-space:normal;text-align:center;overflow-wrap:anywhere}
.profile-actions button:disabled{opacity:.34;cursor:not-allowed;filter:grayscale(.9)}
.profile-edit-overlay{position:fixed;inset:0;background:#020810e8;z-index:12010;display:grid;place-items:center;padding:16px;overflow:auto}
.profile-edit-panel{background:#142331;color:#e7f9fa;border:1px solid #2c8490;border-radius:10px;padding:23px;width:min(720px,100%);max-height:94vh;overflow-y:auto;box-shadow:0 30px 80px #0008}
.profile-edit-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.profile-edit-head h2{font:16px var(--mono);margin:0;color:#6ce9e1}
.profile-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.profile-edit-fields label{display:grid;gap:6px;color:#94bccc;font:10px var(--mono)}
.profile-edit-fields label:nth-child(3){grid-column:1/-1}
.profile-edit-fields input,.profile-edit-fields textarea{color:#eafffa;background:#091923;border:1px solid #37596a;border-radius:5px;padding:12px;font:13px/1.5 var(--sans);width:100%;min-width:0}
#authLostBanner{position:fixed;inset:0;background:#020a15ed;z-index:12020;display:none;place-items:center;padding:20px}
#authLostBanner.active{display:grid}
.auth-lost-panel{border:1px solid #d7a35b;background:#142331;max-width:570px;padding:32px;border-radius:10px;box-shadow:0 20px 70px #000a}
.auth-lost-panel h2{color:#ffbf78;margin:0 0 14px;font:20px var(--mono)}
.auth-lost-panel p{color:#c5dae6;font-size:13px;line-height:1.7}
.auth-lost-panel a{display:inline-block;padding:12px 18px;background:#61ddbe;color:#071922;text-decoration:none;border-radius:5px;font:12px var(--mono);margin-top:10px}
@media(max-width:600px){.profile-edit-fields{grid-template-columns:1fr}.profile-edit-fields label:nth-child(3){grid-column:auto}.profile-actions .actionrow{grid-template-columns:1fr 1fr}.profile-facts{grid-template-columns:1fr}}
.profile-revision{display:grid;gap:7px;color:#9fc4cc;font:10px var(--mono)}
.profile-revision select{background:#091923;color:#e1fdf8;border:1px solid #426473;border-radius:5px;padding:9px;min-width:0;max-width:100%;font:10px var(--mono)}

/* V5.6A: recovery dashboard + persistent, accessible operation console */
.recovery-info{display:grid;gap:12px;margin:15px 0;line-height:1.6;color:#b9d8df;font-size:13px}
.recovery-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}
.recovery-metrics>div{border:1px solid #2b5863;border-radius:8px;background:#091923;padding:16px 13px;display:grid;gap:8px}
.recovery-metrics small{font:10px var(--mono);color:#8cbdc4;letter-spacing:.08em}
.recovery-metrics strong{font:18px var(--mono);color:#72eecb}
.factory-operation[hidden]{display:none!important}
.factory-operation{position:fixed;top:65px;right:18px;z-index:12050;width:min(460px,calc(100vw - 32px));padding:17px 19px;border:2px solid #72eacc;border-radius:12px;background:#0c1d29;box-shadow:0 20px 55px #000c,0 0 34px #50ad9c55;color:#e4fff7}
.factory-operation[data-state="done"]{border-color:#65e8b5;box-shadow:0 20px 55px #000c,0 0 40px #40cf9d66}
.factory-operation[data-state="error"]{border-color:#ffaf74;box-shadow:0 20px 55px #000c,0 0 40px #e9806e50}
.factory-operation-head{display:flex;justify-content:space-between;align-items:center;gap:14px}
.factory-operation-head strong{font:13px var(--mono);color:#8ef8d7;letter-spacing:.03em}
.factory-operation[data-state="error"] .factory-operation-head strong{color:#ffc18d}
.factory-operation-head button{padding:7px;font:10px var(--mono)}
.factory-operation p{margin:11px 0 14px;color:#cae1e7;font:12px/1.6 var(--mono);overflow-wrap:anywhere}
.factory-operation progress{width:100%;height:10px;accent-color:#67e5bc;display:block}
@media(max-width:700px){.factory-operation{top:9px;right:9px}}
.recovery-verify{margin-top:18px;padding:15px;border:1px solid #2d6870;border-radius:8px;background:#081823;display:grid;gap:9px}
.recovery-verify label{font:11px var(--mono);color:#80ecd5;letter-spacing:.04em}
.recovery-verify input{color:#c2e5e9;font:12px var(--mono);max-width:100%}
.recovery-verify input::file-selector-button{background:#143841;border:1px solid #398279;color:#e2f9ee;border-radius:5px;padding:9px;margin-right:12px;cursor:pointer}
/* V5.6B restore/reset: readable recovery controls, never compact destructive actions. */
#recoveryLifecycle .panel {padding:16px;min-width:0;background:rgba(2,12,18,.28);border:1px solid var(--line,#274652);}
#recoveryLifecycle .panel h3{margin-top:0}
#recoveryLifecycle input {display:block;width:100%;max-width:440px;margin:8px 0 12px;padding:11px 12px;background:rgba(0,0,0,.28);border:1px solid #35616b;color:#e1f9ff;border-radius:5px;font-family:inherit;}
#recoveryLifecycle label {display:block;font-size:11px;color:#9ddadd;margin-top:12px;}
#recoveryLifecycle button:disabled{opacity:.42;cursor:not-allowed}
#lifecycleResult{padding:12px 14px;border-left:3px solid #31b8cf;background:rgba(5,31,38,.45);line-height:1.6}
@media(max-width:850px){#recoveryLifecycle .dual{display:flex;flex-direction:column}}


/* V5.6C — Gallery presentation, no changes to stored originals. */
#persistentGallery .gallery-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#persistentGallery .gallery-controls>*{min-width:0;width:100%;margin:0}
.gf56c-gallery-info{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:7px 0 15px;font:10px var(--mono);color:#8cb4bd}
#serverAssetGrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
#serverAssetGrid>.gf56c-assetcard{min-height:246px;background:#0c1b28;border:1px solid #294454;border-radius:9px;padding:0;text-align:left;display:flex;flex-direction:column;box-shadow:0 8px 22px #020b1333;transition:border-color .15s,transform .15s}
#serverAssetGrid>.gf56c-assetcard:hover,#serverAssetGrid>.gf56c-assetcard:focus-visible{border-color:#66dbd1;transform:translateY(-2px)}
#serverAssetGrid>.gf56c-assetcard.selected{border-color:#62e6b8;box-shadow:0 0 0 1px #62e6b8a8}
#serverAssetGrid .gf56c-cover,#serverAssetGrid .gf56c-landscape{height:154px;min-height:154px;background:repeating-conic-gradient(#182c3a 0 25%,#0f202e 0 50%) 50%/20px 20px;border-bottom:1px solid #234152}
#serverAssetGrid .gf56c-landscape{background:#060e19}
#serverAssetGrid .gf56c-landscape img{object-fit:contain}
#serverAssetGrid .gf56c-icon{font-size:55px;line-height:1;color:#65bfe0;text-shadow:0 0 20px #1d7baf88;font-family:system-ui}
.gf56c-card-info{padding:11px 11px 12px;display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
#serverAssetGrid .assetname{font-size:11px;line-height:1.32;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;height:auto;word-break:break-word}
#serverAssetGrid .assetmeta{font:9px var(--mono);letter-spacing:.03em;color:#9db6c5;word-break:break-word}
.gf56c-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}
.gf56c-rev-badge,.gf56c-dupe-badge{font:8px var(--mono);color:#87cabe;padding:4px 5px;border:1px solid #2b6060;border-radius:3px;background:#0b2830}
.gf56c-dupe-badge{color:#ffce81;border-color:#816137;background:#3a281a}
.gf56c-page-action{display:flex;justify-content:center;margin:14px 0}
.gf56c-page-action [hidden]{display:none!important}
.gf56c-inspector{border-color:#375b63!important}
.gf56c-inspector-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:16px;align-items:start}
.gf56c-inspector-preview{min-width:0;background:#091723;border:1px solid #284958;border-radius:7px;overflow:hidden;padding:13px}
.gf56c-image-view{height:320px;display:flex;align-items:center;justify-content:center;overflow:auto;background:#081621;border:1px solid #32505c;border-radius:6px}
.gf56c-image-view.checkerboard{background:repeating-conic-gradient(#263948 0 25%,#132431 0 50%) 50%/24px 24px}
.gf56c-image-view img{display:block;max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain}
.gf56c-image-view.pixel-scale img{image-rendering:pixelated;max-width:none;max-height:none;transform:scale(1.5);transform-origin:center}
.gf56c-preview-tools{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;align-items:center;margin-top:9px}
.gf56c-preview-tools button,.gf56c-audio-toolbar button{font:10px var(--mono);padding:7px 9px}
.gf56c-tools-label{color:#8ba9bd;font:9px var(--mono);margin-right:auto}
.gf56c-inspector .gf56c-info{min-width:0}.gf56c-inspector .gf56c-info dl{display:grid;grid-template-columns:minmax(100px,130px) minmax(0,1fr);gap:7px;overflow-wrap:anywhere;font:11px var(--mono)}
.gf56c-info dt{color:#8fa9b8}.gf56c-info dd{margin:0;word-break:break-word;color:#daefed}
.gf56c-download{display:inline-block;padding:10px;margin-top:12px;font:10px var(--mono)}
.gf56c-audio{display:flex;flex-direction:column;gap:13px;padding:10px;background:#0a1c2a;border:1px solid #284b5c;border-radius:7px}
.gf56c-audio-head,.gf56c-audio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gf56c-audio-head strong{color:#77e3d1;font:11px var(--mono)}.gf56c-audio-head small{color:#91b8bc;font:9px var(--mono)}
.gf56c-audio-title{font:13px system-ui;color:#e4f9f5;overflow-wrap:anywhere;margin:0}
.gf56c-audio audio{display:block;width:100%;max-width:none!important;min-height:40px}
.gf56c-audio-canvas{width:100%;height:140px;display:block;background:#071b27;border:1px solid #32515c;border-radius:5px}
.gf56c-audio-status{color:#9bbbc4;font:10px var(--mono)}.gf56c-audio .micro{margin:0;font-size:10px;line-height:1.6}
.gf56c-placeholder{font:16px var(--mono);color:#91bfc3;text-align:center;padding:80px 20px}
#assetDetails .gf56c-audio{max-width:min(620px,100%)}
#assetDetails .gf56c-image-view{height:300px}
@media(max-width:850px){.gf56c-inspector-grid{grid-template-columns:1fr}}
@media(max-width:680px){#persistentGallery .gallery-controls{grid-template-columns:1fr}.gf56c-preview-tools{justify-content:start}.gf56c-image-view{height:245px}}
@media(prefers-reduced-motion:reduce){#serverAssetGrid>.gf56c-assetcard{transition:none}#serverAssetGrid>.gf56c-assetcard:hover{transform:none}}
