/* Wheel Spiner - main.css | Original design system (CSS variables, no framework) */
:root{
  --brand-primary:#6366F1;--brand-primary-hover:#4F46E5;--brand-secondary:#EC4899;
  --brand-secondary-hover:#DB2777;--brand-accent:#8B5CF6;
  --brand-gradient:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-accent) 50%,var(--brand-secondary) 100%);
  --bg-primary:#F8FAFC;--bg-secondary:#FFFFFF;--bg-tertiary:#F1F5F9;--bg-overlay:rgba(15,23,42,.6);--bg-glass:rgba(255,255,255,.85);
  --text-primary:#0F172A;--text-secondary:#475569;--text-muted:#64748B;--text-on-brand:#fff;
  --border-color:#E2E8F0;--border-hover:#CBD5E1;
  --success:#10B981;--warning:#F59E0B;--error:#EF4444;--info:#3B82F6;
  --shadow-sm:0 1px 2px rgba(15,23,42,.05);--shadow-md:0 4px 12px -2px rgba(15,23,42,.08),0 2px 6px -1px rgba(15,23,42,.04);
  --shadow-lg:0 12px 24px -4px rgba(15,23,42,.12),0 4px 12px -2px rgba(15,23,42,.06);
  --shadow-xl:0 20px 32px -8px rgba(15,23,42,.18),0 8px 16px -4px rgba(15,23,42,.08);
  --shadow-brand:0 10px 25px -5px rgba(99,102,241,.35);--wheel-glow:0 0 35px rgba(99,102,241,.25);
  --r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-full:9999px;
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;
  --header-h:72px;--maxw:1280px;
  --f-head:'Outfit',-apple-system,BlinkMacSystemFont,sans-serif;--f-body:'Plus Jakarta Sans',-apple-system,sans-serif;--f-mono:'JetBrains Mono',monospace;
}
[data-theme="dark"]{
  --bg-primary:#0B0F19;--bg-secondary:#151C2C;--bg-tertiary:#1E293B;--bg-overlay:rgba(2,6,23,.8);--bg-glass:rgba(21,28,44,.85);
  --text-primary:#F8FAFC;--text-secondary:#94A3B8;--text-muted:#64748B;
  --border-color:#334155;--border-hover:#475569;
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px -2px rgba(0,0,0,.4);--shadow-lg:0 12px 24px -4px rgba(0,0,0,.5);--shadow-xl:0 20px 32px -8px rgba(0,0,0,.6);
  --wheel-glow:0 0 45px rgba(129,140,248,.3);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.55;-webkit-font-smoothing:antialiased;padding-top:var(--header-h)}
h1,h2,h3,h4,h5{font-family:var(--f-head);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--text-primary)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-999px;top:0;background:var(--brand-primary);color:#fff;padding:var(--s2) var(--s4);z-index:200}
.skip-link:focus{left:var(--s4)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s6)}
::selection{background:var(--brand-secondary);color:#fff}

/* Header */
.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 var(--s6);gap:var(--s4)}
.brand{display:flex;align-items:center;gap:var(--s2)}
.brand-text{font-family:var(--f-head);font-weight:900;font-size:1.4rem;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand-mark{display:flex}
.main-nav{display:flex;align-items:center;justify-content:center;gap:var(--s6);flex:1;min-width:0}
.nav-link{position:relative;white-space:nowrap}
.nav-link::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--brand-gradient);transform:scaleX(0);transition:transform .25s}
.nav-link.active::after,.main-nav .nav-link:hover::after{transform:scaleX(1)}
.nav-link{font-weight:600;font-size:.94rem;color:var(--text-secondary);transition:color .2s}
.nav-link:hover{color:var(--brand-primary)}
.nav-link.active{color:var(--brand-primary);font-weight:700}
.header-actions{display:flex;align-items:center;gap:var(--s3)}
.theme-toggle{width:40px;height:40px;border-radius:var(--r-full);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:.2s}
.theme-toggle:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.menu-toggle{display:none;width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:1.1rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mobile-menu{display:flex;flex-direction:column;gap:2px;position:fixed;top:var(--header-h);left:0;right:0;max-height:calc(100vh - var(--header-h));overflow:auto;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--s4);z-index:49;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.mobile-link{display:flex;align-items:center;justify-content:space-between;font-size:1rem}
.mobile-link.active{color:var(--brand-primary);background:var(--bg-tertiary)}
.mobile-link::after{content:'\f054';font-family:'Font Awesome 6 Free';font-weight:900;font-size:.7rem;opacity:.4}
.mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border-color)}
.mobile-menu-actions .btn{justify-content:center}
.mobile-menu-actions .btn-primary{grid-column:1/-1}
body.menu-open{overflow:hidden}
.mobile-link{padding:var(--s3);border-radius:var(--r-sm);font-weight:600;color:var(--text-secondary)}
.mobile-link:hover{background:var(--bg-tertiary);color:var(--brand-primary)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font-family:var(--f-body);font-weight:700;font-size:.94rem;padding:.75rem 1.5rem;border-radius:var(--r-md);border:none;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s,background .2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-sm{padding:.5rem 1rem;font-size:.875rem}
.btn-lg{padding:1rem 2rem;font-size:1.05rem}
.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:var(--shadow-xl)}
.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}
.btn-secondary:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.btn-outline{background:transparent;color:var(--brand-primary);border:2px solid var(--brand-primary)}
.btn-outline:hover{background:var(--brand-primary);color:#fff}
.btn-danger{background:var(--error);color:#fff}
.btn-block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* Sections */
.app-main{min-height:60vh}
.section{padding:var(--s16) 0}
.section-head{text-align:center;max-width:640px;margin:0 auto var(--s10)}
.section-head h2{font-size:2.2rem;margin-bottom:var(--s3)}
.section-head p{color:var(--text-secondary);font-size:1.05rem}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-primary);margin-bottom:var(--s3)}

/* Hero */
.hero{padding:var(--s12) 0 var(--s16)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s12);align-items:center;max-width:var(--maxw);margin:0 auto;padding:0 var(--s6)}
.hero h1{font-size:3.4rem;font-weight:900;line-height:1.05;margin-bottom:var(--s5)}
.hero h1 .grad{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p.lead{font-size:1.2rem;color:var(--text-secondary);margin-bottom:var(--s8);max-width:520px}
.hero-cta{display:flex;gap:var(--s4);flex-wrap:wrap}
.hero-stats{display:flex;gap:var(--s8);margin-top:var(--s10)}
.hero-stats .stat b{font-family:var(--f-head);font-size:1.8rem;display:block;color:var(--text-primary)}
.hero-stats .stat span{color:var(--text-muted);font-size:.9rem}

/* Wheel */
.wheel-wrapper{position:relative;width:100%;max-width:480px;aspect-ratio:1/1;margin:0 auto;display:flex;align-items:center;justify-content:center;padding:var(--s4);overflow:visible}
.wheel-canvas{width:100%;height:100%;border-radius:var(--r-full);filter:drop-shadow(var(--shadow-xl));box-shadow:var(--wheel-glow);transition:transform .05s linear;touch-action:manipulation}
.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid var(--brand-secondary);z-index:20;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}
.wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:var(--r-full);background:var(--bg-secondary);border:4px solid var(--brand-primary);box-shadow:var(--shadow-brand),var(--wheel-glow);color:var(--text-primary);font-family:var(--f-head);font-weight:800;font-size:.95rem;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1);z-index:10;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.05em}
.wheel-center:hover{transform:translate(-50%,-50%) scale(1.06)}
.wheel-center:disabled{cursor:not-allowed}

/* Builder layout */
.builder{display:grid;grid-template-columns:1fr 420px;gap:var(--s8);max-width:var(--maxw);margin:0 auto;padding:var(--s8) var(--s6)}
.builder-wheel{position:sticky;top:calc(var(--header-h) + var(--s4));align-self:start;overflow:visible}
.builder-wheel.has-wheel-side-ads{display:grid;grid-template-columns:minmax(150px,300px) minmax(0,1fr);align-items:start;gap:var(--s4)}
.builder-wheel-main{grid-column:2;min-width:0;overflow:visible}
.wheel-left-ad-rail{grid-column:1;grid-row:1;display:grid;align-content:start;gap:var(--s4);min-width:0}
.wheel-left-ad-rail .managed-ad-placement{width:100%;max-width:none;min-height:250px;margin:0;align-content:start}
.wheel-left-ad-rail .managed-ad-placement-content{min-height:190px}
.panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--shadow-sm);margin-bottom:var(--s6)}
.panel h3{font-size:1.1rem;margin-bottom:var(--s4);display:flex;align-items:center;gap:var(--s2)}
.tabs{display:flex;gap:var(--s1);background:var(--bg-tertiary);padding:var(--s1);border-radius:var(--r-md);margin-bottom:var(--s5)}
.tab{flex:1;padding:var(--s2) var(--s3);border:none;background:transparent;border-radius:var(--r-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;font-family:var(--f-body);font-size:.9rem}
.tab.active{background:var(--bg-secondary);color:var(--brand-primary);box-shadow:var(--shadow-sm)}
.entry-list{display:flex;flex-direction:column;gap:var(--s2);max-height:340px;overflow-y:auto;margin-bottom:var(--s4)}
.entry-row{display:flex;align-items:center;gap:var(--s2);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--r-sm);padding:var(--s2) var(--s3)}
.entry-row .swatch{width:20px;height:20px;border-radius:var(--r-full);flex-shrink:0;border:2px solid rgba(255,255,255,.5)}
.entry-row input.entry-label{flex:1;border:none;background:transparent;color:var(--text-primary);font-family:var(--f-body);font-size:.92rem;min-width:0}
.entry-row input.entry-label:focus{outline:none}
.entry-row .entry-weight{width:48px;border:1px solid var(--border-color);border-radius:var(--r-sm);background:var(--bg-secondary);color:var(--text-primary);text-align:center;padding:2px}
.entry-row button{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--r-sm)}
.entry-row button:hover{color:var(--error);background:var(--bg-secondary)}
.entry-row.disabled{opacity:.45}

/* Forms */
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:var(--s2);color:var(--text-secondary)}
input,textarea,select{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--r-md);padding:.7rem 1rem;color:var(--text-primary);font-family:var(--f-body);font-size:.94rem;transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(99,102,241,.2)}
textarea{min-height:120px;resize:vertical}
.field{margin-bottom:var(--s4)}
.form-row{display:flex;gap:var(--s3)}
.form-row>*{flex:1}
.field-error{color:var(--error);font-size:.85rem;margin-top:var(--s1)}
.checkbox-row{display:flex;align-items:center;gap:var(--s2)}
.checkbox-row input{width:auto}

/* Cards & grids */
.grid{display:grid;gap:var(--s6)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;gap:var(--s3)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand-primary)}
.card .card-icon{width:52px;height:52px;border-radius:var(--r-md);background:var(--brand-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.card h3{font-size:1.15rem}
.card p{color:var(--text-secondary);font-size:.92rem;flex:1}
.card .badge{align-self:flex-start}
.badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:var(--r-full);background:var(--brand-primary-light,#EEF2FF);color:var(--brand-primary)}
.badge.pro{background:linear-gradient(135deg,#F59E0B,#EC4899);color:#fff}
.badge.premium{background:linear-gradient(135deg,#8B5CF6,#6366F1);color:#fff}
.card-link{color:var(--brand-primary);font-weight:700;font-size:.9rem}

/* Stat cards */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s4)}
.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-md);padding:var(--s5);display:flex;align-items:center;gap:var(--s4)}
.stat-card .ico{width:48px;height:48px;border-radius:var(--r-md);background:var(--brand-primary-light,#EEF2FF);color:var(--brand-primary);display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.stat-card b{font-family:var(--f-head);font-size:1.6rem;display:block}
.stat-card span{color:var(--text-muted);font-size:.85rem}

/* Winner modal */
.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(8px);z-index:130;display:flex;align-items:center;justify-content:center;padding:var(--s4);opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.active{opacity:1;pointer-events:auto}
.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-xl);padding:var(--s8);width:100%;max-width:480px;text-align:center;box-shadow:var(--shadow-xl);transform:scale(.9);transition:transform .3s cubic-bezier(.34,1.56,.64,1);max-height:90vh;overflow:auto}
.modal-overlay.active .modal{transform:scale(1)}
.modal .win-emoji{font-size:2.5rem}
.modal .win-title{font-family:var(--f-head);font-size:1.5rem;font-weight:800;margin:var(--s2) 0}
.modal .win-name{font-family:var(--f-head);font-size:2.4rem;font-weight:900;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:var(--s4) 0;word-break:break-word}
.modal-actions{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center;margin-top:var(--s6)}
.modal-close{position:absolute;top:var(--s4);right:var(--s4)}

/* Confetti canvas */
#confettiCanvas{position:fixed;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:99}

/* Flash */
.flash{max-width:var(--maxw);margin:var(--s4) auto;padding:var(--s3) var(--s5);border-radius:var(--r-md);font-weight:600}
.flash-success{background:rgba(16,185,129,.12);color:var(--success);border:1px solid var(--success)}
.flash-error{background:rgba(239,68,68,.12);color:var(--error);border:1px solid var(--error)}

/* History / result list */
.history-list{display:flex;flex-direction:column;gap:var(--s2)}
.history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--s2) var(--s3);background:var(--bg-tertiary);border-radius:var(--r-sm);font-size:.9rem}
.history-item b{font-family:var(--f-head)}

/* Filters */
.filter-bar{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s6)}
.chip{padding:.5rem 1rem;border-radius:var(--r-full);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.88rem;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--brand-primary)}
.chip.active{background:var(--brand-gradient);color:#fff;border-color:transparent}
.search-box{position:relative;margin-bottom:var(--s6)}
.search-box i{position:absolute;left:var(--s4);top:50%;transform:translateY(-50%);color:var(--text-muted)}
.search-box input{padding-left:2.75rem}

/* Account dashboard navigation */
.account-layout{display:grid;grid-template-columns:minmax(220px,250px) minmax(0,1fr);align-items:start;gap:var(--s8);padding-top:var(--s8);padding-bottom:var(--s16)}
.account-sidebar{position:sticky;top:calc(var(--header-h) + var(--s5));align-self:start;padding:var(--s5);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}
.account-sidebar-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s1) var(--s1) var(--s5);margin-bottom:var(--s4);border-bottom:1px solid var(--border-color)}
.account-sidebar-mark{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:var(--r-md);background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand);font-size:1.05rem}
.account-sidebar-kicker{display:block;margin-bottom:2px;color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.account-sidebar-head h1{font-size:1.25rem}
.account-nav-list{display:flex;flex-direction:column;gap:var(--s1)}
.account-nav-link{display:flex;align-items:center;gap:var(--s3);min-height:48px;padding:.4rem .55rem;border:1px solid transparent;border-radius:var(--r-md);color:var(--text-secondary);font-size:.9rem;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s}
.account-nav-link:hover{transform:translateX(2px);background:var(--bg-tertiary);color:var(--brand-primary)}
.account-nav-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:var(--r-sm);background:var(--bg-tertiary);color:var(--text-muted);transition:background .2s,color .2s}
.account-nav-link.active{border-color:rgba(99,102,241,.2);background:linear-gradient(110deg,rgba(99,102,241,.14),rgba(236,72,153,.06));color:var(--brand-primary)}
.account-nav-link.active .account-nav-icon{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 12px rgba(99,102,241,.2)}
.account-nav-label{flex:1;min-width:0}
.account-nav-chevron{color:var(--text-muted);font-size:.65rem;opacity:.55;transition:transform .2s}
.account-nav-link:hover .account-nav-chevron{transform:translateX(2px);opacity:1}
.account-main{min-width:0}

/* Footer */
.app-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);margin-top:var(--s20)}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:var(--s16) var(--s6) var(--s8);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:var(--s8)}
.footer-brand .footer-tag{color:var(--brand-primary);font-weight:700;margin:var(--s3) 0}
.footer-desc{color:var(--text-muted);font-size:.9rem;max-width:280px}
.footer-col h4{font-size:.95rem;margin-bottom:var(--s4)}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:var(--s2)}
.footer-col a{color:var(--text-secondary);font-size:.9rem}
.footer-col a:hover{color:var(--brand-primary)}
.footer-bottom{border-top:1px solid var(--border-color);padding:var(--s5) var(--s6);display:flex;justify-content:space-between;max-width:var(--maxw);margin:0 auto;color:var(--text-muted);font-size:.85rem;flex-wrap:wrap;gap:var(--s3)}
.footer-links a{margin-left:var(--s4)}

/* Cookie consent */
.cookie-consent{position:fixed;bottom:var(--s4);left:var(--s4);right:var(--s4);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s4);max-width:520px;margin:0 auto;padding:var(--s4) var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-xl);z-index:120}
.cookie-consent[hidden]{display:none}
.cookie-consent-copy{min-width:0}
.cookie-consent-title{margin:0 0 .35rem;color:var(--text-primary);font-family:var(--f-head);font-size:.9rem;line-height:1.25}
.cookie-consent p{margin:0;color:var(--text-secondary);font-size:.75rem;line-height:1.5}
.cookie-consent-link{display:inline-flex;margin-top:.4rem;color:var(--brand-primary);font-size:.7rem;font-weight:700;text-decoration:none}
.cookie-consent-link:hover{text-decoration:underline}
.cookie-consent-link:focus-visible,.cookie-actions .btn:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 55%,transparent);outline-offset:2px}
.cookie-actions{display:flex;flex:0 0 auto;gap:var(--s2);justify-content:flex-end}

/* Tool page */
.tool-hero{text-align:center;padding:var(--s10) 0 var(--s6)}
.tool-hero h1{font-size:2.6rem;margin-bottom:var(--s3)}
.tool-hero p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.05rem}
.breadcrumbs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;width:100%;margin-bottom:var(--s4);text-align:center}
.breadcrumb-link,.breadcrumb-current{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;padding:.42rem .8rem;border:1px solid var(--border-color);border-radius:var(--r-full);font-size:.82rem;font-weight:700;line-height:1.35}
.breadcrumb-link{background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(236,72,153,.09));color:var(--brand-primary);transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.breadcrumb-link:hover{background:var(--brand-gradient);color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:var(--shadow-brand)}
.breadcrumb-current{background:var(--bg-secondary);color:var(--text-secondary);overflow-wrap:anywhere}
.breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;color:var(--brand-secondary);font-size:.65rem}
.breadcrumb-link:focus-visible{outline:3px solid var(--brand-primary);outline-offset:2px}
.result-display{font-family:var(--f-head);font-size:4rem;font-weight:900;text-align:center;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:var(--s8) 0;min-height:120px}
.dice-face{display:inline-flex;width:72px;height:72px;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px solid var(--brand-primary);border-radius:var(--r-md);font-family:var(--f-head);font-size:1.8rem;font-weight:800;margin:var(--s2)}
.coin{width:140px;height:140px;border-radius:var(--r-full);margin:var(--s6) auto;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--f-head);font-size:1.6rem;font-weight:900;box-shadow:var(--shadow-xl);transition:transform .1s}
.color-swatch{width:100%;height:160px;border-radius:var(--r-lg);box-shadow:var(--shadow-md);margin-bottom:var(--s4)}
.color-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3);color:var(--text-primary);font-weight:800}
.color-picker-heading>span:first-child{display:flex;align-items:center;gap:var(--s2);font-family:var(--f-head);font-size:1.05rem}
.color-picker-heading>span:first-child i{color:var(--brand-primary)}
.color-picker-live{display:inline-flex;align-items:center;gap:6px;padding:.35rem .65rem;border-radius:var(--r-full);background:rgba(16,185,129,.1);color:var(--success);font-size:.72rem;font-weight:700;white-space:nowrap}
.color-picker-live i{font-size:.55rem}
.color-swatch{height:200px;border:4px solid var(--bg-secondary);box-shadow:0 10px 28px rgba(15,23,42,.12),0 0 0 1px var(--border-color);transition:background-color .35s ease,transform .25s,box-shadow .25s}
.color-swatch:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.16),0 0 0 1px var(--border-color)}
.color-values{gap:var(--s2)}
.color-value{display:grid;grid-template-columns:minmax(54px,.7fr) minmax(0,1.5fr) auto;align-items:center;gap:var(--s3);min-width:0;padding:var(--s3) var(--s4);border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary)}
.color-value-label{display:inline-flex;align-items:center;gap:var(--s2);color:var(--text-muted);font-size:.78rem;font-weight:700}
.color-value-label i{color:var(--brand-accent)}
.color-value b{min-width:0;color:var(--text-primary);font-family:var(--f-mono);font-size:.83rem;overflow-wrap:anywhere}
.color-value .btn{gap:6px;padding:.45rem .75rem}
.color-picker-hint{display:flex;align-items:center;justify-content:center;gap:var(--s2);margin-top:var(--s4);color:var(--text-muted);font-size:.82rem;text-align:center}
.color-picker-hint i{color:var(--brand-accent)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s4);margin-top:var(--s6)}
.team-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-lg);padding:var(--s5)}
.team-card h4{margin-bottom:var(--s3);color:var(--brand-primary)}
.team-card ul{list-style:none}
.team-card li{padding:var(--s1) 0;border-bottom:1px solid var(--border-color)}

/* Content prose */
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:1.6rem;margin:var(--s8) 0 var(--s3)}
.prose h3{font-size:1.25rem;margin:var(--s6) 0 var(--s2)}
.prose p{margin-bottom:var(--s4);color:var(--text-secondary);line-height:1.7}
.prose ul,.prose ol{margin:0 0 var(--s4) var(--s6);color:var(--text-secondary)}
.prose li{margin-bottom:var(--s2)}
.prose a{color:var(--brand-primary);font-weight:600}
.prose .blog-content-table-wrap{max-width:100%;margin:var(--s6) 0;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-secondary)}
.prose .blog-content-table-wrap>table{width:100%;min-width:560px;margin:0;border-collapse:collapse;border-spacing:0;color:var(--text-secondary);font-size:.9rem;line-height:1.55}
.prose .blog-content-table-wrap th,.prose .blog-content-table-wrap td{min-width:100px;padding:.7rem .85rem;border:1px solid var(--border-color);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.prose .blog-content-table-wrap th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:750}
.prose .blog-content-table-wrap tr:nth-child(even) td{background:color-mix(in srgb,var(--bg-tertiary) 55%,var(--bg-secondary))}
.prose .blog-content-table-wrap p{margin:0;color:inherit;line-height:inherit}
.prose .blog-content-table-wrap ul,.prose .blog-content-table-wrap ol{margin:.35rem 0 .35rem 1.25rem;color:inherit}
.prose .blog-content-table-wrap li{margin:0 0 .2rem}
.faq-item{border:1px solid var(--border-color);border-radius:var(--r-md);margin-bottom:var(--s3);overflow:hidden}
.faq-q{padding:var(--s4) var(--s5);font-weight:700;cursor:pointer;display:flex;justify-content:space-between;background:var(--bg-secondary)}
.faq-a{padding:0 var(--s5);max-height:0;overflow:hidden;transition:max-height .3s,padding .3s;color:var(--text-secondary)}
.faq-item.open .faq-a{padding:var(--s4) var(--s5);max-height:500px}

