:root,
html[data-theme="light"]{
  --bg:#f4f2ec;--bg2:#f4f2ec;--paper:#141312;--muted:#6b6862;--dim:#8d8a83;
  --line:rgba(20,19,18,.12);--line2:rgba(20,19,18,.24);
  --accent:#141312;--accent2:#2a2927;--accent-text:#f4f2ec;
  --card:#ffffff;--card-hover:#faf8f3;
  --grid:rgba(0,0,0,.035);
  --glow-a:rgba(190,185,175,.35);
  --shadow:0 20px 50px rgba(0,0,0,.10);
  --ok:#2ea36a;--warn:#d48a1f;--bad:#c94a3a;
}
html[data-theme="dark"]{
  --bg:#080807;--bg2:#080807;--paper:#f0eee8;--muted:#a8a59e;--dim:#706e68;
  --line:rgba(240,238,232,.12);--line2:rgba(240,238,232,.22);
  --accent:#dedbd1;--accent2:#ece9e1;--accent-text:#111;
  --card:#0b0b0a;--card-hover:#10100f;
  --grid:rgba(255,255,255,.025);
  --glow-a:rgba(220,218,210,.35);
  --shadow:0 20px 50px rgba(0,0,0,.5);
  --ok:#3d9b67;--warn:#d4a12f;--bad:#c9624f;
}
html[data-theme="sea"]{
  --bg:#04111a;--bg2:#06202b;--paper:#eaf6fa;--muted:#8fb3c0;--dim:#5e7a86;
  --line:rgba(180,220,235,.14);--line2:rgba(180,220,235,.28);
  --accent:#7fd4e8;--accent2:#4fb6d6;--accent-text:#04111a;
  --card:rgba(9,32,45,.72);--card-hover:rgba(12,42,58,.9);
  --grid:rgba(180,220,235,.06);
  --glow-a:rgba(127,212,232,.55);
  --shadow:0 20px 60px rgba(0,0,0,.5);
  --ok:#4dc394;--warn:#e0b055;--bad:#e07a65;
}
html[data-theme="midnight"]{
  --bg:#0b0716;--bg2:#120a26;--paper:#ece7ff;--muted:#a99cc9;--dim:#7568a0;
  --line:rgba(200,180,255,.14);--line2:rgba(200,180,255,.3);
  --accent:#a78bfa;--accent2:#c4b0ff;--accent-text:#0b0716;
  --card:rgba(23,14,48,.7);--card-hover:rgba(32,20,64,.9);
  --grid:rgba(200,180,255,.05);
  --glow-a:rgba(167,139,250,.6);
  --shadow:0 24px 70px rgba(70,30,160,.4);
  --ok:#6fe0a8;--warn:#f0bf60;--bad:#ff8090;
}
html[data-theme="aurora"]{
  --bg:#03110f;--bg2:#052220;--paper:#e6fff6;--muted:#8cc7b3;--dim:#5a8f7e;
  --line:rgba(140,255,210,.14);--line2:rgba(140,255,210,.3);
  --accent:#4ade9c;--accent2:#7af5bb;--accent-text:#03110f;
  --card:rgba(6,32,28,.72);--card-hover:rgba(9,44,38,.9);
  --grid:rgba(140,255,210,.05);
  --glow-a:rgba(74,222,156,.55);
  --shadow:0 24px 70px rgba(10,90,70,.4);
  --ok:#4ade9c;--warn:#f0bf60;--bad:#ff8090;
}
html[data-theme="pearl"]{
  --bg:#f6f3ee;--bg2:#efeae1;--paper:#1a1714;--muted:#6f665c;--dim:#9c9284;
  --line:rgba(26,23,20,.12);--line2:rgba(26,23,20,.24);
  --accent:#8a7f6d;--accent2:#a89b85;--accent-text:#f6f3ee;
  --card:#fffdf9;--card-hover:#fbf7ee;
  --grid:rgba(0,0,0,.03);
  --glow-a:rgba(200,180,150,.4);
  --shadow:0 20px 50px rgba(120,100,70,.14);
  --ok:#4a9b6a;--warn:#c9922f;--bad:#b95f4a;
}
html[data-theme="arctic"]{
  --bg:#eef4f8;--bg2:#e2ecf3;--paper:#0d1b26;--muted:#4f6b7e;--dim:#8199a9;
  --line:rgba(13,27,38,.12);--line2:rgba(13,27,38,.24);
  --accent:#3aa8d4;--accent2:#1f8dbb;--accent-text:#eef4f8;
  --card:#ffffff;--card-hover:#f5fafd;
  --grid:rgba(0,60,110,.04);
  --glow-a:rgba(90,180,220,.45);
  --shadow:0 20px 50px rgba(30,90,130,.16);
  --ok:#2e9a6a;--warn:#c9922f;--bad:#b95f4a;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s,color .4s;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:
 radial-gradient(circle at 80% 12%,var(--glow-a),transparent 42%),
 linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}
