:root{--bg:#0e1013;--panel:#16191e;--panel2:#1c2027;--line:#282e37;--line2:#333b46;--ink:#e8ecf1;--ink2:#9aa4b2;--ink3:#6b7480;--accent:#5b8cff;--accent2:#26d0a4;--warn:#f0b429;--danger:#ff5d5d;--radius:12px;--rs:8px;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.hidden{display:none!important}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#2b3240;border-radius:5px}#login{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 30% -10%,#1a2434,#0e1013 55%);z-index:50}.login-card{width:360px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:0 30px 80px #00000080}.brand{display:flex;align-items:center;gap:10px}.brand .dot{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;font-weight:800;color:#fff;font-size:14px}.brand b{font-size:18px;letter-spacing:.2px}.login-sub{color:var(--ink2);font-size:12.5px;margin:8px 0 22px;line-height:1.5}.field{margin-bottom:14px}.field label{display:block;font-size:11.5px;color:var(--ink2);margin-bottom:6px}.field input{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:var(--rs);padding:11px 12px;font-size:13.5px}.btn{background:var(--accent);color:#fff;border:0;border-radius:var(--rs);padding:10px 14px;font-weight:600;font-size:13px}.btn.block{width:100%;padding:11px}.btn.secondary{background:var(--panel2);border:1px solid var(--line);color:var(--ink)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink2)}.btn.sm{padding:6px 10px;font-size:12px}.btn.green{background:var(--accent2)}.sso{margin-top:10px;text-align:center;font-size:12px;color:var(--ink3)}.sso a{color:var(--accent);text-decoration:none;cursor:pointer}.login-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:var(--ink3);line-height:1.5}#app{display:none;height:100vh;grid-template-rows:52px 1fr}#app.show{display:grid}.topbar{display:flex;align-items:center;gap:14px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--panel)}.topnav{display:flex;gap:2px;margin-left:8px}.topnav button{background:transparent;border:0;color:var(--ink2);padding:8px 13px;border-radius:7px;font-size:13px}.topnav button.active{background:var(--panel2);color:var(--ink)}.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}.pill{font-size:11px;color:var(--ink2);background:var(--panel2);border:1px solid var(--line);padding:5px 10px;border-radius:20px}.search{display:flex;align-items:center;gap:7px;background:var(--panel2);border:1px solid var(--line);border-radius:20px;padding:5px 12px;width:220px}.search input{background:transparent;border:0;color:var(--ink);font-size:12.5px;outline:none;width:100%}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#7a5bff,#5b8cff);display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}.view{display:none;height:100%;overflow:hidden}.view.show{display:block}.work{display:grid;grid-template-columns:236px 1fr 330px;height:100%;overflow:hidden}.rail{border-right:1px solid var(--line);background:var(--panel);overflow-y:auto;padding:14px 12px}.rail h4{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--ink3);margin:16px 6px 9px;display:flex;justify-content:space-between;align-items:center}.rail h4:first-child{margin-top:2px}.rail h4 .add{color:var(--accent);cursor:pointer;font-size:11px;letter-spacing:0;text-transform:none}.fmt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fmt{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 8px;text-align:center;transition:.12s}.fmt:hover{border-color:var(--line2)}.fmt.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.fmt .box{margin:0 auto 8px;background:#2a303a;border-radius:3px}.fmt .dim{font-size:13px;font-weight:800;letter-spacing:.2px}.fmt .rat{font-size:10px;color:var(--ink3);margin-top:1px}.preset-list{display:flex;flex-direction:column;gap:6px}.preset{display:flex;align-items:center;gap:9px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:7px 9px;transition:.12s;position:relative}.preset:hover{border-color:var(--line2)}.preset.active{border-color:var(--accent)}.preset .sw{width:26px;height:26px;border-radius:6px;flex:none}.preset .nm{font-size:12.5px;font-weight:600;line-height:1.15}.preset .ft{font-size:10px;color:var(--ink3)}.preset .mine{position:absolute;right:8px;font-size:8.5px;color:var(--accent2);font-weight:700}.brandsel{display:flex;align-items:center;gap:9px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:8px 9px;cursor:pointer}.brandsel .lg{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-family:Bebas Neue;font-size:12px;color:#fff;flex:none}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--panel2);border:1px solid var(--line);color:var(--ink2);border-radius:16px;padding:5px 11px;font-size:11.5px;cursor:pointer}.chip.on{border-color:var(--accent);color:var(--ink);background:#5b8cff24}.canvas-wrap{background:linear-gradient(45deg,#12141a 25%,transparent 25%),linear-gradient(-45deg,#12141a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#12141a 75%),linear-gradient(-45deg,transparent 75%,#12141a 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#0b0d10;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;padding:24px;position:relative}.canvas-toolbar{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:5px 6px}.canvas-toolbar button{background:transparent;border:0;color:var(--ink2);font-size:12px;padding:5px 11px;border-radius:16px}.canvas-toolbar button.on{background:var(--accent);color:#fff}.stage{position:relative;background:#000;box-shadow:0 24px 70px #0009;border-radius:2px;overflow:hidden;transition:width .2s,height .2s}.safe{position:absolute;top:7%;right:7%;bottom:7%;left:7%;border:1px dashed rgba(255,255,255,.22);border-radius:2px;pointer-events:none}.card-copy{position:absolute;left:0;right:0;text-align:center;padding:0 8%}.kicker{font-family:Bebas Neue,sans-serif;letter-spacing:3px;font-size:15px;color:#fff;opacity:.85;text-transform:uppercase;margin-bottom:6px}.headline{font-family:Anton,sans-serif;line-height:.95;text-transform:uppercase;font-weight:900;color:#fff}.subhead{margin-top:10px;font-size:15px;color:#fff;opacity:.9;font-weight:600;letter-spacing:.5px}.qr{position:absolute;width:64px;height:64px;background:#fff;border-radius:6px;display:grid;place-items:center;color:#000;font-size:8px;text-align:center;line-height:1.1;font-weight:700;border:3px solid #fff}.qr.br{right:8%;bottom:8%}.qr.bl{left:8%;bottom:8%}.qr.tr{right:8%;top:8%}.qr.tl{left:8%;top:8%}.logo-lock{position:absolute;left:8%;bottom:8%;font-family:Bebas Neue,sans-serif;letter-spacing:1px;color:#fff;font-size:16px;opacity:.92}.autohint{margin-top:14px;color:var(--ink3);font-size:11px}.panel-r{border-left:1px solid var(--line);background:var(--panel);overflow-y:auto;display:flex;flex-direction:column}.tabs{display:flex;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:5}.tabs button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--ink2);padding:11px 4px;font-size:11.5px;font-weight:600}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.etabwrap{flex:1;overflow-y:auto}.sec{padding:14px 15px;border-bottom:1px solid var(--line)}.sec h5{margin:0 0 11px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;justify-content:space-between}.sec h5 .r{display:flex;gap:6px;align-items:center}.tag{font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:10px;background:#26d0a424;color:var(--accent2)}.row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px}.row label{font-size:12px;color:var(--ink2);flex:none}.seg{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:7px;overflow:hidden}.seg button{background:transparent;border:0;color:var(--ink2);padding:6px 9px;font-size:11px}.seg button.on{background:var(--accent);color:#fff}input[type=range]{width:110px;accent-color:var(--accent)}.txtin{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:8px 10px;font-size:13px;margin-bottom:8px}.toggle{width:34px;height:20px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);position:relative;transition:.15s;flex:none;cursor:pointer}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle .kn{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.15s}.toggle.on .kn{left:16px}.qrpad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:96px}.qrpad button{aspect-ratio:1;background:var(--panel2);border:1px solid var(--line);border-radius:5px;color:var(--ink3);font-size:9px}.qrpad button.on{border-color:var(--accent);color:var(--accent);background:#5b8cff1f}.upload{border:1.5px dashed var(--line2);border-radius:9px;padding:14px;text-align:center;color:var(--ink3);font-size:12px;cursor:pointer}.upload:hover{border-color:var(--accent);color:var(--ink2)}.thumbrow{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.asset{width:44px;height:44px;border-radius:7px;border:1px solid var(--line);background:#222;display:grid;place-items:center;font-size:9px;color:var(--ink2);cursor:pointer;position:relative;overflow:hidden}.asset.on{border-color:var(--accent)}.footbar{padding:11px 15px;display:flex;gap:8px;background:var(--panel);border-top:1px solid var(--line)}.footbar .btn{flex:1}.liblayout{display:grid;grid-template-columns:210px 1fr;height:100%;overflow:hidden}.libnav{border-right:1px solid var(--line);background:var(--panel);overflow-y:auto;padding:14px 10px}.libnav h4{font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--ink3);margin:14px 8px 8px;display:flex;justify-content:space-between}.libnav h4:first-child{margin-top:2px}.folder{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;color:var(--ink2);font-size:12.5px;cursor:pointer}.folder:hover{background:var(--panel2)}.folder.on{background:var(--panel2);color:var(--ink)}.folder .ct{margin-left:auto;font-size:10px;color:var(--ink3)}.tagline{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:7px;color:var(--ink2);font-size:12px;cursor:pointer}.tagline:hover{background:var(--panel2)}.tagdot{width:8px;height:8px;border-radius:50%;flex:none}.libmain{overflow-y:auto;padding:16px 20px}.libbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.libbar h2{margin:0;font-size:18px}.libbar .sp{flex:1}.selbar{background:#5b8cff1f;border:1px solid var(--accent);border-radius:9px;padding:8px 12px;display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12.5px}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:15px}.lib-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative;transition:.12s}.lib-card:hover{border-color:var(--line2)}.lib-card.inactive{opacity:.5}.lib-card .sel{position:absolute;top:8px;left:8px;width:18px;height:18px;border-radius:5px;border:1.5px solid #fff;background:#00000080;z-index:3;cursor:pointer}.lib-card .sel.on{background:var(--accent);border-color:var(--accent)}.lib-card .thumb{aspect-ratio:4/5;position:relative;display:grid;place-items:center;color:#fff;font-family:Anton,sans-serif;font-size:22px;text-align:center;text-transform:uppercase;line-height:.95}.lib-card .meta{padding:9px 11px}.lib-card .meta b{font-size:12.5px;display:block;margin-bottom:2px}.lib-card .meta .mrow{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--ink3)}.lib-badges{position:absolute;top:7px;right:7px;display:flex;gap:4px}.lib-badges .b{font-size:9px;background:#0009;color:#fff;padding:2px 6px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tagpills{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.tp{font-size:9px;padding:2px 7px;border-radius:9px;font-weight:600}.actbtn{position:absolute;bottom:9px;right:9px;font-size:9.5px;padding:3px 8px;border-radius:12px;font-weight:700;cursor:pointer}.actbtn.on{background:#26d0a429;color:var(--accent2);border:1px solid rgba(38,208,164,.4)}.actbtn.off{background:#7882911f;color:var(--ink3);border:1px solid var(--line)}.cardmenu{position:absolute;bottom:9px;left:9px;display:flex;gap:5px;opacity:0;transition:.12s}.lib-card:hover .cardmenu{opacity:1}.cardmenu button{width:24px;height:24px;border-radius:6px;background:#0009;border:1px solid var(--line);color:#fff;font-size:11px;display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kitwrap{padding:20px 24px;overflow-y:auto;height:100%}.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.kit{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.kit .head{height:76px;display:grid;place-items:center;font-family:Bebas Neue;font-size:20px;color:#fff;letter-spacing:1px}.kit .body{padding:13px 15px}.kit .body b{font-size:14px}.kit .palette{display:flex;gap:5px;margin:9px 0}.kit .palette i{width:20px;height:20px;border-radius:5px;display:block}.kit .kv{font-size:11px;color:var(--ink3);margin-top:5px;display:flex;gap:6px;align-items:center}.kit.new{border-style:dashed;display:grid;place-items:center;min-height:190px;color:var(--ink3);cursor:pointer}.kit.new:hover{border-color:var(--accent);color:var(--accent)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:60;display:none;align-items:center;justify-content:center;padding:20px}.modal-bg.show{display:flex}.modal{background:var(--panel);border:1px solid var(--line2);border-radius:16px;width:520px;max-width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 30px 90px #0009}.modal .mh{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal .mh b{font-size:15px}.modal .mh .x{background:none;border:0;color:var(--ink3);font-size:20px}.modal .mb{padding:18px 20px}.modal .mf{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.flabel{font-size:11.5px;color:var(--ink2);margin:14px 0 6px;display:block}.flabel:first-child{margin-top:0}.swatches{display:flex;gap:7px;flex-wrap:wrap}.swx{width:26px;height:26px;border-radius:6px;border:2px solid transparent;cursor:pointer}.swx.on{border-color:#fff}.wall{padding:20px 24px;overflow-y:auto;height:100%}.wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:13px}.fx{background:#000;border:1px solid var(--line);border-radius:10px;height:104px;display:grid;place-items:center;position:relative;overflow:hidden}.fx span{font-family:Anton,sans-serif;font-size:32px;text-transform:uppercase}.fx .cap{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-family:var(--sans);font-size:10.5px;padding:4px 6px;text-align:center}h2.big{font-size:19px;margin:0 0 3px}.subtle{color:var(--ink2);font-size:12.5px;margin:0 0 16px}.empty{border:1.5px dashed var(--line2);border-radius:12px;padding:34px 24px;text-align:center;color:var(--ink3);font-size:12.5px;line-height:1.6}.empty b{display:block;color:var(--ink2);font-size:13.5px;margin-bottom:5px}.stepbadge{font-size:10px;font-weight:700;letter-spacing:.4px;padding:3px 8px;border-radius:10px;background:#f0b42924;color:var(--warn);border:1px solid rgba(240,180,41,.3)}.err{color:var(--danger);font-size:12px;margin:-4px 0 12px;min-height:16px}.login-card .btn.block[disabled]{opacity:.6;cursor:not-allowed}.rail .note{font-size:10.5px;color:var(--ink3);line-height:1.5;margin:8px 6px 0}.topnav button{cursor:pointer}.fmt,.preset,.brandsel,.chip,.folder,.tagline,.asset,.swx,.toggle,.lib-card .sel,.actbtn,.upload{-webkit-user-select:none;user-select:none}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:#222a35;border:1px solid var(--line2);color:var(--ink);padding:11px 16px;border-radius:10px;font-size:12.5px;max-width:440px;box-shadow:0 12px 40px #00000080;z-index:70;line-height:1.45}