/* Admin */
.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - var(--header-h))}
.admin-sidebar{position:sticky;top:var(--header-h);align-self:start;min-width:0;height:calc(100vh - var(--header-h));display:flex;flex-direction:column;gap:var(--s4);overflow-y:auto;background:linear-gradient(180deg,var(--bg-secondary),var(--bg-tertiary));border-right:1px solid var(--border-color);padding:var(--s5) var(--s3)}
.admin-sidebar-brand{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3) var(--s5);color:var(--text-primary)}
.admin-sidebar-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand);font-size:1.1rem}
.admin-sidebar-brand strong,.admin-sidebar-brand small{display:block}
.admin-sidebar-brand strong{font-family:var(--f-head);font-size:.9rem}
.admin-sidebar-brand small{margin-top:2px;color:var(--text-muted);font-size:.7rem}
.admin-sidebar-label{padding:0 var(--s3);color:var(--text-muted);font-size:.65rem;font-weight:800;letter-spacing:.14em}
.admin-sidebar-nav{display:grid;gap:5px}
.admin-sidebar-nav a{position:relative;display:flex;align-items:center;gap:var(--s3);min-height:42px;padding:.65rem .8rem;border:1px solid transparent;border-radius:var(--r-md);color:var(--text-secondary);font-size:.86rem;font-weight:650;transition:background .18s,border-color .18s,color .18s,transform .18s}
.admin-sidebar-nav a i{width:1.15rem;text-align:center;color:var(--text-muted);transition:color .18s}
.admin-sidebar-nav a:hover{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary);transform:translateX(2px)}
.admin-sidebar-nav a:hover i{color:var(--brand-primary)}
.admin-sidebar-nav a.active{background:linear-gradient(135deg,rgba(99,102,241,.16),rgba(236,72,153,.08));border-color:rgba(99,102,241,.24);color:var(--brand-primary);box-shadow:var(--shadow-sm)}
.admin-sidebar-nav a.active i{color:var(--brand-primary)}
.admin-sidebar-return{display:flex;align-items:center;gap:var(--s3);margin-top:auto;padding:var(--s3);border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.8rem;font-weight:650}
.admin-sidebar-return:hover{color:var(--brand-primary)}
.admin-content{min-width:0;padding:clamp(1.25rem,2.5vw,2.25rem)}
.admin-content h1{font-size:1.8rem;margin-bottom:var(--s6)}
.admin-dashboard{max-width:1500px;margin:0 auto}
.admin-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5)}
.admin-dashboard-head h1{margin:0;font-family:var(--f-head);font-size:clamp(1.6rem,2vw,2rem);letter-spacing:-.025em}
.admin-dashboard-head p{margin-top:4px;color:var(--text-muted);font-size:.88rem}
.admin-dashboard-hero{position:relative;isolation:isolate;min-height:98px;padding:clamp(1rem,2.2vw,1.55rem) clamp(1.15rem,2.4vw,1.75rem);overflow:hidden;border:1px solid rgba(99,102,241,.2);border-radius:var(--r-xl);background:linear-gradient(112deg,rgba(99,102,241,.12),var(--bg-secondary) 52%,rgba(236,72,153,.07));box-shadow:var(--shadow-sm)}
.admin-dashboard-hero::before{position:absolute;z-index:-1;inset:0 auto 0 0;width:4px;background:var(--brand-gradient);content:""}
.admin-dashboard-hero::after{position:absolute;z-index:-1;top:-150px;right:5%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.14),rgba(236,72,153,.04) 48%,transparent 72%);content:"";pointer-events:none}
.admin-dashboard-hero h1{font-size:clamp(1.75rem,2.6vw,2.25rem);letter-spacing:-.04em}
.admin-dashboard-hero>.btn{position:relative;z-index:1}
.dashboard-eyebrow{display:block;margin-bottom:4px;color:var(--brand-primary);font-size:.64rem;font-weight:800;letter-spacing:.14em}
.dashboard-live-label{display:inline-flex;align-items:center;gap:8px;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:700;white-space:nowrap}
.dashboard-live-label>span{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(16,185,129,.12)}
.dashboard-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:var(--s3);margin-bottom:var(--s5)}
.dashboard-stat-card{position:relative;isolation:isolate;display:flex;align-items:center;gap:var(--s3);min-width:0;min-height:82px;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:linear-gradient(145deg,var(--stat-tint,rgba(99,102,241,.1)),var(--bg-secondary) 82%);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}
.dashboard-stat-card::after{position:absolute;z-index:-1;right:-20px;bottom:-38px;width:92px;height:92px;border-radius:50%;background:var(--stat-tint,rgba(99,102,241,.1));content:""}
.dashboard-stat-card:hover{transform:translateY(-2px);border-color:var(--stat-color,var(--brand-primary));box-shadow:var(--shadow-md)}
.dashboard-stat-card[data-tone="violet"]{--stat-color:#8B5CF6;--stat-tint:rgba(139,92,246,.12)}
.dashboard-stat-card[data-tone="blue"]{--stat-color:#3B82F6;--stat-tint:rgba(59,130,246,.12)}
.dashboard-stat-card[data-tone="pink"]{--stat-color:#EC4899;--stat-tint:rgba(236,72,153,.12)}
.dashboard-stat-card[data-tone="green"]{--stat-color:#10B981;--stat-tint:rgba(16,185,129,.12)}
.dashboard-stat-card[data-tone="cyan"]{--stat-color:#06B6D4;--stat-tint:rgba(6,182,212,.12)}
.dashboard-stat-card[data-tone="orange"]{--stat-color:#F59E0B;--stat-tint:rgba(245,158,11,.13)}
.dashboard-stat-card[data-tone="purple"]{--stat-color:#A855F7;--stat-tint:rgba(168,85,247,.12)}
.dashboard-stat-card[data-tone="rose"]{--stat-color:#F43F5E;--stat-tint:rgba(244,63,94,.12)}
.dashboard-stat-card[data-tone="teal"]{--stat-color:#14B8A6;--stat-tint:rgba(20,184,166,.13)}
.dashboard-stat-card .ico{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:var(--stat-tint);color:var(--stat-color);font-size:1rem}
.dashboard-stat-copy{min-width:0}
.dashboard-stat-copy b{display:block;overflow:hidden;color:var(--text-primary);font-family:var(--f-head);font-size:1.25rem;line-height:1.1;text-overflow:ellipsis}
.dashboard-stat-copy>span{display:block;margin-top:4px;color:var(--text-muted);font-size:.7rem;font-weight:650;line-height:1.2}
.dashboard-overview-panel{margin-bottom:var(--s5);padding:clamp(1rem,2vw,1.5rem);overflow:hidden;border-color:color-mix(in srgb,var(--brand-primary) 20%,var(--border-color));background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 5%,var(--bg-secondary)),var(--bg-secondary) 42%)}
.dashboard-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--border-color)}
.dashboard-overview-heading h2{margin:0;font-family:var(--f-head);font-size:1.15rem}
.dashboard-overview-heading p{margin:.25rem 0 0;color:var(--text-muted);font-size:.76rem}
.dashboard-overview-mark{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--brand-primary) 22%,var(--border-color));border-radius:13px;background:color-mix(in srgb,var(--brand-primary) 10%,var(--bg-secondary));color:var(--brand-primary)}
.dashboard-overview-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));margin:0}
.dashboard-overview-grid .dashboard-stat-card{min-height:76px}
.dashboard-traffic-panel{padding:1rem 1.15rem;overflow:hidden;border-color:color-mix(in srgb,var(--brand-primary) 18%,var(--border-color));background:linear-gradient(165deg,color-mix(in srgb,var(--brand-primary) 4%,var(--bg-secondary)),var(--bg-secondary) 35%)}
.dashboard-traffic-panel .dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s3)}
.dashboard-panel-head h2,.dashboard-insight-heading h2{margin:0;font-family:var(--f-head);font-size:1.14rem}
.dashboard-panel-head p{margin:4px 0 0;color:var(--text-muted);font-size:.77rem}
.dashboard-filters{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}
.dashboard-filters select{width:auto;min-width:124px;padding:.55rem 2rem .55rem .75rem;border-radius:var(--r-sm);font-size:.76rem}
.dashboard-filters .btn{white-space:nowrap}
.admin-dashboard .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.traffic-summary{display:grid;grid-template-columns:max-content max-content minmax(180px,1fr);align-items:center;gap:var(--s2);padding:.25rem 0 .15rem}
.traffic-summary-stat{display:flex;align-items:center;gap:8px;min-width:132px;padding:.5rem .65rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary)}
.traffic-summary-stat>span:last-child{display:grid;gap:2px}
.traffic-summary-stat strong{color:var(--text-primary);font-family:var(--f-head);font-size:1.08rem;line-height:1.15}
.traffic-summary-stat small{color:var(--text-muted);font-size:.68rem;font-weight:700}
.traffic-summary-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--stat-color) 12%,var(--bg-secondary));color:var(--stat-color);font-size:.78rem}
.traffic-summary-icon.tone-pink{--stat-color:#EC4899}
.traffic-summary-icon.tone-green{--stat-color:#10B981}
.traffic-summary-note{justify-self:end;max-width:390px;margin:0;color:var(--text-muted);font-size:.69rem;line-height:1.45;text-align:right}
.pageviews-chart{margin:0}
.pageviews-chart svg{display:block;width:100%;height:auto;max-height:300px;overflow:visible}
.dashboard-traffic-panel .dashboard-pageviews-chart svg{max-height:220px}
.pageviews-grid-line{stroke:var(--border-color);stroke-width:1;stroke-dasharray:3 5}
.pageviews-axis-label{fill:var(--text-muted);font-family:var(--f-body);font-size:11px}
.pageviews-area{fill:url(#pageviewsLineGradient);opacity:.11}
.pageviews-line{fill:none;stroke:url(#pageviewsLineGradient);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pageviews-point{fill:var(--bg-secondary);stroke:#8B5CF6;stroke-width:2}
.analytics-visitors-point{fill:var(--bg-secondary);stroke:#14B8A6;stroke-width:2}
.traffic-chart-day{outline:none}
.traffic-chart-hit-area{fill:transparent;pointer-events:all}
.traffic-chart-hover-guide{stroke:var(--border-hover);stroke-width:1;stroke-dasharray:3 4;opacity:0;pointer-events:none}
.traffic-chart-day:hover .traffic-chart-hover-guide,.traffic-chart-day:focus-visible .traffic-chart-hover-guide{opacity:1}
.traffic-chart-day:focus-visible .pageviews-point,.traffic-chart-day:focus-visible .analytics-visitors-point{stroke-width:3}
.dashboard-chart-tooltip{opacity:0;pointer-events:none;transition:opacity .14s ease}
.traffic-chart-day:hover .dashboard-chart-tooltip,.traffic-chart-day:focus-visible .dashboard-chart-tooltip{opacity:1;pointer-events:auto}
.dashboard-chart-tooltip>rect{fill:var(--bg-secondary);stroke:var(--border-hover);stroke-width:1;filter:drop-shadow(0 5px 12px rgba(15,23,42,.18))}
.dashboard-chart-tooltip>text{fill:var(--text-secondary);font-family:var(--f-body);font-size:11px}
.dashboard-chart-tooltip>text tspan{fill:var(--text-primary);font-weight:800}
.dashboard-chart-tooltip>.dashboard-chart-tooltip-date{fill:var(--text-primary);font-size:11px;font-weight:800}
.pageviews-chart figcaption{padding:.25rem var(--s3) 0;color:var(--text-muted);font-size:.73rem}
.dashboard-analytics-notice{padding:var(--s4);border:1px solid rgba(245,158,11,.35);border-radius:var(--r-md);background:rgba(245,158,11,.09);color:var(--text-secondary);font-size:.86rem}
.dashboard-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin-top:var(--s4)}
.dashboard-insight-panel{display:flex;flex-direction:column;min-width:0;min-height:360px;margin-bottom:0;padding:var(--s5);overflow:hidden;border-color:color-mix(in srgb,var(--brand-primary) 15%,var(--border-color));background:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary) 3%,var(--bg-secondary)),var(--bg-secondary) 45%)}
.dashboard-insight-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
.dashboard-insight-trailing{display:flex;align-items:center;gap:var(--s2)}
.dashboard-list-count{padding:.32rem .55rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-tertiary);color:var(--text-muted);font-size:.65rem;font-weight:750;white-space:nowrap}
.dashboard-insight-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}
.dashboard-insight-icon.tone-cyan{background:rgba(6,182,212,.12);color:#06B6D4}
.dashboard-insight-icon.tone-violet{background:rgba(139,92,246,.12);color:#8B5CF6}
.dashboard-live-map-panel{margin:var(--s4) 0 0;padding:clamp(1rem,2vw,1.35rem);overflow:hidden;border-color:color-mix(in srgb,var(--brand-primary) 16%,var(--border-color));background:linear-gradient(155deg,color-mix(in srgb,var(--brand-primary) 3%,var(--bg-secondary)),var(--bg-secondary) 42%)}
.dashboard-live-map-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}
.dashboard-live-map-header h2{margin:0;font-family:var(--f-head);font-size:1.12rem}
.dashboard-live-map-header p{margin:.28rem 0 0;color:var(--text-muted);font-size:.76rem}
.dashboard-live-now{display:grid;grid-template-columns:9px auto auto;align-items:center;gap:0 .5rem;min-width:180px;padding:.65rem .8rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary)}
.dashboard-live-indicator{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px color-mix(in srgb,#10b981 16%,transparent)}
.dashboard-live-now strong{color:var(--text-primary);font-family:var(--f-head);font-size:1.2rem;line-height:1}
.dashboard-live-now>span:nth-of-type(2){color:var(--text-secondary);font-size:.72rem;font-weight:700}
.dashboard-live-now small{grid-column:2/-1;margin-top:.3rem;color:var(--text-muted);font-size:.64rem}
.dashboard-live-map-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.8fr);gap:var(--s3);min-width:0}
.dashboard-live-map-canvas{position:relative;display:grid;place-items:center;min-width:0;min-height:220px;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--brand-primary) 7%,var(--bg-tertiary)),var(--bg-tertiary) 78%);padding:.5rem}
.dashboard-live-world-map{display:block;width:100%;height:auto;max-height:340px;overflow:visible}
.dashboard-live-map-country{fill:color-mix(in srgb,var(--text-muted) 15%,var(--bg-secondary));stroke:color-mix(in srgb,var(--border-color) 88%,transparent);stroke-width:.75;vector-effect:non-scaling-stroke;transition:fill .2s ease,stroke .2s ease}
.dashboard-live-map-country[data-active="true"]{fill:color-mix(in srgb,var(--brand-primary) var(--map-intensity,45%),var(--bg-tertiary));stroke:color-mix(in srgb,var(--brand-primary) 62%,var(--border-color))}
.dashboard-live-map-country[data-active="true"]:hover,.dashboard-live-map-country[data-active="true"]:focus{stroke:var(--text-primary);stroke-width:1.4;outline:none}
.dashboard-live-map-empty{position:absolute;left:50%;top:50%;max-width:80%;transform:translate(-50%,-50%);margin:0;padding:.55rem .75rem;border:1px solid var(--border-color);border-radius:var(--r-sm);background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);color:var(--text-secondary);font-size:.75rem;text-align:center;box-shadow:0 8px 25px rgba(15,23,42,.12)}
.dashboard-live-map-empty[hidden]{display:none}
.dashboard-live-country-panel{display:flex;flex-direction:column;min-width:0;max-height:360px;padding:.8rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary)}
.dashboard-live-country-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.65rem;border-bottom:1px solid var(--border-color)}
.dashboard-live-country-heading h3{margin:0;color:var(--text-primary);font-family:var(--f-head);font-size:.83rem}
.dashboard-live-country-heading>span{color:var(--text-muted);font-size:.63rem;white-space:nowrap}
.dashboard-live-country-list{display:grid;gap:.15rem;min-height:0;max-height:300px;overflow-y:auto;margin:.35rem 0 0;padding:0 .25rem 0 0;list-style:none}
.dashboard-live-country-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .65rem;padding:.5rem .15rem;border-bottom:1px solid color-mix(in srgb,var(--border-color) 65%,transparent)}
.dashboard-live-country-name{overflow:hidden;color:var(--text-secondary);font-size:.72rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.dashboard-live-country-count{color:var(--text-primary);font-size:.72rem;font-variant-numeric:tabular-nums}
.dashboard-live-country-track{grid-column:1/-1;height:4px;overflow:hidden;border-radius:var(--r-full);background:color-mix(in srgb,var(--border-color) 72%,transparent)}
.dashboard-live-country-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-primary),#ec4899)}
.dashboard-live-country-empty{padding:1rem .35rem;color:var(--text-muted);font-size:.72rem;line-height:1.5}
.dashboard-live-map-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.7rem;color:var(--text-muted);font-size:.65rem;line-height:1.45}
.dashboard-live-map-footer p{margin:0}
.dashboard-live-map-key{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.dashboard-live-map-key i{width:38px;height:7px;border-radius:var(--r-full);background:linear-gradient(90deg,color-mix(in srgb,var(--brand-primary) 24%,var(--bg-tertiary)),var(--brand-primary))}
.dashboard-live-map-footer a{color:var(--brand-primary);font-weight:700;text-decoration:none}
.dashboard-live-map-footer a:hover{text-decoration:underline}
@media(max-width:720px){
  .dashboard-live-map-header{align-items:flex-start;flex-direction:column}
  .dashboard-live-now{grid-template-columns:9px auto auto;width:100%;min-width:0}
  .dashboard-live-map-body{grid-template-columns:minmax(0,1fr)}
  .dashboard-live-map-canvas{min-height:180px}
  .dashboard-live-world-map{max-height:300px}
  .dashboard-live-country-panel{max-height:280px}
  .dashboard-live-country-list{max-height:220px}
}
@media(max-width:480px){
  .dashboard-traffic-panel{padding:.85rem}
  .dashboard-traffic-panel .dashboard-pageviews-chart svg{max-height:180px}
  .dashboard-live-map-panel{padding:.85rem}
  .dashboard-live-map-canvas{min-height:145px;padding:.25rem}
  .dashboard-live-map-footer{align-items:flex-start;flex-direction:column;gap:.25rem}
}
.analytics-visitors-line{fill:none;stroke:#14B8A6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.analytics-chart-legend{display:flex;align-items:center;gap:var(--s5);margin:var(--s2) 0;color:var(--text-muted);font-size:.74rem;font-weight:700}
.analytics-chart-legend span{display:inline-flex;align-items:center;gap:7px}
.analytics-chart-legend span::before{width:9px;height:9px;border-radius:50%;content:""}
.analytics-chart-legend .legend-pageviews::before{background:#8B5CF6}
.analytics-chart-legend .legend-visitors::before{background:#14B8A6}
.analytics-subnav{display:flex;gap:var(--s2);margin:0 0 var(--s4);padding:0 0 var(--s2);overflow-x:auto;border-bottom:1px solid var(--border-color);scrollbar-width:thin}
.analytics-subnav a{flex:0 0 auto;padding:.65rem .9rem;border-radius:var(--r-full);color:var(--text-secondary);font-size:.82rem;font-weight:700;white-space:nowrap;transition:background .18s,color .18s}
.analytics-subnav a:hover{background:var(--bg-tertiary);color:var(--text-primary)}
.analytics-subnav a.active{background:rgba(99,102,241,.13);color:var(--brand-primary)}
.analytics-filter-panel{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4);padding:var(--s4) var(--s5)}
.analytics-filter-panel p{max-width:570px;margin:0;color:var(--text-muted);font-size:.72rem;line-height:1.5}
.analytics-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.analytics-insights-grid{margin-top:var(--s4)}
.analytics-wide-panel{margin:0 0 var(--s4);padding:var(--s5)}
.analytics-wide-panel>.muted{margin:-.5rem 0 var(--s4);font-size:.82rem;line-height:1.55}
.analytics-panel-link{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s4);color:var(--brand-primary);font-size:.78rem;font-weight:750}
.analytics-panel-link:hover{gap:11px}
.analytics-mini-list{display:grid;gap:var(--s3)}
.analytics-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.8rem}
.analytics-mini-list b{color:var(--text-primary);font-family:var(--f-head)}
.admin-custom-code{max-width:1100px;margin:0 auto}
.custom-code-warning{display:flex;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s5);padding:var(--s4) var(--s5);border-color:rgba(245,158,11,.3);background:linear-gradient(110deg,rgba(245,158,11,.1),var(--bg-secondary) 72%)}
.custom-code-warning-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px;background:rgba(245,158,11,.14);color:#D97706}
.custom-code-warning strong{color:var(--text-primary);font-size:.86rem}
.custom-code-warning p{margin:.25rem 0 0;color:var(--text-muted);font-size:.77rem;line-height:1.55}
.custom-code-form{display:grid;gap:var(--s4)}
.custom-code-field{margin:0;padding:var(--s5)}
.custom-code-field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}
.custom-code-field-heading label{color:var(--text-primary);font-size:.9rem;font-weight:750}
.custom-code-field-heading p{margin:0;color:var(--text-muted);font-size:.73rem}
.custom-code-field-heading code{color:var(--brand-primary);font-family:var(--f-mono);font-size:.72rem}
.custom-code-field textarea{min-height:220px;padding:.9rem 1rem;background:var(--bg-tertiary);font-family:var(--f-mono);font-size:.77rem;line-height:1.55;tab-size:2}
.custom-code-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:0 2px;color:var(--text-muted);font-size:.75rem}
.custom-code-actions .btn{flex:0 0 auto}
.admin-section-hero{margin-bottom:var(--s5)}
.admin-section-hero-copy{min-width:0}
.admin-section-hero p{max-width:620px}
.admin-section-hero .btn{flex:0 0 auto}
.admin-blog{display:grid;gap:var(--s4)}
.admin-pages{display:grid;gap:var(--s4)}
.admin-pages-scroll{max-height:min(58vh,620px);overflow-x:hidden;overflow-y:auto;border-top:1px solid var(--border-color);overscroll-behavior:contain;scrollbar-width:thin}
.admin-pages-scroll:focus-visible{outline:3px solid rgba(99,102,241,.45);outline-offset:-3px}
.admin-pages-scroll .admin-pages-table{display:table;width:100%;min-width:0;max-width:none;margin:0;overflow:visible;border-radius:0;box-shadow:none;table-layout:fixed}
.admin-pages-table th,.admin-pages-table td{padding:.85rem 1rem}
.admin-pages-scroll .admin-pages-table th{position:sticky;top:0;z-index:2;white-space:nowrap;background:var(--bg-tertiary);box-shadow:0 1px 0 var(--border-color)}
.admin-pages-table th:first-child{width:42%}
.admin-pages-table th:nth-child(2){width:15%}
.admin-pages-table th:nth-child(3){width:18%}
.admin-pages-table th:last-child{width:25%}
.admin-pages-table td{vertical-align:middle}
.pages-title-cell{min-width:0}
.pages-title-cell strong,.pages-title-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pages-title-cell strong{color:var(--text-primary);font-size:.82rem}
.pages-title-cell small{margin-top:4px;color:var(--text-muted);font-family:var(--f-mono);font-size:.66rem}
.pages-row-actions{white-space:normal}
.page-body-field textarea{min-height:320px}
.page-status-field{max-width:360px}
.page-editor-error{margin:0 0 var(--s4);padding:.7rem .85rem;border:1px solid color-mix(in srgb,var(--error) 28%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--error) 8%,var(--bg-secondary));color:var(--error);font-size:.75rem}
.page-editor-error[hidden]{display:none}
.page-dialog .blog-dialog-content{max-height:calc(100dvh - 190px)}
.page-dialog .tox.tox-tinymce{max-width:100%}
.page-editor-page{display:grid;gap:var(--s4);width:min(100%,1180px);min-width:0;margin:0 auto}
.page-editor-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.page-editor-form{display:grid;gap:var(--s5);width:100%;min-width:0;max-width:100%;margin:0;padding:clamp(var(--s4),3vw,var(--s7));overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-xl);background:var(--bg-secondary);box-shadow:var(--shadow-md)}
.page-editor-form-heading{padding-bottom:var(--s4);border-bottom:1px solid var(--border-color)}
.page-editor-form-heading h2{margin:.35rem 0;font-size:1.35rem}
.page-editor-form-heading p{margin:0;color:var(--text-muted);font-size:.78rem}
.page-editor-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(180px,.7fr);gap:var(--s4);align-items:start}
.page-editor-form .field{min-width:0;margin:0}
.page-editor-form .field label{display:block;margin-bottom:7px;color:var(--text-primary);font-size:.78rem;font-weight:750}
.page-editor-content-field{min-width:0}
.page-editor-content-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:7px}
.page-editor-content-heading label{margin:0!important}
.page-editor-status{display:inline-flex;align-items:center;min-height:26px;padding:.25rem .6rem;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.68rem;font-weight:650}
.page-editor-status.is-error{border-color:color-mix(in srgb,var(--error) 35%,transparent);background:color-mix(in srgb,var(--error) 9%,var(--bg-secondary));color:var(--error)}
.page-editor-content-field textarea{display:block;width:100%;max-width:100%;min-height:420px;box-sizing:border-box}
.page-editor-content-field .tox.tox-tinymce{width:100%!important;max-width:100%;box-sizing:border-box}
.page-editor-form-footer{display:flex;justify-content:flex-end;gap:var(--s3);padding-top:var(--s4);border-top:1px solid var(--border-color)}
.blog-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3)}
.blog-stat-card{position:relative;isolation:isolate;display:flex;align-items:center;gap:var(--s3);min-width:0;min-height:76px;padding:.75rem;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:linear-gradient(145deg,var(--blog-stat-tint,rgba(99,102,241,.1)),var(--bg-secondary) 82%);box-shadow:var(--shadow-sm)}
.blog-stat-card::after{position:absolute;z-index:-1;right:-20px;bottom:-38px;width:80px;height:80px;border-radius:50%;background:var(--blog-stat-tint);content:""}
.blog-stat-card[data-tone="violet"]{--blog-stat-color:#6366F1;--blog-stat-tint:rgba(99,102,241,.12)}
.blog-stat-card[data-tone="green"]{--blog-stat-color:#10B981;--blog-stat-tint:rgba(16,185,129,.12)}
.blog-stat-card[data-tone="orange"]{--blog-stat-color:#F59E0B;--blog-stat-tint:rgba(245,158,11,.13)}
.blog-stat-card[data-tone="blue"]{--blog-stat-color:#3B82F6;--blog-stat-tint:rgba(59,130,246,.12)}
.blog-stat-card[data-tone="rose"]{--blog-stat-color:#F43F5E;--blog-stat-tint:rgba(244,63,94,.11)}
.blog-stat-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:var(--blog-stat-tint);color:var(--blog-stat-color);font-size:.92rem}
.blog-stat-copy{position:relative;z-index:1;display:grid;min-width:0;gap:3px}
.blog-stat-copy strong{overflow:hidden;color:var(--text-primary);font-family:var(--f-head);font-size:1.2rem;line-height:1.1;text-overflow:ellipsis}
.blog-stat-copy small{color:var(--text-muted);font-size:.69rem;font-weight:650;line-height:1.2}
.blog-list-panel{min-width:0;margin:0;padding:0;overflow:hidden}
.blog-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:center;gap:var(--s4);padding:var(--s4);border-bottom:1px solid var(--border-color)}
.blog-filter-tabs{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:thin}
.blog-filter-tab{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:.48rem .66rem;border:1px solid transparent;border-radius:10px;color:var(--text-secondary);font-size:.73rem;font-weight:750;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}
.blog-filter-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}
.blog-filter-tab.active{border-color:rgba(99,102,241,.2);background:rgba(99,102,241,.12);color:var(--brand-primary)}
.blog-filter-tab span{min-width:1.35rem;padding:.08rem .3rem;border-radius:var(--r-full);background:var(--bg-tertiary);color:var(--text-muted);font-size:.65rem;font-variant-numeric:tabular-nums;text-align:center}
.blog-search{display:flex;align-items:center;gap:var(--s2);min-width:0;max-width:none}
.blog-search>i{margin-left:.25rem;color:var(--text-muted)}
.blog-search input{min-width:0;flex:1;min-height:38px;padding:.48rem .7rem;background:var(--bg-primary);font-size:.76rem}
.blog-search .btn{min-height:38px;padding:.45rem .75rem;font-size:.72rem}
.blog-clear-search{flex:0 0 auto;padding:var(--s2);color:var(--text-muted);font-size:.72rem;font-weight:700;white-space:nowrap}
.blog-clear-search:hover,.blog-empty-link:hover{color:var(--brand-primary);text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.blog-results-heading{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5) var(--s3)}
.blog-results-copy{min-width:0;flex:1}
.blog-section-kicker{display:block;margin-bottom:4px;color:var(--brand-primary);font-size:.61rem;font-weight:800;letter-spacing:.12em}
.blog-results-heading h2{font-size:1.08rem}
.blog-results-heading p{margin-top:3px;color:var(--text-muted);font-size:.72rem}
.blog-result-count{display:inline-flex;align-items:center;min-height:29px;padding:.3rem .62rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-primary);color:var(--text-secondary);font-size:.68rem;font-weight:750;white-space:nowrap}
.blog-trash-note{display:inline-flex;align-items:center;gap:7px;max-width:290px;color:var(--text-muted);font-size:.68rem}
.blog-trash-note i{flex:0 0 auto;color:var(--brand-primary)}
.blog-table-scroll{max-height:min(58vh,620px);overflow-x:hidden;overflow-y:auto;border-top:1px solid var(--border-color);overscroll-behavior:contain;scrollbar-width:thin}
.blog-table-scroll:focus-visible{outline:3px solid rgba(99,102,241,.45);outline-offset:-3px}
.blog-table-scroll .admin-blog-table{display:table;width:100%;min-width:0;max-width:none;margin:0;overflow:visible;table-layout:fixed;border-radius:0;box-shadow:none}
.admin-blog-table th,.admin-blog-table td{padding:.72rem .78rem}
.blog-table-scroll .admin-blog-table th{position:sticky;top:0;z-index:2;white-space:nowrap;background:var(--bg-tertiary);box-shadow:0 1px 0 var(--border-color)}
.admin-blog-table th:first-child{width:32%}
.admin-blog-table th:nth-child(2){width:13%}
.admin-blog-table th:nth-child(3){width:9%}
.admin-blog-table th:nth-child(4){width:20%}
.admin-blog-table th:last-child{width:26%}
.admin-blog-table td{vertical-align:middle}
.admin-blog-table .blog-title-cell{min-width:0}
.blog-title-cell strong,.blog-title-cell small{display:block;overflow:hidden;text-overflow:ellipsis}
.blog-title-cell strong{color:var(--text-primary);font-size:.79rem;white-space:nowrap}
.blog-title-cell small{margin-top:4px;color:var(--text-muted);font-family:var(--f-mono);font-size:.65rem;white-space:nowrap}
.blog-status{display:inline-flex;align-items:center;gap:6px;padding:.27rem .55rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-primary);color:var(--text-secondary);font-size:.65rem;font-weight:750;white-space:nowrap}
.blog-status>span{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}
.blog-status.is-active{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.07);color:#0B8B65}
.blog-status.is-active>span{background:var(--success)}
.blog-status.is-inactive{border-color:rgba(245,158,11,.23);background:rgba(245,158,11,.08);color:#A36508}
.blog-status.is-inactive>span{background:#F59E0B}
.blog-status.is-scheduled{border-color:rgba(59,130,246,.2);background:rgba(59,130,246,.08);color:#2874C8}
.blog-status.is-scheduled>span{background:var(--info)}
.blog-views-cell{color:var(--text-secondary);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.blog-views-cell i{margin-right:7px;color:var(--text-muted)}
.blog-date-cell{color:var(--text-muted);font-size:.69rem!important;white-space:nowrap}
.blog-row-actions{white-space:normal}
.blog-row-action-list{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px}
.blog-row-action-list form{display:inline-flex;margin:0}
.blog-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:31px;padding:.36rem .48rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--f-body);font-size:.64rem;font-weight:750;white-space:nowrap;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s}
.blog-action:hover{transform:translateY(-1px);border-color:var(--brand-primary);color:var(--brand-primary)}
.blog-action.is-activate,.blog-action.is-restore{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.06);color:#0B8B65}
.blog-action.is-activate:hover,.blog-action.is-restore:hover{border-color:var(--success);background:rgba(16,185,129,.12)}
.blog-action.is-deactivate{color:var(--text-muted)}
.blog-action.is-delete{color:var(--text-muted)}
.blog-action.is-delete:hover{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.07);color:var(--error)}
.blog-empty-cell{padding:0!important}
.blog-empty-state{display:grid;justify-items:center;gap:8px;min-height:180px;padding:var(--s8) var(--s4);color:var(--text-muted);text-align:center}
.blog-empty-state>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--bg-tertiary);color:var(--brand-primary);font-size:1rem}
.blog-empty-state strong{color:var(--text-primary);font-family:var(--f-head);font-size:.9rem}
.blog-empty-state p{max-width:380px;font-size:.73rem}
.blog-empty-link{margin-top:1px;color:var(--brand-primary);font-size:.73rem;font-weight:750}
.blog-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.72rem}
.blog-pagination-summary{font-variant-numeric:tabular-nums}
.blog-pagination-summary span{padding:0 3px;color:var(--border-hover)}
.blog-pagination-controls{display:flex;align-items:center;gap:var(--s2)}
.blog-pagination .btn{gap:7px;min-height:34px;padding:.45rem .68rem;font-size:.69rem}
.blog-pagination .btn.is-disabled{opacity:.48;cursor:not-allowed}
.blog-pagination a:focus-visible,.blog-empty-link:focus-visible,.blog-action:focus-visible,.blog-filter-tab:focus-visible,.blog-clear-search:focus-visible{outline:3px solid rgba(99,102,241,.55);outline-offset:2px}
.blog-dialog{position:fixed;inset:0;width:min(960px,calc(100vw - 2rem));height:fit-content;max-width:none;max-height:calc(100dvh - 2rem);margin:auto;padding:0;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-xl);background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-xl)}
.blog-dialog::backdrop{background:var(--bg-overlay);backdrop-filter:blur(7px)}
.blog-dialog-form{display:flex;flex-direction:column;max-height:calc(100dvh - 2rem)}
.blog-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s6);border-bottom:1px solid var(--border-color);background:linear-gradient(112deg,rgba(99,102,241,.1),var(--bg-secondary) 55%,rgba(236,72,153,.06))}
.blog-dialog-header h2{font-size:1.4rem}
.blog-dialog-header p{margin-top:4px;color:var(--text-muted);font-size:.78rem}
.blog-dialog-close{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer}
.blog-dialog-close:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.blog-dialog-content{min-height:0;overflow-y:auto;padding:var(--s5) var(--s6);scrollbar-width:thin}
.blog-dialog-content .field{margin-bottom:var(--s4)}
.blog-dialog-content label{color:var(--text-primary);font-size:.79rem;font-weight:750}
.required-mark{color:var(--error)}
.blog-slug-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.blog-regenerate-slug{border:0;background:transparent;color:var(--brand-primary);font-family:var(--f-body);font-size:.69rem;font-weight:750;cursor:pointer}
.blog-regenerate-slug:hover{text-decoration:underline}
.blog-slug-field{display:flex;align-items:center;gap:0;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary)}
.blog-slug-field>span{flex:0 0 auto;padding:0 .7rem;color:var(--text-muted);font-family:var(--f-mono);font-size:.7rem}
.blog-slug-field input{min-width:0;border:0;border-left:1px solid var(--border-color);border-radius:0;background:transparent;font-family:var(--f-mono);font-size:.78rem}
.blog-slug-field input:focus{box-shadow:none}
.blog-slug-hint,.blog-field-help{display:block;margin-top:5px;color:var(--text-muted);font-size:.68rem}
.blog-image-upload{display:flex;align-items:stretch;gap:var(--s3)}
.blog-image-picker{display:flex;min-height:88px;flex:1;align-items:center;gap:var(--s3);padding:var(--s4);border:1px dashed var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary);color:var(--text-secondary)!important;cursor:pointer}
.blog-image-picker:hover{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 6%,var(--bg-tertiary))}
.blog-image-picker>i{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:rgba(99,102,241,.12);color:var(--brand-primary);font-size:1rem}
.blog-image-picker span{display:grid;gap:4px}
.blog-image-picker strong{font-size:.78rem}
.blog-image-picker small{color:var(--text-muted);font-size:.68rem;font-weight:500}
.blog-image-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.blog-image-upload:focus-within .blog-image-picker{outline:2px solid var(--brand-primary);outline-offset:2px}
.blog-image-preview{position:relative;width:150px;flex:0 0 150px;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary)}
.blog-image-preview[hidden]{display:none}
.blog-image-preview img{display:block;width:100%;height:100%;min-height:88px;max-height:110px;object-fit:cover}
.blog-image-remove{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(15,23,42,.78);color:#fff;cursor:pointer}
.blog-image-remove:hover{background:#be123c}
.blog-field-help.is-error{color:var(--error)}
.blog-body-field textarea{min-height:300px}
.tox.tox-tinymce{border:1px solid var(--border-color)!important;border-radius:var(--r-md)!important;overflow:hidden}
.blog-card-image{width:calc(100% + 2 * var(--s6));max-width:none;height:170px;align-self:center;margin:calc(-1 * var(--s6)) calc(-1 * var(--s6)) 0;object-fit:cover;border-radius:var(--r-lg) var(--r-lg) 0 0}
.blog-article-image{display:block;width:100%;max-height:520px;margin:0 0 var(--s6);border:1px solid var(--border-color);border-radius:var(--r-lg);object-fit:cover}
.prose img{max-width:100%;height:auto;border-radius:var(--r-md)}
.blog-publish-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.blog-publish-fields .field{margin:0}
.blog-schedule-field[hidden]{display:none}
.blog-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s6);border-top:1px solid var(--border-color);background:var(--bg-secondary)}
.blog-save-note{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:.68rem}
.blog-save-note i{color:var(--success)}
.blog-dialog-footer>div{display:flex;align-items:center;gap:var(--s2)}
.blog-dialog-footer .btn{padding:.65rem 1rem;font-size:.78rem}
.data-table-wrap{width:100%;overflow-x:auto;border-radius:var(--r-lg);overscroll-behavior-x:contain}
.data-table-wrap .data-table{min-width:440px}
.data-table code{color:var(--text-secondary);font-family:var(--f-mono);font-size:.78rem}
.top-pages-list{display:grid;flex:1;align-content:start;gap:0;max-height:290px;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:5px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}
.top-page-row{min-width:0;padding:.7rem .1rem;border-bottom:1px solid var(--border-color)}
.top-page-row:last-child{border-bottom:0}
.top-page-title{display:flex;align-items:center;gap:var(--s2);min-width:0}
.top-page-rank{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-muted);font-size:.67rem;font-weight:800}
.top-page-title code{display:-webkit-box;min-width:0;flex:1;overflow:hidden;color:var(--text-secondary);font-family:var(--f-mono);font-size:.7rem;line-height:1.4;text-overflow:ellipsis;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.top-page-title>b{color:var(--text-primary);font-family:var(--f-head);font-size:.78rem}
.top-page-track{height:5px;margin:7px 0 0 34px;overflow:hidden;border-radius:var(--r-full);background:var(--bg-tertiary)}
.top-page-track span{display:block;height:100%;border-radius:inherit;background:var(--brand-gradient)}
.template-usage-row{display:flex;align-items:center;gap:var(--s2);min-width:0;padding:.72rem .1rem;border-bottom:1px solid var(--border-color)}
.template-usage-row:last-child{border-bottom:0}
.template-usage-name{flex:1;overflow:hidden;color:var(--text-secondary);font-size:.77rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.template-usage-row strong{color:var(--text-primary);font-family:var(--f-head);font-size:.78rem;white-space:nowrap}
.template-usage-row small{color:var(--text-muted);font-family:var(--f-body);font-size:.66rem;font-weight:600}
.data-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.data-table th,.data-table td{padding:var(--s3) var(--s4);text-align:left;border-bottom:1px solid var(--border-color);font-size:.9rem}
.data-table th{background:var(--bg-tertiary);font-family:var(--f-head);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}
.data-table tr:hover{background:var(--bg-tertiary)}
.tag{display:inline-block;padding:.15rem .5rem;border-radius:var(--r-full);font-size:.75rem;font-weight:700}
.tag.active,.tag.published{background:rgba(16,185,129,.15);color:var(--success)}
.tag.suspended,.tag.draft{background:rgba(245,158,11,.15);color:var(--warning)}

/* QR / share */
.share-row{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}
.share-btn{width:44px;height:44px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;transition:transform .2s}
.share-btn:hover{transform:translateY(-3px)}
.sh-wa{background:#25D366}.sh-tg{background:#0088cc}.sh-fb{background:#1877f2}.sh-x{background:#000}.sh-em{background:#64748B}.sh-cp{background:var(--brand-primary)}

/* OBS studio */
.obs-body{background:#000}
.obs-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--s6)}
.obs-winner{font-family:var(--f-head);font-size:3rem;font-weight:900;color:#fff;text-align:center;margin-top:var(--s6);text-shadow:0 4px 20px rgba(0,0,0,.6)}

/* Utilities */
.text-center{text-align:center}
.mt-4{margin-top:var(--s4)}.mt-6{margin-top:var(--s6)}.mt-8{margin-top:var(--s8)}
.mb-4{margin-bottom:var(--s4)}.mb-6{margin-bottom:var(--s6)}
.flex{display:flex}.gap-2{gap:var(--s2)}.gap-3{gap:var(--s3)}.gap-4{gap:var(--s4)}
.wrap-narrow{max-width:520px;margin:0 auto}
.muted{color:var(--text-muted)}
.hidden{display:none!important}
.spin-controls{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center;margin-top:var(--s5)}

/* Responsive */
@media(max-width:1024px){
  .grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .builder{grid-template-columns:minmax(0,1fr)}
  .builder-wheel,.builder-panels{min-width:0}
  .builder-wheel{position:static;order:-1;width:100%}
  .admin-content{min-width:0}
  .admin-sidebar{position:static;height:auto;display:block;padding:.65rem .8rem;border-right:0;border-bottom:1px solid var(--border-color);overflow:hidden}
  .admin-sidebar-brand,.admin-sidebar-label,.admin-sidebar-return{display:none}
  .admin-sidebar-nav{display:flex;gap:var(--s2);overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .admin-sidebar-nav a{flex:0 0 auto;min-height:38px;margin:0;padding:.55rem .7rem;white-space:nowrap}
  .data-table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .data-table th,.data-table td{white-space:nowrap}
  .footer-inner{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .builder-wheel.has-wheel-side-ads{grid-template-columns:minmax(0,1fr)}
  .builder-wheel-main,.wheel-left-ad-rail{grid-column:1;grid-row:auto}
  .wheel-left-ad-rail{grid-template-columns:minmax(0,1fr)}
  .wheel-left-ad-rail .managed-ad-placement{min-height:180px}
  .wheel-left-ad-rail .managed-ad-placement-content{min-height:120px}
}
@media(max-width:1100px){.main-nav{gap:var(--s4)}.nav-link{font-size:.88rem}}
@media(max-width:900px){
  .main-nav{display:none}
  .menu-toggle{display:flex;align-items:center;justify-content:center}
  .header-actions .btn:not(.btn-primary),.header-actions .nav-link{display:none}
  .app-header{padding:0 var(--s4)}
  .account-layout{grid-template-columns:minmax(0,1fr);gap:var(--s4)}
  .account-sidebar{position:static;padding:var(--s4);border-radius:var(--r-lg)}
  .account-sidebar-head{padding-bottom:var(--s3);margin-bottom:var(--s3)}
  .account-sidebar-mark{flex-basis:36px;width:36px;height:36px}
  .account-nav-list{flex-direction:row;gap:var(--s2);overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:var(--s1);scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .account-nav-link{flex:0 0 auto;gap:var(--s2);min-height:42px;padding:.3rem .55rem;white-space:nowrap}
  .account-nav-icon{flex-basis:30px;width:30px;height:30px}
  .account-nav-chevron{display:none}
}
@media(max-width:1100px){
  .page-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-editor-fields>.field:last-child{grid-column:1/-1;max-width:320px}
}
@media(max-width:768px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--s8)}
  .hero-visual{order:-1}
  .hero h1{font-size:clamp(2rem,6vw,2.4rem)}
  .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-2{grid-template-columns:minmax(0,1fr)}
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-shell{grid-template-columns:1fr}
  .admin-content{min-width:0;padding:var(--s5)}
  .dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-insights-grid{grid-template-columns:minmax(0,1fr)}
  .analytics-filter-panel{align-items:stretch;flex-direction:column}
  .analytics-filter-panel p{max-width:none}
  .custom-code-field-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .custom-code-actions{align-items:stretch;flex-direction:column-reverse}
  .custom-code-actions .btn{width:100%}
  .section{padding:var(--s10) 0}
  .result-display{font-size:2.6rem}
  .form-row{flex-direction:column;gap:0}
  .template-sort{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
  .template-sort .chip{text-align:center}
  .flash{margin-left:var(--s4);margin-right:var(--s4)}
}
@media(max-width:480px){
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--s10) var(--s4) var(--s6);gap:var(--s6) var(--s4)}
  .footer-brand{grid-column:1/-1}
  .hero h1{font-size:clamp(1.9rem,8vw,2.3rem)}
  .hero{padding:var(--s8) 0 var(--s10)}
  .hero-grid{padding:0 var(--s4)}
  .hero-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s2)}
  .hero-cta .btn{width:100%}
  .hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);text-align:center}
  .hero-stats .stat b{font-size:1.4rem}
  .hero-stats .stat span{font-size:.75rem}
  .section-head h2{font-size:clamp(1.6rem,7vw,2rem)}
  .section-head p{font-size:.95rem}
  :root{--header-h:60px}
  .brand{gap:6px;min-width:0}
  .brand-mark svg{width:24px;height:24px}
  .brand-text{font-size:1.08rem;white-space:nowrap}
  .header-actions{gap:6px}
  .theme-toggle,.menu-toggle{width:36px;height:36px;flex:0 0 36px}
  .header-actions .btn-primary{padding:.45rem .65rem;font-size:.76rem}
  .wrap{padding-left:var(--s4);padding-right:var(--s4)}
  .builder{gap:var(--s4);padding:var(--s4)}
  .builder-wheel{min-width:0}
  .wheel-wrapper{padding:var(--s6);max-width:min(100%,480px)}
  .wheel-center{width:64px;height:64px;font-size:.75rem}
  .wheel-pointer{border-left-width:13px;border-right-width:13px;border-top-width:26px}
  .panel{padding:var(--s4)}
  .tabs{overflow-x:auto;flex-wrap:nowrap}
  .tab{min-width:max-content}
  .modal{padding:var(--s5);max-height:calc(100dvh - 2rem)}
  .win-name{font-size:1.8rem;word-break:break-word}
  .modal-actions{flex-wrap:wrap}
  .cookie-consent{grid-template-columns:minmax(0,1fr);gap:var(--s3);left:var(--s2);right:var(--s2);bottom:var(--s2);padding:var(--s4)}
  .cookie-actions .btn{flex:1}
  .footer-bottom{padding:var(--s4);font-size:.8rem}
  .footer-links{display:flex;gap:var(--s3)}
  .footer-links a{margin-left:0}
  .admin-content{padding:var(--s4)}
  .admin-content h1{font-size:1.5rem}
  .admin-dashboard-head{align-items:flex-start}
  .admin-dashboard-head .btn{white-space:nowrap}
  .admin-dashboard-hero{align-items:center;min-height:78px;padding:1rem;border-radius:var(--r-lg)}
  .admin-dashboard-hero h1{font-size:clamp(1.5rem,6vw,1.85rem)}
  .admin-dashboard-hero>.btn{padding:.5rem .65rem;font-size:.72rem}
  .dashboard-live-label{display:none}
  .dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .dashboard-stat-card{min-height:74px;padding:.6rem;gap:.55rem}
  .dashboard-stat-card .ico{width:32px;height:32px;flex-basis:32px;font-size:.86rem}
  .dashboard-stat-copy b{font-size:1.08rem}
  .dashboard-stat-copy>span{font-size:.64rem}
  .dashboard-panel-head{align-items:flex-start;flex-direction:column}
  .dashboard-filters{width:100%}
  .dashboard-filters label{flex:1;min-width:0}
  .dashboard-filters select{width:100%;min-width:0;font-size:.7rem}
  .dashboard-filters .btn{padding:.55rem .7rem}
  .analytics-subnav{gap:4px}
  .analytics-subnav a{padding:.55rem .72rem;font-size:.74rem}
  .analytics-filter-panel{padding:var(--s4)}
  .analytics-wide-panel{padding:var(--s4)}
  .traffic-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .traffic-summary-stat{min-width:0;padding:.6rem}
  .traffic-summary-note{grid-column:1/-1;justify-self:start;max-width:none;text-align:left}
  .dashboard-insight-panel{padding:var(--s4)}
  .top-pages-list{max-height:260px}
  h1{font-size:2rem}
  img,canvas,video{max-width:100%}
}
@media(max-width:380px){
  .app-header{padding-left:12px;padding-right:12px;gap:6px}
  .brand-text{font-size:1rem}
  .header-actions .btn-primary{display:none}
  .grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
  .grid{gap:var(--s4)}
  .card{padding:var(--s4)}
}