body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 70%);-webkit-mask-image:linear-gradient(to bottom,black,transparent 70%)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.wrap{width:min(100% - 32px,720px);margin:auto;padding:16px 0 calc(120px + env(safe-area-inset-bottom))}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 0 20px}
.logo{font-size:26px;letter-spacing:-.04em;display:flex;align-items:baseline;gap:8px}
.logo small{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.topbar-actions{display:flex;gap:8px;align-items:center}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:border-color .25s,background .25s,color .25s;font-size:16px}
.icon-btn:hover{border-color:var(--line2);color:var(--paper);background:var(--card-hover)}
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility 0s linear .2s;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:120}
.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.dropdown-menu button{width:100%;text-align:left;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:10px;transition:background .2s,color .2s}
.dropdown-menu button:hover{background:var(--card-hover);color:var(--paper)}
.dropdown-menu button.active{color:var(--paper);background:var(--card-hover)}
.swatch{width:16px;height:16px;border-radius:5px;flex:none;border:1px solid var(--line2)}
.swatch.light{background:#f4f2ec}
.swatch.dark{background:linear-gradient(135deg,#0a0a09 50%,#f0eee8 50%)}
.swatch.sea{background:linear-gradient(135deg,#04111a 50%,#7fd4e8 50%)}
.swatch.midnight{background:linear-gradient(135deg,#0b0716 50%,#a78bfa 50%)}
.swatch.aurora{background:linear-gradient(135deg,#03110f 50%,#4ade9c 50%)}
.swatch.pearl{background:linear-gradient(135deg,#f6f3ee 50%,#8a7f6d 50%)}
.swatch.arctic{background:linear-gradient(135deg,#eef4f8 50%,#3aa8d4 50%)}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .4s,border-color .4s}
.card+.card{margin-top:12px}
.card-hero{position:relative;overflow:hidden}
.card-hero:before{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-100px;background:radial-gradient(circle,var(--glow-a),transparent 68%);pointer-events:none}
.kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);margin-bottom:10px;display:inline-block}
h1{font-size:clamp(30px,6vw,42px);line-height:1.05;letter-spacing:-.04em;margin:0 0 8px}
h2{font-size:20px;letter-spacing:-.02em;margin:0 0 14px;font-weight:500}
.sub{color:var(--muted);font-size:14px;margin:0}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.row+.row{margin-top:12px}
.divider{height:1px;background:var(--line);margin:16px 0}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line2);color:var(--muted)}
.pill.ok{color:var(--ok);border-color:var(--ok)}
.pill.warn{color:var(--warn);border-color:var(--warn)}
.pill.bad{color:var(--bad);border-color:var(--bad)}
.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.value{font-family:Georgia,serif;font-size:22px}
.label{font-size:12px;color:var(--dim);letter-spacing:.05em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border-radius:14px;border:1px solid var(--line2);font-size:14px;transition:transform .25s,background .3s,border-color .3s,box-shadow .3s;width:100%}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--accent2);color:var(--accent-text);border-color:var(--accent2)}
.btn.primary:hover{box-shadow:0 12px 28px rgba(0,0,0,.18)}
.btn.ghost:hover{border-color:var(--accent);background:var(--card-hover)}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn.danger:hover{background:rgba(201,74,58,.08)}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.actions.single{grid-template-columns:1fr}
.screen{display:none;animation:fadeIn .3s ease}
.screen.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.plan{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--card);margin-bottom:10px;transition:border-color .25s,transform .25s,background .25s}
.plan:hover{border-color:var(--line2);transform:translateY(-2px);background:var(--card-hover)}
.plan .name{font-size:15px;font-weight:500;margin:0 0 4px}
.plan .meta{font-size:12px;color:var(--muted)}
.plan .price{font-family:Georgia,serif;font-size:22px;white-space:nowrap}
.ticket{padding:14px 16px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:var(--card);transition:border-color .2s,background .2s;cursor:pointer}
.ticket:hover{border-color:var(--line2);background:var(--card-hover)}
.ticket-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;color:var(--dim)}
.ticket-text{font-size:14px;color:var(--paper);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding:8px 0;scroll-behavior:smooth}
.msg{max-width:82%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45;word-wrap:break-word}
.msg.user{align-self:flex-end;background:var(--accent2);color:var(--accent-text);border-bottom-right-radius:6px}
.msg.support{align-self:flex-start;background:var(--card-hover);border:1px solid var(--line);border-bottom-left-radius:6px}
.msg-meta{font-size:10px;opacity:.7;margin-top:4px}
.chat-input{display:flex;gap:8px;margin-top:10px;align-items:flex-end}
.chat-input textarea{flex:1;resize:none;min-height:44px;max-height:120px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--paper);font:14px/1.4 Inter,sans-serif;outline:none;transition:border-color .2s}
.chat-input textarea:focus{border-color:var(--line2)}
.chat-input button{flex:none;width:44px;height:44px;border-radius:14px;background:var(--accent2);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;transition:transform .2s}
.chat-input button:hover{transform:translateY(-2px)}
.empty{text-align:center;padding:40px 12px;color:var(--muted);font-size:14px}
.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(120%);padding:12px 18px;background:var(--paper);color:var(--bg);border-radius:14px;font-size:13px;z-index:300;transition:transform .35s cubic-bezier(.22,.75,.2,1);box-shadow:var(--shadow);max-width:calc(100vw - 32px);text-align:center}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.err{background:var(--bad);color:#fff}
.centered{min-height:70svh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;padding:24px}
.centered h1{font-size:clamp(28px,7vw,44px);margin:0}
.spinner{width:32px;height:32px;border:3px solid var(--line2);border-top-color:var(--paper);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.copy-field{display:flex;align-items:center;gap:8px;margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card-hover)}
.copy-field code{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.copy-field button{color:var(--muted);transition:color .2s}
.copy-field button:hover{color:var(--paper)}
.kv{display:grid;grid-template-columns:1fr auto;gap:8px 12px;font-size:14px}
.kv .k{color:var(--muted)}
.kv .v{color:var(--paper);text-align:right;font-variant-numeric:tabular-nums}
.bar{height:6px;border-radius:999px;background:var(--card-hover);overflow:hidden;margin-top:10px}
.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit;transition:width .5s}
.skeleton{background:linear-gradient(90deg,var(--card) 25%,var(--card-hover) 50%,var(--card) 75%);background-size:200% 100%;animation:sk 1.4s ease infinite;border-radius:8px}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.danger-zone{margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--card-hover)}
.danger-zone h3{margin:0 0 6px;font-size:14px;font-weight:500;color:var(--bad)}
.danger-zone p{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.5}

.tabbar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),520px);background:var(--card);border:1px solid var(--line2);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:grid;grid-template-columns:repeat(var(--tab-count,4),1fr);gap:4px;padding:6px;z-index:80}
.tabbar button{padding:10px 4px;border-radius:16px;font-size:11px;color:var(--muted);transition:background .25s,color .25s;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:1px solid transparent;cursor:pointer}
.tabbar button svg{width:20px;height:20px}
.tabbar button.active{background:var(--card-hover);color:var(--paper);border-color:var(--line2)}
.tabbar button.admin{color:var(--warn)}
.tabbar button.admin.active{color:var(--warn);border-color:var(--warn)}

.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:200;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s}
.modal-back.open{opacity:1;visibility:visible;transition-delay:0s}
.modal{background:var(--card);border:1px solid var(--line2);border-radius:22px;padding:24px;max-width:420px;width:100%;box-shadow:var(--shadow);transform:scale(.96);transition:transform .25s cubic-bezier(.22,.75,.2,1)}
.modal-back.open .modal{transform:scale(1)}
.modal h3{margin:0 0 8px;font-family:Georgia,serif;font-size:22px;font-weight:400}
.modal p{margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.55}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-actions.single{grid-template-columns:1fr}

@media (max-width:480px){
  .wrap{padding-top:8px}
  .actions{grid-template-columns:1fr}
  .plan{padding:14px}
  .plan .price{font-size:20px}
  .tabbar button{font-size:10px}
  .tabbar button svg{width:18px;height:18px}
}
