/* 올픽픽 — 경량 단일 스타일시트 (프레임워크 없음, CLS 최소화, 라이트/다크) */
:root{
  --bg:#f5f6f8;--card:#fff;--soft:#f3f5f7;--ink:#101828;--ink2:#475467;--line:#e4e7ec;--muted:#7a8699;
  --accent:#12b76a;--accent-d:#0a8f52;--accent-ink:#05603a;--accent-soft:#e7f8ef;--on-accent:#fff;
  --up:#e5383b;--down:#1d6ce0;--ok:#11875d;--warn:#d97706;
  --r:14px;--shadow:0 1px 2px rgba(16,24,40,.05),0 6px 18px rgba(16,24,40,.05);
  --font:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  color-scheme:light;
}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){
  --bg:#0d1117;--card:#161b22;--soft:#1c232c;--ink:#e8edf3;--ink2:#b3bdc9;--line:#2b3440;--muted:#8a95a3;
  --accent:#2fd08a;--accent-d:#4fe0a0;--accent-ink:#b9f3d6;--accent-soft:#12301f;--on-accent:#04220f;
  --up:#ff6b6e;--down:#6aa8ff;--ok:#3ddc97;--shadow:0 1px 2px rgba(0,0,0,.4);color-scheme:dark;
}}
:root[data-theme=dark]{
  --bg:#0d1117;--card:#161b22;--soft:#1c232c;--ink:#e8edf3;--ink2:#b3bdc9;--line:#2b3440;--muted:#8a95a3;
  --accent:#2fd08a;--accent-d:#4fe0a0;--accent-ink:#b9f3d6;--accent-soft:#12301f;--on-accent:#04220f;
  --up:#ff6b6e;--down:#6aa8ff;--ok:#3ddc97;--shadow:0 1px 2px rgba(0,0,0,.4);color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font);word-break:keep-all;overflow-wrap:anywhere}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.muted{color:var(--muted);font-size:.88rem}
.center{text-align:center}

/* header */
.site-header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hdr{display:flex;align-items:center;gap:16px;height:60px}
.logo{font-weight:800;font-size:1.25rem;text-decoration:none;display:flex;align-items:center;gap:6px;white-space:nowrap}
.logo-mark{font-size:1.4rem}
.hdr-search{position:relative;flex:1;max-width:420px}
.hdr-search input{width:100%;height:40px;border:1px solid var(--line);border-radius:999px;padding:0 16px;background:var(--bg);font:inherit;font-size:.95rem}
.hdr-search input:focus{outline:2px solid var(--accent);background:var(--card)}
.search-pop{position:absolute;top:46px;left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:360px;overflow:auto}
.search-pop a{display:block;padding:10px 14px;text-decoration:none}
.search-pop a:hover,.search-pop a.on{background:var(--accent-soft)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:8px 10px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.93rem;color:var(--ink2);white-space:nowrap}
.nav a:hover{background:var(--accent-soft);color:var(--accent-ink)}
@media(max-width:1080px){.nav{display:none}.hdr-search{max-width:none}}

.main{padding:20px 16px 48px}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.crumbs a{text-decoration:none}
.h1{font-size:clamp(1.45rem,3.6vw,2rem);line-height:1.3;margin:4px 0 6px;letter-spacing:-.02em}
.lead{color:var(--ink2);margin:0 0 16px}
h2{font-size:1.25rem;letter-spacing:-.01em;margin:28px 0 12px}
h3{font-size:1.06rem;margin:20px 0 8px}

/* cards & grids */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.tcard{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;text-decoration:none;transition:.15s}
.tcard:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.ticon{grid-row:span 2;font-size:1.6rem;width:44px;height:44px;display:grid;place-items:center;background:var(--accent-soft);border-radius:12px}
.tname{font-weight:700}
.tdesc{font-size:.84rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sec{margin:32px 0}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.sec-h h2{margin:0 0 12px}
.sec-h a{font-size:.88rem;color:var(--muted);text-decoration:none;white-space:nowrap}

/* hero */
.hero{background:linear-gradient(135deg,var(--accent-soft),var(--card) 65%);border:1px solid var(--line);border-radius:20px;padding:32px 24px;margin-bottom:16px}
.hero h1{font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.3;margin:0 0 8px;letter-spacing:-.03em}
.hero h1 b{color:var(--accent-d)}
.hero p{color:var(--ink2);margin:0 0 16px}
.quick{display:flex;flex-wrap:wrap;gap:8px}
.quick a{background:var(--card);border:1px solid var(--line);padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem}
.quick a:hover{border-color:var(--accent)}

/* widgets */
.widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:900px){.widgets{grid-template-columns:1fr}}
.widget{padding:16px}
.widget h2{font-size:1.05rem}
.wlist{margin:0;padding:0;list-style:none;counter-reset:w}
.wlist li{display:flex;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.wlist li:last-child{border:0}
.wlist .n{width:22px;font-weight:800;color:var(--accent-d)}
.wlist a{text-decoration:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlist .t{color:var(--muted);font-size:.8rem}
.kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.kv:last-child{border:0}
.skeleton{height:120px;border-radius:10px;background:linear-gradient(90deg,var(--soft) 25%,var(--line) 50%,var(--soft) 75%);background-size:200% 100%;animation:sk 1.2s infinite;list-style:none}
@keyframes sk{to{background-position:-200% 0}}
.up{color:var(--up)}.down{color:var(--down)}

/* forms */
.tool{margin:16px 0}
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:.9rem;color:var(--ink2);font-weight:600}
.fld input,.fld select,.fld textarea,.rows input,.rows select,.toolbar input,.toolbar select{font:inherit;font-size:1.02rem;color:var(--ink);height:46px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--card);width:100%}
.fld textarea{height:auto;padding:12px;line-height:1.6;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus,.rows input:focus{outline:2px solid var(--accent);border-color:transparent}
.num{text-align:right;font-variant-numeric:tabular-nums}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:640px){.grid3{grid-template-columns:1fr 1fr}.grid3>:first-child{grid-column:span 2}}
.cards4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.mini{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--soft)}
.mini h3{margin:0 0 10px;font-size:1rem}
.ans{font-size:1.15rem;font-weight:800;color:var(--accent-d);min-height:1.6em}
.ans small{display:block;font-size:.82rem;font-weight:500;color:var(--muted)}
.chk{display:flex;gap:6px;align-items:center;font-size:.88rem;margin:-4px 0 8px}
.rows{margin-bottom:8px}
.row-h,.row{display:grid;grid-template-columns:1fr 1fr 36px;gap:8px;align-items:center}
.row-h{font-size:.82rem;color:var(--muted);font-weight:600;margin-bottom:4px}
.row{margin-bottom:8px}
.x{height:36px;width:36px;border:0;border-radius:8px;background:var(--soft);font-size:1.1rem;cursor:pointer}
.hint{font-size:.84rem;color:var(--muted);margin:-4px 0 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 18px;border-radius:10px;border:0;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{filter:brightness(.96)}
.btn.ghost{background:var(--card);border:1px solid var(--line);color:var(--ink2);font-weight:600}
.btn.toss{background:#3182f6;color:#fff}
.tool-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.toolbar input,.toolbar select{flex:1;min-width:160px;width:auto}

/* results */
.result:empty{display:none}
.result{margin-top:16px;border-radius:12px;background:var(--accent-soft);padding:16px}
.big-num{font-size:clamp(1.6rem,5vw,2.2rem);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.big-label{font-size:.88rem;color:var(--accent-ink);font-weight:600}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px}
.rgrid div{background:var(--card);border-radius:10px;padding:10px 12px}
.rgrid span{display:block;font-size:.8rem;color:var(--muted)}
.rgrid b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.note{font-size:.85rem;color:var(--ink2);margin:10px 0 0}
.bars{margin-top:12px}
.bar{display:grid;grid-template-columns:110px 1fr 64px;gap:8px;align-items:center;margin:6px 0;font-size:.9rem}
.bar .track{height:14px;background:var(--card);border-radius:7px;overflow:hidden}
.bar .fill{height:100%;background:var(--accent);border-radius:7px}
.bar em{font-style:normal;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}

/* tables */
.table-wrap{overflow-x:auto;margin-top:12px}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--card)}
.tbl th,.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left}
.tbl th{background:var(--soft);font-weight:700;color:var(--ink2);white-space:nowrap}
.tbl td.r,.tbl th.r{text-align:right;font-variant-numeric:tabular-nums}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--soft);padding:4px;border-radius:10px;margin-bottom:10px}
.seg button{border:0;background:transparent;padding:7px 12px;border-radius:8px;font:inherit;font-size:.9rem;font-weight:600;color:var(--ink2);cursor:pointer}
.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
.chart{margin-top:14px}
.chart svg{width:100%;height:auto;display:block}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;margin-top:6px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}
.src{margin-top:10px}