@media(max-width:900px){
  .blog-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .admin-section-hero{align-items:center}
  .admin-section-hero .btn{gap:6px}
  .blog-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-list-toolbar{grid-template-columns:minmax(0,1fr);gap:var(--s3);padding:var(--s3)}
  .blog-filter-tabs{margin-right:calc(-1 * var(--s3));padding-right:var(--s3)}
  .blog-search{max-width:none}
  .blog-search>i{display:none}
  .blog-search input{font-size:.76rem}
  .blog-search .btn{padding:.55rem .65rem;font-size:.69rem}
  .blog-results-heading{align-items:flex-start;flex-wrap:wrap;padding:var(--s3)}
  .blog-results-copy{flex-basis:calc(100% - 90px)}
  .blog-results-heading h2{font-size:1rem}
  .blog-result-count{margin-left:auto}
  .blog-trash-note{flex:1 1 100%;max-width:none;padding-top:var(--s1)}
  .blog-table-scroll{max-height:62dvh;overflow-x:hidden;overflow-y:auto;border-top:1px solid var(--border-color)}
  .blog-table-scroll .admin-blog-table{display:block;width:100%;min-width:0;table-layout:auto}
  .admin-blog-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .admin-blog-table tbody{display:grid;gap:var(--s2);padding:var(--s2)}
  .admin-blog-table tbody tr{display:block;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
  .admin-blog-table tbody tr:hover{background:var(--bg-secondary)}
  .admin-blog-table td{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:39px;padding:.52rem .68rem;border-bottom:1px solid var(--border-color);text-align:right;white-space:normal}
  .admin-blog-table td::before{flex:0 0 auto;color:var(--text-muted);content:attr(data-label);font-size:.62rem;font-weight:800;letter-spacing:.035em;text-align:left;text-transform:uppercase}
  .admin-blog-table .blog-title-cell{display:block;padding:.75rem .68rem}
  .admin-blog-table .blog-title-cell::before{display:none}
  .blog-title-cell strong{overflow:visible;text-overflow:clip;white-space:normal;text-align:left;font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}
  .blog-title-cell small{overflow:hidden;text-align:left;text-overflow:ellipsis}
  .admin-blog-table .blog-empty-row{border:0;background:transparent;box-shadow:none}
  .admin-blog-table .blog-empty-cell{display:block!important;padding:0!important;border:0!important;text-align:center}
  .admin-blog-table .blog-empty-cell::before{display:none}
  .blog-empty-state{min-height:170px;padding:var(--s6) var(--s3)}
  .blog-status{font-size:.64rem}
  .blog-views-cell{font-size:.72rem}
  .blog-date-cell{font-size:.67rem!important}
  .admin-blog-table .blog-row-actions{align-items:flex-start;flex-direction:column;gap:var(--s2);min-height:0;text-align:left;border-bottom:0}
  .admin-blog-table .blog-row-actions::before{width:100%}
  .blog-row-action-list{width:100%;justify-content:flex-end;flex-wrap:wrap;gap:5px}
  .blog-action{min-height:30px;padding:.34rem .45rem;font-size:.63rem}
  .admin-pages-scroll{max-height:62dvh}
  .blog-pagination{align-items:stretch;flex-direction:column;padding:var(--s3);font-size:.68rem}
  .blog-pagination-controls{width:100%}
  .blog-pagination .btn{flex:1;justify-content:center;padding:.45rem .55rem}
  .blog-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:var(--r-lg)}
  .blog-dialog-form{max-height:calc(100dvh - 1rem)}
  .blog-dialog-header{padding:var(--s4)}
  .blog-dialog-content{padding:var(--s4);max-height:calc(100dvh - 190px)}
  .blog-image-upload{flex-wrap:wrap}
  .blog-image-preview{width:100%;height:140px;flex-basis:100%}
  .blog-image-preview img{height:140px}
  .blog-publish-fields{grid-template-columns:1fr}
  .blog-dialog-footer{align-items:stretch;flex-direction:column;padding:var(--s3) var(--s4)}
  .blog-dialog-footer>div{justify-content:flex-end}
  .page-editor-fields{grid-template-columns:1fr;gap:var(--s3)}
  .page-editor-content-field textarea{min-height:320px}
  .page-editor-form-footer{flex-direction:column-reverse}
  .page-editor-form-footer .btn{width:100%}
}
@media(max-width:380px){
  .blog-stat-grid{gap:var(--s2)}
  .blog-stat-card{gap:var(--s2);min-height:76px;padding:var(--s2)}
  .blog-stat-icon{width:31px;height:31px;flex-basis:31px}
  .blog-stat-copy strong{font-size:1.08rem}
  .blog-stat-copy small{font-size:.64rem}
  .blog-search{gap:5px}
  .blog-search .btn{padding:.5rem .55rem}
  .blog-search .btn span{display:none}
}

