:root{
  --navy:#1f3a5f; --blue:#2e5e8c; --accent:#3aa0ff; --go:#2e7d32; --go2:#43a047;
  --ink:#1b2430; --muted:#6b7785; --line:#e2e8f0; --bg:#f6f8fb; --card:#fff;
  --radius:14px; --shadow:0 1px 3px rgba(20,40,80,.08),0 8px 24px rgba(20,40,80,.06);
  --max:980px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:1.9rem;line-height:1.2;margin:.6em 0 .3em}
h2{font-size:1.3rem;margin:1.6em 0 .5em}
h3{font-size:1rem;margin:0}
.muted{color:var(--muted)}
.lede{font-size:1.12rem;color:#36424f}

/* header / footer */
.site-header{background:var(--navy);color:#fff}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 18px}
.brand{color:#fff;font-weight:700;font-size:1.15rem}
.brand .dice{color:var(--accent)}
.nav a{color:#cfe0f5;margin-left:16px;font-size:.95rem}
.install-btn{margin-left:16px;background:var(--accent);color:#06243f;border:0;border-radius:8px;padding:7px 12px;font-weight:700;font-size:.9rem;cursor:pointer}
.install-btn:hover{filter:brightness(1.08)}
.site-footer{margin-top:48px;padding:28px 0;background:#0f1c2e;color:#aebfd2}
.site-footer p{margin:.2em 0}

/* breadcrumbs */
.crumbs{font-size:.85rem;color:var(--muted);margin-top:16px}
.crumbs a{color:var(--muted)}

/* cards / grids */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin:18px 0}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:14px 0}
.tool-card,.cat-card,.mini-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:transform .12s,box-shadow .12s}
.tool-card:hover,.cat-card:hover,.mini-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);text-decoration:none}
.tool-name{font-weight:600;color:var(--ink)}
.tool-meta{font-size:.8rem;color:var(--muted)}
.mini-card{flex-direction:row;align-items:center}

/* generator widget */
.generator{padding-top:26px}
.result-stage{min-height:96px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#f3f8ff,#eef4fc);border:1px dashed #c9dbf2;border-radius:12px;padding:18px}
.result{font-size:2rem;font-weight:800;color:var(--navy);word-break:break-word}
.result.pop{animation:pop .28s ease}
@keyframes pop{0%{transform:scale(.86);opacity:.3}60%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}
.result-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.result-list li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-weight:600}

.primary-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.btn{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:11px 16px;font-size:1rem;font-weight:600;transition:filter .1s,transform .05s}
.btn:hover{filter:brightness(.98)}
.btn:active{transform:translateY(1px)}
.btn-go{background:linear-gradient(180deg,var(--go2),var(--go));border-color:var(--go);color:#fff;font-size:1.05rem;padding:12px 26px}
.btn-ghost{background:#f4f7fb}

.options{margin:8px 0 4px}
.options summary{cursor:pointer;font-weight:600;color:var(--muted)}
.opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:12px}
.opt{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}
.opt-check{flex-direction:row;align-items:center;gap:6px}
.opt input[type=number],.opt select{padding:8px;border:1px solid var(--line);border-radius:8px;font-size:.95rem;color:var(--ink)}

.panes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.pane{background:#fafcff;border:1px solid var(--line);border-radius:10px;padding:12px}
.pane-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.history,.favorites{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto;font-size:.92rem}
.history li,.favorites li{padding:4px 0;border-bottom:1px solid #eef2f7}
.history .empty,.favorites .empty{color:var(--muted);border:0}
.link{background:none;border:0;color:var(--blue);cursor:pointer;font-size:.85rem;padding:0}
.kbd-hint{font-size:.82rem;color:var(--muted);margin:14px 0 0}
kbd{background:#eef2f7;border:1px solid #d6dee8;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:.8rem}

/* prose */
.prose{max-width:72ch}
.use-cases{padding-left:1.1em}
.use-cases li{margin:.3em 0}
.faq details,.faq summary{margin:.4em 0}
.faq summary{cursor:pointer;font-weight:600}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px}

/* hero / filter */
.hero{text-align:center;padding:36px 0 8px}
.filter{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;margin:8px 0 18px;font-size:1rem}
.catalog-group{margin:22px 0}

/* ad slots (inert until enabled) */
.ad-slot{min-height:0}
.ad-slot:empty{display:none}
.ad-header,.ad-footer{max-width:var(--max);margin:10px auto;padding:0 18px}
.ad-in_content{margin:18px 0}

/* wheel */
.wheel-app{display:grid;grid-template-columns:440px 1fr;gap:24px;align-items:start}
.wheel-stage{position:relative;width:420px;height:420px}
.wheel-canvas{width:420px;height:420px;border-radius:50%;box-shadow:var(--shadow)}
.wheel-spin{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:3px solid #fff;background:var(--navy);color:#fff;font-weight:800;cursor:pointer;font-size:.85rem;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.wheel-spin:hover{filter:brightness(1.1)}
.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:26px solid var(--go);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));z-index:2}
.wheel-side{display:flex;flex-direction:column;gap:10px}
.winner{font-size:1.4rem;font-weight:800;color:var(--navy);background:#eaf7ee;border:1px solid #bfe6c9;border-radius:10px;padding:10px 14px;text-align:center}
.wheel-controls{display:flex;flex-wrap:wrap;gap:8px}
.wheel-entries{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;resize:vertical}
.wheel-entries-label{font-weight:600;color:var(--muted);font-size:.9rem}

@media(max-width:760px){ .wheel-app{grid-template-columns:1fr;justify-items:center} }
@media(max-width:640px){
  .panes{grid-template-columns:1fr}
  .result{font-size:1.6rem}
  h1{font-size:1.5rem}
  .wheel-stage,.wheel-canvas{width:320px;height:320px}
}

.tips{padding-left:1.1em}
.tips li{margin:.3em 0}
