/* ═══════════════════════════════════════════════════════
   HTML Color Hex — Main Stylesheet
   ═══════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#ffffff;
  --surface:#f7f6f3;
  --surface2:#eeedea;
  --border:rgba(0,0,0,0.09);
  --border2:rgba(0,0,0,0.16);
  --text:#1a1916;
  --muted:#6b6966;
  --muted2:#a09e9a;
  --accent:#ff5c3a;
  --accent-h:#e84e2e;
  --accent-bg:rgba(255,92,58,0.10);
  --green:#16a34a;--green-bg:#dcfce7;
  --red:#dc2626;--red-bg:#fee2e2;
  --amber:#d97706;--amber-bg:#fef3c7;
  --blue:#2563eb;--blue-bg:#dbeafe;
  --font-d:'Playfair Display',Georgia,serif;
  --font-b:'DM Sans',sans-serif;
  --font-m:'DM Mono',monospace;
  --r:10px;--rl:16px;--rxl:20px;
  --sh:0 2px 12px rgba(0,0,0,.07);
  --sh-lg:0 8px 32px rgba(0,0,0,.10);
  --max:1320px;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-b);font-size:16px;line-height:1.6;overflow-x:hidden;padding-bottom:64px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
input,select,textarea,button{font-family:var(--font-b)}

/* ── Layout ── */
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
.with-sidebar{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:80px}

/* ── Ads ── */
.ad-zone{background:var(--surface);border:1.5px dashed rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;color:var(--muted2);font-size:11px;font-family:var(--font-m);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r);overflow:hidden}
.ad-leaderboard{width:100%;height:90px;border-radius:0;border-left:none;border-right:none;border-top:none}
.ad-rect{width:300px;height:250px}
.ad-inline{width:100%;height:90px;margin:2rem 0}
.ad-sticky{position:fixed;bottom:0;left:0;right:0;height:64px;z-index:999;background:rgba(255,255,255,.97);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);padding:0 16px}
.ad-close{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:11px;padding:3px 10px;border-radius:6px;cursor:pointer}

/* ── Header ── */
#hdr{border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.nav-wrap{display:flex;align-items:center;height:62px;gap:16px}
.logo{font-family:var(--font-d);font-size:20px;font-weight:900;letter-spacing:-.5px;flex-shrink:0;white-space:nowrap}
.logo span{color:var(--accent)}
.nav-links{display:flex;gap:0;flex:1}
.nav-link{font-size:13px;font-weight:600;color:var(--muted);padding:6px 10px;border-radius:var(--r);transition:color .2s,background .2s;white-space:nowrap;display:flex;align-items:center;gap:3px}
.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface)}
.nav-dd{position:relative}
.nav-dd-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border);border-radius:var(--rl);box-shadow:var(--sh-lg);min-width:190px;padding:8px;z-index:200;margin-top:0;padding-top:16px}
.nav-dd::after{content:'';position:absolute;bottom:-12px;left:0;right:0;height:12px}
/* dropdown open/close handled by JS in main.js */
.nav-dd-menu a{display:block;font-size:13px;padding:8px 12px;border-radius:var(--r);color:var(--muted);transition:color .2s,background .2s}
.nav-dd-menu a:hover{color:var(--text);background:var(--surface)}
.nav-search{display:none}
.nav-search:focus-within{border-color:var(--accent)}
.nav-search input{background:none;border:none;outline:none;color:var(--text);font-size:13.5px;width:100%;padding:8px 0}
.nav-search input::placeholder{color:var(--muted2)}
.nav-actions{display:flex;gap:6px;flex-shrink:0}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}

/* ── Buttons ── */
.btn{font-size:14px;font-weight:500;padding:9px 20px;border-radius:var(--r);cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-h);transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1px solid var(--border2);color:var(--muted)}
.btn-ghost:hover{color:var(--text);background:var(--surface)}
.btn-sm{padding:6px 14px;font-size:13px}
.btn-lg{padding:13px 30px;font-size:15px;border-radius:12px}
.btn-outline{background:transparent;border:1.5px solid var(--border2);color:var(--text);font-size:15px;font-weight:500;padding:12px 26px;border-radius:12px;cursor:pointer;transition:all .2s;display:inline-block}
.btn-outline:hover{background:var(--surface)}
.btn-full{width:100%;justify-content:center}