/* Accessibility */
:focus-visible{outline:3px solid var(--brand-primary);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.05ms!important}.wheel-canvas{transition:none}}

/* Setup wizard */
.setup-wrap{padding-top:4rem;max-width:640px}
.setup-wrap .grid-2{display:grid;gap:var(--s4)}
.setup-steps{display:flex;justify-content:space-between;list-style:none;padding:0;margin:0 0 var(--s6);position:relative;counter-reset:s}
.setup-steps::before{content:'';position:absolute;top:16px;left:8%;right:8%;height:2px;background:var(--border-color);z-index:0}
.setup-steps li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;font-size:.78rem;font-weight:600;color:var(--text-muted)}
.setup-steps .num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);font-family:var(--f-head);font-weight:800;transition:background-color .2s,border-color .2s,color .2s}
.setup-steps li.current{color:var(--text-primary)}
.setup-steps li.current .num{border-color:var(--brand-primary);color:var(--brand-primary);box-shadow:0 0 0 4px rgba(99,102,241,.15)}
.setup-steps li.done .num{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
.setup-actions{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap}
.setup-actions .btn-primary{margin-left:auto}
.setup-test{padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:.9rem;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary)}
.setup-test.ok{background:rgba(16,185,129,.12);color:var(--success)}
.setup-test.err{background:rgba(239,68,68,.12);color:var(--error)}
@media(max-width:520px){.setup-steps .lbl{display:none}.setup-wrap .grid-2{grid-template-columns:1fr}}

/* Wheel styles (pointer + hub per style) */
.wheel-wrapper{isolation:isolate}
.wheel-fire-layer{position:absolute;top:50%;left:50%;z-index:0;display:block;width:136%;height:136%;overflow:visible;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen}
.wheel-wrapper.spinning::before{position:absolute;inset:2.5%;z-index:0;border:2px solid rgba(255,145,42,.72);border-radius:50%;box-shadow:0 0 18px rgba(255,94,24,.58),0 0 38px rgba(255,178,54,.36),0 0 62px rgba(216,35,12,.18);content:"";animation:wheelFireworkHalo .55s ease-in-out infinite alternate;pointer-events:none}
@keyframes wheelFireworkHalo{from{opacity:.35;transform:scale(.99)}to{opacity:.9;transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.wheel-wrapper.spinning::before{animation:none;opacity:.55}}
@media(max-width:480px){
  .builder-wheel-main,.wheel-wrapper{overflow:visible}
}
.wheel-canvas{position:relative;z-index:1;transition:filter .3s}
.wheel-style-casino .wheel-pointer{border-top-color:#F5C451;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}
.wheel-style-casino .wheel-center{background:radial-gradient(circle at 35% 30%,#FFE9A8,#F5C451 55%,#B8860B);border-color:#1F1B2E;color:#1F1B2E;box-shadow:0 0 0 6px rgba(245,196,81,.25),var(--shadow-xl)}
.wheel-style-neon .wheel-canvas{box-shadow:0 0 40px rgba(122,0,255,.45),0 0 80px rgba(0,229,255,.25)}
.wheel-style-neon .wheel-pointer{border-top-color:#00E5FF;filter:drop-shadow(0 0 8px #00E5FF)}
.wheel-style-neon .wheel-center{background:#0B0F1A;border-color:#00E5FF;color:#00E5FF;box-shadow:0 0 18px rgba(0,229,255,.6),inset 0 0 12px rgba(0,229,255,.25);text-shadow:0 0 8px #00E5FF}
.wheel-style-candy .wheel-pointer{border-top-color:#FF6FB5}
.wheel-style-candy .wheel-center{background:linear-gradient(135deg,#fff,#FFE3F1);border-color:#FF6FB5;color:#C2185B;box-shadow:0 0 0 6px rgba(255,111,181,.2),var(--shadow-lg)}
.wheel-style-gradient .wheel-pointer{border-top-color:var(--brand-primary)}
.wheel-style-gradient .wheel-center{background:var(--brand-gradient);border-color:#fff;color:#fff;box-shadow:var(--shadow-brand)}
.wheel-style-minimal .wheel-pointer{border-top-color:#111827}
.wheel-style-minimal .wheel-center{background:#111827;border-color:#fff;color:#fff;box-shadow:var(--shadow-lg)}
[data-theme=dark] .wheel-style-minimal .wheel-pointer{border-top-color:#F9FAFB}
[data-theme=dark] .wheel-style-minimal .wheel-center{background:#F9FAFB;color:#111827;border-color:#111827}
.wheel-wrapper.spinning .wheel-center{animation:hubPulse 1.2s ease-in-out infinite}
@keyframes hubPulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.35)}50%{box-shadow:0 0 0 14px rgba(99,102,241,0)}}
.wheel-pointer{transition:transform .08s}
.wheel-wrapper.spinning .wheel-pointer{animation:pointerTick .12s ease-in-out infinite alternate}
@keyframes pointerTick{from{transform:translateX(-50%) rotate(-6deg)}to{transform:translateX(-50%) rotate(4deg)}}

/* Winner share card */
.share-card{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--border-color)}
.share-card img{width:100%;border-radius:var(--r-md);box-shadow:var(--shadow-lg);aspect-ratio:1200/630;background:#1a1236;display:block}
.share-card-actions{display:flex;gap:var(--s2);justify-content:center;margin-top:var(--s3);flex-wrap:wrap}

/* Compact wheel dialogs */
#winnerModal{isolation:isolate;background:rgba(2,6,23,.4);backdrop-filter:blur(3px) saturate(1.12)}
#winnerModal #confettiCanvas{position:absolute;inset:0;z-index:0;width:100%;height:100%}
#winnerModal .winner-modal-card{position:relative;z-index:1;width:min(100%,400px);padding:1.25rem;max-height:calc(100dvh - 2rem);background:color-mix(in srgb,var(--bg-secondary) 68%,transparent);border-color:rgba(255,255,255,.24);backdrop-filter:blur(9px) saturate(1.3);box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 36px rgba(255,116,30,.12)}
@supports not (background:color-mix(in srgb,#fff 50%,transparent)){
  #winnerModal .winner-modal-card{background:rgba(255,255,255,.82)}
  [data-theme=dark] #winnerModal .winner-modal-card{background:rgba(21,28,44,.78)}
}
.winner-modal-card{position:relative;width:min(100%,400px);padding:1.25rem;max-height:calc(100dvh - 2rem)}
.winner-modal-card .win-emoji{font-size:1.9rem;line-height:1}
.winner-modal-card .win-title{font-size:1.2rem;margin:.4rem 0}
.winner-modal-card .win-name{font-size:clamp(1.8rem,7vw,2.2rem);margin:.45rem 0;line-height:1.12}
.winner-modal-card .modal-actions{gap:.45rem;margin-top:.7rem}
.winner-share-row{justify-content:center;gap:.45rem;margin-top:.7rem}
.winner-share-row .share-btn{width:36px;height:36px;font-size:.95rem}
.winner-modal-card .share-card{margin-top:.8rem;padding-top:.65rem}
.winner-share-card .share-card-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;list-style:none;cursor:pointer;padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.84rem;font-weight:700}
.winner-share-card .share-card-summary::-webkit-details-marker{display:none}
.winner-share-card .share-card-summary span{display:inline-flex;align-items:center;gap:.5rem}
.winner-share-card .share-card-summary span i{color:var(--brand-primary)}
.winner-share-card .share-card-chevron{transition:transform .2s}
.winner-share-card[open] .share-card-chevron{transform:rotate(180deg)}
.winner-share-card[open] img{margin-top:.7rem}
.winner-modal-card .share-card img{width:auto;max-width:100%;max-height:130px;aspect-ratio:auto;object-fit:contain;margin-inline:auto}
.winner-modal-card .share-card-actions{gap:.4rem;margin-top:.55rem}

.clear-confirm-modal{position:relative;max-width:390px;padding:1.4rem;text-align:left}
.clear-confirm-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(239,68,68,.12);color:var(--error);font-size:1rem}
.clear-confirm-kicker{margin:.9rem 0 .2rem;color:var(--text-muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.clear-confirm-title{margin:0 2rem .45rem 0;font-family:var(--f-head);font-size:1.28rem;font-weight:800;line-height:1.25}
.clear-confirm-copy{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.55}
.clear-confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.55rem;margin-top:1.15rem}

@media(max-width:480px){
  .winner-modal-card{padding:1rem}
  .winner-modal-card .share-card img{max-height:105px}
  .clear-confirm-modal{padding:1.15rem}
  .clear-confirm-actions{display:grid;grid-template-columns:1fr 1fr}
  .clear-confirm-actions .btn{padding:.65rem .45rem;font-size:.82rem}
  .breadcrumbs{justify-content:flex-start;flex-wrap:nowrap;gap:.18rem;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 .2rem;margin-bottom:.8rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .breadcrumbs::-webkit-scrollbar{display:none}
  .breadcrumb-link,.breadcrumb-current{flex:0 0 auto;gap:.2rem;padding:.24rem .38rem;font-size:.64rem;white-space:nowrap}
  .breadcrumb-link:first-child{font-size:0}
  .breadcrumb-link:first-child i{font-size:.64rem}
  .breadcrumb-current{display:block;flex:0 1 auto;min-width:0;max-width:min(36vw,9rem);overflow:hidden;text-overflow:ellipsis}
  .breadcrumb-separator{flex:0 0 auto;font-size:.56rem}
  .winner-modal-card .modal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin-top:.65rem}
  .winner-modal-card .modal-actions .btn{min-width:0;min-height:38px;padding:.4rem .15rem;font-size:.68rem;line-height:1.1;white-space:normal}
  .winner-share-row{display:grid;width:min(100%,216px);grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center;gap:.28rem;margin:.65rem auto 0}
  .winner-share-row .share-btn{width:28px;height:28px;font-size:.75rem}
}

/* Unified admin settings */
.settings-page-form{display:grid;gap:var(--s5);min-width:0}
.settings-workspace{display:grid;grid-template-columns:minmax(205px,245px) minmax(0,1fr);align-items:start;gap:var(--s5);min-width:0}
.settings-tabs{position:sticky;top:var(--s4);display:grid;gap:var(--s2);padding:var(--s2);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.settings-tab{display:flex;align-items:center;gap:var(--s3);width:100%;min-width:0;padding:var(--s3);border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.settings-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}
.settings-tab[aria-selected=true]{border-color:rgba(99,102,241,.28);background:rgba(99,102,241,.12);color:var(--text-primary)}
.settings-tab-icon,.settings-link-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(99,102,241,.14);color:var(--brand-primary)}
.settings-tab-copy{display:grid;gap:3px;min-width:0}
.settings-tab-copy strong{font-size:.84rem}
.settings-tab-copy small{color:var(--text-muted);font-size:.68rem;line-height:1.4}
.settings-tab-arrow{margin-left:auto;color:var(--text-muted);font-size:.7rem}
.settings-tab[aria-selected=true] .settings-tab-arrow{color:var(--brand-primary)}
.settings-panels{min-width:0}
.settings-panel{min-width:0;padding:clamp(var(--s5),3vw,var(--s8));border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.settings-panel[hidden]{display:none}
.settings-panel-heading{margin-bottom:var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--border-color)}
.settings-panel-heading h2{margin:var(--s1) 0 var(--s2);font-size:1.35rem}
.settings-panel-heading p,.settings-link-heading p,.settings-asset-top p{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.55}
.settings-eyebrow{color:var(--brand-primary);font-size:.65rem;font-weight:800;letter-spacing:.11em}
.settings-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s5)}
.settings-fields-grid>.field,.settings-color-grid>.field{min-width:0}
.settings-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin-bottom:var(--s5)}
.settings-asset-card,.settings-link-group{min-width:0;padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-primary)}
.settings-asset-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}
.settings-asset-top h3,.settings-link-heading h3,.settings-subsection h3{margin:0 0 4px;font-size:.92rem}
.settings-asset-preview{display:grid;place-items:center;flex:0 0 78px;width:78px;height:64px;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-secondary)}
.settings-asset-preview img{display:block;width:100%;height:100%;padding:7px;object-fit:contain}
.settings-logo-placeholder{color:var(--brand-primary);font-size:1.65rem}
.settings-favicon-preview{flex-basis:58px;width:58px;height:58px;border-radius:15px}
.settings-asset-card .field small{display:block;margin-top:var(--s1);color:var(--text-muted);font-size:.68rem;line-height:1.5}
.settings-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:var(--s2)}
.settings-color-grid input[type=color]{width:100%;height:44px;padding:4px;cursor:pointer}
.settings-link-group+.settings-link-group{margin-top:var(--s4)}
.settings-link-heading{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.settings-subsection{padding:var(--s5) 0;border-bottom:1px solid var(--border-color)}
.settings-subsection:first-of-type{padding-top:0}
.settings-subsection:last-child{padding-bottom:0;border-bottom:0}
.settings-subsection>h3{margin-bottom:var(--s4)}
.settings-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.settings-toggle{position:relative;display:flex;align-items:center;gap:var(--s3);min-height:46px;padding:var(--s3);border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-primary);color:var(--text-secondary);font-size:.8rem;cursor:pointer}
.settings-toggle input{position:absolute;width:1px;height:1px;opacity:0}
.settings-toggle-control{position:relative;flex:0 0 36px;width:36px;height:20px;border-radius:99px;background:var(--border-color);transition:background .18s ease}
.settings-toggle-control:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;content:"";transition:transform .18s ease}
.settings-toggle input:checked+.settings-toggle-control{background:var(--brand-primary)}
.settings-toggle input:checked+.settings-toggle-control:after{transform:translateX(16px)}
.settings-toggle input:focus-visible+.settings-toggle-control{outline:3px solid rgba(99,102,241,.35);outline-offset:2px}
.settings-maintenance-toggle{margin-bottom:var(--s4)}
.settings-note{display:flex;align-items:flex-start;gap:var(--s2);margin:var(--s4) 0 0;padding:var(--s3);border-radius:var(--r-md);background:rgba(99,102,241,.08);color:var(--text-muted);font-size:.76rem;line-height:1.5}
.settings-note i{margin-top:2px;color:var(--brand-primary)}
.settings-save-bar{position:sticky;bottom:var(--s3);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--border-color);border-radius:var(--r-lg);background:color-mix(in srgb,var(--bg-secondary) 92%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(16px)}
.settings-save-bar>span{display:flex;align-items:center;gap:var(--s2);color:var(--text-muted);font-size:.72rem}
.settings-save-bar>span i{color:var(--success)}
.brand-mark img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:contain}
.footer-brand-logo{display:flex;align-items:center;gap:var(--s2)}
.footer-logo-image{width:34px;height:34px;object-fit:contain}
.footer-social-links,.footer-app-links{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap}
.footer-social-links a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-primary);color:var(--text-secondary);transition:color .18s ease,border-color .18s ease,transform .18s ease}
.footer-social-links a:hover{transform:translateY(-2px);border-color:var(--brand-primary);color:var(--brand-primary)}
.footer-app-links a{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--r-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:.7rem}
.footer-app-links a:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
@media(max-width:960px){
  .settings-workspace{grid-template-columns:1fr}
  .settings-tabs{position:static;display:flex;overflow-x:auto;overscroll-behavior-x:contain}
  .settings-tab{flex:0 0 180px}
  .settings-tab-copy small,.settings-tab-arrow{display:none}
}
@media(max-width:640px){
  .settings-fields-grid,.settings-asset-grid,.settings-feature-grid{grid-template-columns:1fr}
  .settings-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .settings-panel{padding:var(--s4)}
  .settings-save-bar{align-items:stretch;flex-direction:column}
  .settings-save-bar .btn{width:100%;justify-content:center}
  .settings-tab{flex-basis:145px;padding:var(--s2)}
   .settings-tab-icon{flex-basis:32px;width:32px;height:32px}
 }

