:root{--bg1:#fff3e6;--bg2:#fdeefa;--bg3:#eef8ff;--card:#fff;--ink:#3b3350;--sub:#6f6788;--pink:#c93a72;--pinkbtn:#ff7aa5;--pink2:#ffe3ec;--lav:#ece6ff;--lavink:#5b44b8;--line:#eadfd6;--good:#dcf6ef;--goodink:#1f7a66;--shadow:0 4px 16px rgba(120,90,140,.10);--chip:#fff;--t1:#d9d2ec;--t2:#bfe3f2;--t3:#c9ecd9;--t4:#ffe3a8;--t5:#ffc2d6}
@media (prefers-color-scheme:dark){:root{--bg1:#1d1830;--bg2:#241a38;--bg3:#16202f;--card:#2b2542;--ink:#f2eefc;--sub:#b9b0d4;--pink:#ff9cbc;--pink2:#4a2a46;--lav:#3a3260;--lavink:#cdbfff;--line:#433a63;--good:#1f4a41;--goodink:#8ff0d6;--shadow:0 4px 16px rgba(0,0,0,.3);--chip:#2b2542;--t1:#5b5280;--t2:#2f5d73;--t3:#2f6b52;--t4:#7a6322;--t5:#85405c}}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{background:linear-gradient(180deg,var(--bg1),var(--bg2) 60%,var(--bg3)) fixed;min-height:100vh;color:var(--ink);font-family:Nunito,"Noto Sans KR","Apple SD Gothic Neo","Segoe UI",system-ui,sans-serif;line-height:1.7;font-size:17px;overflow-wrap:anywhere;word-break:keep-all}
main{max-width:680px;margin:0 auto;padding:14px 16px 40px}
a{color:var(--pink)}
:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 12px;font-weight:800}
.top a{text-decoration:none;padding:8px 0}
h1{font-size:28px;line-height:1.3;margin:4px 0 8px;font-weight:800}
h2{font-size:20px;line-height:1.4;margin:0 0 8px;font-weight:800}
p{margin:8px 0}
.card{background:var(--card);border-radius:24px;padding:20px;margin-bottom:14px;box-shadow:var(--shadow)}
.sub{color:var(--sub);font-size:16px}
.daynav{display:flex;justify-content:space-between;gap:8px;margin:10px 0 14px}
.daynav a,.daynav span{flex:1;text-align:center;border:2px solid var(--line);background:var(--chip);color:var(--ink);border-radius:99px;padding:10px 8px;font-weight:700;text-decoration:none;min-height:46px;font-size:16px}
.daynav span{opacity:.5}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;list-style:none;padding:0}
.grid li{margin:0}
.fc{display:block;height:100%;background:var(--card);border-radius:20px;padding:14px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow);border-top:6px solid var(--line)}
.fc b{display:block;font-size:18px}
.fc .e{font-size:30px;line-height:1.2;display:block}
.fc .d{display:block;font-size:16px;color:var(--sub);margin-top:2px}
.fc .s{display:block;font-size:16px;margin-top:6px;line-height:1.55}
[data-tone="1"]{border-top-color:var(--t1)}[data-tone="2"]{border-top-color:var(--t2)}[data-tone="3"]{border-top-color:var(--t3)}[data-tone="4"]{border-top-color:var(--t4)}[data-tone="5"]{border-top-color:var(--t5)}
.mine{background:var(--lav);border-radius:24px;padding:16px;margin-bottom:14px}
.mine h2{color:var(--lavink)}
.mine .grid{margin-top:8px}
.hero{text-align:center;border-top:8px solid var(--line)}
.hero .big{font-size:80px;line-height:1.1}
.hero h1{margin-top:6px}
.item h2{margin-top:0}
.item p{font-size:17px}
.item{padding-bottom:14px;border-top:6px solid var(--line)}
.item .tl{font-size:15px;color:var(--sub);margin:2px 0 4px}
.method{font-size:15px;color:var(--sub);text-align:center;margin:14px 0 4px}
details{margin:6px 0 2px}
summary{cursor:pointer;color:var(--lavink);font-weight:800;font-size:16px;padding:8px 0;min-height:44px;display:flex;align-items:center}
details p{font-size:16px;color:var(--sub);background:var(--lav);border-radius:14px;padding:10px 12px}
.years{list-style:none;padding:0}
.years li{border-top:1px solid var(--line);padding:8px 0;margin:0}
.years b{display:inline-block;margin-right:6px}
.lucky{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0}
.lucky span{background:var(--good);color:var(--goodink);border-radius:99px;padding:6px 16px;font-weight:800;font-size:17px}
.btn{display:block;width:100%;border:0;border-radius:99px;padding:15px;font-size:18px;font-weight:800;background:var(--pinkbtn);color:#3a0f22;cursor:pointer;margin-top:10px;box-shadow:0 3px 0 #d9507f;font-family:inherit;text-align:center;text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--line);box-shadow:none}
.btn.alt{background:var(--lav);color:var(--lavink);box-shadow:0 3px 0 rgba(120,100,200,.35)}
.btnrow{display:flex;gap:10px;flex-wrap:wrap}
.btnrow .btn{flex:1 1 150px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.chip{border:2px solid var(--line);background:var(--chip);color:var(--ink);border-radius:99px;padding:8px 14px;font-size:16px;font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.chip[aria-current=true]{border-color:var(--pink);background:var(--pink2)}
.chip[aria-current=true]::before{content:"✓ "}
.na{background:linear-gradient(160deg,var(--pink2),var(--card) 60%,var(--good));text-align:center}
.notice{font-size:16px;color:var(--sub);text-align:center;margin:14px 0}
.ad-slot{height:0;overflow:hidden}
.foot{text-align:center;font-size:15px;color:var(--sub);padding-top:20px}
.foot a{color:var(--sub);margin:0 6px;display:inline-block;padding:8px 0}
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -2px 10px rgba(0,0,0,.08);padding:10px 12px;font-size:15px;color:var(--sub);display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.cookie button{border:1px solid var(--line);background:var(--chip);color:var(--ink);border-radius:99px;padding:8px 14px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;min-height:40px}
.cookie button.ok{background:var(--pinkbtn);color:#3a0f22;border-color:var(--pinkbtn)}
.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:#3b3350;color:#fff;padding:10px 18px;border-radius:99px;font-size:16px;max-width:90vw;z-index:9}
@media (min-width:560px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:360px){.grid{grid-template-columns:1fr}}

/* 허브 「처음」 버튼(#ola-home, 왼쪽 10px·아래 10px·약 72x34, z-index 최상) 자리 비우기 */
html:has(#ola-home){padding-bottom:50px}
body:has(#ola-home) .cookie{padding-left:92px}