/* ── Forms ── */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:5px}
.form-control{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:10px 14px;font-size:14px;color:var(--text);outline:none;transition:border-color .2s}
.form-control:focus{border-color:var(--accent);background:#fff}
.form-control::placeholder{color:var(--muted2)}
textarea.form-control{resize:vertical;min-height:100px}
select.form-control{cursor:pointer}
.form-hint{font-size:12px;color:var(--muted2);margin-top:4px}
.form-err{font-size:12px;color:var(--red);margin-top:4px}

/* ── Flash ── */
.flash{padding:12px 18px;border-radius:var(--r);font-size:14px;margin-bottom:16px}
.flash-success{background:var(--green-bg);color:var(--green);border:1px solid #bbf7d0}
.flash-error{background:var(--red-bg);color:var(--red);border:1px solid #fecaca}
.flash-warning{background:var(--amber-bg);color:var(--amber);border:1px solid #fde68a}
.flash-info{background:var(--blue-bg);color:var(--blue);border:1px solid #bfdbfe}
.flash-wrap{padding:12px 0}

/* ── Sections ── */
.section{padding:56px 0}
.section-sm{padding:32px 0}
.sec-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px}
.sec-title{font-family:var(--font-d);font-size:26px;font-weight:700;letter-spacing:-.5px}
.sec-link{font-size:13px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:1px;transition:color .2s}
.sec-link:hover{color:var(--text)}

/* ── Hero ── */
.hero{padding:72px 0 56px;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 65% 50%,rgba(255,92,58,.06),transparent 70%),radial-gradient(ellipse 50% 60% at 15% 80%,rgba(12,184,154,.04),transparent 60%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--accent-bg);border:1px solid rgba(255,92,58,.22);color:var(--accent);font-size:11px;font-weight:500;padding:4px 14px;border-radius:100px;margin-bottom:20px;text-transform:uppercase;letter-spacing:.04em}
.hero h1{font-family:var(--font-d);font-size:clamp(34px,5vw,60px);font-weight:900;line-height:1.07;letter-spacing:-2px;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-sub{font-size:17px;color:var(--muted);max-width:480px;margin-bottom:32px;font-weight:300;line-height:1.75}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.quick-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tag-lbl{font-size:12px;color:var(--muted2)}
.qtag{font-size:12px;font-family:var(--font-m);background:var(--surface);border:1px solid var(--border);padding:4px 12px;border-radius:100px;color:var(--muted);cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}
.qtag:hover{border-color:var(--accent);color:var(--accent)}

/* ── Picker card ── */
.picker-card{background:#fff;border:1px solid var(--border);border-radius:var(--rxl);padding:24px;box-shadow:var(--sh-lg)}
.picker-swatch{width:100%;height:120px;border-radius:12px;margin-bottom:16px;cursor:pointer;position:relative;overflow:hidden;transition:background .25s}
.picker-swatch::after{content:'↻ Click to randomize';position:absolute;bottom:8px;right:10px;font-size:10px;color:rgba(255,255,255,.65);font-family:var(--font-m)}
.picker-vals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.pval{background:var(--surface);border-radius:8px;padding:8px 10px;cursor:pointer;transition:border-color .2s;border:1px solid transparent}
.pval:hover{border-color:var(--accent)}
.pval label{display:block;font-size:10px;color:var(--muted2);font-family:var(--font-m);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;pointer-events:none}
.pval span{font-size:12px;font-family:var(--font-m);color:var(--text)}
.picker-shades{display:flex;gap:3px;height:28px;margin-bottom:12px}
.shade-dot{flex:1;border-radius:5px;cursor:pointer;transition:transform .15s}
.shade-dot:hover{transform:scaleY(1.15)}
.picker-harmonies{display:flex;gap:6px;align-items:center;margin-bottom:14px}
.h-dot{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.7);box-shadow:0 2px 6px rgba(0,0,0,.12);transition:transform .15s}
.h-dot:hover{transform:scale(1.15)}
.picker-btns{display:flex;gap:8px}
.picker-btn{flex:1;padding:9px;font-size:12px;border-radius:8px;cursor:pointer;font-family:var(--font-m);border:1px solid var(--border);background:var(--surface);color:var(--muted);transition:all .2s}
.picker-btn:hover{color:var(--text);border-color:var(--border2)}
.picker-btn.primary{background:var(--accent);color:#fff;border-color:transparent}
.picker-btn.primary:hover{background:var(--accent-h)}

/* ── Stats bar ── */
.stats-bar{padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-inner{display:flex;gap:40px;align-items:center;flex-wrap:wrap}
.stat-num{font-family:var(--font-d);font-size:24px;font-weight:700;line-height:1}
.stat-lbl{font-size:12px;color:var(--muted);margin-top:2px}
.stat-div{width:1px;height:32px;background:var(--border);flex-shrink:0}

/* ── Cards generic ── */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.card-body{padding:20px}

/* ── Palette cards ── */
.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:16px}
.pal-card{background:#fff;border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;cursor:pointer;transition:all .2s;display:block;color:inherit;text-decoration:none}
.pal-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.pal-swatches{display:flex;height:76px}
.pal-swatches div{flex:1}
.pal-meta{padding:12px 16px}
.pal-name{font-size:14px;font-weight:500;margin-bottom:5px}
.pal-row{display:flex;justify-content:space-between;align-items:center}
.pal-author{font-size:12px;color:var(--muted)}
.pal-likes{font-size:12px;color:var(--muted)}
.pal-hexes{padding:0 16px 12px;display:flex;gap:4px;flex-wrap:wrap}
.hex-chip{font-size:10px;font-family:var(--font-m);background:var(--surface);padding:2px 7px;border-radius:4px;color:var(--muted);cursor:pointer;transition:color .2s}
.hex-chip:hover{color:var(--text)}

/* ── Color grid ── */
.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.color-card{border-radius:var(--r);overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:transform .2s,box-shadow .2s;display:block;text-decoration:none;color:inherit}
.color-card:hover{transform:scale(1.05);box-shadow:var(--sh)}
.cc-sw{height:72px}
.cc-info{background:#fff;padding:7px 9px}
.cc-hex{font-family:var(--font-m);font-size:10px;color:var(--muted)}
.cc-name{font-size:11px;color:var(--text);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Tool cards ── */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);padding:22px;transition:all .2s;display:block;text-decoration:none;color:inherit}
.tool-card:hover{box-shadow:var(--sh-lg);transform:translateY(-2px);border-color:var(--border2)}
.tool-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.tool-name{font-size:15px;font-weight:500;margin-bottom:5px}
.tool-desc{font-size:13px;color:var(--muted);line-height:1.55}

/* ── Sidebar widgets ── */
.sw{background:#fff;border:1px solid var(--border);border-radius:var(--rl);padding:20px}
.sw-title{font-size:11px;font-weight:500;color:var(--muted2);text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-m);margin-bottom:16px}
.trend-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:5px 0;text-decoration:none;color:inherit}
.trend-sw{width:34px;height:34px;border-radius:8px;flex-shrink:0}
.trend-hex{font-family:var(--font-m);font-size:12px;color:var(--muted);transition:color .2s}
.trend-name{font-size:13px;color:var(--text)}
.trend-row:hover .trend-hex{color:var(--text)}
.tags-cloud{display:flex;gap:6px;flex-wrap:wrap}
.tag-pill{font-size:12px;font-family:var(--font-m);background:var(--surface);border:1px solid var(--border);padding:4px 12px;border-radius:100px;color:var(--muted);cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}
.tag-pill:hover{border-color:var(--accent);color:var(--accent)}

/* ── Tabs ── */
.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:4px;width:fit-content;margin-bottom:24px}
.tab-btn{padding:7px 18px;border-radius:8px;font-size:13px;cursor:pointer;color:var(--muted);transition:all .2s;border:none;background:none;font-family:var(--font-b)}
.tab-btn.active{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.tab-btn:hover:not(.active){color:var(--text)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* ── Color of the day ── */
.cotd{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;display:grid;grid-template-columns:1fr 1fr}
.cotd-sw{min-height:200px;position:relative}
.cotd-sw::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 60%)}
.cotd-info{padding:32px}
.cotd-tag{font-size:11px;color:var(--muted);font-family:var(--font-m);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.cotd-name{font-family:var(--font-d);font-size:28px;font-weight:700;margin-bottom:6px;letter-spacing:-.5px}
.cotd-hex{font-family:var(--font-m);font-size:15px;color:var(--muted);margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.chip{font-size:11px;font-family:var(--font-m);background:#fff;border:1px solid var(--border);padding:4px 10px;border-radius:6px;color:var(--muted)}

/* ── Artist cards ── */
.artists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.artist-card{background:#fff;border:1px solid var(--border);border-radius:var(--rl);padding:20px;text-align:center;transition:all .2s;display:block;text-decoration:none;color:inherit}
.artist-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px);border-color:var(--border2)}
.a-av{width:56px;height:56px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;font-family:var(--font-d)}
.a-name{font-size:14px;font-weight:500;margin-bottom:2px}
.a-handle{font-size:12px;color:var(--muted);margin-bottom:10px}
.a-mini{display:flex;gap:4px;justify-content:center}
.a-dot{width:22px;height:22px;border-radius:50%}

/* ── Blog cards ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;transition:all .2s;display:block;text-decoration:none;color:inherit}
.blog-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.blog-thumb{height:130px;display:flex;align-items:center;justify-content:center;font-size:36px;background:var(--surface)}
.blog-body{padding:18px}
.blog-tag{font-size:11px;font-family:var(--font-m);color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.blog-title{font-family:var(--font-d);font-size:17px;font-weight:700;margin-bottom:7px;line-height:1.35}
.blog-exc{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:10px}
.blog-date{font-size:11px;color:var(--muted2);font-family:var(--font-m)}

/* ── CTA Banner ── */
.cta-banner{background:linear-gradient(135deg,#fff8f6,#fff4f0);border:1.5px solid rgba(255,92,58,.2);border-radius:var(--rxl);padding:56px;text-align:center;position:relative;overflow:hidden;margin-bottom:56px}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(255,92,58,.05),transparent)}
.cta-banner h2{font-family:var(--font-d);font-size:36px;font-weight:900;letter-spacing:-1px;position:relative;margin-bottom:10px}
.cta-banner p{font-size:16px;color:var(--muted);position:relative;margin-bottom:24px}
.cta-btns{display:flex;gap:10px;justify-content:center;position:relative;flex-wrap:wrap}

/* ── Color detail ── */
.color-hero-swatch{border-radius:var(--rxl);margin-bottom:28px;position:relative;overflow:hidden}
.color-hero-swatch::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 60%)}
.val-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:24px}
.val-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;cursor:pointer;transition:border-color .2s}
.val-card:hover{border-color:var(--accent)}
.val-lbl{font-size:10px;color:var(--muted2);font-family:var(--font-m);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.val-val{font-size:13px;font-family:var(--font-m);font-weight:500}
.shades-row{display:flex;gap:6px;flex-wrap:wrap}
.shade-box{flex:1;min-width:44px;height:48px;border-radius:var(--r);cursor:pointer;transition:transform .15s;border:1px solid var(--border)}
.shade-box:hover{transform:scale(1.08)}

/* ── Pagination ── */
.pagination{display:flex;gap:6px;justify-content:center;padding:32px 0;flex-wrap:wrap}
.page-btn{padding:8px 14px;border-radius:var(--r);border:1px solid var(--border);font-size:14px;color:var(--muted);background:#fff;transition:all .2s;text-decoration:none;display:inline-block}
.page-btn:hover{border-color:var(--border2);color:var(--text)}
.page-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ── Auth ── */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--surface)}
.auth-card{background:#fff;border:1px solid var(--border);border-radius:var(--rxl);padding:40px;width:100%;max-width:420px;box-shadow:var(--sh-lg)}
.auth-logo{font-family:var(--font-d);font-size:22px;font-weight:900;text-align:center;margin-bottom:8px}
.auth-logo span{color:var(--accent)}
.auth-title{font-family:var(--font-d);font-size:24px;font-weight:700;text-align:center;margin-bottom:6px}
.auth-sub{font-size:14px;color:var(--muted);text-align:center;margin-bottom:28px}
.auth-div{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted2);font-size:12px}
.auth-div::before,.auth-div::after{content:'';flex:1;height:1px;background:var(--border)}
.auth-switch{text-align:center;font-size:14px;color:var(--muted);margin-top:20px}
.auth-switch a{color:var(--accent);font-weight:500}

/* ── Dashboard ── */
.dash-wrap{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 62px)}
.dash-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 10px}
.dash-nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r);color:var(--muted);font-size:14px;margin-bottom:2px;transition:all .18s;text-decoration:none}
.dash-nav a:hover{background:#fff;color:var(--text)}
.dash-nav a.active{background:var(--accent-bg);color:var(--accent)}
.dash-content{padding:32px;overflow-y:auto}
.dash-title{font-family:var(--font-d);font-size:26px;font-weight:700;margin-bottom:6px}
.dash-sub{font-size:14px;color:var(--muted);margin-bottom:28px}
.dash-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:28px}
.dm{background:#fff;border:1px solid var(--border);border-radius:var(--rl);padding:18px}
.dm-lbl{font-size:11px;color:var(--muted2);font-family:var(--font-m);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.dm-val{font-size:26px;font-weight:600;font-family:var(--font-d);letter-spacing:-.5px}

/* ── Admin ── */
.admin-wrap{display:flex;min-height:100vh}
.admin-sb{width:240px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:sticky;top:0}
.admin-sb::-webkit-scrollbar{width:0}
.admin-logo{padding:20px;border-bottom:1px solid var(--border);font-family:var(--font-d);font-size:17px;font-weight:700}
.admin-logo span{color:var(--accent)}
.admin-logo small{display:block;font-size:10px;font-family:var(--font-m);color:var(--muted2);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.admin-sec{font-size:9px;color:var(--muted2);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-m);padding:16px 16px 4px}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:9px 14px;margin:1px 8px;border-radius:var(--r);color:var(--muted);font-size:13px;transition:all .18s;text-decoration:none}
.admin-nav a:hover{background:var(--surface);color:var(--text)}
.admin-nav a.active{background:var(--accent-bg);color:var(--accent)}
.admin-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:9px;font-family:var(--font-m);padding:1px 6px;border-radius:100px}
.admin-badge.green{background:var(--green)}
.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--surface)}
.admin-topbar{height:58px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:16px;flex-shrink:0;position:sticky;top:0;z-index:10}
.admin-topbar-title{font-size:16px;font-weight:600}
.admin-content{flex:1;padding:28px;overflow-y:auto}
.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.adm-metric{background:#fff;border:1px solid var(--border);border-radius:var(--rl);padding:18px;position:relative}
.adm-metric::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--rl) var(--rl) 0 0}
.adm-metric.c-accent::before{background:var(--accent)}
.adm-metric.c-green::before{background:var(--green)}
.adm-metric.c-blue::before{background:var(--blue)}
.adm-metric.c-amber::before{background:var(--amber)}
.adm-lbl{font-size:11px;color:var(--muted2);font-family:var(--font-m);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.adm-val{font-size:26px;font-weight:600;font-family:var(--font-d);letter-spacing:-.5px}
.adm-delta{font-size:11px;color:var(--green);margin-top:4px}
.admin-card{background:#fff;border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;margin-bottom:20px}
.admin-card-hd{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.admin-card-title{font-size:14px;font-weight:600}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{padding:10px 16px;font-size:10px;font-family:var(--font-m);text-transform:uppercase;letter-spacing:.06em;color:var(--muted2);text-align:left;border-bottom:1px solid var(--border);font-weight:400;background:var(--surface)}
.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--surface)}
.sbadge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-family:var(--font-m);padding:3px 8px;border-radius:100px;font-weight:500}
.s-active{background:var(--green-bg);color:var(--green)}
.s-pending{background:var(--amber-bg);color:var(--amber)}
.s-suspended{background:var(--red-bg);color:var(--red)}
.s-published{background:var(--green-bg);color:var(--green)}
.s-draft{background:var(--surface2);color:var(--muted)}
.act-btn{padding:4px 10px;border-radius:6px;font-size:11px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-family:var(--font-b);transition:all .15s;text-decoration:none;display:inline-block}
.act-btn:hover{color:var(--text);border-color:var(--border2)}
.act-btn.accent:hover{color:var(--accent);border-color:rgba(255,92,58,.3)}
.act-btn.danger:hover{color:var(--red);border-color:rgba(220,38,38,.3)}
.toggle-sw{position:relative;width:36px;height:20px;flex-shrink:0}
.toggle-sw input{opacity:0;width:0;height:0;position:absolute}
.toggle-track{position:absolute;inset:0;background:var(--surface2);border-radius:10px;cursor:pointer;transition:background .2s;border:1px solid var(--border)}
.toggle-sw input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}
.toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle-sw input:checked~.toggle-thumb{transform:translateX(16px)}