/* Security workspace */
.security-page{max-width:1480px;margin:0 auto}
.security-tabs{display:flex;align-items:stretch;gap:4px;margin:0 0 var(--s5);padding:5px;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm);overflow-x:auto;overscroll-behavior-x:contain}
.security-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1rem;border-radius:10px;color:var(--text-muted);font-size:.83rem;font-weight:750;white-space:nowrap;transition:color .18s,background .18s}
.security-tab:hover{background:var(--bg-tertiary);color:var(--brand-primary)}
.security-tab.is-active{background:linear-gradient(120deg,rgba(99,102,241,.13),rgba(139,92,246,.08));color:var(--brand-primary)}
.security-tab-marker{position:absolute;right:10px;bottom:4px;left:10px;height:2px;border-radius:2px;background:var(--brand-gradient)}
.security-tab:focus-visible,.security-page a:focus-visible,.security-page button:focus-visible,.security-page input:focus-visible,.security-page select:focus-visible{outline:3px solid rgba(99,102,241,.55);outline-offset:2px}
.security-content{display:grid;gap:var(--s5)}
.security-section{min-width:0;padding:clamp(1rem,2vw,1.55rem);border:1px solid var(--border-color);border-radius:var(--r-xl);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.security-section-heading{display:flex;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s5)}
.security-section-heading>div:last-child{min-width:0}
.security-section-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(99,102,241,.16);border-radius:13px;background:rgba(99,102,241,.1);color:var(--brand-primary);font-size:1rem}
.security-section-icon-lock{background:rgba(236,72,153,.1);border-color:rgba(236,72,153,.2);color:var(--brand-secondary)}
.security-section-icon-health{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.2);color:var(--success)}
.security-kicker{display:block;margin:1px 0 5px;color:var(--brand-primary);font-size:.62rem;font-weight:850;letter-spacing:.13em}
.security-section-heading h2{margin:0;color:var(--text-primary);font-family:var(--f-head);font-size:1.22rem;letter-spacing:-.025em}
.security-section-heading p{margin-top:5px;color:var(--text-muted);font-size:.78rem;line-height:1.5}
.security-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4)}
.security-field-wide{grid-column:1/-1;max-width:calc(50% - .5rem)}
.security-form .field{margin-bottom:var(--s4)}
.security-form label{margin-bottom:7px;color:var(--text-secondary);font-size:.78rem}
.security-form input{min-height:43px;background:var(--bg-primary);border-radius:10px;font-size:.86rem}
.security-form select{width:100%;min-height:43px;padding:.62rem .8rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:.86rem}
.security-form select:focus{border-color:var(--brand-primary);outline:3px solid rgba(99,102,241,.18)}
.security-optional{margin-left:5px;color:var(--text-muted);font-size:.7rem;font-weight:500}
.security-form-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:2px;padding-top:var(--s4);border-top:1px solid var(--border-color)}
.security-form-hint{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.72rem}
.security-form-hint i{color:var(--brand-primary)}
.security-user-create-form .security-form-hint{max-width:72%;line-height:1.45}
.mfa-status-enabled,.mfa-status-disabled{gap:7px;width:max-content;margin:0 0 var(--s3);padding:.42rem .7rem}
.mfa-status-enabled{border-color:rgba(16,185,129,.24);background:rgba(16,185,129,.08);color:var(--success)}
.mfa-status-disabled{color:var(--text-muted)}
.mfa-start-form{max-width:760px}
.mfa-setup-panel{display:grid;gap:var(--s3);max-width:820px}
.mfa-setup-panel>p,.mfa-management-form>p{color:var(--text-muted);font-size:.78rem;line-height:1.55}
.mfa-secret-wrap{display:grid;gap:8px;padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-primary)}
.mfa-secret-wrap>span{color:var(--text-muted);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.mfa-secret{display:block;max-width:100%;color:var(--text-primary);font-family:var(--f-mono);font-size:clamp(.85rem,2.8vw,1.08rem);font-weight:800;letter-spacing:.08em;overflow-wrap:anywhere;user-select:all}
.mfa-recovery-notice{margin:0 0 var(--s4);padding:var(--s4);border:1px solid rgba(16,185,129,.28);border-radius:var(--r-md);background:rgba(16,185,129,.07)}
.mfa-recovery-notice>strong{color:var(--text-primary);font-size:.88rem}
.mfa-recovery-notice>p,.mfa-recovery-footnote{margin-top:6px;color:var(--text-muted);font-size:.73rem;line-height:1.5}
.mfa-recovery-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px;margin-top:var(--s3);padding:0;list-style:none}
.mfa-recovery-codes li{min-width:0;padding:.58rem .7rem;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-primary);text-align:center}
.mfa-recovery-codes code{color:var(--text-primary);font-family:var(--f-mono);font-size:.76rem;font-weight:800;letter-spacing:.04em;overflow-wrap:anywhere}
.mfa-recovery-summary{margin:-.4rem 0 var(--s4);color:var(--text-muted);font-size:.75rem}
.mfa-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.mfa-management-form{min-width:0;padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-primary)}
.mfa-management-form h3{margin:0 0 5px;font-size:.9rem}
.mfa-management-form>p{min-height:2.4em;margin-bottom:var(--s3)}
.mfa-cancel-form{justify-self:start}
.mfa-action-buttons{display:flex;justify-content:flex-end}
.security-role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s3);margin-top:var(--s4)}
.security-role-card{min-width:0;padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-md);background:linear-gradient(145deg,rgba(99,102,241,.055),var(--bg-secondary) 60%)}
.security-role-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s3)}
.security-role-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(99,102,241,.12);color:var(--brand-primary)}
.security-role-key{padding:3px 7px;border:1px solid var(--border-color);border-radius:var(--r-full);color:var(--text-muted);font-family:var(--f-mono);font-size:.63rem}
.security-role-card h3{margin:0 0 5px;font-size:.96rem}
.security-role-card>p{min-height:2.6em;color:var(--text-muted);font-size:.74rem;line-height:1.45}
.security-capabilities{display:grid;gap:7px;margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border-color);list-style:none}
.security-capabilities li{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);font-size:.72rem}
.security-capabilities i{margin-top:3px;color:var(--success);font-size:.65rem}
.security-table-heading{align-items:center;justify-content:space-between}
.security-count{flex:0 0 auto;padding:.38rem .65rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-primary);color:var(--text-muted);font-size:.68rem;font-weight:750}
.security-notice{display:flex;align-items:center;gap:8px;margin:-.6rem 0 var(--s4);padding:.7rem .8rem;border:1px solid rgba(99,102,241,.17);border-radius:var(--r-md);background:rgba(99,102,241,.06);color:var(--text-secondary);font-size:.74rem}
.security-notice i{color:var(--brand-primary)}
.security-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--r-md);overscroll-behavior-x:contain}
.security-activity-scroll,.security-ip-table-wrap{max-height:min(58vh,520px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand-primary) 45%,var(--border-color)) transparent}
.security-activity-scroll thead th,.security-ip-table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--bg-secondary)}
.security-protection-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin:0 0 var(--s5)}
.security-protection-summary article{display:flex;min-width:0;flex-direction:column;gap:.3rem;padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary)}
.security-protection-summary strong{color:var(--text-primary);font-size:.83rem}
.security-protection-summary span,.security-setup-warning{color:var(--text-secondary);font-size:.75rem;line-height:1.5}
.security-setup-warning{margin:var(--s4) 0 0;padding:var(--s3) var(--s4);border:1px solid color-mix(in srgb,#f59e0b 38%,var(--border-color));border-radius:var(--r-md);background:color-mix(in srgb,#f59e0b 8%,var(--bg-secondary))}
.security-setup-warning code{font-family:var(--f-mono);font-weight:700}
.security-ip-block-form{margin-bottom:var(--s5)}
.security-secret-form{margin-top:var(--s4)}
.security-remove-secret{display:flex;justify-content:flex-end;margin:var(--s3) 0}
.security-ip-table-wrap{max-height:min(50vh,440px)}
.security-ip-table-wrap table{min-width:880px}
.security-ip-table-wrap form{margin:0}
.security-table{width:100%;border-collapse:collapse;text-align:left}
.security-table th{padding:.68rem .85rem;background:var(--bg-tertiary);color:var(--text-muted);font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.security-table td{padding:.72rem .85rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.76rem;vertical-align:middle}
.security-table tbody tr{transition:background .16s}
.security-table tbody tr:hover{background:color-mix(in srgb,var(--bg-tertiary) 45%,var(--bg-secondary))}
.security-user{display:flex;align-items:center;gap:10px;min-width:190px}
.security-user-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(99,102,241,.17);border-radius:50%;background:rgba(99,102,241,.11);color:var(--brand-primary);font-family:var(--f-head);font-size:.82rem;font-weight:800}
.security-user-copy{display:grid;min-width:0;gap:2px}
.security-user-copy strong{overflow:hidden;color:var(--text-primary);font-size:.77rem;text-overflow:ellipsis}
.security-user-copy small{overflow:hidden;color:var(--text-muted);font-size:.68rem;text-overflow:ellipsis}
.security-status{display:inline-flex;align-items:center;padding:.27rem .55rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-primary);color:var(--text-secondary);font-size:.66rem;font-weight:750;white-space:nowrap}
.security-role-form{display:flex;align-items:center;gap:7px;min-width:230px}
.security-role-form select{min-width:130px;min-height:36px;padding:.4rem 1.8rem .4rem .65rem;border-radius:9px;background-color:var(--bg-primary);font-size:.72rem}
.security-role-form .btn{flex:0 0 auto;min-height:34px;padding:.4rem .65rem;font-size:.68rem}
.security-role-label{display:inline-flex;padding:.3rem .55rem;border-radius:var(--r-full);background:rgba(99,102,241,.08);color:var(--brand-primary);font-size:.68rem;font-weight:750}
.security-empty{display:grid;justify-items:center;gap:5px;min-height:155px;padding:var(--s6);text-align:center}
.security-empty-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:3px;border:1px solid rgba(99,102,241,.15);border-radius:12px;background:rgba(99,102,241,.08);color:var(--brand-primary)}
.security-empty strong{color:var(--text-primary);font-size:.82rem}
.security-empty>span:last-child{color:var(--text-muted);font-size:.72rem}
.security-filter-form{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s4)}
.security-search-input{position:relative;flex:1;min-width:180px;max-width:430px}
.security-search-input>i{position:absolute;top:50%;left:13px;transform:translateY(-50%);color:var(--text-muted);font-size:.78rem;pointer-events:none}
.security-search-input input{min-height:38px;padding:.5rem .8rem .5rem 2.3rem;border-radius:10px;background:var(--bg-primary);font-size:.76rem}
.security-filter-form .btn{min-height:38px}
.security-clear-filter{padding:.5rem;color:var(--text-muted);font-size:.74rem;font-weight:700}
.security-clear-filter:hover{color:var(--brand-primary)}
.security-activity-table{min-width:800px}
.security-date-cell,.security-ip{font-family:var(--f-mono);font-size:.68rem!important;white-space:nowrap}
.security-detail-cell{min-width:190px;max-width:420px;line-height:1.45;overflow-wrap:anywhere}
.security-action-code{display:inline-flex;padding:.24rem .45rem;border:1px solid rgba(99,102,241,.15);border-radius:6px;background:rgba(99,102,241,.07);color:var(--brand-primary);font-family:var(--f-mono);font-size:.67rem;white-space:nowrap}
.security-ip{color:var(--text-muted)}
.security-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-top:var(--s4);color:var(--text-muted);font-size:.72rem}
.security-pagination>div{display:flex;gap:var(--s2)}
.security-pagination .btn{font-size:.7rem}
.security-pagination .is-disabled{opacity:.48;cursor:not-allowed}
.security-daily-table{min-width:1000px}
.security-daily-table th,.security-daily-table td{white-space:nowrap}
.security-daily-scroll{max-height:min(58vh,520px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.security-daily-scroll:focus-visible{outline:3px solid rgba(99,102,241,.45);outline-offset:2px}
.security-daily-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--border-color)}
.security-health-list{overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md)}
.security-health-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--s4);padding:.85rem 1rem;background:var(--bg-secondary)}
.security-health-row:nth-child(even){background:var(--bg-primary)}
.security-health-row+ .security-health-row{border-top:1px solid var(--border-color)}
.security-health-row dt{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:.78rem;font-weight:700}
.security-health-row dd{color:var(--text-primary);font-family:var(--f-mono);font-size:.76rem;text-align:right;overflow-wrap:anywhere}
.security-health-indicator{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--brand-primary);box-shadow:0 0 0 4px rgba(99,102,241,.1)}
.security-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){
  .security-tabs{margin-bottom:var(--s4)}
  .security-tab{flex:1 0 auto;padding:.55rem .8rem;font-size:.75rem}
  .security-section{padding:var(--s4);border-radius:var(--r-lg)}
  .security-fields{grid-template-columns:1fr}
  .security-field-wide{grid-column:auto;max-width:none}
  .security-form-footer{align-items:stretch;flex-direction:column}
  .security-form-footer .btn{width:100%}
  .security-user-create-form .security-form-hint{max-width:none}
  .security-table-heading{align-items:flex-start}
  .security-role-cards{grid-template-columns:1fr}
  .mfa-management-grid{grid-template-columns:1fr}
  .mfa-action-buttons{width:100%}
  .mfa-action-buttons .btn{width:100%}
}
@media(max-width:480px){
  .security-section-heading{gap:var(--s2)}
  .security-section-icon{flex-basis:36px;width:36px;height:36px}
  .security-section-heading h2{font-size:1.08rem}
  .security-section-heading p{font-size:.72rem}
  .security-filter-form{align-items:stretch;flex-wrap:wrap}
  .security-search-input{flex-basis:100%;max-width:none}
  .security-filter-form .btn{flex:1}
  .security-pagination{align-items:flex-start;flex-direction:column}
  .security-pagination>div{width:100%}
  .security-pagination .btn{flex:1;justify-content:center}
  .security-health-row{grid-template-columns:1fr;gap:5px}
  .security-health-row dd{text-align:left;padding-left:18px}
}

/* Admin users directory */
.users-page{display:grid;gap:var(--s5);max-width:1480px;margin:0 auto}
.users-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.users-stat{position:relative;isolation:isolate;display:flex;align-items:center;gap:var(--s3);min-width:0;min-height:76px;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:linear-gradient(145deg,var(--users-tint,rgba(99,102,241,.1)),var(--bg-secondary) 82%);box-shadow:var(--shadow-sm);overflow:hidden}
.users-stat::after{position:absolute;z-index:-1;right:-20px;bottom:-38px;width:80px;height:80px;border-radius:50%;background:var(--users-tint);content:""}
.users-stat[data-tone="violet"]{--users-tint:rgba(99,102,241,.12);--users-color:#6366F1}
.users-stat[data-tone="green"]{--users-tint:rgba(16,185,129,.12);--users-color:#10B981}
.users-stat[data-tone="rose"]{--users-tint:rgba(244,63,94,.11);--users-color:#F43F5E}
.users-stat[data-tone="blue"]{--users-tint:rgba(59,130,246,.12);--users-color:#3B82F6}
.users-stat[data-tone="purple"]{--users-tint:rgba(168,85,247,.12);--users-color:#A855F7}
.users-stat[data-tone="cyan"]{--users-tint:rgba(6,182,212,.12);--users-color:#06B6D4}
.users-stat-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:var(--users-tint);color:var(--users-color);font-size:.92rem}
.users-stat-copy{display:grid;min-width:0;gap:3px}
.users-stat-copy strong{color:var(--text-primary);font-family:var(--f-head);font-size:1.2rem;line-height:1.1}
.users-stat-copy>span{color:var(--text-muted);font-size:.69rem;font-weight:650;line-height:1.2}
.users-directory{min-width:0}
.users-directory-heading{margin-bottom:var(--s4)}
.users-directory-heading h2{font-size:1.18rem}
.users-directory-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);flex:0 0 auto}
.users-roles-link{min-height:34px;padding:.42rem .68rem;font-size:.7rem}
.users-filter-form{gap:var(--s2)}
.users-search-input{max-width:380px}
.users-select-label{flex:0 0 auto;margin:0}
.users-select-label select{min-width:130px;min-height:38px;padding:.45rem 1.9rem .45rem .7rem;border-radius:10px;background-color:var(--bg-primary);font-size:.76rem}
.users-filter-submit{min-height:38px;padding:.45rem .85rem;font-size:.74rem}
.users-clear-filter{white-space:nowrap}
.users-roles-notice{margin-top:0}
.users-table-wrap{min-width:0}
.users-table{min-width:900px}
.users-table th{padding:.7rem .78rem}
.users-table td{padding:.72rem .78rem}
.users-user{min-width:220px}
.users-user .security-user-copy strong{max-width:210px}
.users-user .security-user-copy small{max-width:210px;overflow-wrap:anywhere}
.users-role-label{white-space:nowrap}
.users-plan{display:inline-flex;max-width:140px;padding:.28rem .55rem;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-primary);color:var(--text-secondary);font-size:.68rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.users-status{display:inline-flex;align-items:center;gap:6px;padding:.27rem .55rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-primary);color:var(--text-secondary);font-size:.66rem;font-weight:750;white-space:nowrap}
.users-status>span{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}
.users-status.is-active{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.07);color:#0B8B65}
.users-status.is-active>span{background:var(--success)}
.users-status.is-suspended{border-color:rgba(244,63,94,.2);background:rgba(244,63,94,.07);color:#D93654}
.users-status.is-suspended>span{background:#F43F5E}
.users-date{color:var(--text-muted);font-size:.69rem;white-space:nowrap}
.users-actions-cell{width:1%;white-space:nowrap}
.users-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.users-actions form{margin:0}
.users-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:31px;padding:.38rem .55rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--f-body);font-size:.66rem;font-weight:750;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s}
.users-action:hover{transform:translateY(-1px);border-color:var(--brand-primary);color:var(--brand-primary)}
.users-action.is-activate{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.06);color:#0B8B65}
.users-action.is-activate:hover{border-color:var(--success);background:rgba(16,185,129,.12)}
.users-action.is-delete{color:var(--text-muted)}
.users-action.is-delete:hover{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.07);color:var(--error)}
.users-protected{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--text-muted);font-size:.67rem;font-weight:700}
.users-protected i{font-size:.64rem}
.users-empty{min-height:180px}
.users-empty-link{margin-top:5px;color:var(--brand-primary);font-size:.74rem;font-weight:750}
.users-empty-link:hover{text-decoration:underline}
.users-pagination{margin-top:var(--s4)}
.users-pagination>span{font-size:.73rem}
.users-pagination .btn{min-height:34px}
.users-pagination a:focus-visible,.users-empty-link:focus-visible,.users-action:focus-visible{outline:3px solid rgba(99,102,241,.55);outline-offset:2px}
@media(max-width:900px){
  .users-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .users-page{gap:var(--s4)}
  .users-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .users-directory-heading-actions{align-items:flex-end;flex-direction:column}
  .users-filter-form{align-items:stretch;flex-wrap:wrap}
  .users-search-input{flex:1 1 100%;max-width:none}
  .users-select-label{flex:1 1 0;min-width:0}
  .users-select-label select{width:100%;min-width:0}
  .users-filter-submit{flex:1 1 100%}
  .users-clear-filter{flex:1 1 100%;text-align:center}
  .users-table-wrap{overflow:visible;border:0;border-radius:0}
  .users-table{display:block;min-width:0}
  .users-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .users-table tbody{display:grid;gap:var(--s2)}
  .users-table tbody tr{display:block;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
  .users-table tbody tr:hover{background:var(--bg-secondary)}
  .users-table td{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:42px;padding:.56rem .72rem;border-top:1px solid var(--border-color);text-align:right}
  .users-table td::before{flex:0 0 auto;color:var(--text-muted);content:attr(data-label);font-size:.65rem;font-weight:800;letter-spacing:.035em;text-align:left;text-transform:uppercase}
  .users-table td:first-child{display:block;padding:.8rem .72rem}
  .users-table td:first-child::before{display:none}
  .users-user{min-width:0}
  .users-user .security-user-copy{max-width:calc(100vw - 115px);text-align:left}
  .users-user .security-user-copy strong,.users-user .security-user-copy small{max-width:100%}
  .users-actions-cell{width:auto;white-space:normal}
  .users-actions{justify-content:flex-end;flex-wrap:wrap}
  .users-empty{border:0!important;box-shadow:none!important}
  .users-empty-cell{display:block!important;border:0!important;text-align:center}
  .users-empty-cell::before{display:none}
  .users-pagination{align-items:stretch;flex-direction:column}
  .users-pagination>div{width:100%}
  .users-pagination .btn{flex:1}
}
@media(max-width:420px){
  .users-stat{gap:var(--s2);padding:.62rem}
  .users-stat-icon{flex-basis:31px;width:31px;height:31px}
  .users-stat-copy strong{font-size:1.08rem}
  .users-stat-copy>span{font-size:.64rem}
  .users-actions{gap:4px}
  .users-action{padding:.35rem .45rem;font-size:.63rem}
}

/* Admin tools directory */
.tools-page{display:grid;gap:var(--s5);max-width:1480px;margin:0 auto}
.tools-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3)}
.tools-stat{position:relative;isolation:isolate;display:flex;align-items:center;gap:var(--s3);min-width:0;min-height:76px;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:linear-gradient(145deg,var(--tools-tint,rgba(99,102,241,.1)),var(--bg-secondary) 82%);box-shadow:var(--shadow-sm);overflow:hidden}
.tools-stat::after{position:absolute;z-index:-1;right:-20px;bottom:-38px;width:80px;height:80px;border-radius:50%;background:var(--tools-tint);content:""}
.tools-stat[data-tone="violet"]{--tools-tint:rgba(99,102,241,.12);--tools-color:#6366F1}
.tools-stat[data-tone="green"]{--tools-tint:rgba(16,185,129,.12);--tools-color:#10B981}
.tools-stat[data-tone="orange"]{--tools-tint:rgba(245,158,11,.13);--tools-color:#D97706}
.tools-stat[data-tone="blue"]{--tools-tint:rgba(59,130,246,.12);--tools-color:#3B82F6}
.tools-stat[data-tone="cyan"]{--tools-tint:rgba(6,182,212,.12);--tools-color:#0891B2}
.tools-stat-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:var(--tools-tint);color:var(--tools-color);font-size:.92rem}
.tools-stat-copy{display:grid;min-width:0;gap:3px}
.tools-stat-copy strong{color:var(--text-primary);font-family:var(--f-head);font-size:1.2rem;line-height:1.1}
.tools-stat-copy>span{color:var(--text-muted);font-size:.69rem;font-weight:650;line-height:1.2}
.tools-directory{min-width:0}
.tools-directory-heading{margin-bottom:var(--s4)}
.tools-directory-heading h2{font-size:1.18rem}
.tools-filter-form{gap:var(--s2)}
.tools-search-input{max-width:380px}
.tools-select-label{flex:0 0 auto;margin:0}
.tools-select-label select{min-width:142px;min-height:38px;padding:.45rem 1.9rem .45rem .7rem;border-radius:10px;background-color:var(--bg-primary);font-size:.76rem}
.tools-filter-submit{min-height:38px;padding:.45rem .85rem;font-size:.74rem}
.tools-clear-filter{white-space:nowrap}
.tools-table-wrap{min-width:0;max-height:min(62vh,610px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.tools-table-wrap:focus-visible{outline:3px solid rgba(99,102,241,.45);outline-offset:2px}
.tools-table{min-width:760px}
.tools-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--border-color)}
.tools-table th{padding:.72rem .82rem}
.tools-table td{padding:.76rem .82rem}
.tools-name-cell{min-width:220px}
.tools-item-mark{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin-right:10px;border:1px solid rgba(99,102,241,.14);border-radius:10px;background:rgba(99,102,241,.08);color:var(--brand-primary);vertical-align:middle}
.tools-name-copy{display:inline-grid;max-width:calc(100% - 50px);vertical-align:middle}
.tools-name-copy strong{overflow:hidden;color:var(--text-primary);font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}
.tools-name-copy small{margin-top:3px;overflow:hidden;color:var(--text-muted);font-family:var(--f-mono);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.tools-type{display:inline-flex;max-width:160px;padding:.28rem .52rem;overflow:hidden;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--f-mono);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}
.tools-status{display:inline-flex;align-items:center;gap:6px;padding:.27rem .55rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-primary);color:var(--text-secondary);font-size:.66rem;font-weight:750;white-space:nowrap}
.tools-status>span{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}
.tools-status.is-published{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.07);color:#0B8B65}
.tools-status.is-published>span{background:var(--success)}
.tools-status.is-draft{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.08);color:#A16207}
.tools-status.is-draft>span{background:#D97706}
.tools-number-heading,.tools-number{text-align:right!important;font-variant-numeric:tabular-nums}
.tools-number{color:var(--text-primary)!important;font-family:var(--f-mono);font-size:.7rem!important;white-space:nowrap}
.tools-actions-cell{width:1%;white-space:nowrap}
.tools-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.tools-actions form{margin:0}
.tools-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:31px;padding:.38rem .55rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--f-body);font-size:.66rem;font-weight:750;white-space:nowrap;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s}
.tools-action:hover{transform:translateY(-1px);border-color:var(--brand-primary);color:var(--brand-primary)}
.tools-action.is-view{color:var(--brand-primary)}
.tools-action.is-view i{font-size:.6rem}
.tools-action.is-publish{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.06);color:#0B8B65}
.tools-action.is-publish:hover{border-color:var(--success);background:rgba(16,185,129,.12)}
.tools-action.is-unpublish{color:var(--text-muted)}
.tools-empty{min-height:190px}
.tools-empty-link{margin-top:5px;color:var(--brand-primary);font-size:.74rem;font-weight:750}
.tools-empty-link:hover{text-decoration:underline}
.tools-page a:focus-visible,.tools-page button:focus-visible,.tools-page input:focus-visible,.tools-page select:focus-visible{outline:3px solid rgba(99,102,241,.55);outline-offset:2px}
@media(max-width:1050px){
  .tools-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .tools-page{gap:var(--s4)}
  .tools-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tools-directory-heading{align-items:flex-start}
  .tools-filter-form{align-items:stretch;flex-wrap:wrap}
  .tools-search-input{flex:1 1 100%;max-width:none}
  .tools-select-label{flex:1 1 0;min-width:0}
  .tools-select-label select{width:100%;min-width:0}
  .tools-filter-submit{flex:1 1 100%}
  .tools-clear-filter{flex:1 1 100%;text-align:center}
  .tools-table-wrap{max-height:62vh;overflow:auto;border-radius:var(--r-md)}
  .tools-table{display:block;min-width:0}
  .tools-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .tools-table tbody{display:grid;gap:var(--s2);padding:var(--s2)}
  .tools-table tbody tr{display:block;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
  .tools-table tbody tr:hover{background:var(--bg-secondary)}
  .tools-table td{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:42px;padding:.56rem .72rem;border-top:1px solid var(--border-color);text-align:right}
  .tools-table td::before{flex:0 0 auto;color:var(--text-muted);content:attr(data-label);font-size:.65rem;font-weight:800;letter-spacing:.035em;text-align:left;text-transform:uppercase}
  .tools-table .tools-name-cell{display:block;min-width:0;padding:.8rem .72rem;text-align:left}
  .tools-table .tools-name-cell::before{display:none}
  .tools-item-mark{vertical-align:middle}
  .tools-name-copy{max-width:calc(100% - 50px)}
  .tools-table .tools-number{text-align:right!important}
  .tools-actions-cell{width:auto;white-space:normal}
  .tools-actions{justify-content:flex-end;flex-wrap:wrap}
  .tools-empty-cell{display:block!important;border:0!important;text-align:center!important}
  .tools-empty-cell::before{display:none}
  .tools-empty{border:0!important;box-shadow:none!important}
}
@media(max-width:420px){
  .tools-stat{gap:var(--s2);padding:.62rem}
  .tools-stat-icon{flex-basis:31px;width:31px;height:31px}
  .tools-stat-copy strong{font-size:1.08rem}
  .tools-stat-copy>span{font-size:.64rem}
  .tools-directory-heading{gap:var(--s2)}
  .security-count{font-size:.62rem}
  .tools-actions{gap:4px}
  .tools-action{padding:.35rem .45rem;font-size:.63rem}
}

/* Admin FAQ library */
.faqs-page,.backups-page{display:grid;gap:var(--s4);max-width:1480px;margin:0 auto;min-width:0}
.faqs-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.faq-editor{padding:0;overflow:hidden}
.faq-editor-summary{display:flex;align-items:center;gap:var(--s3);min-height:76px;padding:.85rem 1rem;list-style:none;cursor:pointer}
.faq-editor-summary::-webkit-details-marker{display:none}
.faq-editor-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(99,102,241,.2);border-radius:12px;background:rgba(99,102,241,.1);color:var(--brand-primary)}
.faq-editor-summary>span:nth-child(2){display:grid;min-width:0;gap:3px}
.faq-editor-summary strong{color:var(--text-primary);font-family:var(--f-head);font-size:.9rem}
.faq-editor-summary small{color:var(--text-muted);font-size:.71rem}
.faq-editor-chevron{margin-left:auto;color:var(--text-muted);transition:transform .18s}
.faq-editor[open] .faq-editor-chevron{transform:rotate(180deg)}
.faq-editor-form{padding:0 1rem 1rem;border-top:1px solid var(--border-color)}
.faq-form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr) minmax(145px,.8fr);gap:var(--s3);padding-top:var(--s4)}
.faq-field-question{grid-column:span 2}
.faq-field-answer{grid-column:1/-1}
.faq-field-answer textarea{min-height:150px;resize:vertical}
.faq-field-answer small{display:block;margin-top:5px;color:var(--text-muted);font-size:.68rem}
.faq-form-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}
.faq-directory{min-width:0}
.faq-filter-form{margin-bottom:var(--s3)}
.faq-table-wrap{max-height:min(62vh,610px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.faq-table{min-width:800px}
.faq-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--border-color)}
.faq-table td{vertical-align:middle}
.faq-question-cell{min-width:340px}
.faq-question-cell>span{display:inline-grid;vertical-align:middle}
.faq-question-cell>span:first-child{place-items:center;width:34px;height:34px;margin-right:9px;border:1px solid rgba(99,102,241,.14);border-radius:10px;background:rgba(99,102,241,.08);color:var(--brand-primary)}
.faq-question-cell>span:last-child{max-width:calc(100% - 50px)}
.faq-question-cell strong,.faq-question-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.faq-question-cell strong{color:var(--text-primary);font-size:.76rem}
.faq-question-cell small{max-width:520px;margin-top:4px;color:var(--text-muted);font-size:.65rem}
.faq-category{display:inline-flex;max-width:160px;padding:.28rem .52rem;overflow:hidden;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--f-mono);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}
.faq-actions-cell{width:1%;white-space:nowrap}
.faq-actions-cell form{margin:0}
.faq-delete-action{color:var(--error)}
.faq-delete-action:hover{border-color:var(--error);color:var(--error)}
.faq-table .tools-empty-cell{border:0}

