@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{--purple:#8a2be2;--purple-dark:#6418b6;--purple-light:#f3eaff;--ink:#191526;--muted:#827b90;--line:#eee9f3;--paper:#fff;--ash:#f7f5fa;--radius:18px;--shadow:0 16px 42px rgba(46,23,74,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfaff;color:var(--ink);font-family:'Inter',Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.topbar{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:15px}.brand img{width:36px;height:36px;object-fit:contain}.brand-mark{width:62px;height:62px;border-radius:20px;background:linear-gradient(145deg,#a44bfa,#7021c6);display:grid;place-items:center;color:#fff;font-size:30px;font-weight:900;box-shadow:0 12px 28px #8a2be244;margin-bottom:20px}.brand-mark span{font-size:.48em;vertical-align:top;color:#f6d56a}.brand-mark.small{width:36px;height:36px;margin:0;border-radius:12px;font-size:19px;box-shadow:none}.support-link{color:var(--purple);font-weight:700;display:flex;align-items:center;gap:9px}.support-dot{width:8px;height:8px;background:#38bd82;border-radius:50%;box-shadow:0 0 0 4px #38bd821c}.shell{max-width:1180px;padding:0 28px;margin:auto}.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:390px;padding:58px 4% 46px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--purple);font-weight:800;margin:0 0 12px}.hero h1{font:800 clamp(35px,5vw,55px)/1.08 'Plus Jakarta Sans',sans-serif;letter-spacing:-2.4px;margin:0 0 18px}.hero h1 span{color:var(--purple)}.hero-copy>p:not(.eyebrow){max-width:480px;line-height:1.8;color:var(--muted);font-size:15px;margin:0 0 25px}.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer;transition:.2s}.btn svg{width:14px;height:14px;flex:none}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--purple);color:#fff;box-shadow:0 8px 20px #8a2be233}.btn.primary:hover{background:var(--purple-dark)}.btn.outline{border:1px solid var(--line);background:#fff;color:var(--ink)}.btn.full{width:100%;margin-top:8px}.hero-art{height:300px;position:relative;display:grid;place-items:center}.art-orbit{position:absolute;border:1px solid #d9c3f3;border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:340px;height:220px}.orbit-two{width:260px;height:320px;transform:rotate(48deg)}.art-card{position:relative;width:225px;height:220px;border-radius:25px;background:linear-gradient(145deg,#9435e8,#4d159a);box-shadow:0 25px 60px #7021c64c;color:#fff;padding:28px;transform:rotate(-7deg);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.art-card strong{font:800 25px 'Plus Jakarta Sans'}.art-card small{font-size:9px;letter-spacing:3px;opacity:.7;margin-top:2px}.art-star{position:absolute;right:25px;top:20px;color:#ffdc78;font-size:32px}.art-code{margin-top:28px;padding:10px 16px;border:1px dashed #ffffffa8;border-radius:9px;font-size:12px;font-weight:800;letter-spacing:2px}.art-chip{position:absolute;right:-28px;bottom:-20px;border-radius:50%;width:72px;height:72px;background:#fff;color:var(--purple);display:grid;place-content:center;text-align:center;font-weight:900;font-size:10px;line-height:1.3;box-shadow:var(--shadow);transform:rotate(7deg)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 58px}.quick-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 18px;min-height:82px}.quick-card.active{border-color:#d9c0f7;box-shadow:0 8px 22px #8a2be20d}.quick-icon{width:42px;height:42px;border-radius:13px;background:var(--purple-light);display:grid;place-items:center;color:var(--purple);font-size:20px}.quick-card b,.quick-card small{display:block}.quick-card b{font-size:13px}.quick-card small{color:var(--muted);font-size:11px;margin-top:5px}.quick-arrow{margin-left:auto;color:var(--purple)}.soon{margin-left:auto;border-radius:20px;background:#f5f2f8;color:#948a9f;padding:5px 8px;font-size:8px;font-weight:800;letter-spacing:1px}.quick-card.disabled{opacity:.75}.generator-section{padding:0 0 40px;scroll-margin-top:25px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:23px}.section-head h2{font:800 30px 'Plus Jakarta Sans';margin:0 0 6px;letter-spacing:-1px}.muted{color:var(--muted)}.section-head p.muted{margin:0}.step-pill{border:1px solid #e8ddf4;background:#fff;border-radius:30px;padding:8px 13px;color:var(--purple);font-size:10px;font-weight:800;letter-spacing:1px}.step-pill span{color:var(--muted);margin-left:8px}.filter-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px;display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:13px;align-items:end;box-shadow:var(--shadow)}label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:800;color:#5b5364}input,select{border:1px solid #e9e3ef;border-radius:10px;padding:12px 13px;outline:0;background:#fff;color:var(--ink);width:100%;min-width:0}input:focus,select:focus{border-color:#b77aef;box-shadow:0 0 0 3px #8a2be214}.generate-all{height:43px;white-space:nowrap}.results-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}.results-head>div{display:flex;align-items:center;gap:11px}.results-head b{font-size:14px}.results-head .muted{font-size:11px}.banner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.banner-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s}.banner-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.banner-card[hidden]{display:none}.banner-thumb{height:168px;background:#f0ebf6;position:relative;display:grid;place-items:center;overflow:hidden}.banner-thumb img{width:100%;height:100%;object-fit:contain}.banner-tag{position:absolute;left:10px;top:10px;padding:6px 9px;background:#fffE;border-radius:20px;font-size:9px;font-weight:800;box-shadow:0 4px 12px #140d1e12}.banner-info{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px}.banner-info b,.banner-info small{display:block}.banner-info b{font-size:12px}.banner-info small{font-size:10px;color:var(--muted);margin-top:5px}.small-btn{background:var(--purple-light);color:var(--purple);padding:9px 11px;font-size:10px;white-space:nowrap}.small-btn:disabled{opacity:.6;cursor:wait}.empty-state{text-align:center;padding:55px 15px;color:var(--muted)}.empty-state span{display:grid;place-items:center;margin:0 auto 12px;width:52px;height:52px;border-radius:18px;background:var(--purple-light);color:var(--purple);font-size:25px}.empty-state b{display:block;color:var(--ink);font-size:16px}.empty-state p{font-size:12px}.footer{border-top:1px solid var(--line);padding:24px 0 30px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.footer b{color:var(--purple)}
/* Setup and login */.setup-body{min-height:100vh;background:radial-gradient(circle at 10% 10%,#f0e2ff,transparent 35%),#faf8fd;display:grid;place-items:center;padding:28px}.setup-card{width:min(100%,490px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:35px;box-shadow:0 25px 70px #3b1e5714}.setup-card h1{font:800 29px 'Plus Jakarta Sans';margin:0 0 8px;letter-spacing:-1px}.setup-card>p{line-height:1.6}.setup-card form{margin-top:22px}.setup-card h3{margin:12px 0 2px;font:800 14px 'Plus Jakarta Sans'}.stack{display:flex;flex-direction:column;gap:15px}.stack label small,label small{font-size:10px;font-weight:500;color:var(--muted);line-height:1.5}.stack hr{width:100%;border:0;border-top:1px solid var(--line);margin:7px 0}.tiny{font-size:10px;line-height:1.6}.login-card{max-width:420px}.login-home{display:block;color:var(--muted);font-size:11px;margin-bottom:25px}.alert{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:12px;line-height:1.5}.alert.error{background:#fff0f0;color:#b52e3b;border:1px solid #f9d4d7}.alert.success{background:#effaf4;color:#21784d;border:1px solid #caeed9}
/* Admin */.admin-body{background:#f7f5fa;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#fff;border-right:1px solid var(--line);padding:26px 17px;display:flex;flex-direction:column;z-index:30;transition:transform .2s ease}.admin-brand{display:flex;align-items:center;gap:11px;padding:2px 10px 28px;border-bottom:1px solid var(--line)}.admin-brand b,.admin-brand small{display:block}.admin-brand b{font-size:13px}.admin-brand small{color:var(--muted);font-size:10px;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:3px;padding-top:25px}.nav-label{font-size:9px;letter-spacing:1.6px;color:#aaa1b3;font-weight:800;padding:0 11px;margin:8px 0}.sidebar nav a{padding:11px 13px;border-radius:10px;color:#776d81;font-size:12px;font-weight:700;display:flex;align-items:center;gap:11px;position:relative;transition:background .15s,color .15s}.sidebar nav a svg{width:16px;height:16px;flex:none}.sidebar nav a.selected,.sidebar nav a:hover{background:var(--purple-light);color:var(--purple)}.sidebar nav a.selected::before{content:'';position:absolute;left:-17px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--purple)}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding:15px 11px 0;border-top:1px solid var(--line);font-size:11px;font-weight:700}.sidebar-bottom a,.sidebar-bottom button{display:flex;align-items:center;gap:9px;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.sidebar-bottom svg{width:15px;height:15px;flex:none}.sidebar-bottom a:hover,.sidebar-bottom button:hover{color:var(--purple)}.sidebar-bottom small{color:var(--muted);font-weight:500}.sidebar-backdrop{display:none}.sidebar-toggle{display:none}.admin-main{margin-left:245px;padding:30px clamp(22px,4vw,55px);max-width:1500px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:14px}.admin-topbar-left{display:flex;align-items:center;gap:14px;min-width:0}.admin-topbar h1{font:800 26px 'Plus Jakarta Sans';margin:0;letter-spacing:-.8px}.admin-topbar .eyebrow{margin-bottom:6px}.admin-topbar .btn{font-size:11px;padding:10px 13px}.admin-topbar .btn svg{width:13px;height:13px}.admin-welcome{position:relative;overflow:hidden;border-radius:18px;padding:26px 30px;background:linear-gradient(115deg,#7b29c9,#9242e0 65%,#a855ea);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-welcome::before{content:'';position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%)}.admin-welcome::after{content:'';position:absolute;right:40px;bottom:-90px;width:160px;height:160px;border-radius:50%;border:1px solid rgba(255,255,255,.14)}.admin-welcome>div{position:relative;z-index:1}.admin-welcome>a{position:relative;z-index:1}.admin-welcome .eyebrow{color:#e3c7ff}.admin-welcome h2{font:800 21px 'Plus Jakarta Sans';margin:0 0 7px;display:flex;align-items:center;gap:8px}.admin-welcome h2 svg{width:17px;height:17px;color:#ffe08a}.admin-welcome p:not(.eyebrow){margin:0;color:#ead9fb;font-size:11px}.admin-welcome .btn{background:#fff;color:var(--purple);font-size:11px}.admin-welcome .btn svg{width:13px;height:13px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;transition:box-shadow .15s,transform .15s}.stat-card:hover{box-shadow:0 10px 26px #3b1e5712;transform:translateY(-2px)}.stat-icon{width:34px;height:34px;border-radius:10px;background:var(--purple-light);color:var(--purple);display:grid;place-items:center;margin-bottom:12px}.stat-icon svg{width:16px;height:16px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:10px}.stat-card strong{display:block;font:800 29px 'Plus Jakarta Sans';margin:10px 0 5px}.stat-card small{font-size:9px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px}.admin-panel.no-pad{padding:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-heading-left{display:flex;align-items:flex-start;gap:12px}.panel-icon{width:34px;height:34px;min-width:34px;border-radius:10px;background:var(--purple-light);color:var(--purple);display:grid;place-items:center}.panel-icon svg{width:16px;height:16px}.panel-heading h3{font:800 14px 'Plus Jakarta Sans';margin:0 0 5px}.panel-heading p{font-size:10px;margin:0}.panel-heading>a{font-size:11px;color:var(--purple);font-weight:800;display:inline-flex;align-items:center;gap:5px}.panel-heading>a svg{width:12px;height:12px}.panel-heading .step-pill{white-space:nowrap}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:600px}th{text-align:left;text-transform:uppercase;letter-spacing:1px;color:#9b92a4;font-size:9px;padding:12px 14px;background:#fcfbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:13px 14px;border-bottom:1px solid #f2eef5;font-size:11px;color:#5f5668}tbody tr:last-child td{border-bottom:0}.code-pill{font-family:monospace;background:#f4edfc;color:var(--purple);padding:6px 9px;border-radius:7px;letter-spacing:.4px}.admin-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:13px}.admin-shortcuts a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:center;gap:13px;transition:box-shadow .15s,border-color .15s}.admin-shortcuts a:hover{border-color:#d9c0f7;box-shadow:0 8px 20px #3b1e5710}.admin-shortcuts a>span{width:34px;height:34px;min-width:34px;border-radius:10px;background:var(--purple-light);color:var(--purple);display:grid;place-items:center}.admin-shortcuts a>span svg{width:16px;height:16px}.admin-shortcuts .grow{flex:1;min-width:0}.admin-shortcuts b{font-size:11px}.admin-shortcuts small{font-size:9px;color:var(--muted);margin-top:4px}.admin-shortcuts .chevron{color:#c3bace;width:15px;height:15px;flex:none}.empty-admin{padding:35px;text-align:center;color:var(--muted);font-size:11px}.empty-admin svg{width:28px;height:28px;color:var(--purple);background:var(--purple-light);border-radius:14px;padding:10px;box-sizing:content-box;margin-bottom:10px}.req{color:#e5484d;margin-left:2px}.admin-columns{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(360px,1.3fr);gap:17px}.category-list{display:flex;flex-direction:column}.category-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.category-row:last-child{border-bottom:0}.category-emoji{width:37px;height:37px;display:grid;place-items:center;background:var(--purple-light);border-radius:11px;font-size:18px}.grow{flex:1;min-width:0}.grow b,.grow small{display:block}.grow b{font-size:11px}.grow small{font-size:9px;color:var(--muted);margin-top:4px}.text-action{background:none;border:0;padding:5px;color:var(--purple);font-size:10px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.text-action svg{width:12px;height:12px}.danger-text{color:#c34b5b}.form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:7px}.form-actions .btn{font-size:11px}.page-action-heading{margin-bottom:15px}.table-banner{display:flex;align-items:center;gap:9px;min-width:180px}.table-banner img{width:58px;height:36px;object-fit:contain;background:#f3eff7;border-radius:6px}.table-banner b{font-size:10px;color:var(--ink)}.status{padding:5px 8px;border-radius:20px;font-size:9px;font-weight:800}.status.on{background:#eaf8f0;color:#26804f}.status.off{background:#f3f0f5;color:#877e8e}.table-actions{display:flex;align-items:center;gap:3px}.table-actions form{margin:0}.form-panel{padding:28px}.banner-editor-form{display:grid;grid-template-columns:1.05fr .95fr;gap:30px}.editor-left{display:flex;flex-direction:column;gap:14px}.editor-subhead{margin:6px 0 -4px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#9b92a4;font-weight:800}.editor-preview{background:linear-gradient(175deg,#faf8fd,#f4eefb);border:1px solid var(--line);padding:19px;border-radius:16px;align-self:start;position:sticky;top:20px;box-shadow:0 10px 30px #3b1e5710}.preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.preview-head .eyebrow{margin:0;display:flex;align-items:center}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#38bd82;margin-right:8px;box-shadow:0 0 0 4px #38bd821c}.preview-image-wrap{position:relative;width:100%;min-height:150px;overflow:hidden;background:#eee8f4;border-radius:12px}.preview-image-wrap canvas{display:block;width:100%;height:auto}.preview-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:var(--muted);font-size:11px;text-align:center}.preview-box{position:absolute;border:2px dashed #ffcf42;background:rgba(138,43,226,.16);border-radius:4px;cursor:move;touch-action:none}.resize-handle{position:absolute;right:-7px;bottom:-7px;width:15px;height:15px;background:#fff;border:2px solid var(--purple);border-radius:50%;cursor:nwse-resize;touch-action:none;box-shadow:0 2px 6px #0003}.editor-preview>p.tiny{margin:12px 0 16px;line-height:1.6}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field-grid label{min-width:0}.field-grid input,.field-grid select{padding:10px}.check-label{display:flex;flex-direction:row;align-items:center;gap:8px}.check-label input{width:auto}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.settings-grid .admin-panel{align-self:start}.logo-current{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:10px}.logo-current img{height:45px;max-width:120px;object-fit:contain}.security-note{grid-column:1/-1;display:flex;gap:13px;align-items:flex-start;background:#fbf8ff}.security-note>span{width:35px;height:35px;min-width:35px;display:grid;place-items:center;border-radius:11px;background:var(--purple-light);color:var(--purple);font-size:17px}.security-note>span svg{width:17px;height:17px}.security-note b{font-size:11px}.security-note p{font-size:10px;color:var(--muted);line-height:1.7;margin:5px 0 0}.alert{max-width:100%}
@media(max-width:900px){.filter-panel{grid-template-columns:1fr 1fr}.generate-all{width:100%}.banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-columns{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.banner-editor-form{grid-template-columns:1fr}.editor-preview{position:static}.settings-grid{grid-template-columns:1fr}.security-note{grid-column:auto}}
@media(max-width:650px){.topbar{height:64px;padding:0 17px}.brand{font-size:12px}.shell{padding:0 16px}.hero{grid-template-columns:1fr;padding:43px 4% 35px;min-height:0}.hero h1{font-size:39px}.hero-art{height:225px;transform:scale(.82);margin-top:8px}.quick-actions{grid-template-columns:1fr;gap:9px;margin-bottom:42px}.quick-card{min-height:70px;padding:12px 14px}.section-head{align-items:flex-start;gap:12px}.section-head h2{font-size:26px}.step-pill{font-size:8px;padding:7px 9px;white-space:nowrap}.step-pill span{display:none}.filter-panel{grid-template-columns:1fr;padding:15px}.generate-all{height:45px}.results-head{align-items:flex-start;gap:8px}.results-head>div{display:block}.results-head .muted{display:block;margin-top:4px}.results-head-right{width:100%;justify-content:space-between}.banner-grid{grid-template-columns:1fr 1fr;gap:9px}.banner-thumb{height:112px}.banner-info{padding:9px;align-items:flex-start;flex-direction:column}.banner-info b{font-size:10px}.small-btn{width:100%;padding:8px}.footer{gap:12px;line-height:1.5}.footer span:last-child{text-align:right}.setup-card{padding:25px 21px}.sidebar{position:fixed;top:0;bottom:0;left:0;width:258px;height:100vh;padding:22px 16px;border-right:1px solid var(--line);transform:translateX(-100%);box-shadow:0 0 0 rgba(0,0,0,0)}.sidebar.open{transform:translateX(0);box-shadow:18px 0 40px rgba(20,10,35,.18)}.sidebar-toggle{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--ink)}.sidebar-toggle svg{width:18px;height:18px}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(25,16,38,.45);z-index:25}.sidebar-backdrop.open{display:block}.admin-brand{padding:2px 10px 24px}.sidebar nav{padding-top:22px;display:flex;flex-direction:column;gap:3px}.sidebar nav .nav-label{display:block}.sidebar nav a{font-size:12px;padding:11px 13px;text-align:left}.sidebar-bottom{margin-top:auto;padding:15px 11px 0;display:flex;flex-direction:column;gap:12px}.sidebar-bottom small{grid-column:auto}.admin-main{margin-left:0;padding:20px 14px}.sidebar-toggle{display:grid}.admin-topbar{margin-bottom:18px}.admin-topbar h1{font-size:22px}.admin-welcome{padding:19px;align-items:flex-start;flex-direction:column}.admin-welcome h2{font-size:18px}.stats-grid{gap:8px}.stat-card{padding:13px}.stat-card strong{font-size:25px}.admin-shortcuts{grid-template-columns:1fr}.admin-panel{padding:16px}.admin-panel.no-pad{padding:0}.panel-heading{align-items:flex-start}.panel-heading h3{font-size:13px}.admin-columns{gap:10px}.field-grid{grid-template-columns:1fr 1fr}.form-panel{padding:16px}.admin-topbar .btn{font-size:9px;padding:8px}.settings-grid{gap:5px}}
/* App-style public UI */
[hidden]{display:none!important}
.brand img{width:auto;height:34px;max-width:170px;object-fit:contain}
.view{padding:36px 0 50px}
.view.center,.view-head.center{text-align:center}
.home-hero{text-align:center;padding:30px 0 34px}
.home-hero h1{font:800 clamp(28px,5vw,42px)/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.4px;margin:6px 0 8px}
.home-hero h1 span{color:var(--purple)}
.home-hero .muted{font-size:14px}
.action-cards{display:flex;flex-direction:column;gap:13px;margin:0 0 22px}
.action-card{display:flex;align-items:center;gap:15px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px 20px;box-shadow:var(--shadow);cursor:pointer;transition:.2s}
.action-card:hover{transform:translateY(-2px)}
.action-card.disabled{opacity:.85}
.action-icon{width:48px;height:48px;min-width:48px;border-radius:14px;background:var(--purple-light);display:grid;place-items:center;font-size:22px}
.action-text{flex:1;min-width:0}
.action-text b{display:block;font-size:15px}
.action-text small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.5}
.action-arrow{color:var(--purple);font-size:18px}
.action-soon{border-radius:20px;background:#f5f2f8;color:#948a9f;padding:6px 10px;font-size:9px;font-weight:800;letter-spacing:1px;white-space:nowrap}
.pill-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 0 26px}
.pill-btn{background:#fff;border:1px solid var(--line);border-radius:30px;padding:11px 18px;font-weight:700;font-size:12px;cursor:pointer}
.pill-btn:hover{border-color:#d9c0f7;color:var(--purple)}
.info-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow)}
.info-card b{display:block;font-size:13px;margin-bottom:6px}
.info-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6;max-width:440px}
.info-tag{background:var(--purple-light);color:var(--purple);border-radius:20px;padding:7px 12px;font-size:10px;font-weight:800;white-space:nowrap}
.back-btn{background:#fff;border:1px solid var(--line);border-radius:30px;padding:9px 16px;font-weight:700;font-size:12px;cursor:pointer;margin-bottom:22px}
.back-btn:hover{color:var(--purple)}
.view-head{text-align:center;margin:0 auto 26px;max-width:460px}
.view-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--purple-light);color:var(--purple);font-size:20px;margin-bottom:12px}
.view-head h2{font:800 25px 'Plus Jakarta Sans';margin:0 0 6px;letter-spacing:-.6px}
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.category-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 14px;box-shadow:var(--shadow);cursor:pointer;transition:.2s}
.category-card:hover{transform:translateY(-2px);border-color:#d9c0f7}
.cat-emoji{font-size:26px}
.category-card b{font-size:13px;text-align:center}
.stepper-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.step-pill-mini{border:1px solid #e8ddf4;background:#fff;border-radius:30px;padding:7px 12px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.3px}
.step-pill-mini.active,.step-pill-mini.done{color:var(--purple);border-color:#d9c0f7;background:var(--purple-light)}
.filter-panel-new{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow);max-width:520px;margin:0 auto 30px}
.filter-panel-new label{font-size:11px;font-weight:800;color:#5b5364}
.filter-panel-new .tiny{margin:0}
.results-wrap{max-width:760px;margin:0 auto}.results-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}#downloadAllBtn{white-space:nowrap}
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:640px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:17px 20px;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.faq-q span{color:var(--purple);transition:transform .2s}
.faq-item.open .faq-q span{transform:rotate(180deg)}
.faq-a{padding:0 20px 18px}
.faq-a p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.settings-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;max-width:640px;margin:0 auto 18px;box-shadow:var(--shadow)}
.settings-label{display:block;font-size:11px;letter-spacing:1.5px;color:#9b92a4;margin-bottom:14px}
.lang-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.lang-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-size:12px;font-weight:700;cursor:pointer;text-align:left}
.lang-pill .lang-check{opacity:0;color:var(--purple)}
.lang-pill.selected{border-color:var(--purple);background:var(--purple-light);color:var(--purple-dark)}
.lang-pill.selected .lang-check{opacity:1}
.center.tiny{text-align:center}
.modal-overlay{position:fixed;inset:0;background:rgba(33,27,43,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal-card{background:#fff;border-radius:22px;padding:34px 30px;max-width:360px;width:100%;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.modal-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--purple-light);font-size:26px;margin-bottom:16px}
.modal-card h3{font:800 18px 'Plus Jakarta Sans';margin:0 0 10px}
.modal-card p{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 22px}
@media(max-width:650px){.view{padding:24px 0 40px}.category-grid{grid-template-columns:1fr}.lang-grid{grid-template-columns:1fr}.action-card{padding:16px}.modal-card{padding:28px 22px}}