/* ── Footer ── */
.site-footer{border-top:1px solid var(--border);padding:48px 0 32px;color:var(--muted);margin-top:56px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px}
.footer-brand p{font-size:13px;line-height:1.7;max-width:220px;color:var(--muted)}
.footer-logo{font-family:var(--font-d);font-size:18px;font-weight:900;margin-bottom:12px}
.footer-logo span{color:var(--accent)}
.footer-col h4{font-size:13px;font-weight:500;color:var(--text);margin-bottom:12px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.footer-col li a{font-size:13px;color:var(--muted);transition:color .2s}
.footer-col li a:hover{color:var(--text)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:20px}
.footer-bottom p{font-size:12px}
.socials{display:flex;gap:8px}
.social-btn{width:32px;height:32px;border-radius:8px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);font-size:13px;transition:all .2s;text-decoration:none}
.social-btn:hover{color:var(--text);border-color:var(--border2)}

/* ── Responsive ── */
@media(max-width:1100px){.with-sidebar{grid-template-columns:1fr}.sidebar{position:static}.ad-rect{width:100%}.footer-grid{grid-template-columns:1fr 1fr 1fr}.admin-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.hero-grid{grid-template-columns:1fr}.cotd{grid-template-columns:1fr}.cotd-sw{min-height:140px}.footer-grid{grid-template-columns:1fr 1fr}.dash-wrap{grid-template-columns:1fr}.dash-sidebar{display:none}.nav-links,.nav-search{display:none}.burger{display:flex}.admin-sb{display:none}.admin-metrics{grid-template-columns:1fr}}
@media(max-width:560px){.hero h1{font-size:32px}.footer-grid{grid-template-columns:1fr}.cta-banner{padding:32px 20px}.cta-banner h2{font-size:26px}.stats-inner{gap:20px}}