/* Admin backups */
.backups-tabs{display:flex;gap:5px;max-width:100%;padding:5px;overflow-x:auto;border:1px solid var(--border-color);border-radius:13px;background:var(--bg-secondary);scrollbar-width:thin}
.backups-tabs a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:36px;padding:.45rem .82rem;border:1px solid transparent;border-radius:9px;color:var(--text-muted);font-size:.72rem;font-weight:750;white-space:nowrap;transition:background .16s,color .16s,border-color .16s}
.backups-tabs a:hover{color:var(--brand-primary)}
.backups-tabs a.is-active{border-color:rgba(99,102,241,.22);background:rgba(99,102,241,.12);color:var(--brand-primary)}
.backups-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.backups-panel{min-width:0}
.backups-panel .security-section-heading{margin-bottom:var(--s4)}
.backups-panel .security-section-heading>div:last-child{min-width:0}
.backups-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.backups-type-card{display:grid;align-content:start;gap:.58rem;min-width:0;min-height:215px;padding:1rem;border:1px solid var(--border-color);border-radius:var(--r-lg);background:linear-gradient(150deg,var(--bg-primary),var(--bg-secondary));box-shadow:var(--shadow-sm);transition:transform .17s,border-color .17s,box-shadow .17s}
.backups-type-card:hover{transform:translateY(-2px);border-color:var(--brand-primary);box-shadow:var(--shadow-md)}
.backups-type-icon{display:grid;place-items:center;width:39px;height:39px;border:1px solid currentColor;border-radius:12px;font-size:.92rem}
.backups-type-icon.is-green{background:rgba(16,185,129,.1);color:#10B981}
.backups-type-icon.is-blue{background:rgba(59,130,246,.1);color:#3B82F6}
.backups-type-icon.is-violet{background:rgba(99,102,241,.12);color:var(--brand-primary)}
.backups-type-card>strong{color:var(--text-primary);font-family:var(--f-head);font-size:.88rem}
.backups-type-card>span:not(.backups-type-icon){color:var(--text-secondary);font-size:.73rem;line-height:1.55}
.backups-type-card em{color:var(--text-muted);font-size:.67rem;font-style:normal;line-height:1.5}
.backups-type-card b{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:.55rem;color:var(--brand-primary);font-size:.7rem}
.backups-type-card b i{font-size:.65rem}
.backups-content-overview,.backups-preview-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.backups-content-overview>div,.backups-preview-counts>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary)}
.backups-content-overview span,.backups-preview-counts span{overflow:hidden;color:var(--text-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.backups-content-overview strong,.backups-preview-counts strong{color:var(--text-primary);font-family:var(--f-mono);font-size:.72rem}
.backups-callout{display:flex;align-items:flex-start;gap:.7rem;margin:var(--s3) 0;padding:.78rem .9rem;border:1px solid var(--border-color);border-radius:11px;color:var(--text-secondary);font-size:.72rem;line-height:1.55}
.backups-callout>i{flex:0 0 auto;margin-top:2px}
.backups-callout.is-safe{border-color:rgba(16,185,129,.22);background:rgba(16,185,129,.07)}
.backups-callout.is-safe>i{color:#10B981}
.backups-callout.is-warning{border-color:rgba(245,158,11,.27);background:rgba(245,158,11,.08)}
.backups-callout.is-warning>i{color:#D97706}
.backups-callout.is-danger{border-color:rgba(239,68,68,.24);background:rgba(239,68,68,.07)}
.backups-callout.is-danger>i{color:var(--error)}
.backups-download-form{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s4)}
.backups-download-form .btn{display:inline-flex;align-items:center;gap:8px}
.backups-download-form>span{color:var(--text-muted);font-size:.68rem}
.backups-download-form .field{flex:1 1 220px;min-width:min(100%,220px);margin:0}
.backups-download-form .field>span,.backups-upload-form .field>span{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.7rem;font-weight:750}
.backups-download-form .field input,.backups-upload-form .field input{font-size:.8rem}
.backups-download-form>.backups-encryption-help{flex-basis:100%;color:var(--text-muted);font-size:.67rem}
.backups-content-overview{margin-top:var(--s2)}
.backups-activity-scroll{max-height:360px;overflow:auto;border:1px solid var(--border-color);border-radius:var(--r-md);overscroll-behavior:contain;scrollbar-gutter:stable}
.backups-activity-table{min-width:650px}
.backups-activity-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-secondary);box-shadow:0 1px 0 var(--border-color)}
.backups-action-badge{display:inline-flex;padding:.28rem .5rem;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);font-size:.63rem;font-weight:750;white-space:nowrap}
.backups-empty{padding:1.3rem!important;color:var(--text-muted)!important;text-align:center}
.backups-upload-form{display:grid;justify-items:start;gap:.7rem;padding:1rem;border:1px dashed var(--border-color);border-radius:var(--r-md);background:var(--bg-primary)}
.backups-file-label{color:var(--text-primary);font-size:.75rem;font-weight:750}
.backups-upload-form input[type=file]{max-width:100%;color:var(--text-secondary);font-size:.72rem}
.backups-upload-form .field{width:min(100%,420px);margin:0}
.backups-upload-form small{color:var(--text-muted);font-size:.67rem}
.backups-upload-form button{display:inline-flex;align-items:center;gap:7px}
.backups-preview{display:grid;gap:var(--s3);margin-top:var(--s4);padding:1rem;border:1px solid rgba(16,185,129,.25);border-radius:var(--r-lg);background:linear-gradient(145deg,rgba(16,185,129,.055),var(--bg-primary) 44%)}
.backups-preview-heading{display:flex;align-items:flex-start;gap:.75rem}
.backups-preview-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid rgba(16,185,129,.25);border-radius:11px;background:rgba(16,185,129,.1);color:#10B981}
.backups-preview-heading h3{margin:2px 0;color:var(--text-primary);font-family:var(--f-head);font-size:.95rem}
.backups-preview-heading p{margin:3px 0 0;color:var(--text-muted);font-size:.68rem;overflow-wrap:anywhere}
.backups-preview-counts{grid-template-columns:repeat(4,minmax(0,1fr))}
.backups-confirm-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border-color)}
.backups-confirm-form .field{min-width:0;margin:0}
.backups-confirm-form .field>span{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.7rem;font-weight:750}
.backups-confirm-form .field>span strong{color:var(--brand-primary);font-family:var(--f-mono);font-size:.68rem}
.backups-confirm-form .btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.backups-page :focus-visible,.faqs-page :focus-visible{outline:3px solid rgba(99,102,241,.55);outline-offset:2px}
@media(max-width:1000px){
  .backups-type-grid{grid-template-columns:1fr}
  .backups-type-card{min-height:0}
  .backups-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .backups-confirm-form{grid-template-columns:1fr 1fr}
  .backups-confirm-form .btn-danger{grid-column:1/-1;justify-self:start}
}
@media(max-width:700px){
  .faqs-page,.backups-page{gap:var(--s3)}
  .faqs-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faqs-stat-grid .tools-stat:last-child{grid-column:1/-1}
  .faq-form-grid{grid-template-columns:1fr}
  .faq-field-question,.faq-field-answer{grid-column:auto}
  .faq-filter-form{align-items:stretch;flex-wrap:wrap}
  .faq-filter-form .tools-search-input{flex:1 1 100%;max-width:none}
  .faq-filter-form .tools-select-label{flex:1 1 0}
  .faq-filter-form .tools-select-label select{width:100%;min-width:0}
  .faq-filter-form .tools-filter-submit,.faq-filter-form .tools-clear-filter{flex:1 1 100%;text-align:center}
  .faq-table-wrap,.backups-activity-scroll{max-height:62vh;overflow:auto;border-radius:var(--r-md)}
  .faq-table{display:block;min-width:0}
  .faq-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .faq-table tbody{display:grid;gap:var(--s2);padding:var(--s2)}
  .faq-table tbody tr{display:block;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
  .faq-table td{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:42px;padding:.56rem .72rem;border-top:1px solid var(--border-color);text-align:right}
  .faq-table td::before{flex:0 0 auto;color:var(--text-muted);content:attr(data-label);font-size:.65rem;font-weight:800;letter-spacing:.035em;text-align:left;text-transform:uppercase}
  .faq-table .faq-question-cell{display:block;min-width:0;padding:.8rem .72rem;text-align:left}
  .faq-table .faq-question-cell::before{display:none}
  .faq-question-cell>span:last-child{max-width:calc(100% - 50px)}
  .faq-actions-cell{width:auto;white-space:normal}
  .faq-actions-cell .tools-actions{justify-content:flex-end;flex-wrap:wrap}
  .faq-table .tools-empty-cell{display:block!important;border:0!important;text-align:center!important}
  .faq-table .tools-empty-cell::before{display:none}
  .backups-tabs{margin-inline:-2px}
  .backups-tabs a{padding-inline:.65rem;font-size:.67rem}
  .backups-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .backups-content-overview,.backups-preview-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .backups-confirm-form{grid-template-columns:1fr}
  .backups-confirm-form .btn-danger{grid-column:auto;width:100%}
  .backups-panel{padding:var(--s4)}
}
@media(max-width:420px){
  .faq-editor-summary{padding:.72rem}
  .faq-editor-form{padding:0 .72rem .8rem}
  .faqs-stat-grid .tools-stat{gap:var(--s2);padding:.62rem}
  .backups-stat-grid .tools-stat{gap:var(--s2);padding:.62rem}
  .backups-content-overview,.backups-preview-counts{grid-template-columns:1fr}
  .backups-download-form{align-items:stretch}
  .backups-download-form .btn{justify-content:center;width:100%}
  .backups-upload-form{padding:.75rem}
}

/* Admin templates directory: Tools hierarchy with space for template controls */
.templates-directory{min-width:0}
.templates-directory-heading h2{letter-spacing:-.025em}
.templates-table{min-width:1080px}
.templates-table th,.templates-table td{vertical-align:middle}
.templates-table .tools-name-cell{min-width:230px}
.templates-item-mark{border-color:rgba(99,102,241,.18);background:linear-gradient(145deg,rgba(99,102,241,.13),rgba(6,182,212,.1));color:var(--brand-primary)}
.templates-category{display:inline-block;max-width:170px;padding:.28rem .5rem;overflow:hidden;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-primary);color:var(--text-secondary);font-size:.67rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.templates-featured{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.67rem;font-weight:700;white-space:nowrap}
.templates-featured.is-featured{color:#A16207}
.templates-featured.is-featured i{color:#D97706}
.templates-actions-cell{min-width:1%;white-space:nowrap}
.templates-actions{gap:5px}
.templates-actions .tools-action{min-height:30px;padding:.34rem .48rem;font-size:.63rem}
.templates-feature-action.is-feature{border-color:rgba(245,158,11,.22);background:rgba(245,158,11,.07);color:#A16207}
.templates-feature-action.is-feature:hover{border-color:#D97706;background:rgba(245,158,11,.13)}
.templates-feature-action.is-unfeature{color:var(--text-muted)}
.templates-delete-action{color:var(--text-muted)}
.templates-delete-action:hover{border-color:var(--error);color:var(--error)}
.templates-page .tools-empty{min-height:200px}
.templates-page .tools-empty .security-empty-icon{color:var(--brand-primary)}
@media(max-width:700px){
  .templates-table{min-width:0}
  .templates-table .templates-actions-cell{display:block!important;padding:.65rem .72rem .8rem;text-align:left}
  .templates-table .templates-actions-cell::before{display:block;margin-bottom:.5rem}
  .templates-actions{justify-content:flex-start}
  .templates-actions .tools-action{min-height:32px;padding:.38rem .52rem;font-size:.65rem}
  .templates-category{max-width:58vw}
}
@media(max-width:420px){
  .templates-actions{gap:5px}
  .templates-actions .tools-action{padding:.36rem .45rem;font-size:.62rem}
}

/* Blog article discovery sidebar */
.blog-article-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:clamp(24px,4vw,52px);align-items:start}
.blog-article-main,.blog-article-prose{min-width:0}
.blog-article-breadcrumbs{flex-wrap:wrap;row-gap:7px;margin-bottom:var(--s5)}
.blog-article-prose{max-width:none;margin:0}
.blog-article-title{margin:0 0 var(--s2);font-size:clamp(2rem,3.25vw,2.8rem);line-height:1.12;letter-spacing:-.04em;overflow-wrap:anywhere}
.blog-article-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0 0 var(--s5);color:var(--text-muted);font-size:.85rem}
.blog-article-prose .blog-article-image{display:block;width:100%;max-height:520px;margin:0 0 var(--s6);border:1px solid var(--border-color);border-radius:var(--r-lg);object-fit:cover}
.blog-article-prose>:last-child{margin-bottom:0}
.blog-article-sidebar{display:grid;gap:var(--s3);min-width:0}
.blog-sidebar-section{min-width:0;padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.blog-sidebar-heading{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}
.blog-sidebar-heading-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:rgba(236,72,153,.11);color:#db2777}
.blog-sidebar-heading-icon.is-template{background:rgba(99,102,241,.12);color:#6366f1}
.blog-sidebar-heading-icon.is-post{background:rgba(6,182,212,.12);color:#0891b2}
.blog-sidebar-heading h2{margin:0;color:var(--text-primary);font-family:var(--f-head);font-size:.95rem;line-height:1.25}
.blog-sidebar-heading p{margin:3px 0 0;color:var(--text-muted);font-size:.68rem;line-height:1.4}
.blog-sidebar-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.blog-sidebar-list li{min-width:0;margin:0}
.blog-sidebar-list li+li{border-top:1px solid var(--border-color)}
.blog-sidebar-list a{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:var(--s2);min-width:0;padding:.65rem .15rem;border-radius:8px;color:var(--text-primary);transition:background .16s,transform .16s}
.blog-sidebar-list a:hover{background:var(--bg-tertiary);transform:translateX(2px)}
.blog-sidebar-item-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bg-tertiary);color:var(--brand-primary);font-size:.77rem}
.blog-sidebar-item-icon.is-template{color:#6366f1}

/* Homepage guide published from the admin rich-text editor. */
.homepage-guide-section{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-secondary) 45%,transparent)}
.homepage-guide-content{max-width:920px}

/* Ad Manager placement enable switches and site-wide controls. */
.ad-manager-bulk-control{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.ad-manager-bulk-control>div{min-width:0}
.ad-manager-bulk-control h2{margin:.2rem 0;color:var(--text-primary);font-family:var(--f-head);font-size:1rem}
.ad-manager-bulk-control p{margin:0;color:var(--text-muted);font-size:.7rem;line-height:1.5}
.ad-manager-bulk-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--s2)}
.ad-manager-bulk-actions .btn{display:inline-flex;align-items:center;gap:var(--s2)}
.ad-manager-bulk-disable{border-color:color-mix(in srgb,#dc2626 35%,var(--border-color));color:color-mix(in srgb,#dc2626 80%,var(--text-primary))}
.ad-manager-slot-heading>div{flex:1;min-width:0}
.ad-manager-enable-toggle{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-height:30px;margin-left:auto;color:var(--text-muted);font-size:.64rem;font-weight:800;white-space:nowrap;cursor:pointer}
.ad-manager-enable-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.ad-manager-enable-track{position:relative;display:inline-block;width:36px;height:21px;flex:0 0 36px;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-tertiary);transition:background .18s,border-color .18s}
.ad-manager-enable-track::after{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";transition:transform .18s}
.ad-manager-enable-toggle input:checked+.ad-manager-enable-track{border-color:#16a34a;background:#16a34a}
.ad-manager-enable-toggle input:checked+.ad-manager-enable-track::after{transform:translateX(15px)}
.ad-manager-enable-toggle input:focus-visible+.ad-manager-enable-track{outline:3px solid color-mix(in srgb,var(--brand-primary) 40%,transparent);outline-offset:2px}
.ad-manager-enable-state{min-width:36px}
.ad-manager-other-field>.ad-manager-enable-toggle{justify-self:start;margin:0}
@media(max-width:760px){
  .ad-manager-bulk-control{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .ad-manager-bulk-control{padding:var(--s4)}
  .ad-manager-bulk-actions{width:100%}
  .ad-manager-bulk-actions .btn{flex:1;justify-content:center}
  .ad-manager-slot-heading{flex-wrap:wrap}
  .ad-manager-slot-heading>.ad-manager-enable-toggle{margin-left:auto}
}
.blog-sidebar-item-icon.is-post{color:#0891b2}
.blog-sidebar-item-copy{display:grid;gap:3px;min-width:0}
.blog-sidebar-item-copy strong{overflow:hidden;color:var(--text-primary);font-size:.75rem;font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.blog-sidebar-item-copy small{display:-webkit-box;overflow:hidden;color:var(--text-muted);font-size:.64rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.blog-sidebar-item-count{display:grid;justify-items:end;color:var(--text-secondary);font-size:.67rem;font-weight:750;white-space:nowrap}
.blog-sidebar-item-count small{margin-top:2px;color:var(--text-muted);font-size:.58rem;font-weight:600}
.blog-sidebar-empty{margin:0;padding:.55rem 0;color:var(--text-muted);font-size:.72rem;line-height:1.5}
.blog-sidebar-ad-slot{min-width:0;padding:var(--s3);overflow:hidden;border:1px dashed var(--border-color);border-radius:var(--r-lg);background:var(--bg-tertiary)}
.blog-sidebar-ad-label{display:block;margin-bottom:var(--s2);color:var(--text-muted);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.blog-sidebar-ad-content{min-width:0;overflow:hidden;text-align:center}
.blog-sidebar-ad-content img,.blog-sidebar-ad-content iframe{max-width:100%}
.blog-article-related{margin-top:var(--s8)}
.blog-article-related>h2{margin:0;color:var(--text-primary);font-family:var(--f-head);font-size:1.35rem}
.blog-article-related .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.blog-article-related .card{min-width:0}
.blog-article-related .card h3,.blog-article-related .card p{overflow-wrap:anywhere}
.blog-article-sidebar a:focus-visible,.blog-article-breadcrumbs a:focus-visible{outline:3px solid rgba(99,102,241,.55);outline-offset:3px}

/* Ad Manager */
.ad-manager-page{display:grid;gap:var(--s5);min-width:0}
.ad-manager-overview{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);padding:var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:linear-gradient(112deg,rgba(99,102,241,.09),var(--bg-secondary) 55%,rgba(6,182,212,.07))}
.ad-manager-eyebrow,.ad-manager-slot-kicker{display:block;color:var(--brand-primary);font-size:.62rem;font-weight:850;letter-spacing:.12em}
.ad-manager-overview h2{margin:.38rem 0 .2rem;font-family:var(--f-head);font-size:1.22rem}
.ad-manager-overview p{margin:0;color:var(--text-muted);font-size:.75rem}
.ad-manager-overview-count{display:flex;align-items:center;gap:var(--s3);flex:0 0 auto;padding:.7rem .85rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-secondary)}
.ad-manager-count-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(99,102,241,.12);color:var(--brand-primary)}
.ad-manager-overview-count strong,.ad-manager-overview-count small{display:block}
.ad-manager-overview-count strong{font-family:var(--f-head);font-size:1rem}
.ad-manager-overview-count small{margin-top:2px;color:var(--text-muted);font-size:.62rem}
.ad-manager-form{display:grid;gap:var(--s5)}
.ad-manager-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.ad-manager-slot{display:grid;align-content:start;gap:var(--s3);min-width:0;padding:var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.ad-manager-slot-heading{display:flex;align-items:flex-start;gap:var(--s3)}
.ad-manager-slot-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:rgba(99,102,241,.12);color:var(--brand-primary)}
.ad-manager-slot-heading h3{margin:.25rem 0 .15rem;color:var(--text-primary);font-family:var(--f-head);font-size:.97rem}
.ad-manager-slot-heading p{margin:0;color:var(--text-muted);font-size:.69rem;line-height:1.45}
.ad-manager-slot-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-width:0;padding:.55rem .65rem;border:1px solid var(--border-color);border-radius:var(--r-sm);background:var(--bg-tertiary)}
.ad-manager-slot-meta code{overflow:hidden;color:var(--text-muted);font: .61rem/1.4 var(--f-mono,monospace);text-overflow:ellipsis;white-space:nowrap}
.ad-manager-slot-state{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:var(--text-muted);font-size:.62rem;font-weight:750}
.ad-manager-slot-state.is-configured{color:var(--success)}
.ad-manager-additional-groups{display:grid;gap:var(--s5)}
.ad-manager-additional-group{display:grid;gap:var(--s4);min-width:0;padding:var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.ad-manager-additional-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}
.ad-manager-additional-heading h2{margin:.35rem 0 .2rem;font-family:var(--f-head);font-size:1rem}
.ad-manager-additional-heading p{max-width:720px;margin:0;color:var(--text-muted);font-size:.69rem;line-height:1.5}
.ad-manager-code-label,.ad-manager-other-field label{color:var(--text-primary);font-size:.72rem;font-weight:750}
.ad-manager-slot textarea,.ad-manager-other-field textarea{display:block;width:100%;min-width:0;min-height:100px;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-primary);color:var(--text-primary);font: .7rem/1.55 var(--f-mono,monospace);resize:vertical}
.ad-manager-slot textarea:focus,.ad-manager-other-field textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(99,102,241,.16)}
.ad-manager-hint{color:var(--text-muted);font-size:.63rem;line-height:1.45}
.ad-manager-other-slots{overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.ad-manager-other-slots>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s5);cursor:pointer;list-style:none}
.ad-manager-other-slots>summary::-webkit-details-marker{display:none}
.ad-manager-other-slots>summary strong,.ad-manager-other-slots>summary small{display:block}
.ad-manager-other-slots>summary strong{color:var(--text-primary);font-size:.82rem}
.ad-manager-other-slots>summary small{margin-top:3px;color:var(--text-muted);font-size:.67rem;line-height:1.45}
.ad-manager-other-slots>summary>i{color:var(--text-muted);transition:transform .18s}
.ad-manager-other-slots[open]>summary>i{transform:rotate(180deg)}
.ad-manager-other-count{flex:0 0 auto;padding:.35rem .55rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.62rem;font-weight:800}
.ad-manager-other-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);padding:0 var(--s5) var(--s5);border-top:1px solid var(--border-color)}
.ad-manager-other-field{display:grid;align-content:start;gap:var(--s2);min-width:0;padding-top:var(--s4)}
.ad-manager-other-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.ad-manager-other-position{margin:0;color:var(--text-muted);font-size:.65rem;line-height:1.45}
.ad-manager-other-field textarea{min-height:88px}
.ad-manager-trust-note{display:flex;align-items:flex-start;gap:var(--s2);padding:.75rem .9rem;border:1px solid rgba(245,158,11,.2);border-radius:var(--r-md);background:rgba(245,158,11,.06);color:var(--text-secondary);font-size:.69rem;line-height:1.5}
.ad-manager-trust-note i{margin-top:2px;color:#b7791f}
.ad-manager-actions{display:flex;justify-content:flex-end}
.ad-manager-actions .btn{display:inline-flex;align-items:center;gap:var(--s2)}

@media(max-width:900px){
  .blog-article-layout{grid-template-columns:minmax(0,1fr) 270px;gap:var(--s4)}
}
@media(max-width:760px){
  .blog-article-layout{grid-template-columns:minmax(0,1fr)}
  .blog-article-sidebar{margin-top:var(--s3)}
  .blog-article-related .grid-3{grid-template-columns:1fr}
  .ad-manager-overview{align-items:flex-start;flex-direction:column}
  .ad-manager-slot-grid,.ad-manager-other-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .blog-article-title{font-size:1.85rem}
  .blog-sidebar-section{padding:var(--s3)}
  .blog-sidebar-list a{grid-template-columns:29px minmax(0,1fr) auto;gap:7px}
  .blog-sidebar-item-icon{width:28px;height:28px}
  .ad-manager-overview,.ad-manager-slot{padding:var(--s4)}
  .ad-manager-other-slots>summary{padding:var(--s4)}
  .ad-manager-other-grid{padding:0 var(--s4) var(--s4)}
  .ad-manager-actions .btn{width:100%;justify-content:center}
}

/* Blog reading, table of contents, sharing, and post thumbnails */
.blog-article-prose{text-align:left;line-height:1.78}
.blog-article-prose :is(h2,h3,h4,p,ul,ol,blockquote,pre,table){text-align:left}
.blog-article-prose :is(h2,h3,h4){scroll-margin-top:96px}
.blog-toc{margin:0 0 var(--s6);padding:var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.blog-toc h2{margin:0 0 var(--s3);color:var(--text-primary);font-family:var(--f-head);font-size:1rem}
.blog-toc ol{display:grid;gap:8px;margin:0;padding-left:1.25rem;color:var(--brand-primary)}
.blog-toc li{padding-left:3px;line-height:1.5}
.blog-toc li.is-subheading{margin-left:var(--s4);font-size:.92em}
.blog-toc a{color:var(--text-secondary);font-size:.83rem}
.blog-toc a:hover{color:var(--brand-primary);text-decoration:underline}
.blog-share{display:grid;gap:var(--s3);margin-top:var(--s5);padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.blog-share-heading h2{margin:0;color:var(--text-primary);font-family:var(--f-head);font-size:1rem}
.blog-share-heading p{margin:3px 0 0;color:var(--text-muted);font-size:.72rem}
.blog-share-links{display:flex;flex-wrap:wrap;gap:8px}
.blog-share-link{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:11px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:1rem;transition:transform .16s,filter .16s}
.blog-share-link:hover{filter:brightness(1.08);transform:translateY(-2px)}
.blog-share-link:focus-visible{outline:3px solid rgba(99,102,241,.55);outline-offset:3px}
.blog-share-link[hidden]{display:none}
.blog-share-link.is-facebook{background:#1877f2;color:#fff}
.blog-share-link.is-x{background:#111827;color:#fff}
.blog-share-link.is-whatsapp{background:#25d366;color:#fff}
.blog-share-link.is-linkedin{background:#0a66c2;color:#fff}
.blog-share-link.is-telegram{background:#229ed9;color:#fff}
.blog-share-link.is-reddit{background:#ff4500;color:#fff}
.blog-share-link.is-pinterest{background:#bd081c;color:#fff}
.blog-share-link.is-threads{background:#101010;color:#fff}
.blog-share-link.is-tumblr{background:#35465c;color:#fff}
.blog-share-status{min-height:1em;color:var(--success);font-size:.7rem}
.blog-related-card{display:grid;grid-template-rows:150px 1fr;gap:0;overflow:hidden;padding:0}
.blog-related-image{display:block;width:100%;height:150px;object-fit:cover;background:var(--bg-tertiary)}
.blog-related-placeholder{display:grid;place-items:center;height:150px;background:linear-gradient(135deg,rgba(99,102,241,.13),rgba(6,182,212,.11));color:var(--brand-primary);font-size:1.6rem}
.blog-related-copy{padding:var(--s4)}
.blog-related-copy h3{margin:0 0 var(--s2);font-size:.95rem;line-height:1.4}
.blog-related-copy p{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.blog-sidebar-list a{grid-template-columns:40px minmax(0,1fr) auto}
.blog-sidebar-item-icon{width:36px;height:36px}
.blog-sidebar-thumb{display:block;width:40px;height:40px;border-radius:9px;background:var(--bg-tertiary);object-fit:cover}
@media(max-width:480px){
  .blog-toc{padding:var(--s4)}
  .blog-sidebar-list a{grid-template-columns:36px minmax(0,1fr) auto}
  .blog-sidebar-thumb{width:36px;height:36px}
  .blog-sidebar-item-icon{width:32px;height:32px}
  .blog-related-card{grid-template-rows:170px 1fr}
  .blog-related-image,.blog-related-placeholder{height:170px}
  .blog-share{padding:var(--s3)}
}

/* Public discovery listings */
.catalog-page{min-width:0;overflow-x:clip;padding-inline:var(--s6)}
.catalog-hero{margin-bottom:clamp(1.75rem,4vw,3rem)}
.catalog-hero h1{font-size:clamp(2rem,4.2vw,3rem);margin:.5rem 0 .7rem}
.catalog-hero p{max-width:60ch;margin-inline:auto;color:var(--text-secondary);font-size:1.02rem}
.tools-catalog .catalog-hero{max-width:900px}
.tools-catalog .catalog-hero h1{font-size:clamp(2rem,3.8vw,2.85rem)}
.catalog-search{position:relative;display:flex;align-items:center;gap:var(--s3);width:min(100%,920px);min-height:58px;margin:0 auto var(--s6);padding:7px;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.catalog-search>i{flex:0 0 auto;margin-left:var(--s4);color:var(--text-muted)}
.catalog-search input{width:100%;min-width:0;min-height:42px;padding:.65rem .35rem;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit}
.catalog-search input::placeholder{color:var(--text-muted)}
.catalog-search:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 16%,transparent)}
.catalog-search-button{flex:0 0 auto;min-height:42px;padding:.65rem 1rem;white-space:nowrap}
.catalog-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-category-scroll{width:100%;margin:0 0 var(--s5);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
.catalog-category-scroll::-webkit-scrollbar{display:none}
.catalog-category-row{display:flex;width:max-content;min-width:100%;gap:var(--s2);padding:2px 1px 5px}
.catalog-category-row .chip{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;white-space:nowrap}
.catalog-sort{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s8)}
.catalog-sort .chip{padding:.4rem .85rem;font-size:.8rem}
.catalog-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin:var(--s7) 0 var(--s4)}
.catalog-results-heading .eyebrow{font-size:.68rem}
.catalog-results-heading h2{margin:.2rem 0 .25rem;font-size:clamp(1.35rem,2.4vw,1.8rem)}
.catalog-results-heading p{color:var(--text-muted);font-size:.85rem}
.catalog-result-count{flex:0 0 auto;margin-bottom:2px;padding:.35rem .65rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:700}
.template-listing-grid,.tool-listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.template-listing-card,.tool-listing-card{position:relative;display:grid;min-width:0;min-height:138px;align-items:center;gap:var(--s4);overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-xl);background:var(--bg-secondary);box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.template-listing-card{grid-template-columns:106px minmax(0,1fr) 34px;padding:0 var(--s4) 0 0;border-color:color-mix(in srgb,var(--text-primary) 20%,var(--bg-secondary))}
.template-scroll-panel{max-height:min(72vh,760px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding:2px 10px 8px 2px;border-radius:var(--r-xl);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand-primary) 52%,var(--border-color)) transparent}
.template-scroll-panel:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 52%,transparent);outline-offset:3px}
.template-scroll-panel::-webkit-scrollbar{width:9px}
.template-scroll-panel::-webkit-scrollbar-track{background:transparent}
.template-scroll-panel::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--r-full);background:color-mix(in srgb,var(--brand-primary) 48%,var(--border-color));background-clip:padding-box}
.template-scroll-panel::-webkit-scrollbar-thumb:hover{background:var(--brand-primary);background-clip:padding-box}
.template-listing-card:hover,.tool-listing-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand-primary) 45%,var(--border-color));background:var(--bg-tertiary);box-shadow:var(--shadow-md)}
.template-listing-card:focus-visible,.tool-listing-card:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 52%,transparent);outline-offset:3px}
.template-listing-art{display:grid;width:106px;height:100%;min-height:136px;place-items:center;border-right:1px solid color-mix(in srgb,var(--text-primary) 18%,var(--bg-secondary));background:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary) 9%,var(--bg-secondary)),var(--bg-secondary))}
.template-wheel-disc{position:relative;width:82px;aspect-ratio:1;border:4px solid var(--bg-secondary);border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--text-primary) 58%,transparent),0 7px 15px rgba(15,23,42,.18);isolation:isolate}
.template-wheel-disc::before{position:absolute;inset:4px;border:1px solid rgba(255,255,255,.55);border-radius:50%;content:""}
.template-wheel-disc[data-wheel-style="casino"]{border-color:#F5C451;box-shadow:0 0 0 2px color-mix(in srgb,var(--text-primary) 58%,transparent),0 7px 15px rgba(15,23,42,.24)}
.template-wheel-disc[data-wheel-style="neon"]{box-shadow:0 0 14px color-mix(in srgb,var(--brand-primary) 50%,transparent),0 0 0 2px color-mix(in srgb,var(--text-primary) 58%,transparent)}
.template-wheel-labels{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.template-wheel-label{fill:#fff;stroke:rgba(15,23,42,.72);stroke-width:.8px;paint-order:stroke fill;vector-effect:non-scaling-stroke;font-family:var(--f-head);font-weight:800;letter-spacing:.02px}
.template-wheel-label--dark{fill:#0F172A;stroke:rgba(255,255,255,.84)}
.template-wheel-center{position:absolute;z-index:2;top:50%;left:50%;width:15px;height:15px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:var(--brand-gradient);box-shadow:0 1px 5px rgba(15,23,42,.38)}
.template-listing-copy{min-width:0;padding-block:var(--s4)}
.template-listing-meta{display:flex;align-items:center;gap:var(--s2);min-width:0;margin-bottom:.45rem;color:var(--brand-primary);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.template-listing-meta>span:first-child{display:inline-flex;align-items:center;gap:.42rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.template-listing-meta .badge{flex:0 0 auto;margin-left:auto}
.template-listing-copy h3{margin:0 0 .35rem;font-size:1.05rem;line-height:1.25}
.template-listing-copy p{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-secondary);font-size:.83rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.template-listing-arrow,.tool-listing-arrow{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);font-size:.75rem;transition:background .2s,color .2s,transform .2s}
.template-listing-card:hover .template-listing-arrow,.tool-listing-card:hover .tool-listing-arrow{transform:translateX(2px);border-color:var(--brand-primary);background:var(--brand-gradient);color:#fff}
.tool-listing-card{grid-template-columns:58px minmax(0,1fr) 34px;padding:var(--s4)}
.tool-listing-icon{display:grid;width:52px;height:52px;place-items:center;border:1px solid color-mix(in srgb,var(--brand-primary) 18%,var(--border-color));border-radius:16px;background:var(--brand-gradient);color:#fff;font-size:1.1rem;box-shadow:var(--shadow-brand)}
.tool-listing-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.tool-listing-type{margin-bottom:.3rem;color:var(--brand-primary);font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.tool-listing-copy strong{color:var(--text-primary);font-family:var(--f-head);font-size:1.02rem;font-weight:800;line-height:1.25}
.tool-listing-description{display:-webkit-box;overflow:hidden;margin-top:.4rem;color:var(--text-secondary);font-size:.82rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.tool-listing-action{display:inline-flex;align-items:center;gap:.45rem;margin-top:.65rem;color:var(--brand-primary);font-size:.78rem;font-weight:800}
.tool-listing-action i{transition:transform .18s}
.tool-listing-card:hover .tool-listing-action i{transform:translateX(3px)}
.catalog-empty-state{display:flex;min-height:250px;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s8);border:1px dashed var(--border-color);border-radius:var(--r-xl);background:var(--bg-secondary);text-align:center}
.catalog-empty-icon{display:grid;width:48px;height:48px;margin-bottom:var(--s2);place-items:center;border-radius:15px;background:color-mix(in srgb,var(--brand-primary) 12%,var(--bg-tertiary));color:var(--brand-primary)}
.catalog-empty-state h3{font-size:1.15rem}
.catalog-empty-state p{margin-bottom:var(--s3);color:var(--text-secondary)}
.catalog-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);margin-top:var(--s8)}
.catalog-pagination .chip{min-width:40px;text-align:center}
@media(max-width:900px){
  .template-listing-grid,.tool-listing-grid{grid-template-columns:minmax(0,1fr)}
  .blog-listing-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .security-protection-summary{grid-template-columns:minmax(0,1fr)}
  .security-activity-scroll,.security-ip-table-wrap{max-height:55vh}
  .catalog-page{padding:var(--s8) var(--s4) var(--s10)}
  .template-scroll-panel{max-height:68vh;padding-right:8px}
  .catalog-hero{margin-bottom:var(--s6)}
  .catalog-search{gap:var(--s2);min-height:54px}
  .catalog-search>i{margin-left:.6rem}
  .catalog-search-button{width:44px;min-width:44px;padding:.65rem;justify-content:center}
  .catalog-search-button span{display:none}
  .catalog-sort{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .catalog-sort::-webkit-scrollbar{display:none}
  .catalog-sort .chip{white-space:nowrap}
  .catalog-results-heading{align-items:flex-start;margin-top:var(--s6)}
  .template-listing-card{grid-template-columns:86px minmax(0,1fr) 28px;gap:var(--s3);min-height:120px;padding-right:var(--s3);border-radius:var(--r-lg)}
  .template-listing-art{width:86px;min-height:118px}
  .template-wheel-disc{width:68px;border-width:3px}
  .template-wheel-center{width:13px;height:13px}
  .template-listing-copy{padding-block:var(--s3)}
  .template-listing-copy h3{font-size:.96rem}
  .template-listing-copy p{font-size:.77rem}
  .template-listing-meta{font-size:.6rem}
  .template-listing-arrow,.tool-listing-arrow{width:28px;height:28px}
  .tool-listing-card{grid-template-columns:46px minmax(0,1fr) 28px;gap:var(--s3);padding:var(--s3);border-radius:var(--r-lg)}
  .tool-listing-icon{width:42px;height:42px;border-radius:13px;font-size:.95rem}
  .tool-listing-copy strong{font-size:.95rem}
  .tool-listing-description{font-size:.77rem}
  .catalog-result-count{font-size:.68rem}
}

/* Ratings */
.template-catalog-hero,.tools-catalog-hero,.blog-catalog-hero {
  position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;
  max-width:900px;margin:var(--s5) auto 0;padding:clamp(1.1rem,2.4vw,1.9rem) var(--s5);
  border:1px solid color-mix(in srgb,var(--brand-primary) 32%,var(--border-color));
  border-radius:clamp(20px,3vw,30px);
  background:
    radial-gradient(ellipse at 50% -15%,color-mix(in srgb,var(--brand-primary) 19%,transparent),transparent 62%),
    linear-gradient(145deg,color-mix(in srgb,var(--bg-secondary) 88%,transparent),var(--bg-primary));
  box-shadow:var(--shadow-md),inset 0 1px 0 color-mix(in srgb,var(--text-primary) 8%,transparent);
  text-align:center;
}
.template-catalog-hero::before,.template-catalog-hero::after,.tools-catalog-hero::before,.tools-catalog-hero::after,.blog-catalog-hero::before,.blog-catalog-hero::after{position:absolute;z-index:-1;content:"";pointer-events:none}
.template-catalog-hero::before,.tools-catalog-hero::before,.blog-catalog-hero::before{top:-115px;left:50%;width:380px;height:250px;border-radius:50%;background:color-mix(in srgb,var(--brand-primary) 16%,transparent);filter:blur(80px);transform:translateX(-50%)}
.template-catalog-hero::after,.tools-catalog-hero::after,.blog-catalog-hero::after{inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent 30%,color-mix(in srgb,#ec4899 6%,transparent),transparent 70%);opacity:.7}
.template-hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .78rem;border:1px solid color-mix(in srgb,var(--brand-primary) 25%,var(--border-color));border-radius:var(--r-full);background:color-mix(in srgb,var(--brand-primary) 9%,var(--bg-secondary));color:var(--brand-primary);font-size:.7rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.template-hero-eyebrow i{font-size:.74rem}
.template-catalog-hero h1,.tools-catalog-hero h1,.blog-catalog-hero h1{margin:.65rem 0 .4rem;font-size:clamp(2rem,3.6vw,2.65rem);background:linear-gradient(100deg,var(--text-primary) 18%,var(--brand-primary) 74%,#e64fa1);background-clip:text;-webkit-background-clip:text;color:transparent}
.template-catalog-hero p,.tools-catalog-hero p,.blog-catalog-hero p{max-width:58ch;margin:0;color:var(--text-secondary);font-size:clamp(.9rem,1.5vw,1.02rem);line-height:1.7}
.template-hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.8rem}
.template-hero-stats span{display:inline-flex;align-items:center;gap:.42rem;padding:.42rem .7rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:color-mix(in srgb,var(--bg-secondary) 80%,transparent);color:var(--text-secondary);font-size:.7rem;font-weight:750}
.template-hero-stats i{color:var(--brand-primary)}
.template-catalog-search{position:relative;z-index:1;width:min(100%,700px);margin:var(--s5) auto .3rem}
.template-catalog-search:focus-within{border-color:color-mix(in srgb,var(--brand-primary) 58%,var(--border-color));box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary) 12%,transparent),var(--shadow-md)}
.tools-catalog .catalog-search{position:relative;z-index:1;width:min(100%,700px);margin:var(--s5) auto var(--s7);margin-inline:auto;justify-self:center}
.tools-catalog .catalog-search:focus-within{border-color:color-mix(in srgb,var(--brand-primary) 58%,var(--border-color));box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary) 12%,transparent),var(--shadow-md)}
.blog-catalog-search{position:relative;z-index:1;width:min(100%,700px);margin:var(--s5) auto var(--s7)}
.blog-catalog-search:focus-within{border-color:color-mix(in srgb,var(--brand-primary) 58%,var(--border-color));box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary) 12%,transparent),var(--shadow-md)}
.blog-listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.blog-listing-card{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr) 32px;min-width:0;min-height:174px;align-items:center;gap:var(--s4);overflow:hidden;padding:0 var(--s4) 0 0;border:1px solid color-mix(in srgb,var(--text-primary) 18%,var(--bg-secondary));border-radius:var(--r-xl);background:var(--bg-secondary);box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.blog-listing-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand-primary) 45%,var(--border-color));background:var(--bg-tertiary);box-shadow:var(--shadow-md)}
.blog-listing-card:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 52%,transparent);outline-offset:3px}
.blog-listing-art{display:grid;width:132px;height:100%;min-height:172px;place-items:center;overflow:hidden;border-right:1px solid color-mix(in srgb,var(--text-primary) 18%,var(--bg-secondary));background:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary) 12%,var(--bg-secondary)),var(--bg-secondary))}
.blog-listing-art img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.blog-listing-card:hover .blog-listing-art img{transform:scale(1.04)}
.blog-listing-placeholder{display:grid;width:48px;height:48px;place-items:center;border:1px solid color-mix(in srgb,var(--brand-primary) 26%,var(--border-color));border-radius:16px;background:var(--brand-gradient);box-shadow:var(--shadow-brand);color:#fff;font-size:1.1rem}
.blog-listing-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding-block:var(--s4)}
.blog-listing-meta{display:inline-flex;align-items:center;gap:.42rem;max-width:100%;overflow:hidden;margin-bottom:.45rem;color:var(--brand-primary);font-size:.66rem;font-weight:850;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.blog-listing-copy strong{display:-webkit-box;overflow:hidden;color:var(--text-primary);font-family:var(--f-head);font-size:1.02rem;font-weight:800;line-height:1.28;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.blog-listing-excerpt{display:-webkit-box;overflow:hidden;margin-top:.4rem;color:var(--text-secondary);font-size:.82rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.blog-listing-action{display:inline-flex;align-items:center;gap:.45rem;margin-top:.65rem;color:var(--brand-primary);font-size:.78rem;font-weight:800}
.blog-listing-action i{transition:transform .18s}
.blog-listing-card:hover .blog-listing-action i{transform:translateX(3px)}
.blog-listing-arrow{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);font-size:.75rem;transition:background .2s,color .2s,transform .2s}
.blog-listing-card:hover .blog-listing-arrow{transform:translateX(2px);border-color:var(--brand-primary);background:var(--brand-gradient);color:#fff}
@media(max-width:900px){.blog-listing-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
  .blog-listing-card{grid-template-columns:86px minmax(0,1fr) 28px;gap:var(--s3);min-height:132px;padding-right:var(--s3);border-radius:var(--r-lg)}
  .blog-listing-art{width:86px;min-height:130px}
  .blog-listing-placeholder{width:40px;height:40px;border-radius:13px;font-size:.95rem}
  .blog-listing-copy{padding-block:var(--s3)}
  .blog-listing-copy strong{font-size:.95rem}
  .blog-listing-excerpt{font-size:.77rem}
  .blog-listing-meta{font-size:.6rem}
  .blog-listing-arrow{width:28px;height:28px}
}
.catalog-search-status{min-height:1.1em;margin:0 auto var(--s5);color:var(--text-muted);font-size:.7rem;text-align:center}
.catalog-search-status:empty{min-height:0;margin-bottom:var(--s4)}
.template-catalog .catalog-search-status{width:min(100%,700px)}
.catalog-filter-panel{margin:0 0 var(--s7);padding:1rem;border:1px solid var(--border-color);border-radius:var(--r-xl);background:color-mix(in srgb,var(--bg-secondary) 92%,transparent);box-shadow:var(--shadow-sm)}
.catalog-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem;color:var(--text-primary);font-size:.77rem;font-weight:850}
.catalog-filter-heading>span:first-child,.catalog-filter-label{display:inline-flex;align-items:center;gap:.45rem}
.catalog-filter-heading i,.catalog-filter-label i{color:var(--brand-primary)}
.catalog-filter-current{max-width:45%;overflow:hidden;padding:.28rem .55rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}
.template-catalog .catalog-category-scroll{margin:0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand-primary) 40%,transparent) transparent}
.template-catalog .catalog-category-row{gap:.5rem;padding:2px 1px 8px}
.template-catalog .catalog-category-row .chip{min-height:39px;padding:.52rem .82rem;border-color:var(--border-color);background:var(--bg-primary);font-size:.77rem;font-weight:720;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.template-catalog .catalog-category-row .chip:hover{border-color:color-mix(in srgb,var(--brand-primary) 45%,var(--border-color));box-shadow:0 5px 14px color-mix(in srgb,var(--brand-primary) 12%,transparent);transform:translateY(-1px)}
.template-catalog .catalog-category-row .chip.active{border-color:transparent;background:var(--brand-gradient);box-shadow:0 6px 16px color-mix(in srgb,var(--brand-primary) 23%,transparent);color:#fff}
.catalog-sort-row{display:flex;align-items:center;gap:1rem;margin-top:.55rem;padding-top:.8rem;border-top:1px solid var(--border-color)}
.catalog-filter-label{flex:0 0 auto;color:var(--text-muted);font-size:.68rem;font-weight:800}
.template-catalog .catalog-sort{flex-wrap:wrap;gap:.42rem;margin:0}
.template-catalog .catalog-sort .chip{min-height:34px;padding:.4rem .7rem;border-color:transparent;background:var(--bg-tertiary);font-size:.7rem;font-weight:750}
.template-catalog .catalog-sort .chip:hover{border-color:var(--border-color);color:var(--text-primary)}
.template-catalog .catalog-sort .chip.active{border-color:color-mix(in srgb,var(--brand-primary) 25%,transparent);background:color-mix(in srgb,var(--brand-primary) 12%,var(--bg-secondary));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-primary) 8%,transparent);color:var(--brand-primary)}
.catalog-results-wrap[aria-busy="true"]{opacity:.58;pointer-events:none;transition:opacity .15s ease}
.template-catalog .catalog-results-heading{margin-top:var(--s5)}
@media(max-width:600px){
  .template-catalog-hero,.tools-catalog-hero,.blog-catalog-hero{margin-top:var(--s3);padding:1.6rem var(--s4);border-radius:20px}
  .template-catalog-hero h1,.tools-catalog-hero h1,.blog-catalog-hero h1{font-size:clamp(1.8rem,8vw,2.45rem)}
  .template-catalog-search{width:100%;margin-top:var(--s4)}
  .tools-catalog .catalog-search{width:100%;margin-top:var(--s4)}
  .blog-catalog-search{width:100%;margin-top:var(--s4)}
  .blog-listing-card{grid-template-columns:86px minmax(0,1fr) 28px;gap:var(--s3);min-height:132px;padding-right:var(--s3);border-radius:var(--r-lg)}
  .blog-listing-art{width:86px;min-height:130px}
  .blog-listing-placeholder{width:40px;height:40px;border-radius:13px;font-size:.95rem}
  .blog-listing-copy{padding-block:var(--s3)}
  .blog-listing-copy strong{font-size:.95rem}
  .blog-listing-excerpt{font-size:.77rem}
  .blog-listing-meta{font-size:.6rem}
  .blog-listing-arrow{width:28px;height:28px}
  .template-hero-stats{gap:.4rem}
  .template-hero-stats span{font-size:.66rem}
  .catalog-filter-panel{padding:.8rem;border-radius:18px}
  .catalog-filter-heading{font-size:.72rem}
  .template-catalog .catalog-category-scroll{margin-inline:-.2rem}
  .template-catalog .catalog-category-row{gap:.42rem}
  .template-catalog .catalog-category-row .chip{min-height:37px;padding:.48rem .68rem;font-size:.72rem}
  .catalog-sort-row{align-items:flex-start;flex-direction:column;gap:.55rem}
  .template-catalog .catalog-sort{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}
  .template-catalog .catalog-sort::-webkit-scrollbar{display:none}
  .template-catalog .catalog-sort .chip{white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  .template-catalog .catalog-category-row .chip,.template-catalog .catalog-sort .chip{transition:none}
}

/* Ratings */
.content-rating-wrap{margin-block:var(--s5)}
.content-rating{padding:1rem 1.1rem;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.content-rating-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.content-rating-eyebrow{display:block;color:var(--text-muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.content-rating-scoreline{display:flex;align-items:baseline;gap:.35rem;margin-top:.15rem}
.content-rating-scoreline strong{color:var(--text-primary);font-size:1.35rem;line-height:1}
.content-rating-scoreline>span:nth-child(2){color:var(--text-muted);font-size:.8rem}
.content-rating-count{margin-left:.4rem;color:var(--text-secondary);font-size:.83rem}
.content-rating-stars{display:flex;align-items:center;gap:.18rem}
.content-rating-star{display:grid;width:2.25rem;height:2.25rem;place-items:center;border:0;border-radius:.65rem;background:transparent;color:var(--text-muted);font-size:1.15rem;cursor:pointer;transition:color .15s ease,background .15s ease,transform .15s ease}
.content-rating-star:not(:disabled):hover,.content-rating-star.is-preview{color:#f5b942;transform:translateY(-1px)}
.content-rating-star.is-selected{color:#f5b942}
.content-rating-star:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}
.content-rating-star:disabled{cursor:default;opacity:.9}
.content-rating-status{margin:.55rem 0 0;color:var(--text-muted);font-size:.75rem;line-height:1.5}

/* Related wheel cards */
@property --home-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes homeCardBorderTravel{to{--home-border-angle:360deg}}
.related-wheels-section{background:var(--bg-secondary)}
.related-wheels-heading{margin-bottom:var(--s6);text-align:center}
.related-wheels-kicker{color:var(--brand-primary);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.related-wheels-heading h2{margin:.25rem 0 0;font-size:clamp(1.5rem,3vw,2rem)}
.related-wheel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
 .related-wheel-card{--home-card-fill:color-mix(in srgb,var(--bg-secondary) 72%,transparent);position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;overflow:hidden;border:1.5px solid transparent;border-radius:var(--r-lg);background-color:var(--home-card-fill);background-image:radial-gradient(120% 70% at 5% 0%,color-mix(in srgb,var(--brand-primary) 9%,transparent),transparent 60%),radial-gradient(100% 70% at 100% 100%,color-mix(in srgb,#06b6d4 7%,transparent),transparent 58%),linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,0) 42%,rgba(255,255,255,.04));background-clip:padding-box;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 24px rgba(139,92,246,.035),var(--shadow-sm);color:var(--text-primary);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.related-wheel-card::before,.home-tools-grid .home-tool-card::before{position:absolute;inset:0;z-index:2;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--home-border-angle),transparent 0deg 238deg,#34d399 252deg,#06b6d4 280deg,#8b5cf6 310deg,#d946ef 338deg,#ec4899 357deg,transparent 360deg);content:"";pointer-events:none;animation:homeCardBorderTravel 5.5s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.related-wheel-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),0 0 20px color-mix(in srgb,var(--brand-primary) 18%,transparent)}
.related-wheel-card:hover::before,.home-tools-grid .home-tool-card:hover::before{animation-duration:2.4s}
.related-wheel-art{display:grid;width:100%;aspect-ratio:1;place-items:center;padding:1rem}
.related-wheel-art .template-wheel-disc{width:min(100%,190px);border-width:5px;box-shadow:0 0 0 2px color-mix(in srgb,var(--text-primary) 58%,transparent),0 0 0 5px var(--bg-secondary),0 12px 28px rgba(3,8,24,.32)}
.related-wheel-art .template-wheel-center{width:23px;height:23px;border-width:4px}
.related-wheel-title{display:block;width:100%;min-height:3.1rem;padding:.85rem .9rem;border-top:1px solid color-mix(in srgb,var(--text-primary) 16%,transparent);background:color-mix(in srgb,var(--bg-secondary) 68%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.9rem;font-weight:750;line-height:1.35;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .18s ease,border-color .18s ease}
.related-wheel-card:hover .related-wheel-title{background:color-mix(in srgb,var(--bg-tertiary) 70%,transparent)}
.related-wheel-summary{display:-webkit-box;width:100%;min-height:2.65rem;padding:.1rem .9rem .75rem;background:color-mix(in srgb,var(--bg-secondary) 68%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-secondary);font-size:.78rem;line-height:1.4;text-align:center;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.related-wheel-card:hover .related-wheel-summary{background:color-mix(in srgb,var(--bg-tertiary) 70%,transparent)}
.related-wheel-card:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 55%,transparent);outline-offset:3px;border-radius:var(--r-lg)}
.home-template-wheel-grid{margin-top:var(--s5)}
.home-tools-grid .home-tool-card{--home-card-fill:color-mix(in srgb,var(--bg-secondary) 72%,transparent);position:relative;border-color:transparent;background-color:var(--home-card-fill);background-image:radial-gradient(120% 70% at 5% 0%,color-mix(in srgb,var(--brand-primary) 9%,transparent),transparent 60%),radial-gradient(100% 70% at 100% 100%,color-mix(in srgb,#06b6d4 7%,transparent),transparent 58%),linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,0) 42%,rgba(255,255,255,.04));background-clip:padding-box;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 24px rgba(139,92,246,.035),var(--shadow-sm)}
.home-tools-grid .home-tool-card:hover{box-shadow:var(--shadow-md),0 0 20px color-mix(in srgb,var(--brand-primary) 18%,transparent)}
.home-tools-grid .home-tool-card:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 55%,transparent);outline-offset:3px}
[data-theme=dark] .related-wheel-card,[data-theme=dark] .home-tools-grid .home-tool-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 28px rgba(139,92,246,.085),var(--shadow-sm)}
@media(prefers-reduced-motion:reduce){
  .related-wheel-card::before,.home-tools-grid .home-tool-card::before{animation:none;background:conic-gradient(#8b5cf6,#06b6d4,#34d399,#d946ef,#ec4899,#8b5cf6)}
}

.wheel-guide-scroll{position:relative;max-height:min(36rem,60vh);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block:1.25rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--brand-primary) 24%,var(--border-color));border-radius:var(--r-xl);background:radial-gradient(ellipse at 7% 0%,color-mix(in srgb,var(--brand-primary) 9%,transparent),transparent 54%),linear-gradient(145deg,var(--bg-secondary),color-mix(in srgb,var(--bg-secondary) 94%,var(--brand-secondary)));box-shadow:0 14px 38px rgba(2,6,23,.12),inset 0 1px 0 rgba(255,255,255,.1);color:var(--text-primary);line-height:1.75;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand-primary) 70%,var(--brand-secondary)) transparent}
.wheel-guide-scroll:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 55%,transparent);outline-offset:4px}
.wheel-guide-scroll::-webkit-scrollbar{width:10px}
.wheel-guide-scroll::-webkit-scrollbar-track{margin-block:10px;border-radius:var(--r-full);background:color-mix(in srgb,var(--bg-tertiary) 68%,transparent)}
.wheel-guide-scroll::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:var(--r-full);background:linear-gradient(180deg,var(--brand-primary),var(--brand-secondary)) padding-box}
.wheel-guide-scroll>:first-child{margin-top:0}
.wheel-guide-scroll>:last-child{margin-bottom:0}
.wheel-guide-scroll>h2:first-child{margin:0 0 1rem;padding:0 0 .85rem;border-bottom:1px solid var(--border-color);font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.2;letter-spacing:-.025em}
.wheel-guide-scroll>h2:first-child::before{display:block;margin-bottom:.5rem;color:var(--brand-primary);content:"GUIDE";font-family:var(--f-body);font-size:.67rem;font-weight:800;letter-spacing:.14em;line-height:1.2}
.wheel-guide-scroll h3{margin:1.55rem 0 .55rem;font-size:1.08rem;line-height:1.35}
.wheel-guide-scroll p{margin:.7rem 0;color:var(--text-secondary)}
.wheel-guide-scroll :is(ul,ol){padding-left:1.35rem}
.wheel-guide-scroll li{padding-left:.2rem}
.wheel-guide-scroll li+li{margin-top:.38rem}
.wheel-guide-scroll li::marker{color:var(--brand-primary);font-weight:800}
.wheel-guide-scroll blockquote{margin:1.2rem 0;padding:.9rem 1.1rem;border-left:3px solid var(--brand-primary);border-radius:0 var(--r-md) var(--r-md) 0;background:color-mix(in srgb,var(--brand-primary) 7%,var(--bg-tertiary));color:var(--text-secondary)}
.wheel-guide-scroll :not(pre)>code{padding:.12rem .38rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--brand-primary);font-size:.9em}
.wheel-guide-scroll img{max-width:100%;height:auto}
.wheel-guide-scroll .blog-content-table-wrap{max-width:100%;overflow-x:auto}
.wheel-guide-scroll table{width:100%;min-width:560px;border-collapse:collapse;margin:1rem 0}
.wheel-guide-scroll th,.wheel-guide-scroll td{border:1px solid var(--border-color);padding:.65rem .75rem;text-align:left;vertical-align:top}
.wheel-guide-scroll th{background:var(--bg-tertiary);font-weight:750}

.admin-content-editor{max-width:1480px;min-width:0;margin:0 auto}
.admin-content-editor-card{overflow:hidden}
.admin-rich-content-form{display:grid;gap:var(--s5);min-width:0;padding:clamp(1rem,2.5vw,1.5rem)}
.admin-rich-content-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.admin-rich-content-form .field{min-width:0}
.admin-rich-content-form .field input,.admin-rich-content-form .field textarea{width:100%;max-width:100%}
.admin-rich-content-form .field textarea:not(#admin-rich-content){min-height:6rem;resize:vertical}
.admin-rich-content-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:.45rem}
.admin-rich-content-label-row label{margin:0}
.admin-rich-content-hint,.admin-rich-content-form .field>small{color:var(--text-muted);font-size:.75rem;line-height:1.5}
.admin-rich-content-status{min-height:1.1rem;margin:.55rem 0 0;color:var(--text-muted);font-size:.76rem}
.admin-rich-content-status.is-error{color:var(--error)}
.admin-rich-content-form .tox-tinymce{max-width:100%;border-color:var(--border-hover)!important;border-radius:var(--r-md)!important;overflow:hidden}
.admin-rich-content-actions{display:flex;justify-content:flex-end;gap:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border-color)}
.tools-guide-editor-link{display:flex;justify-content:flex-end}
.tools-actions .tools-action.is-edit{border-color:color-mix(in srgb,var(--brand-primary) 38%,var(--border-color));color:var(--brand-primary)}
.tools-actions .tools-action.is-edit:hover{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,var(--bg-secondary))}

@media(max-width:700px){
  .wheel-guide-scroll{max-height:min(34rem,64vh);padding:1.1rem;border-radius:var(--r-lg)}
  .admin-rich-content-identity{grid-template-columns:minmax(0,1fr)}
  .admin-rich-content-label-row{align-items:flex-start;flex-direction:column;gap:.25rem}
  .admin-rich-content-actions{flex-direction:column-reverse}
  .admin-rich-content-actions .btn{width:100%;justify-content:center}
  .tools-guide-editor-link{justify-content:stretch}
  .tools-guide-editor-link .btn{width:100%;justify-content:center}
}

.save-wheel-dialog{width:min(440px,calc(100vw - 1.5rem));max-width:none;max-height:calc(100dvh - 2rem);margin:auto;overflow:auto;border:1px solid color-mix(in srgb,var(--text-primary) 22%,var(--bg-secondary));border-radius:var(--r-xl);background:var(--bg-secondary);box-shadow:var(--shadow-xl);color:var(--text-primary)}
.save-wheel-dialog::backdrop{background:var(--bg-overlay);backdrop-filter:blur(5px)}
.save-wheel-form{display:grid;gap:var(--s4);padding:clamp(1.1rem,4vw,1.65rem)}
.save-wheel-dialog-top{display:flex;align-items:center;justify-content:space-between}
.save-wheel-dialog-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--brand-primary) 30%,var(--border-color));border-radius:14px;background:color-mix(in srgb,var(--brand-primary) 12%,var(--bg-tertiary));color:var(--brand-primary);font-size:1.05rem}
.save-wheel-dialog-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary);color:var(--text-secondary);font-size:1rem;cursor:pointer}
.save-wheel-dialog-close:hover{border-color:var(--border-hover);background:var(--bg-primary);color:var(--text-primary)}
.save-wheel-dialog h2{margin:0 0 .35rem;font-size:1.45rem}
.save-wheel-dialog p{color:var(--text-secondary);font-size:.86rem;line-height:1.55}
.save-wheel-field label{display:block;margin:0 0 .45rem;color:var(--text-primary);font-size:.78rem;font-weight:750}
.save-wheel-field input{width:100%;min-height:46px;padding:.7rem .85rem;border:1px solid var(--border-hover);border-radius:var(--r-md);background:var(--bg-primary);color:var(--text-primary);font:inherit}
.save-wheel-field input:focus-visible{border-color:var(--brand-primary);outline:3px solid color-mix(in srgb,var(--brand-primary) 22%,transparent)}
.save-wheel-message{min-height:1.1rem;color:var(--error)!important;font-size:.76rem!important}
.save-wheel-dialog-actions{display:flex;justify-content:flex-end;gap:var(--s2)}
.save-wheel-dialog-actions .btn{min-height:42px;padding:.65rem 1rem}

