*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#17122b;--surface:#221a3f;--surface2:#2c2252;--ink:#f4f0ff;--sub:#a99fc9;--line:#3b2f66;--pink:#ff5ca8;--yellow:#ffd53e;--cyan:#4fd8eb;--shu:#d8302b;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:26px 26px;min-height:100dvh;font-family:Hiragino Sans,Yu Gothic Medium,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Noto Sans JP,Noto Sans SC,PingFang SC,Meiryo,sans-serif;line-height:1.65}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.app{max-width:520px;margin:0 auto;padding:12px 18px 64px}.topbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;display:flex}.brand{color:var(--yellow);letter-spacing:.02em;font-size:16px;font-weight:800}.top-controls{align-items:center;gap:10px;display:flex}.vol{align-items:center;gap:4px;font-size:14px;display:flex}.vol input[type=range]{width:64px;accent-color:var(--pink)}.lang-sel{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:13px}.home{text-align:center;flex-direction:column;gap:22px;padding-top:28px;display:flex}.tagline{color:var(--sub);text-wrap:balance;font-size:15px}.hima-btn{background:linear-gradient(135deg, var(--pink), #b03df0);color:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:6px;padding:30px 20px;font-size:24px;font-weight:800;transition:transform .15s;display:flex;box-shadow:0 8px 32px #ff5ca866}.hima-btn:hover{transform:translateY(-2px)scale(1.01)}.hima-emoji{font-size:44px}.progress-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;flex-direction:column;gap:10px;padding:18px;display:flex}.progress-head{justify-content:space-between;align-items:baseline;font-size:15px;font-weight:700;display:flex}.progress-num{color:var(--yellow);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.progress-num small{color:var(--sub);font-size:13px;font-weight:600}.progress-track{background:var(--surface2);border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--yellow), var(--pink));border-radius:999px;height:100%;transition:width .4s}.mini-grid{text-align:center;grid-template-columns:repeat(10,1fr);gap:2px;font-size:14px;display:grid}.mini{color:var(--line);line-height:1.4}.mini.done{color:unset}.see-more{color:var(--cyan);font-size:13px;font-weight:600}.stats{background:var(--surface);border:1px dashed var(--line);color:var(--sub);text-align:left;border-radius:12px;flex-wrap:wrap;gap:4px 16px;padding:12px 16px;font-size:12px;display:flex}.ask{flex-direction:column;gap:14px;padding-top:16px;display:flex}.ask-q{margin-top:10px;font-size:18px;font-weight:800}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s}.chip.on{background:var(--pink);border-color:var(--pink);color:#fff}.go-btn{background:var(--yellow);color:#201540;border-radius:999px;margin-top:20px;padding:16px 24px;font-size:17px;font-weight:800;transition:transform .15s;box-shadow:0 6px 24px #ffd53e4d}.go-btn:hover{transform:translateY(-2px)}.text-btn{color:var(--sub);text-underline-offset:3px;align-self:center;padding:8px;font-size:14px;text-decoration:underline}.suggest{flex-direction:column;gap:14px;padding-top:8px;display:flex}.suggest-title{font-size:18px;font-weight:800}.empty{color:var(--sub);font-size:14px}.pick-list{flex-direction:column;gap:12px;display:flex}.pick-card{text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);gap:14px;padding:16px;transition:border-color .15s,transform .15s;animation:.4s both rise;display:flex}.pick-card:hover{border-color:var(--pink);transform:translateY(-2px)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pick-card,.stamp-pop,.hima-btn,.go-btn{transition:none!important;animation:none!important}}.pick-emoji{font-size:38px;line-height:1.2}.pick-body{flex-direction:column;flex:1;gap:4px;display:flex}.pick-badges{flex-wrap:wrap;gap:6px;display:flex}.badge{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.badge.first{background:var(--yellow);color:#201540}.badge.done{background:var(--surface2);color:var(--sub)}.badge.cat{background:var(--surface2);color:var(--cyan)}.pick-body h3{font-size:17px;font-weight:800}.pick-catch{color:var(--sub);font-size:13px}.pick-meta{color:var(--ink);opacity:.85;font-size:12.5px}.reroll-btn{background:var(--surface);border:1.5px solid var(--line);border-radius:999px;align-self:center;padding:10px 22px;font-size:14px;font-weight:700}.detail{flex-direction:column;gap:16px;padding-top:8px;display:flex}.detail-hero{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.detail-emoji{font-size:64px}.detail-emoji.big{font-size:80px}.detail-hero h2{text-wrap:balance;font-size:24px;font-weight:800}.detail-catch{color:var(--sub);text-wrap:balance;max-width:30em;font-size:14px}.detail-meta{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detail-meta>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:10px 14px;font-size:14px;display:flex}.detail-meta b{color:var(--sub);font-size:11px;font-weight:600}.meta-wide{grid-column:1/-1}.howto{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.howto h3{color:var(--yellow);margin-bottom:10px;font-size:15px;font-weight:800}.howto ol{flex-direction:column;gap:8px;padding-left:22px;font-size:14px;display:flex}.howto li::marker{color:var(--pink);font-weight:700}.did-btn{background:linear-gradient(135deg, var(--pink), #b03df0);color:#fff;border-radius:999px;padding:16px 28px;font-size:17px;font-weight:800;transition:transform .15s;box-shadow:0 6px 24px #ff5ca859}.did-btn:hover{transform:translateY(-2px)}.ritual{padding-top:24px}.photo-step,.card-step{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.photo-step h2{font-size:22px;font-weight:800}.photo-prompt{color:var(--sub);max-width:28em;font-size:14px}.congrats{color:var(--yellow);font-size:22px;font-weight:800}.card-wrap{width:min(78vw,340px);position:relative}.stamp-card{border-radius:14px;width:100%;box-shadow:0 12px 48px #00000080}.stamp-pop{aspect-ratio:1;background:var(--shu);color:#fff;pointer-events:none;border:3px solid #fff;border-radius:10px;place-items:center;width:20.4%;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(24px,10vw,42px);font-weight:700;animation:.5s cubic-bezier(.2,2.2,.4,1) .25s both stamp-in,.5s 1.2s forwards stamp-fade;display:grid;position:absolute;top:42%;right:7%;transform:rotate(-8deg)}@keyframes stamp-in{0%{opacity:0;transform:rotate(-8deg)scale(2.6)}to{opacity:1;transform:rotate(-8deg)scale(1)}}@keyframes stamp-fade{to{opacity:0}}.share-row{align-items:center;gap:10px;display:flex}.collection{flex-direction:column;gap:16px;padding-top:8px;display:flex}.col-title{justify-content:space-between;align-items:baseline;font-size:18px;font-weight:800;display:flex}.col-count{color:var(--yellow);font-variant-numeric:tabular-nums;font-size:22px}.col-count small{color:var(--sub);font-size:13px}.col-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.col-cell{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-height:118px;padding:12px 6px 10px;display:flex;position:relative;overflow:hidden}.col-cell.unlocked{border-color:var(--yellow)}.col-emoji{opacity:.5;font-size:30px}.col-cell.unlocked .col-emoji{opacity:1}.col-photo{object-fit:cover;border-radius:8px;width:44px;height:44px}.col-stamp{background:var(--shu);color:#fff;border-radius:5px;place-items:center;width:22px;height:22px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:13px;display:grid;position:absolute;top:6px;right:6px;transform:rotate(-8deg)}.col-name{text-wrap:balance;font-size:11px;font-weight:700;line-height:1.3}.col-date{color:var(--sub);font-variant-numeric:tabular-nums;font-size:10px}.toast{background:var(--yellow);color:#201540;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:700;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}