/* ═══════════════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE — tools & pages
   ═══════════════════════════════════════════════════════════ */

/* Utility: responsive 2-col grid → 1-col on mobile */
.grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.grid-side  { display: grid; grid-template-columns: 1fr 320px; gap: 32px; align-items: start; }
.grid-side-lg { display: grid; grid-template-columns: 1fr 360px; gap: 32px; align-items: start; }

/* Overflow guard — prevents any page from being wider than viewport */
.container { box-sizing: border-box; }

@media (max-width: 768px) {
  /* ── Core fix: nothing should overflow on mobile ── */
  html, body { overflow-x: hidden; max-width: 100vw; }
  .container  { padding-left: 16px !important; padding-right: 16px !important; }

  /* ── Utility grids collapse ── */
  .grid-2col, .grid-side, .grid-side-lg { grid-template-columns: 1fr !important; gap: 20px; }

  /* ── Tool pages: all inline grids collapse ── */
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  [style*="grid-template-columns:1fr 340px"],
  [style*="grid-template-columns: 1fr 340px"],
  [style*="grid-template-columns:1fr 360px"],
  [style*="grid-template-columns: 1fr 360px"],
  [style*="grid-template-columns:1fr auto 1fr"],
  [style*="grid-template-columns: 1fr auto 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  /* ── Tool headings ── */
  h1[style*="font-size:32px"],
  h1[style*="font-size: 32px"] { font-size: 24px !important; letter-spacing: -.3px !important; }

  /* ── Color picker ── */
  #pickerSwatch { height: 130px !important; }

  /* ── Buttons: wrap on small screens ── */
  [style*="display:flex"][style*="gap:8px"] > .btn,
  .btn-row { flex-wrap: wrap; }

  /* ── Val cards: keep 2 per row on mobile ── */
  .val-grid { grid-template-columns: 1fr 1fr !important; }

  /* ── Shades row: smaller on mobile ── */
  #shadesRow { height: 40px !important; }

  /* ── Color wheel canvas ── */
  #colorWheelCanvas { max-width: 280px !important; max-height: 280px !important; }

  /* ── Gradient maker preview ── */
  #gradPreview { height: 180px !important; }

  /* ── Contrast checker ── */
  #previewBox { min-height: 120px !important; }

  /* ── Color mixer ── */
  .mix-arrow { display: none; }

  /* ── Tables: horizontal scroll ── */
  .table-wrap, table { overflow-x: auto; display: block; max-width: 100%; }

  /* ── hex-chip: smaller on mobile ── */
  .hex-chip { font-size: 10px !important; padding: 2px 6px !important; }

  /* ── Sticky panels: disable sticky on mobile ── */
  [style*="position:sticky"],
  [style*="position: sticky"] { position: static !important; top: auto !important; }

  /* ── Harmonies: stack label + swatches ── */
  #harmoniesPanel > div { flex-wrap: wrap !important; }

  /* ── color-mixer 3-col → stack ── */
  [style*="grid-template-columns:1fr auto 1fr"] > div:nth-child(2) {
    text-align: center;
  }

  /* ── Page padding ── */
  [style*="padding-top:40px"] { padding-top: 24px !important; }
  [style*="padding-bottom:40px"] { padding-bottom: 32px !important; }
  [style*="padding-top:60px"] { padding-top: 32px !important; }
  [style*="padding-bottom:60px"] { padding-bottom: 40px !important; }

  /* ── Hero section ── */
  .hero { padding: 40px 0 32px !important; }
  .hero h1 { font-size: 26px !important; letter-spacing: -.3px !important; }
  .hero-ctas { flex-wrap: wrap !important; gap: 10px !important; }
  .hero-ctas .btn { width: 100% !important; justify-content: center; }

  /* ── cotd hero ── */
  .cotd { gap: 20px !important; }
  .cotd-name { font-size: 20px !important; }

  /* ── Stats bar ── */
  .stats-inner { flex-wrap: wrap !important; gap: 16px !important; }
  .stat-item { flex: 1; min-width: 120px; }

  /* ── Footer ── */
  .footer-grid { grid-template-columns: 1fr 1fr !important; }

  /* ── Color page ── */
  .color-hero { min-height: 140px !important; }
  .color-meta { flex-wrap: wrap !important; gap: 8px !important; }
  .color-vals { grid-template-columns: 1fr 1fr !important; }

  /* ── Palettes grid ── */
  .palettes-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }

  /* ── Blog grid ── */
  .blog-grid { grid-template-columns: 1fr !important; }

  /* ── Color names table ── */
  .names-table th, .names-table td { padding: 8px 6px !important; font-size: 12px !important; }

  /* ── Search results ── */
  .search-results { grid-template-columns: 1fr 1fr !important; }

  /* ── Admin hidden on mobile (handled elsewhere) ── */
}

@media (max-width: 480px) {
  .container { padding-left: 12px !important; padding-right: 12px !important; }
  .val-grid { grid-template-columns: 1fr !important; }
  .palettes-grid { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr !important; }
  .btn-row, [style*="display:flex;gap:8px"] { flex-wrap: wrap !important; }
  .hero-ctas .btn { font-size: 14px !important; padding: 12px 18px !important; }
}