@media(max-width:800px){
  .related-wheel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
  .related-wheel-art{padding:.55rem}
  .related-wheel-art .template-wheel-disc{width:min(100%,170px)}
}
@media(max-width:520px){
  .content-rating{padding:.85rem}
  .content-rating-summary{align-items:flex-start;flex-direction:column;gap:.55rem}
  .content-rating-star{width:2rem;height:2rem}
  .related-wheel-grid{gap:var(--s3)}
  .related-wheel-title{min-height:2.8rem;padding:.7rem .5rem;font-size:.78rem}
  .related-wheel-summary{min-height:2.5rem;padding:.1rem .5rem .65rem;font-size:.72rem}
}
@media(max-width:420px){
  .save-wheel-dialog-actions{flex-direction:column-reverse}
  .save-wheel-dialog-actions .btn{width:100%;justify-content:center}
}

/* Admin Ads Manager tabs, tool rails, and public ads.txt editor */
.ad-manager-tabs{display:flex;gap:6px;width:max-content;max-width:100%;margin:0 0 var(--s4);padding:5px;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.ad-manager-tabs a{display:inline-flex;align-items:center;gap:8px;padding:.68rem .95rem;border:1px solid transparent;border-radius:var(--r-md);color:var(--text-secondary);font-size:.76rem;font-weight:750;white-space:nowrap}
.ad-manager-tabs a:hover{background:var(--bg-tertiary);color:var(--text-primary)}
.ad-manager-tabs a.is-active{border-color:color-mix(in srgb,var(--brand-primary) 28%,var(--border-color));background:color-mix(in srgb,var(--brand-primary) 10%,var(--bg-secondary));color:var(--brand-primary)}
.ad-manager-tool-rails{display:grid;gap:var(--s4);padding:var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.ad-manager-tool-rails-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}
.ad-manager-tool-rails-heading h2{margin:.25rem 0 .2rem;color:var(--text-primary);font-family:var(--f-head);font-size:1.05rem}
.ad-manager-tool-rails-heading p{max-width:660px;margin:0;color:var(--text-muted);font-size:.72rem;line-height:1.55}
.ad-manager-rail-count{flex:0 0 auto;padding:.45rem .7rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.65rem;font-weight:750}
.ad-manager-ads-txt-card{display:grid;gap:var(--s5);padding:var(--s6);border:1px solid var(--border-color);border-radius:var(--r-xl);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.ad-manager-ads-txt-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}
.ad-manager-ads-txt-heading h2{margin:.25rem 0 .3rem;color:var(--text-primary);font-family:var(--f-head);font-size:1.3rem}
.ad-manager-ads-txt-heading p{max-width:650px;margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.6}
.ad-manager-ads-txt-form{display:grid;gap:var(--s3)}
.ad-manager-ads-txt-file{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:.7rem .85rem;border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-tertiary);font-size:.72rem}
.ad-manager-ads-txt-file>span,.ad-manager-ads-txt-file>a{display:inline-flex;align-items:center;gap:8px}
.ad-manager-ads-txt-file>span{color:var(--text-secondary);font-weight:700}
.ad-manager-ads-txt-file>a{color:var(--brand-primary);font-weight:750}
.ad-manager-ads-txt-form>textarea{display:block;width:100%;min-width:0;min-height:250px;padding:var(--s4);border:1px solid var(--border-color);border-radius:var(--r-md);background:var(--bg-primary);color:var(--text-primary);font: .76rem/1.65 var(--f-mono,monospace);resize:vertical}
.ad-manager-ads-txt-form>textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(99,102,241,.16)}
.ad-manager-ads-txt-form .ad-manager-trust-note code{padding:1px 4px;border-radius:4px;background:var(--bg-tertiary);font-family:var(--f-mono,monospace)}

