:root{color-scheme:dark;--bg:#080d16;--panel:#101a2a;--border:#243448;--text:#eaf5fa;--muted:#90a3b8;--aqua:#43e5cd;--red:#fd728c;--gold:#ffc970;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 72% 0%,#102937 0%,transparent 43%),var(--bg);color:var(--text);margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}input,select{outline:0}label{display:block;font-size:12px;font-weight:730;margin:14px 0 7px;color:#dbe9f3}input:not([type=range]):not([type=file]),select{width:100%;background:#0d1726;color:#eef8fa;border:1px solid #33445a;border-radius:12px;padding:13px 12px;min-height:46px}input:focus,select:focus,button:focus-visible{outline:2px solid #4fe3d1;outline-offset:2px}input[type=range]{accent-color:var(--aqua);width:100%}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1470px)/2));border-bottom:1px solid #1a3040}.brand{display:flex;align-items:center;gap:11px}.mark{background:linear-gradient(135deg,#31dbc2,#1676a1);color:#073839;border-radius:12px;padding:7px 12px;font-size:26px;font-weight:900}.brand b{font-size:19px;letter-spacing:.5px}.brand b span{color:var(--aqua)}.brand small{display:block;font-size:10px;letter-spacing:1px;color:#98aec0;margin-top:3px}.head-right{display:flex;align-items:center;gap:9px;color:#9fb1c3;font-size:11px;font-weight:700;letter-spacing:1px}.live-dot{display:block;background:var(--aqua);height:8px;width:8px;border-radius:50%;box-shadow:0 0 16px var(--aqua)}.version{border:1px solid var(--border);padding:7px 11px;border-radius:8px;color:var(--aqua);margin-left:10px}.layout{max-width:1470px;padding:32px 24px 70px;margin:0 auto;display:grid;grid-template-columns:minmax(320px,435px) minmax(0,1fr);gap:26px;align-items:start}.panel{background:#0f1726;border:1px solid var(--border);border-radius:23px;padding:26px}.section-kicker{color:#56c9c0;letter-spacing:2.4px;font-weight:850;font-size:11px}.controls>h1{font-size:34px;letter-spacing:-1.8px;line-height:1.15;margin:13px 0 14px}.controls>h1 em{font-style:normal;color:var(--aqua)}.intro,.hint{color:var(--muted);font-size:12px;line-height:1.65}.intro{font-size:14px;margin:0 0 19px}.control-group{border-top:1px solid var(--border);padding-top:20px;margin-top:22px}.group-title{display:flex;gap:11px;align-items:center}.group-title>span{background:#1d2e41;border-radius:8px;padding:8px;color:#92b8cd;font-size:12px}.group-title h2{font-size:15px;margin:0}.asset-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0 9px}.asset-tabs button,.method-tabs button,.source-tabs button{border:1px solid #34485e;background:#142235;color:#c4d4e2;border-radius:12px;padding:13px 6px;font-weight:750;font-size:12px}.asset-tabs button.selected,.method-tabs button.selected,.source-tabs button.selected{background:#163b40;border-color:#33d5c0;color:#e1fffb;box-shadow:inset 0 0 0 1px #218f87}.symbol-row{display:flex;gap:7px}.symbol-row input{flex:1;min-width:0}.btn-icon{white-space:nowrap;padding:0 13px;border-radius:10px;border:1px solid #3b6671;color:#59e6d1;background:#193037;font-size:12px;font-weight:800}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.addon{margin-top:8px}.caution{font-size:11px;line-height:1.65;color:#adb6c6;background:#1c2330;border-left:3px solid #e0bb76;padding:10px 12px;border-radius:3px;margin:12px 0 0}.method-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 5px}.method-tabs button{text-align:left;padding:14px}.method-tabs button strong{display:block;font-size:15px}.method-tabs button small{display:block;font-size:11px;opacity:.75;padding-top:4px}.source-tabs{display:flex;gap:7px;margin:15px 0}.source-tabs button{flex:1;padding:12px 5px}.data-status{display:flex;flex-direction:column;gap:5px;background:#17323a;border:1px solid #287e79;padding:13px;border-radius:12px}.data-status strong{font-size:12px;color:#7ae5ce}.data-status span{font-size:11px;color:#adcbcf}.data-status.demo{background:#342919;border-color:#74562e}.data-status.demo strong{color:#edbc74}.upload{display:flex;align-items:center;flex-direction:column;padding:16px;border:1px dashed #4b8b92;border-radius:13px;background:#10222f;cursor:pointer;margin:13px 0}.upload span{font-size:23px;color:var(--aqua)}.upload small{color:var(--muted);font-size:11px}.text-btn{background:transparent;border:0;color:var(--aqua);padding:8px 0;text-decoration:underline;font-size:12px}.source-warning{font-size:11px;line-height:1.5;color:#a0adbc;margin:10px 0}.search-results{background:#152537;border:1px solid #3e5264;border-radius:10px;margin-top:8px;max-height:220px;overflow:auto}.search-results button{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #294054;padding:10px;color:#d3e8ee}.search-results button:hover{background:#264452}.search-results b{color:var(--aqua);margin-right:8px}.right-column{min-width:0}.head-between{display:flex;align-items:center;justify-content:space-between;margin:5px 0 15px}.main-h{margin:8px 0;font-size:25px;letter-spacing:-.6px}.aspect{padding:10px;border-radius:10px;border:1px solid #3e5261;color:#b4c6d7;font-size:12px}.preview-panel{background:radial-gradient(ellipse at 50% 35%,#172e42 0%,#0e1423 62%);border:1px solid var(--border);border-radius:25px;padding:29px 15px;min-height:545px;display:flex;align-items:center;justify-content:center}.phone{border:9px solid #283d4e;background:#08131a;border-radius:24px;overflow:hidden;box-shadow:0 20px 65px #0007;width:min(100%,325px)}canvas{display:block;width:100%;height:auto;aspect-ratio:9/16}.playbar{display:flex;gap:12px;align-items:center;background:#111e2e;border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin:12px 0 20px}.play-btn{width:37px;height:37px;border:0;background:#28dbc5;color:#062c2c;border-radius:50%;flex-shrink:0;font-size:14px}.reset-btn{border:0;color:#d5e6ee;background:transparent;font-size:22px}.playbar span{font-size:12px;color:#b2c6d2;white-space:nowrap}.bottom{display:grid;grid-template-columns:1fr minmax(225px,320px);gap:25px;margin-top:18px}.bottom h2{font-size:23px;letter-spacing:-.8px;margin:10px 0 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 11px}.full{width:100%}.primary,.outline{padding:15px 13px;border-radius:12px;border:1px solid #3f6572;font-size:14px;font-weight:800;margin-top:10px}.primary{background:linear-gradient(100deg,#4be6cd,#12a5b4);color:#052b34;border:0}.outline{background:#152737;color:#d3f4f4}.export-col{padding-top:24px}.summary{background:#132838;border:1px solid #315160;border-radius:14px;padding:15px;margin-bottom:14px}.summary-item span,.summary-grid small{display:block;color:#aabfca;font-size:11px;margin-bottom:6px}.summary-item strong{font-size:25px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:14px;margin-top:12px;border-top:1px solid #36505b}.summary-grid b{font-size:13px;overflow-wrap:anywhere}.progress{height:6px;background:#273b4a;border-radius:8px;overflow:hidden;margin:13px 0}.progress div{height:100%;width:0%;background:var(--aqua);transition:width .2s}.export-status{font-size:11px;color:#a7bdca;line-height:1.5;text-align:center}.notice{background:#122d39;color:#b9dfe7;border:1px solid #2c6971;border-radius:11px;padding:12px 16px;font-size:12px;line-height:1.5;margin:14px 0}.notice.error{background:#3a2028;color:#ffced6;border-color:#79404c}.notice.good{background:#17352f;color:#b1eddc;border-color:#318777}footer{text-align:center;color:#7e94a8;padding:0 20px 30px;font-size:11px;line-height:1.8}[hidden]{display:none!important}@media(max-width:950px){.layout{grid-template-columns:1fr;max-width:750px}.controls{order:0}.right-column{order:1}.bottom{grid-template-columns:1fr 1fr}}@media(max-width:600px){.topbar{height:64px;padding:0 15px}.head-right>span:not(.version){display:none}.layout{padding:16px 11px 42px;gap:15px}.panel{padding:19px 15px;border-radius:18px}.controls>h1{font-size:29px}.preview-panel{min-height:0;padding:15px 6px}.phone{max-width:270px;border-width:6px}.bottom{grid-template-columns:1fr;gap:0}.export-col{padding-top:12px}.head-between{margin-top:12px}.main-h{font-size:21px}.form-grid{grid-template-columns:1fr 1fr}.playbar{gap:7px;padding:9px}.playbar span{font-size:10px}.aspect{font-size:10px;padding:8px}.brand b{font-size:15px}.mark{padding:4px 9px}}@media(max-width:370px){.two-col,.form-grid{grid-template-columns:1fr}.asset-tabs button{font-size:11px}}

/* Asetoria v2.1 brand & custom asset backgrounds */
.brand-logo{width:41px;height:41px;object-fit:contain;filter:drop-shadow(0 0 7px #1bbfa64d)}
.background-config{margin:17px 0 2px}.background-config h2{margin:9px 0 0;font-size:23px;letter-spacing:-.5px}
.brand-controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:14px}
.brand-check{display:flex;align-items:center;gap:9px;font-size:13px;color:#d2ecec;margin:0}
.brand-check input{width:18px;height:18px;accent-color:#3fdac8}
.background-status{background:#12303c;border:1px solid #315562;border-radius:9px;color:#a8d7d8;font-size:12px;line-height:1.5;padding:9px 11px}
@media(max-width:600px){.background-config{margin:15px 0}.brand-logo{width:34px;height:34px}}

/* Asetoria v2.2: browsable stock picker */
.asset-picker-btn{width:100%;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;text-align:left;background:linear-gradient(120deg,#132838,#112031);border:1px solid #3b6677;border-radius:13px;color:#eefcf9;min-height:65px}
.asset-picker-btn:hover{border-color:#40e2d0}.asset-selected{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.asset-selected b{font-size:20px;color:#65f0d9}.asset-selected small{font-size:12px;color:#b9d4e0}.asset-picker-arrow{font-size:23px;color:#60e6d7}
.asset-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#02060fd9;backdrop-filter:blur(7px);padding:16px}.asset-dialog-active{overflow:hidden}.asset-dialog{width:min(620px,100%);max-height:94dvh;background:#0f1d2e;border:1px solid #397078;box-shadow:0 18px 80px #000a;border-radius:22px;padding:23px;display:flex;flex-direction:column;min-height:0}.asset-dialog-top{display:flex;justify-content:space-between;align-items:center}.asset-dialog h2{font-size:25px;margin:7px 0 6px}.asset-close{font-size:30px;border:1px solid #425668;border-radius:10px;color:#e3faf5;background:#1a2c3a;width:43px;height:43px}.asset-list-info{color:#98dddf;font-size:12px;font-weight:700;margin:14px 0 9px}.asset-list{min-height:180px;max-height:min(54dvh,520px);flex:1;overflow-y:auto;overscroll-behavior:contain;border-radius:13px;border:1px solid #304b60;background:#0a1726}.asset-list-option{display:flex;width:100%;flex-direction:column;gap:4px;text-align:left;padding:13px 17px;background:none;border:0;color:#e4f5f7;border-bottom:1px solid #223b4e}.asset-list-option strong{font-size:16px;color:#6cebd3;letter-spacing:.3px}.asset-list-option small{font-size:12px;color:#abc3cf}.asset-list-option:hover,.asset-list-option[aria-selected=true]{background:#16383d}.empty-assets{padding:12px 17px;color:#b3c4cd}.asset-dialog .outline{margin-top:10px}.asset-dialog .hint{font-size:11px;margin-bottom:0}
@media(max-width:600px){.asset-dialog{padding:16px 12px;border-radius:16px;max-height:96dvh}.asset-list{max-height:57dvh}.asset-selected{align-items:start;gap:4px;flex-direction:column}.asset-selected b{font-size:19px}.asset-selected small{font-size:11px}}