/* article & faq */
.article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 22px 18px;margin:20px 0}
.article p,.article li{color:var(--ink)}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:0 16px}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0}
.faq p{margin:0 0 14px;color:var(--ink2)}

/* ads */
.ad{margin:18px 0;min-height:100px;display:flex;justify-content:center;align-items:center}
.ad ins{width:100%}
.ad-ph{border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.8rem;background:var(--soft)}
.ad-multiplex{min-height:240px}

/* products */
.aff-note{font-size:.82rem;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.chips a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:.88rem;text-decoration:none;cursor:pointer;font-weight:600;color:var(--ink2)}
.chips a.on,.chips a:hover{background:var(--ink);color:var(--card);border-color:var(--ink)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.pcard{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;text-decoration:none;transition:.15s}
.pcard:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.pcard img{aspect-ratio:1;object-fit:contain;width:100%;border-radius:8px;background:#fff}
.prank{position:absolute;top:8px;left:8px;background:#101828;color:#fff;font-weight:800;font-size:.8rem;min-width:26px;height:26px;border-radius:8px;display:grid;place-items:center;padding:0 6px}
.pname{font-size:.88rem;margin:8px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.pprice{font-weight:800}
.pbadges{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.badge{font-size:.72rem;padding:2px 6px;border-radius:6px;background:#eef3ff;color:#1d4ed8;font-weight:700}
.badge.rocket{background:#e8f0ff;color:#0a58ff}
.badge.sale{background:#ffe9e9;color:var(--up)}
.empty{padding:40px 16px;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:12px}
.shop-widget:empty{display:none}
.shop-widget h2{font-size:1.05rem}

/* score ranking (nosearch style) */
.sample{font-style:normal;font-size:.7em;background:#ffe1e1;color:#b42318;border-radius:6px;padding:2px 8px;vertical-align:middle}
.rank-ui{position:sticky;top:60px;background:var(--bg);z-index:5;padding:8px 0}
.rlist{display:flex;flex-direction:column;gap:12px}
.rcard{display:grid;grid-template-columns:44px 120px 1fr 190px;gap:16px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.rrank{font-size:1.6rem;font-weight:900;color:var(--accent-d);text-align:center}
.rcard img{border-radius:10px;background:var(--card);aspect-ratio:1;object-fit:contain}
.rbody h3{margin:0 0 4px}
.rbody h3 small{font-weight:500;color:var(--muted);font-size:.8rem}
.rsum{margin:0 0 10px;color:var(--ink2);font-size:.92rem}
.rscores{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:center}
.rtotal{background:var(--accent-soft);border-radius:12px;text-align:center;padding:10px 4px}
.rtotal b{display:block;font-size:1.7rem;line-height:1.1;color:var(--accent-d)}
.rtotal span{font-size:.75rem;color:var(--accent-ink)}
.rscores ul{list-style:none;margin:0;padding:0}
.rscores li{display:grid;grid-template-columns:52px 1fr 30px;gap:8px;align-items:center;font-size:.84rem;margin:3px 0}
.rscores li.on span:first-child{font-weight:800;color:var(--ink)}
.rscores em{font-style:normal;text-align:right;font-weight:700}
.sbar{height:8px;background:var(--soft);border-radius:4px;overflow:hidden}
.sbar i{display:block;height:100%;background:var(--accent);border-radius:4px}
.rspec{margin-top:10px;font-size:.9rem}
.rspec summary{cursor:pointer;color:var(--ink2);font-weight:600}
.pros{color:var(--ok);margin:8px 0 0}.cons{color:#b42318;margin:4px 0 0}
.rbuy{display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:right}
.rprice{font-size:1.2rem;font-weight:800}
.rprice small{display:block;font-size:.72rem;color:var(--muted);font-weight:500}
@media(max-width:800px){.rcard{grid-template-columns:36px 90px 1fr}.rbuy{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}}

/* live data */
.idx{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.idx div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 14px}
.trends{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.trend{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.trend h3{margin:0;font-size:1.05rem;display:flex;gap:8px;align-items:center}
.trend .rk{background:var(--ink);color:#fff;border-radius:7px;min-width:26px;height:26px;display:grid;place-items:center;font-size:.85rem}
.trend .tr{margin-left:auto;font-size:.78rem;color:var(--up);font-weight:700}
.trend ul{margin:8px 0 0;padding-left:18px;font-size:.86rem;color:var(--ink2)}
.trend a{text-decoration:none}
.weather-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.weather-card div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.weather-card b{font-size:1.5rem;display:block}
.grade-1{color:#1d6ce0}.grade-2{color:#11875d}.grade-3{color:#d97706}.grade-4{color:#e5383b}
.balls{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:6px 0}
.ball{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;font-size:.95rem;box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.b1{background:#fbc400}.b2{background:#69c8f2}.b3{background:#ff7272}.b4{background:#aaa}.b5{background:#b0d840}
.plus{font-weight:800;color:var(--muted)}
.lotto-latest{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}

/* picks */
.picks .pick{border-top:1px solid var(--line);padding-top:8px}
.picks .pick img{border-radius:12px;max-height:360px;object-fit:contain}

/* footer */
.site-footer{border-top:1px solid var(--line);background:var(--card);padding:28px 0;font-size:.88rem;color:var(--ink2)}
.foot-links{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.foot-links a{text-decoration:none;font-weight:600}
.disclose{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:.82rem}
.big{font-size:1.2rem}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--card);padding:10px 18px;border-radius:999px;font-size:.92rem;z-index:50}

/* guides (AEO 핵심답변·목차·출처·작성자) */
.answer{background:var(--accent-soft);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:14px 16px;margin:12px 0}
.answer p{margin:6px 0 0}
.toc{background:var(--bg);border-radius:12px;padding:12px 16px;margin:16px 0;font-size:.93rem}
.toc ol{margin:6px 0 0;padding-left:20px}
.toc a{text-decoration:none}
.guide h2{scroll-margin-top:72px}
.cta-tools{margin:24px 0;padding:16px;border-radius:12px;background:var(--accent-soft)}
.cta-tools .tgrid{margin-top:10px}
.sources ul{font-size:.9rem}
.author-box{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:.92rem}
.author-box p{margin:4px 0}
/* 2-link buy buttons & partner banners */
.btn.coupang{background:#e52528;color:#fff}
.rbuy .btn{width:100%}
.buy2{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.hbanner{display:block;margin:16px 0;padding:14px 16px;border-radius:12px;background:var(--soft);border:1px solid var(--line);text-decoration:none;font-weight:700}
.hbanner small{display:block;font-weight:500;font-size:.75rem;color:var(--muted);margin-top:2px}
@media(max-width:800px){.rbuy .btn{width:auto;flex:1}}

/* ===== v2: 헤더·메뉴·테마 ===== */
[hidden]{display:none!important}
a{text-underline-offset:3px}
.article a,.lead a,.note a,.empty a,.hint a{color:var(--accent-d)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--card);padding:8px 12px;z-index:99}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.logo span{letter-spacing:-.03em}
.logo-mark{flex:none}
.icon-btn{flex:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.1rem;cursor:pointer}
.icon-btn:hover{border-color:var(--accent)}
.menu-btn{display:none}
@media(max-width:1080px){.menu-btn{display:block}}
@media(max-width:520px){.logo span{display:none}.hdr{gap:8px}}
.drawer{border-top:1px solid var(--line);background:var(--card);padding:8px 16px 16px;display:grid;grid-template-columns:1fr 1fr;gap:4px;max-height:calc(100vh - 60px);overflow:auto}
.drawer a{padding:11px 10px;border-radius:10px;text-decoration:none;font-weight:700}
.drawer a.sub{font-weight:500;color:var(--ink2);font-size:.93rem}
.drawer a:hover{background:var(--accent-soft)}
.search-pop a.more{border-top:1px solid var(--line);color:var(--accent-d);font-weight:600;font-size:.92rem}
.btn{background:var(--accent);color:var(--on-accent)}
.btn.sm{height:34px;padding:0 12px;font-size:.86rem}
.btn:disabled{opacity:.6;cursor:default}
.ticon{background:var(--accent-soft)}
.result{background:var(--accent-soft)}
.big-label{color:var(--accent-ink)}
.ans{color:var(--accent-d)}
.wlist .n{color:var(--accent-d)}
.rrank,.rtotal b{color:var(--accent-d)}
.answer{border-left:5px solid var(--accent)}
.article{padding:8px 22px 18px}
.article code,.hint code{background:var(--soft);padding:1px 6px;border-radius:6px;font-size:.9em}
.article ol{padding-left:22px}
.tbl{background:var(--card)}
.tbl th{background:var(--soft)}
.ad-ph{border:1px dashed var(--line)}

/* hero */
.hero{padding:36px 28px;border-radius:22px}
.hero .eyebrow{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:.8rem;font-weight:700;color:var(--accent-ink)}
.hero h1{font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1.22}
.hero h1 b{color:var(--accent-d)}
.search-big{display:flex;gap:8px;margin:0 0 16px;max-width:640px}
.search-big input{flex:1;min-width:0;height:52px;border:1px solid var(--line);border-radius:14px;padding:0 16px;font:inherit;font-size:1.02rem;background:var(--card);color:var(--ink)}
.search-big input:focus{outline:2px solid var(--accent);border-color:transparent}
.search-big .btn{height:52px;border-radius:14px}
.filter-input{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:inherit;background:var(--card);color:var(--ink);margin:4px 0 4px}

/* tool page */
.tool-head{position:relative}
.fav-btn{border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:999px;padding:6px 12px;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;margin:0 0 8px}
.fav-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}
.chk-row{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 12px}
.chk-row .chk{margin:0}
.rows select{font:inherit;height:46px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--card);color:var(--ink);width:100%}
.rows4 .row-h,.rows4 .row{grid-template-columns:1.3fr 1.2fr .8fr .7fr 36px}
@media(max-width:640px){.rows4 .row-h{display:none}.rows4 .row{grid-template-columns:1fr 1fr;padding:8px;border:1px solid var(--line);border-radius:10px}.rows4 .row .x{grid-column:2;justify-self:end}}
.code-row{display:flex;align-items:center;gap:8px;background:var(--card);border-radius:10px;padding:8px 12px;margin:6px 0}
.code-row span{font-size:.8rem;color:var(--muted);width:40px;flex:none}
.code-row code{flex:1;min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem}
.out-text{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.5;background:var(--card);color:var(--ink);margin:8px 0;resize:vertical}
.fld textarea{font-family:inherit}
.swatch{height:90px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:1.2rem;margin-bottom:8px;font-family:ui-monospace,Menlo,Consolas,monospace}
.fld input[type=color]{padding:4px;cursor:pointer}
.result ol{margin:0;padding-left:22px;font-weight:700;line-height:1.9}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

/* calendar */
.cal-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.cal-h b{font-size:1.15rem;min-width:110px;text-align:center}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal em{font-style:normal;text-align:center;font-size:.8rem;font-weight:700;color:var(--muted);padding:4px 0}
.cday{background:var(--card);border-radius:8px;min-height:64px;padding:4px 5px;font-size:.72rem;line-height:1.25;overflow:hidden}
.cday b{display:block;font-size:.85rem}
.cday span{display:block;color:var(--accent-ink);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cday.has{box-shadow:inset 0 0 0 1.5px var(--accent)}
.cday.today b{background:var(--ink);color:var(--card);border-radius:6px;display:inline-block;padding:0 5px}
.sun,.cday.sun b{color:var(--up)}.sat,.cday.sat b{color:var(--down)}
.cday.today.sun b,.cday.today.sat b{color:var(--card)}
.cal-list{margin:12px 0 0;padding-left:18px;font-size:.92rem}
@media(max-width:560px){.cday{min-height:48px}.cday span{font-size:.62rem}}

/* marketing / wiki */
.gloss dt{font-weight:800;margin-top:14px;scroll-margin-top:72px}
.gloss dd{margin:2px 0 0;color:var(--ink2)}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.lcard{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;transition:.15s}
.lcard:hover{border-color:var(--accent);transform:translateY(-2px)}
.lcard span{font-size:.85rem;color:var(--ink2)}
.lcard small{font-size:.75rem;color:var(--muted)}
kbd{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;background:var(--soft);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:2px 6px;white-space:nowrap}
.tbl.keys th{background:transparent;font-weight:500;width:46%;white-space:normal}
.shop-links{margin:18px 0;padding:14px 16px;border-radius:12px;background:var(--soft);border:1px solid var(--line)}
.shop-links .chips{margin:8px 0 6px}
.shop-links .chips a{border-color:var(--accent);color:var(--accent-ink);background:var(--card)}
.shop-links small{font-size:.75rem;color:var(--muted)}
.wiki h2{scroll-margin-top:72px}
.pgrid.wide{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* footer */
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.foot-grid div{display:flex;flex-direction:column;gap:6px}
.foot-grid b{margin-bottom:2px}
.foot-grid a{text-decoration:none;color:var(--ink2);font-size:.88rem}
.foot-grid a:hover{color:var(--accent-d)}
@media(max-width:640px){.foot-grid{grid-template-columns:1fr 1fr}}
.site-footer{background:var(--card)}

/* admin */
.rgrid.stat div{border:1px solid var(--line)}
.rgrid.stat b{font-size:1.4rem}
#admin-view .card{margin:14px 0;padding:16px}
#admin-view .card h2{margin:0 0 10px;font-size:1.05rem}
.grid2.adm{align-items:start}
@media(max-width:800px){.grid2.adm{grid-template-columns:1fr}}
.doc summary{cursor:pointer}
.doc h3{font-size:1rem}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.ad,.shop-widget,.tool-actions,.fav-btn,.crumbs{display:none!important}body{background:#fff}}
