:root{color-scheme:dark;--bg:#0e1724;--card:#182638;--line:#33465c;--muted:#9eafc1;--text:#e7edf5;--gold:#c7ac73}*{box-sizing:border-box}body{margin:0;font:14px system-ui,"Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#25384e;border:1px solid #475a70;color:#dae8f7;border-radius:7px;padding:10px 14px;white-space:nowrap}button:hover{filter:brightness(1.2)}button.primary,.primary{background:var(--gold);color:#132034;border-color:#dec588}button.danger{color:#efaaaa;border-color:#745158}button:disabled{opacity:.4;cursor:default}input,select,textarea{background:#101d2c;border:1px solid #3b516a;border-radius:6px;padding:11px;color:#edf3fb;max-width:100%;width:100%;min-width:0}textarea{min-height:95px;resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{outline:1px solid var(--gold)}input[type=checkbox]{width:21px;height:21px;accent-color:var(--gold)}#app{display:flex;min-height:100vh}#app[hidden]{display:none}aside{position:fixed;width:220px;inset:0 auto 0 0;background:#142235;border-right:1px solid #314459;display:flex;flex-direction:column;z-index:15}.brand{padding:28px 20px 25px}.brand i{font-style:normal;color:var(--gold);font-size:27px;margin-right:8px}.brand strong{font-size:17px}.brand small{display:block;margin:9px 0 0 36px;color:var(--muted);font-size:12px}nav{overflow:auto;flex:1;padding:0 10px}nav button{display:block;width:100%;padding:13px 14px;text-align:left;border:0;background:transparent;margin:3px 0;color:#a8bcd2}nav button.active{background:#314862;color:#f8e4b9;border:1px solid #6a74824d}nav span{margin-right:14px}.aside-bottom{border-top:1px solid #314459;padding:16px 10px}.aside-bottom button{background:transparent;border:0;display:block;width:100%;text-align:left;color:#95adc8;padding:10px}main{margin-left:220px;width:calc(100% - 220px);padding:0 26px 35px}.top{position:sticky;top:0;background:#0e1724f0;padding:25px 0;display:flex;align-items:center;gap:15px;z-index:9;border-bottom:1px solid #314459;backdrop-filter:blur(15px)}.top h1{margin:0 0 7px;font-size:24px;font-weight:500}.top span{color:var(--muted);font-size:12px}.top-actions{margin-left:auto;display:flex;gap:8px}#menu{display:none}.template-bar{display:flex;gap:8px;align-items:center;margin:22px 0;flex-wrap:wrap}.template-bar label{display:flex;align-items:center;gap:12px;color:var(--muted)}.template-bar select{width:215px;padding:8px}#dirty{color:#e2c186;font-size:12px;flex:1;min-width:65px}.card{background:var(--card);border:1px solid var(--line);padding:24px;border-radius:12px;margin-bottom:20px;overflow:hidden}.card h2{font-size:18px;font-weight:500;margin:0 0 18px}.card p{color:#a5b7ca;line-height:1.8;margin:10px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font-size:13px;color:#b8c8da}.field small{font-size:11px;color:#7e98b1}.field.wide{grid-column:1/-1}.field.checkbox{flex-direction:row;align-items:center;min-height:44px}.resource-input{display:flex;gap:7px}.resource-input input{flex:1}.resource-input button{padding:8px 10px;flex:none}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.metric{background:linear-gradient(145deg,#1f3349,#182638);border:1px solid var(--line);padding:24px;border-radius:11px}.metric strong{font-size:29px;font-weight:500;color:#ddc58d;display:block;margin-bottom:7px}.metric span{font-size:12px;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.help{background:#253b5044;border-left:2px solid #9b875c;padding:15px 18px;color:#aabbd0;line-height:1.8;margin-bottom:20px}.list-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.list-tabs button.active{color:#eddaac;background:#374a5e;border-color:#a18f68}.subhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.subhead h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;min-width:550px}td,th{text-align:left;padding:13px;border-bottom:1px solid #34485c;line-height:1.6;max-width:400px;overflow-wrap:anywhere}th{color:#8ea5bd;font-weight:500}a{color:#99c8e9;text-decoration:none}.badge{padding:4px 9px;background:#50654d5e;color:#c4dabc;font-size:11px;border-radius:4px;white-space:nowrap}.badge.off{color:#dca2a2;background:#713d4644}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px}.asset-card{background:#0e1e31;border:1px solid #3b516a;border-radius:8px;padding:12px;min-width:0;text-align:left}.asset-card img,.asset-card video{width:100%;height:125px;object-fit:contain;display:block;background:#081525;border-radius:4px}.asset-card p{margin:10px 0 5px;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.asset-card small{font-size:11px;color:#9cb2c9}.upload-drop{padding:25px;border:1px dashed #5d7690;text-align:center;border-radius:10px;margin-bottom:22px;background:#1b304677}.upload-drop input{width:auto;max-width:90%;background:transparent;border:0}.code{font:26px ui-monospace,monospace;letter-spacing:5px;color:#ffe4a0;display:block;margin:18px 0}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px}.preview-frame{background:#000;border:1px solid #435b72;width:100%;aspect-ratio:7/5;display:block;min-width:0;border-radius:6px}.editor-properties .field{margin-bottom:13px}.editor-properties{padding:18px}.editor-properties h3{font-size:14px;margin:0 0 18px;font-weight:500}.editor-layout-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.small{font-size:12px;color:#91a9c0}#modal{position:fixed;inset:0;background:#000a;z-index:50;display:grid;place-items:center;padding:20px}#modal[hidden]{display:none}.dialog{width:min(850px,95vw);max-height:88vh;overflow:auto;background:#1b2c41;border:1px solid #69849c77;border-radius:14px;padding:28px}.dialog h2{font-size:21px;font-weight:500;margin:0 0 20px}.dialog .close{float:right;font-size:20px;padding:2px 10px;background:transparent;border:0}.dialog p{line-height:1.7;color:var(--muted)}#notify{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:80;border:1px solid #8ca6c466;background:#183049;padding:13px 22px;max-width:85vw;line-height:1.6;border-radius:8px;color:#eff5ff;display:none}#login{position:fixed;inset:0;background:radial-gradient(ellipse at 40% 30%,#213b59,#0e1724 65%);display:grid;place-items:center;padding:24px}#login[hidden]{display:none}.login-card{width:min(400px,95vw);padding:36px;background:#142638;border:1px solid #46658266;border-radius:16px}.login-card h1{font-size:24px;margin:0 0 13px;color:#dfc58c}.login-card p{color:#91a9c1;line-height:1.7;font-size:13px}.login-card input{margin:10px 0}.login-card button{width:100%;margin-top:18px}.raw-json{min-height:480px;font:13px ui-monospace,monospace;white-space:pre}.form-error{color:#eda0a0;margin-top:14px;line-height:1.6}.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.array-entry{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #34485c}.array-entry:last-child{border:0}.link-list{display:flex;gap:12px;flex-wrap:wrap}.preview-link{padding:18px 22px;background:#29455e;border-radius:8px;color:#f8ddb0} @media(max-width:1150px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,1fr)}main{padding:0 18px 25px}.top-actions button{padding:9px;font-size:12px}.editor-grid{grid-template-columns:1fr}.editor-properties .grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){aside{transform:translateX(-100%);transition:transform .2s;width:218px}aside.open{transform:translateX(0)}main{width:100%;margin-left:0;padding:0 14px 25px}#menu{display:block}.top{padding:17px 0}.top h1{font-size:19px}.top-actions{flex-direction:column}.top-actions button{font-size:11px;padding:6px}.template-bar{gap:7px;margin:16px 0}.template-bar button{font-size:12px;padding:8px 11px}.template-bar select{width:195px}.grid,.grid.two{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:18px}.card{padding:18px}.editor-properties .grid{grid-template-columns:repeat(2,1fr)}.dialog{padding:20px}.resource-input button{font-size:12px}.template-bar label{width:100%}#dirty{flex:none}.metrics strong{font-size:24px}}
