:root{--ink: #161a1f;--soft-ink: #30363d;--muted: #7a828a;--line: #e8e4dd;--surface: #ffffff;--surface-soft: #fff8ee;--mint: #5ec6a1;--mint-soft: #eaf8f2;--coral: #ff776b;--gold: #c9952d;--blue: #78b4e5;--cream: #fffaf1;--sage: #6f966a;--sage-dark: #587f55;--shadow: 0 14px 30px rgba(56, 43, 28, .09);color:var(--ink);font-family:Inter,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}html{background:#f5f6f4}body{margin:0;min-width:320px;min-height:100vh;background:#f5f6f4;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.bokseul-app{width:min(100%,480px);min-height:100vh;margin:0 auto;background:var(--surface);color:var(--ink);overflow:hidden}.home-screen,.picker-screen,.flow-screen,.loading-screen,.result-screen{min-height:100vh;padding:26px 24px 28px}.flow-screen{padding-bottom:118px}.home-nav,.brand-row,.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-row{justify-content:flex-start}.home-nav{margin-bottom:58px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#fff2d8;color:var(--gold)}.brand-row strong,.top-bar strong{color:#24282e;font-size:24px;font-weight:850}.menu-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:14px;background:transparent;color:#1f242b}.top-bar{margin:0 -4px 18px}.top-bar button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:14px;background:#fff;color:#22272d}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 184px;align-items:center;gap:8px;margin-bottom:34px}.hero-copy{min-width:0}.hero-copy p,.screen-heading p,.step-kicker{margin:0 0 10px;color:#719379;font-size:15px;font-weight:800}.hero-copy h1,.screen-heading h2,.step-card h2,.loading-screen h2,.result-hero h1{margin:0;color:#1f242b;font-size:38px;font-weight:900;line-height:1.18;letter-spacing:0}.hero-copy h1{font-size:30px;line-height:1.25}.hero-copy h1 em{color:var(--sage);font-style:normal}.hero-copy p{margin-top:18px;color:#777f87;font-size:14px;font-weight:500;line-height:1.7}.screen-heading h2,.step-card h2,.loading-screen h2{font-size:31px}.result-hero h1{font-size:31px;line-height:1.24}.mascot-stage{position:relative;display:grid;place-items:center;min-height:236px;border-radius:48% 52% 45% 55%/45% 44% 56% 55%;background:radial-gradient(circle at 36% 28%,rgba(255,221,145,.7) 0 13%,transparent 14%),radial-gradient(circle at 76% 36%,rgba(255,245,168,.7) 0 10%,transparent 11%),radial-gradient(circle at 52% 52%,#eef4f0 0 58%,transparent 59%)}.mascot-stage img{position:relative;z-index:2;width:196px;height:auto;object-fit:contain;transform:translateY(8px);filter:drop-shadow(0 16px 18px rgba(120,91,46,.13))}.hero-sun,.hero-moon{position:absolute;z-index:1}.hero-sun{top:26px;left:36px;color:#f1b64a}.hero-moon{top:54px;right:22px;color:#e9df88}.home-actions,.bottom-actions,.result-actions{display:grid;gap:12px}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;border-radius:10px;font-size:18px;font-weight:850}.primary-button{border:0;background:var(--sage);color:#fff;box-shadow:0 12px 22px #457b4f2e}.secondary-button{border:1px solid #e4e1da;background:#fff;color:#24282e}.compact-button{min-height:56px}.privacy-strip{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;padding:12px 14px;border-radius:16px;background:#fbfaf7;color:#777f87;font-size:13px;text-align:center}.privacy-strip svg{color:#9da48f}.screen-heading{margin:12px 0 22px}.reading-grid{display:grid;gap:12px}.reading-choice{display:grid;grid-template-columns:48px 1fr 22px;align-items:center;gap:12px;width:100%;min-height:82px;padding:14px;border:1px solid #ece7df;border-radius:20px;background:#fff;color:var(--ink);text-align:left}.reading-choice.daily,.reading-choice.selected{border-color:#bde5cf;background:linear-gradient(180deg,#f6fffa,#fff)}.choice-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:#fff5df;color:var(--gold)}.reading-choice.selected .choice-icon,.reading-choice.daily .choice-icon{background:var(--mint-soft);color:#399c76}.reading-choice b{display:block;margin-bottom:4px;font-size:17px;font-weight:850}.reading-choice small{display:block;color:var(--muted);font-size:14px;line-height:1.45}.flow-mascot{position:relative;display:grid;place-items:center;height:144px;margin:-8px -24px 8px;overflow:hidden;background:linear-gradient(180deg,#fff8e9,#fff 82%);border-bottom-left-radius:50% 20%;border-bottom-right-radius:50% 20%}.flow-mascot:after{content:"";position:absolute;left:50%;bottom:-58px;width:118%;height:112px;transform:translate(-50%);border-radius:50% 50% 0 0;background:#fff}.flow-mascot img{position:relative;z-index:2;width:132px;height:132px;object-fit:contain;transform:translateY(8px);filter:drop-shadow(0 12px 16px rgba(120,91,46,.1))}.step-dots{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 18px}.step-dots span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #e3e3df;border-radius:999px;background:#fff;color:#b9b9b5;font-size:12px;font-weight:850}.step-dots span.active{border-color:var(--coral);background:var(--coral);color:#fff}.step-dots span.done{border-color:#cbe9db;background:#f0faf5;color:#54b58f}.step-card{display:grid;gap:16px;padding-top:6px}.step-card p{margin:-6px 0 4px;color:#6f7780;font-size:15px;line-height:1.55}.soft-field{display:grid;gap:10px}.soft-field span,.choice-section>span{color:#2c3238;font-size:15px;font-weight:850}.soft-field input{width:100%;min-height:62px;padding:0 17px;border:1px solid #e5e1dc;border-radius:18px;background:#fff;color:#20262d;font-size:18px;outline:none}.soft-field input:focus{border-color:#75d4b2;box-shadow:0 0 0 4px #68d3aa24}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:5px;border-radius:18px;background:#f6f4f0}.segmented-control button{min-height:48px;border:0;border-radius:14px;background:transparent;color:#727981;font-weight:850}.segmented-control button.active{background:#fff;color:#2f9a75;box-shadow:0 6px 16px #46342214}.time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.time-grid button{display:grid;place-items:center;gap:4px;min-height:88px;padding:10px 6px;border:1px solid #ece7df;border-radius:13px;background:#fff;color:#2b3036;text-align:center}.time-grid.compact button{min-height:74px}.time-grid button.selected,.unknown-time.selected{border-color:#75d4b2;background:#f1fff8;color:#27916c;box-shadow:0 0 0 1px #75d4b2 inset}.time-grid b{font-size:15px}.time-grid small{color:#8b9299;font-size:13px}.unknown-time{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;border:1px dashed #82d5b8;border-radius:18px;background:#fbfffc;color:#27916c;font-weight:850}.choice-section,.partner-panel{display:grid;gap:12px}.partner-panel{padding-top:2px}.inline-error{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#fff2ef;color:#b4483c}.processing-disclosure{margin:10px 0 14px;padding:12px 14px;border-radius:16px;background:#fbfaf7;color:#6f7780;font-size:13px;line-height:1.45}.confirm-card .summary-list{display:grid;overflow:hidden;border:1px solid #ede8df;border-radius:20px}.summary-list div{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:0 14px;border-bottom:1px solid #ede8df}.summary-list div:last-child{border-bottom:0}.summary-list span{color:#8b9299}.summary-list b{color:#252b31}.summary-list button{border:0;background:transparent;color:#329a75;font-weight:850}.flow-screen .bottom-actions{position:fixed;z-index:20;bottom:0;left:50%;width:min(100%,480px);margin:0;padding:16px 24px calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);background:linear-gradient(180deg,#fff3,#fff 28%)}.loading-screen{display:grid;grid-template-rows:auto 1fr;justify-items:center;align-content:stretch;gap:14px;text-align:center;background:radial-gradient(circle at 50% 22%,rgba(255,229,182,.78),transparent 26%),#fff}.loading-status{display:grid;justify-items:center;gap:14px}.loading-mascot{width:210px;height:210px;overflow:hidden;border-radius:44%;background:#fff8ea;box-shadow:0 16px 30px #785b2e1a}.loading-mascot img{width:100%;height:100%;object-fit:contain}.pulse-dot{width:14px;height:14px;border-radius:999px;background:var(--coral);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(.82);opacity:.5}50%{transform:scale(1.12);opacity:1}}.loading-screen p{margin:0;color:#6f7780;font-size:16px}.ad-slot{display:grid;place-items:center;gap:5px;width:100%;min-height:160px;align-self:center;margin:0;border:1px solid #ece7df;border-radius:22px;background:#fbfaf7;color:#92999f}.ad-slot small{color:#b0b5ba;font-weight:850}.result-screen{padding-bottom:34px}.result-hero{--result-mascot-size: clamp(142px, 40vw, 166px);position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--result-mascot-size);align-items:center;gap:12px;margin:14px -24px 0;padding:28px 24px 30px;overflow:hidden;background:linear-gradient(160deg,#fdf8f1,#fff8f0 52%,#fdf8f1);box-shadow:inset 0 -1px #e7dbc9bd}.result-hero p{margin:14px 0 0;color:#8f96a0;font-size:16px;font-weight:800}.result-mascot-orb{position:relative;display:grid;place-items:center;width:var(--result-mascot-size);height:var(--result-mascot-size);overflow:visible;border-radius:0;background:transparent;box-shadow:none;isolation:isolate}.result-mascot-orb:before{content:none}.result-mascot-orb:after{content:none}.result-mascot-backdrop,.result-mascot-image{position:relative;display:block;width:var(--result-mascot-size);height:var(--result-mascot-size);max-width:none;max-height:none;aspect-ratio:1 / 1;object-fit:contain;object-position:center;border-radius:0;background:transparent}.result-mascot-backdrop{position:absolute;z-index:0;width:calc(var(--result-mascot-size) + 86px);height:calc(var(--result-mascot-size) + 86px);opacity:.58;object-fit:cover;filter:blur(18px) saturate(1.04);transform:scale(1.06);-webkit-mask-image:radial-gradient(ellipse 58% 54% at 52% 52%,rgba(0,0,0,.86) 0 42%,rgba(0,0,0,.38) 68%,transparent 100%);mask-image:radial-gradient(ellipse 58% 54% at 52% 52%,rgba(0,0,0,.86) 0 42%,rgba(0,0,0,.38) 68%,transparent 100%)}.result-mascot-image{z-index:1;filter:none;mix-blend-mode:normal;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%),linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%),linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);mask-composite:intersect}.result-hero h1{font-size:26px;line-height:1.34;white-space:pre-line;word-break:keep-all;overflow-wrap:normal;text-wrap:balance}.character-card,.reading-card,.lucky-card{border:1px solid #ece7df;border-radius:24px;background:#fff;box-shadow:0 10px 24px #2f271d0e}.character-card{display:grid;gap:6px;margin-top:18px;padding:18px;background:linear-gradient(180deg,#f7fff9,#fff)}.character-card span,.lucky-card span{display:flex;align-items:center;gap:6px;color:#4d9f79;font-size:14px;font-weight:850}.character-card b{color:#1f252b;font-size:22px}.character-card p,.lucky-card p{margin:0;color:#6e7680;line-height:1.55}.lucky-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.lucky-card{display:grid;align-content:start;gap:11px;min-height:154px;padding:14px;background:linear-gradient(180deg,#f8fff9,#fff)}.lucky-card b{color:#242a30;font-size:17px;line-height:1.24;word-break:keep-all}.lucky-card p{font-size:13px;word-break:keep-all}.color-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:8px}.color-row i{width:52px;height:52px;border:5px solid #fff;border-radius:50%;box-shadow:0 5px 14px #0000001f}.item-row{display:grid;grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:8px}.item-row img{width:58px;height:58px;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%);background:#fffaf0;box-shadow:0 8px 14px #5d48281a}.reading-card{margin-top:14px;padding:20px 18px}.reading-card h2{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:#2d8c66;font-size:18px}.reading-chapters{display:grid;gap:12px}.reading-chapter{padding:18px 16px;border:1px solid #eee8df;border-radius:20px;background:#fffdfa}.reading-chapter h3{margin:0 0 10px;color:#2d8c66;font-size:16px;font-weight:900;line-height:1.35}.reading-chapter p{margin:0;color:#353b42;font-size:15px;line-height:1.9;white-space:pre-wrap;word-break:keep-all}.reading-card button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:18px;padding:14px 0 0;border:0;border-top:1px solid #eee9e2;background:transparent;color:#777f87;font-weight:850}.rotated{transform:rotate(90deg)}.detail-drawer{display:grid;gap:12px;margin-top:16px;padding:14px;border-radius:18px;background:#fbfaf7}.detail-drawer dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0}.detail-drawer div{display:grid;gap:3px}.detail-drawer dt{color:#8e959c;font-size:13px}.detail-drawer dd{margin:0;color:#252b31;font-weight:850}.result-actions{grid-template-columns:1fr 1fr;margin-top:14px}.result-actions .secondary-button,.result-actions .primary-button{min-height:58px;font-size:16px}@media(min-width:760px){body{padding:28px 0}.bokseul-app{min-height:calc(100vh - 56px);border:1px solid rgba(37,42,48,.06);border-radius:34px;box-shadow:var(--shadow)}.home-screen,.picker-screen,.flow-screen,.loading-screen,.result-screen{min-height:calc(100vh - 56px)}}@media(max-width:420px){.home-screen,.picker-screen,.flow-screen,.loading-screen,.result-screen{padding-left:18px;padding-right:18px}.hero-copy h1{font-size:26px}.home-hero{grid-template-columns:minmax(0,1fr) 132px;gap:4px}.mascot-stage{min-height:176px}.mascot-stage img{width:148px}.screen-heading h2,.step-card h2,.loading-screen h2,.result-hero h1{font-size:28px}.flow-screen .bottom-actions{padding-left:18px;padding-right:18px}}
