:root{--bg:#FAF6EE;--card:#FFFDF8;--line:#ECE4D6;--soft:#F2EBDD;--ink:#2B2620;--sub:#6E6458;--mute:#8A7F70;--faint:#A39886;--acc:#3E5C50;--accSoft:#E3EBE4;--accMid:#9FB3A7;--warn:#9A5B2E;--warnSoft:#F6E6D8}
*{box-sizing:border-box}
html,body{margin:0;background:#EFE8DA;color:var(--ink);font-family:-apple-system,"Apple SD Gothic Neo","Pretendard",system-ui,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.app{max-width:560px;min-height:100vh;margin:0 auto;background:var(--bg);position:relative;padding-bottom:76px}
.hide{display:none!important}
.row a.nm{color:inherit}
.crumb a{color:inherit}
h1 small{font-size:15px;color:var(--mute);font-weight:500}
.skip{position:absolute;left:-9999px}
@media(min-width:600px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
.top{position:sticky;top:0;z-index:5;background:rgba(250,246,238,.94);backdrop-filter:blur(8px);display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}
.logo{font-weight:800;font-size:16px;letter-spacing:-.03em;color:var(--acc);white-space:nowrap}
.logo small{font-weight:500;color:var(--faint);font-size:10px;margin-left:3px}
.back{font-size:20px;line-height:1;color:var(--sub);padding:2px 6px 2px 0}
.topsp{flex:1}
.toplink{font-size:12px;color:var(--sub)}
.page{padding:0 18px}
.beta{margin:10px 18px 0;font-size:11px;color:var(--warn);background:var(--warnSoft);padding:7px 10px;border-radius:8px}
h1{font-size:26px;letter-spacing:-.035em;margin:6px 0 4px;line-height:1.25}
h2{font-size:16px;letter-spacing:-.02em;margin:28px 0 8px}
.lead{font-size:13px;color:var(--sub);line-height:1.55}
.crumb{font-size:11px;color:var(--mute);margin-top:18px}
.search{position:relative;margin-top:16px}
.search input{width:100%;font:inherit;font-size:15px;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);outline:none;color:var(--ink)}
.search input:focus{border-color:var(--accMid)}
.sug{position:absolute;left:0;right:0;top:52px;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;z-index:4;box-shadow:0 8px 24px rgba(60,50,30,.08)}
.sug a{display:flex;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}
.sug a:last-child{border-bottom:0}
.sug span{font-size:11px;color:var(--mute)}
.stats{display:flex;gap:20px;margin:16px 0 4px}
.stats .l{font-size:11px;color:var(--mute)}.stats .v{font-size:20px;font-weight:700;letter-spacing:-.02em}.stats .v.acc{color:var(--acc)}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.cat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.cat b{display:block;font-size:14px}.cat span{font-size:11px;color:var(--mute)}
.row{display:block;padding:13px 0;border-bottom:1px solid var(--line)}
.r1{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.nm{font-size:15px;font-weight:600;letter-spacing:-.01em}
.pr{font-size:15px;font-weight:700;white-space:nowrap}
.meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px}
.tag{font-size:10.5px;padding:2px 6px;border-radius:5px;background:var(--soft);color:var(--sub);white-space:nowrap}
.tag.g{background:var(--accSoft);color:var(--acc)}.tag.g2{background:#EEF2EC;color:#5E7A6C}
.sub{font-size:11.5px;color:var(--mute);margin-top:3px}
.sec{font-size:12px;color:var(--sub);font-weight:600;margin-top:22px;padding-bottom:2px}.tag.w{background:var(--warnSoft);color:var(--warn)}
.right{margin-left:auto;font-size:10.5px;color:var(--faint)}
.gap{font-size:11px;color:var(--acc);font-weight:600}
.bar{height:4px;border-radius:2px;background:var(--line);margin:8px 0 2px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accMid);border-radius:2px}
.best .bar i{background:var(--acc)}.best .pr{color:var(--acc)}
.badge{font-size:10px;font-weight:700;color:var(--acc);margin-left:6px}
.seg{display:flex;background:var(--soft);border-radius:10px;padding:3px;margin-top:14px}
.seg button{flex:1;font-size:12.5px;padding:7px 0;border-radius:8px;color:var(--sub)}
.seg button.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px #E6DCCB}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.chip{font-size:12px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--sub)}
.chip.on{background:var(--acc);border-color:var(--acc);color:#fff}
.hint{font-size:11.5px;color:var(--mute);margin-top:8px;line-height:1.5}
.raw{display:none;font-size:11.5px;color:var(--sub);background:var(--soft);border-radius:8px;padding:8px 10px;margin-top:8px;line-height:1.5;word-break:keep-all}
.open .raw{display:block}
.acts{display:flex;gap:10px;margin-top:6px;align-items:center}
.lnk{font-size:11.5px;color:var(--acc)}
.dt{font-size:10.5px;color:var(--faint)}
.cta{font-size:12px;font-weight:600;color:#fff;background:var(--acc);padding:6px 11px;border-radius:8px;margin-left:auto}
.notice{margin:22px 0 0;font-size:11px;color:var(--mute);line-height:1.55;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.foot{padding:18px 0 8px;font-size:10.5px;color:var(--faint);line-height:1.7}
.foot a{text-decoration:underline;color:var(--sub)}
.more{display:block;width:100%;text-align:center;font-size:13px;color:var(--sub);padding:14px 0;border-bottom:1px solid var(--line)}
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;display:flex;background:rgba(255,253,248,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:6}
.nav a{flex:1;text-align:center;font-size:11px;color:var(--mute);padding:6px 0}
.nav a b{display:block;width:6px;height:6px;border-radius:50%;margin:0 auto 4px;background:transparent}
.nav a.on{color:var(--acc);font-weight:700}.nav a.on b{background:var(--acc)}
.sheetbg{position:fixed;inset:0;background:rgba(40,32,20,.35);z-index:20;display:none}
.sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,100%);width:100%;max-width:560px;background:var(--card);border-radius:18px 18px 0 0;z-index:21;padding:10px 18px calc(22px + env(safe-area-inset-bottom));transition:transform .25s ease-out}
.sheet.on{transform:translate(-50%,0)}.sheetbg.on{display:block}
.grab{width:36px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 14px}
.sheet h3{margin:0 0 4px;font-size:17px;letter-spacing:-.02em}
.btn{display:block;width:100%;text-align:center;padding:13px 0;border-radius:12px;font-size:14px;font-weight:600;margin-top:10px}
.btn.p{background:var(--acc);color:#fff}.btn.s{background:var(--soft);color:var(--ink)}
.small{font-size:11px;color:var(--mute);line-height:1.55;margin-top:12px}
table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
th{font-size:11px;color:var(--mute);font-weight:500;text-align:right;padding:8px 0;border-bottom:1px solid #E2D8C7}
td{padding:11px 0;border-bottom:1px solid var(--line);text-align:right}
th:first-child,td:first-child{text-align:left}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:13px;padding:10px 14px;border-radius:10px;z-index:30;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.on{opacity:1}
.form label{display:block;font-size:12px;color:var(--sub);margin:14px 0 6px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:14px;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.empty{padding:30px 0;text-align:center;color:var(--mute);font-size:13px}
.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.kpi div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.kpi span{font-size:11px;color:var(--mute)}.kpi b{display:block;font-size:20px;letter-spacing:-.02em}