/* Optional left/right advertising rails around individual tool pages. */
.tool-detail-with-ads{display:grid;width:min(100%,1480px);grid-template-columns:minmax(150px,1fr) minmax(0,620px) minmax(150px,1fr);gap:var(--s4);align-items:start;justify-content:center;margin:0 auto;padding:0 var(--s4)}
.tool-detail-primary{grid-column:2;grid-row:1;min-width:0}
.tool-page-side-ad{position:sticky;top:6rem;display:grid;align-content:start;gap:var(--s2);width:100%;max-width:300px;min-width:0;min-height:250px;justify-self:center;margin-top:1.5rem;padding:var(--s3);overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}
.tool-page-side-ad--left{grid-column:1;grid-row:1}
.tool-page-side-ad--right{grid-column:3;grid-row:1}
.tool-page-side-ad.is-empty{visibility:hidden;min-height:1px;padding:0;border:0;box-shadow:none}
.tool-page-ad-label{color:var(--text-muted);font-size:.59rem;font-weight:800;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.tool-page-ad-code{max-width:100%;min-width:0;overflow:hidden}
.tool-page-ad-code>*{max-width:100%}
.tool-page-ad-code :is(img,iframe,video,object,embed){max-width:100%}
.managed-ad-placement{display:grid;justify-items:center;gap:var(--s2);width:calc(100% - 2rem);max-width:1120px;min-width:0;margin:var(--s4) auto;padding:var(--s3);overflow:hidden;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary);text-align:center}
.managed-ad-placement-label{color:var(--text-muted);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.managed-ad-placement-content{width:100%;max-width:100%;min-width:0;overflow:hidden}
.managed-ad-placement-content>*{max-width:100%}
.managed-ad-placement-content :is(img,iframe,video,object,embed){max-width:100%}
.managed-ad-placement--site-header{width:100%;max-width:none;margin:0 auto;padding:var(--s2) var(--s4);border-width:0 0 1px;border-radius:0}
.managed-ad-placement--site-footer{margin-bottom:0}
.managed-ad-placement--blog-inline{width:100%;margin:var(--s5) 0}
.blog-article-sidebar .managed-ad-placement{width:100%;margin:var(--s4) 0}
.managed-sticky-ad{position:fixed;z-index:118;left:50%;bottom:calc(var(--s4) + env(safe-area-inset-bottom,0px));display:grid;gap:var(--s2);width:min(620px,calc(100vw - 24px));max-height:min(32vh,220px);padding:var(--s3);transform:translateX(-50%);overflow:auto;border:1px solid var(--border-color);border-radius:var(--r-lg);background:color-mix(in srgb,var(--bg-secondary) 94%,transparent);box-shadow:var(--shadow-xl);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.managed-sticky-ad[hidden]{display:none}
.managed-sticky-ad-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.managed-sticky-ad-label{color:var(--text-muted);font-size:.58rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.managed-sticky-ad-close{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer}
.managed-sticky-ad-close:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.managed-sticky-ad-content{min-width:0;max-width:100%;overflow:hidden}
.managed-sticky-ad-content>*{max-width:100%}
.managed-sticky-ad-content :is(img,iframe,video,object,embed){max-width:100%}
body.has-managed-sticky-ad{padding-bottom:clamp(110px,20vh,190px)}
@media(max-width:960px){
  .tool-detail-with-ads{display:block;width:100%;padding:0}
  .tool-page-side-ad{display:none}
  .tool-detail-primary{width:100%}
}
@media(max-width:760px){
  .ad-manager-tool-rails{padding:var(--s4)}
  .ad-manager-tool-rails-heading,.ad-manager-ads-txt-heading{align-items:flex-start;flex-direction:column}
  .ad-manager-additional-group{padding:var(--s4)}
  .ad-manager-additional-heading{flex-direction:column}
  .ad-manager-ads-txt-card{padding:var(--s4)}
}
@media(max-width:480px){
  .ad-manager-tabs{width:100%}
  .ad-manager-tabs a{flex:1;justify-content:center;padding:.65rem .5rem}
  .ad-manager-ads-txt-file{align-items:flex-start;flex-direction:column}
}

/* Admin saved-wheel directory and clear empty state. */
.admin-wheels-page{display:grid;gap:var(--s4);min-width:0}
.admin-wheels-overview{display:flex;align-items:center;gap:var(--s4);min-width:0;padding:var(--s4) var(--s5);border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.admin-wheels-overview-icon,.admin-wheels-empty-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--brand-primary) 24%,var(--border-color));border-radius:14px;background:color-mix(in srgb,var(--brand-primary) 12%,var(--bg-secondary));color:var(--brand-primary);font-size:1.1rem}
.admin-wheels-overview>div{min-width:0}
.admin-wheels-eyebrow{display:block;color:var(--brand-primary);font-size:.6rem;font-weight:850;letter-spacing:.12em}
.admin-wheels-overview strong{display:block;margin-top:2px;color:var(--text-primary);font-family:var(--f-head);font-size:1.25rem;line-height:1.2}
.admin-wheels-overview p{margin:4px 0 0;color:var(--text-muted);font-size:.7rem;line-height:1.45}
.admin-wheels-limit{flex:0 0 auto;margin-left:auto;padding:.45rem .65rem;border:1px solid var(--border-color);border-radius:var(--r-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.62rem;font-weight:750}
.admin-wheels-table-wrap{min-width:0;overflow:auto;border:1px solid var(--border-color);border-radius:var(--r-lg);background:var(--bg-secondary)}
.admin-wheels-table-wrap .data-table{min-width:680px;margin:0}
.admin-wheel-delete{display:inline-flex;align-items:center;gap:6px;padding:.45rem .65rem;border:1px solid color-mix(in srgb,var(--error) 30%,var(--border-color));border-radius:var(--r-sm);background:color-mix(in srgb,var(--error) 7%,var(--bg-secondary));color:var(--error);font-size:.67rem;font-weight:750;cursor:pointer}
.admin-wheel-delete:hover{background:color-mix(in srgb,var(--error) 14%,var(--bg-secondary))}
.admin-wheels-empty{display:grid;justify-items:center;gap:var(--s3);padding:clamp(2rem,6vw,4rem) var(--s5);border:1px dashed color-mix(in srgb,var(--text-primary) 24%,var(--border-color));border-radius:var(--r-xl);background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--brand-primary) 9%,var(--bg-secondary)),var(--bg-secondary) 70%);text-align:center}
.admin-wheels-empty-icon{width:56px;height:56px;font-size:1.35rem}
.admin-wheels-empty h2{margin:0;color:var(--text-primary);font-family:var(--f-head);font-size:1.35rem}
.admin-wheels-empty p{max-width:630px;margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.65}
.admin-wheels-empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}
.admin-wheels-empty-actions .btn{display:inline-flex;align-items:center;gap:var(--s2)}
@media(max-width:560px){
  .admin-wheels-overview{align-items:flex-start;padding:var(--s4)}
  .admin-wheels-overview-icon{flex-basis:38px;width:38px;height:38px}
  .admin-wheels-limit{font-size:.58rem}
  .admin-wheels-empty{padding:2rem var(--s4)}
  .admin-wheels-empty-actions{width:100%}
  .admin-wheels-empty-actions .btn{width:100%;justify-content:center}
}
