:root{--ink:#16130f;--muted:#726b62;--paper:#f7f2e8;--paper-strong:#fffaf0;--line:#241a101a;--gold:#c59a50;--blue:#143c70;--night:#0a1020;--rose:#ee7f91;--shadow:0 24px 70px #14110c29}*{box-sizing:border-box}html{background:radial-gradient(circle at 20% 0,#c59a5033,#0000 32rem),linear-gradient(135deg,#f9f4e8 0%,#fff 45%,#edf4ff 100%);min-height:100%}body{color:var(--ink);margin:0;font-family:Noto Serif KR,Songti SC,Georgia,serif}button,input{font:inherit}button{cursor:pointer}.app-shell{background:#ffffffe6;max-width:520px;min-height:100vh;margin:0 auto;padding-bottom:120px;position:relative;overflow-x:hidden;box-shadow:0 0 0 1px #00000008,0 28px 80px #1118271a}.topbar{z-index:90;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;justify-content:space-between;align-items:center;height:58px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;width:128px;height:42px;display:flex}.brand img{width:128px;height:auto;display:block}.menu-button{background:0 0;border:0;gap:5px;padding:8px;text-decoration:none;display:grid}.menu-button span{background:var(--ink);width:22px;height:2px}.menu-modal{z-index:100;overscroll-behavior:contain;justify-items:end;display:grid;position:fixed;inset:0;overflow:hidden}.menu-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;background:#0c0a0875;border:0;position:absolute;inset:0}.menu-sheet{z-index:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:min(88vw,420px);height:100dvh;max-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 22px max(104px, calc(env(safe-area-inset-bottom) + 28px));touch-action:pan-y;background:radial-gradient(circle at 18% 0,#c59a503d,#0000 15rem),linear-gradient(#fffaf0,#fff 46%,#f8efe0);border-radius:30px 0 0 30px;flex-direction:column;margin:0;animation:.22s cubic-bezier(.2,.9,.2,1) menuSlideIn;display:flex;position:relative;overflow-y:auto;box-shadow:-24px 0 70px #16130f47}@keyframes menuSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.menu-sheet-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.menu-sheet-head p{color:#a43b24;letter-spacing:.14em;margin:0 0 6px;font-size:12px;font-weight:900}.menu-sheet-head h2{letter-spacing:-.07em;margin:0;font-size:28px}.menu-close{width:38px;height:38px;color:var(--ink);background:#fff;border:1px solid #16130f1a;border-radius:50%;place-items:center;font-size:28px;line-height:1;display:grid}.menu-feature{color:#fff;background:linear-gradient(135deg,#20150f,#5a271e);border-radius:22px;gap:8px;margin:20px 0 16px;padding:18px;display:grid}.menu-feature span{color:#f0d79d;font-size:12px;font-weight:900}.menu-feature strong{letter-spacing:-.04em;font-size:18px;line-height:1.45}.menu-links{gap:10px;display:grid}.menu-links a{color:var(--ink);background:#ffffffdb;border:1px solid #241a1014;border-radius:18px;gap:5px;padding:16px;text-decoration:none;display:grid;box-shadow:0 10px 26px #4027110f}.menu-links strong{letter-spacing:-.04em;font-size:17px}.menu-links span{color:var(--muted);font-size:13px}.menu-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto;padding-top:22px;display:grid}.menu-actions a,.menu-actions button{background:var(--blue);color:#fff;min-height:52px;font-weight:900;font-size:inherit;cursor:pointer;border:0;border-radius:16px;place-items:center;font-family:inherit;text-decoration:none;display:grid}.menu-actions a+a,.menu-actions a+button{color:#191600;background:#fee500}.category-tabs{z-index:19;border-bottom:1px solid var(--line);background:#ffffffe6;gap:20px;padding:0 22px;display:flex;position:sticky;top:58px;overflow-x:auto;box-shadow:0 10px 20px #0000000a}.category-tabs a{color:#4e4944;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:16px 8px 14px;font-weight:800;text-decoration:none}.category-tabs .featured{color:#2f2018;font-weight:950}.category-tabs .active{color:#a43b24;border-color:#a43b24}.hero-section{padding:22px 16px 10px}.hero-card{background:var(--night);min-height:540px;box-shadow:var(--shadow);border-radius:18px;position:relative;overflow:hidden}.hero-card img,.feature-card img{object-fit:cover}.hero-track{will-change:transform;height:100%;min-height:540px;transition:transform .6s cubic-bezier(.4,0,.2,1);display:flex}.hero-slide{flex:0 0 100%;min-height:540px;text-decoration:none;display:block;position:relative;overflow:hidden}.hero-slide:after{content:"";background:linear-gradient(#0000,#070a14bd 45%,#070a14f5);position:absolute;inset:40% 0 0}.hero-rank{z-index:2;color:#fff;text-align:center;background:#173b80;border-radius:0 0 9px 9px;padding:10px 11px 12px;font-size:11px;font-weight:900;position:absolute;top:0;right:14px}.hero-rank:first-line{font-size:9px}.hero-copy{z-index:2;color:#fff;text-align:center;position:absolute;bottom:34px;left:22px;right:22px}.hero-copy p{color:#d9d5ff;margin:0;font-size:22px;font-weight:800}.hero-copy h1{letter-spacing:-.12em;text-shadow:0 0 24px #7c8efff2;margin:4px 0 16px;font-size:clamp(64px,18vw,96px);line-height:.95}.hero-copy span{font-size:18px;font-weight:700}.pager{justify-content:center;gap:9px;padding-top:16px;display:flex}.pager span,.pager button{cursor:pointer;background:#d7d7d7;border:0;border-radius:999px;width:6px;height:6px;padding:0;transition:width .3s,background .3s}.pager .current{background:var(--ink);width:18px}.horizontal-section,.reading-panel,.type-grid-section,.daily-section,.reviews,.auth-panel{border-top:1px solid var(--line);margin:28px 22px 0;padding-top:28px}.notice-card{color:#fff;isolation:isolate;background:radial-gradient(circle at 8% 12%,#ffffffe6,#0000 9rem),linear-gradient(135deg,#20150f 0%,#5a271e 48%,#efe1bf 100%);border:0;border-radius:22px;align-items:center;gap:16px;margin:28px 22px 0;padding:20px 18px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1.5px #f6e6c59e,inset 0 0 0 4px #3d1c112e,0 18px 45px #4923152e}.notice-card:after{z-index:-1;content:"";border:1px solid #fff8e738;border-radius:50%;width:96px;height:96px;position:absolute;bottom:14px;right:14px}.notice-card:before{content:"";pointer-events:none;border:1px solid #fff8e738;border-radius:17px;position:absolute;inset:6px}.notice-orb{z-index:1;color:#32160e;background:radial-gradient(circle at 35% 28%,#fff9df 0%,#dfbd69 38%,#945128 100%);border:1px solid #fff8e78c;border-radius:50%;flex:0 0 58px;place-items:center;width:58px;height:58px;font-size:26px;font-weight:900;display:grid;position:relative;box-shadow:inset 0 0 14px #ffffff73,0 10px 28px #00000038}.notice-card div:not(.notice-orb){z-index:1;position:relative}.notice-card p{color:#f0d79d;letter-spacing:.08em;margin:0 0 5px;font-size:12px;font-weight:900}.notice-card strong{letter-spacing:-.05em;font-size:19px;line-height:1.35;display:block}.notice-card span{color:#ffffffc2;margin-top:8px;font-size:13px;font-weight:700;line-height:1.45;display:block}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:16px;display:flex}.section-heading p,.kicker{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:900}.section-heading h2,.reading-panel h2,.auth-panel h2{letter-spacing:-.05em;margin:0;font-size:21px;line-height:1.3}.section-heading button,.section-heading a{color:var(--muted);background:0 0;border:0;font-size:13px;font-weight:800;text-decoration:none}.card-row,.review-row{scroll-snap-type:x mandatory;grid-auto-columns:76%;grid-auto-flow:column;gap:14px;padding-bottom:8px;display:grid;overflow-x:auto}.feature-card{scroll-snap-align:start;background:#ddd;border-radius:14px;min-height:330px;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 14px 28px #0000001f}.feature-card:after{content:"";background:linear-gradient(#0000,#000000b8);position:absolute;inset:45% 0 0}.feature-card div{z-index:2;color:#fff;position:absolute;bottom:18px;left:18px;right:18px}.feature-card span{font-weight:900}.feature-card h3{letter-spacing:-.1em;margin:4px 0 0;font-size:42px;line-height:1}.rose h3{color:#ff6e80}.violet h3{color:#c9b6ff}.blue h3{color:#dbeaff}.reading-panel{background:radial-gradient(circle at 100% 0%, #143c7021, transparent 18rem), var(--paper-strong);border:1px solid #c59a504d;border-radius:28px;padding:26px 22px}.reading-panel>p:not(.kicker),.auth-panel p{color:var(--muted);line-height:1.65}.birth-form{gap:12px;margin-top:18px;display:grid}.birth-form label{color:#574d43;gap:7px;font-size:13px;font-weight:900;display:grid}.birth-form input{background:#fff;border:1px solid #16130f1f;border-radius:13px;min-height:48px;padding:0 14px}.birth-form button,.auth-panel button,.auth-panel a,.form-link-button{background:var(--blue);color:#fff;border:0;border-radius:14px;place-items:center;min-height:54px;font-weight:900;text-decoration:none;display:grid;box-shadow:0 12px 28px #143c7038}.form-link-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.type-grid button,.type-grid a{border:1px solid var(--line);min-height:72px;color:var(--ink);background:linear-gradient(135deg,#fff,#fbf3e4);border-radius:16px;align-items:center;gap:14px;padding:14px 16px;font-weight:900;text-decoration:none;display:flex}.type-grid span{background:var(--ink);color:#fff;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:12px;display:grid}.sub-hero{color:#fff;box-shadow:var(--shadow);border-radius:26px;margin:22px 16px 0;padding:42px 24px}.sub-hero p{color:#f0d79d;margin:0 0 10px;font-size:13px;font-weight:900}.sub-hero h1{letter-spacing:-.07em;margin:0;font-size:31px;line-height:1.22}.sub-hero span{color:#ffffffc7;margin-top:14px;line-height:1.6;display:block}.saju-sub{background:linear-gradient(135deg,#0c1220f5,#143c70e0),url(/images/saju-hero-v2.png) 50% 24%/cover}.saju-form{gap:18px}.saju-guide-block{gap:10px;display:grid}.saju-webtoon-scroll{overscroll-behavior:contain;background:#08090f;border:1px solid #c59a503d;border-radius:20px;max-height:540px;overflow-y:auto;box-shadow:0 16px 34px #4027111f}.saju-webtoon-scroll img{width:100%;height:auto;display:block}.saju-guide-state{color:#7a3828;text-align:center;background:#fffaf0;border-radius:999px;margin:0;padding:10px 14px;font-size:12px;font-weight:900}.saju-guide-state.done{color:#f0d79d;background:#20150f}.saju-three-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.saju-guide-stage{gap:18px;display:grid}.saju-guide-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.saju-guide-progress span{background:#241a101f;border-radius:999px;height:6px}.saju-guide-progress span.active{background:#a43b24}.saju-guide-cut{background:#08090f;border:1px solid #c59a503d;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px #40271124}.saju-guide-cut img{width:100%;height:auto;display:block}.form-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.saju-summary{align-items:start}.saju-report{gap:22px;display:grid}.saju-report-hero{margin-bottom:0}.saju-section{gap:14px;display:grid}.saju-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.saju-stat-card,.saju-stack article,.saju-gap-grid article,.saju-weather-card article,.saju-inline-note article,.saju-year-card,.saju-dashboard-hero,.saju-cheat-card,.saju-month-list article{background:radial-gradient(circle at 100% 0,#c59a5024,#0000 11rem),#fff;border:1px solid #241a1014;border-radius:22px;padding:18px;box-shadow:0 14px 30px #4027110f}.saju-stat-card span,.saju-stack span,.saju-gap-grid span,.saju-weather-card span,.saju-inline-note span,.saju-year-card span,.saju-dashboard-hero span,.saju-cheat-card span,.saju-month-list span{color:#a43b24;letter-spacing:.08em;font-size:12px;font-weight:900}.saju-stat-card strong,.saju-gap-grid strong,.saju-weather-card strong,.saju-dashboard-hero strong,.saju-cheat-card strong{letter-spacing:-.05em;margin-top:8px;font-size:20px;line-height:1.35;display:block}.saju-stat-card p,.saju-stack p,.saju-gap-grid p,.saju-weather-card p,.saju-inline-note p,.saju-year-card p,.saju-dashboard-hero p,.saju-cheat-card p,.saju-month-list p{color:var(--muted);margin:10px 0 0;line-height:1.7}.saju-stat-card.excellent{border-color:#1f6f4e3d}.saju-stat-card.strong{border-color:#143c702e}.saju-stat-card.steady{border-color:#c59a502e}.saju-stat-card.careful{border-color:#a43b242e}.saju-stack,.saju-gap-grid,.saju-weather-card,.saju-wealth-grid,.saju-dashboard{gap:12px;display:grid}.saju-gap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saju-warning-grid,.saju-role-list,.saju-score-list,.saju-recovery-grid,.saju-quarter-grid,.saju-dashboard-grid,.saju-month-list{gap:10px;display:grid}.saju-warning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saju-warning-grid article,.saju-role-list>div,.saju-score-list>div,.saju-recovery-grid article,.saju-quarter-grid>div,.saju-dashboard-grid article{background:#fffaf2;border-radius:18px;padding:14px}.saju-role-list>div{gap:6px;display:grid}.saju-role-list b{color:#f0d79d;background:#20150f;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.saju-role-list strong{letter-spacing:-.04em;font-size:17px}.saju-wealth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saju-score-list>div{gap:4px;display:grid}.saju-score-list strong{font-size:16px}.saju-score-list b{color:#a43b24;font-size:18px}.saju-recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saju-quarter-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.saju-quarter-grid strong,.saju-dashboard-grid strong{letter-spacing:-.05em;margin-top:6px;font-size:18px;display:block}.saju-month-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.saju-month-list article.ok{border-color:#1f6f4e2e}.saju-month-list article.warn{border-color:#a43b242e}.saju-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.saju-inline-note{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.saju-inline-note strong{letter-spacing:-.05em;margin-top:6px;font-size:18px;display:block}.saju-dashboard-hero{background:radial-gradient(circle at 100% 0,#c59a502e,#0000 12rem),linear-gradient(135deg,#fffaf0,#f6ebd3)}.saju-cheat-card{color:#fff;background:radial-gradient(circle at 100% 0,#143c701f,#0000 10rem),#20150f}.saju-cheat-card p{color:#fffc}.daily-sub{background:linear-gradient(135deg,#2f160df2,#8f4625c7),url(/images/daily-card-v2.png) 50% 24%/cover}.tarot-sub{background:linear-gradient(135deg,#280f18f0,#8b374bb8),url(/images/love-card.png) 50% 28%/cover}.search-sub,.saved-sub,.auth-sub{background:linear-gradient(135deg,#20150f,#143c70)}.page-panel{border-top:1px solid var(--line);margin:28px 22px 0;padding-top:28px}.profile-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;align-items:center;gap:16px;margin:22px 22px 0;padding:20px;display:flex}.profile-avatar{background:var(--blue);color:#fff;border-radius:50%;flex:none;place-items:center;width:60px;height:60px;font-size:26px;font-weight:900;display:grid}.profile-id{flex-direction:column;gap:3px;min-width:0;display:flex}.profile-id strong{font-size:19px}.profile-id span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.profile-provider{color:#32160e;background:#f0e7d2;border-radius:999px;align-self:flex-start;margin-top:4px;padding:3px 10px;font-size:12px;font-weight:800}.profile-section-title{margin:0 0 14px;font-size:17px}.profile-info{border:1px solid var(--line);background:#fff;border-radius:16px;gap:0;margin:0;display:grid;overflow:hidden}.profile-info>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.profile-info>div:last-child{border-bottom:0}.profile-info dt{color:var(--muted);font-weight:700}.profile-info dd{text-align:right;text-overflow:ellipsis;margin:0;font-weight:800;overflow:hidden}.page-copy{color:var(--muted);line-height:1.7}.simple-list{gap:12px;display:grid}.simple-list article,.empty-state{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px}.simple-list strong,.empty-state strong{margin-bottom:8px;font-size:17px;display:block}.simple-list span,.empty-state p{color:var(--muted);line-height:1.55}.search-box{gap:8px;margin-bottom:16px;font-weight:900;display:grid}.search-box input{border:1px solid #16130f1f;border-radius:16px;min-height:54px;padding:0 16px}.daily-fortune-form{gap:18px;display:grid}.daily-form-block,.daily-field{gap:10px;display:grid}.daily-form-block>span,.daily-field span{color:#a43b24;letter-spacing:.08em;font-size:12px;font-weight:900}.daily-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.segmented-tabs{flex-wrap:wrap;gap:8px;display:flex}.segmented-tabs.two{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.segmented-tabs button,.daily-section-tabs button{color:#5d4d42;cursor:pointer;background:#fffaf0;border:1px solid #c59a5047;border-radius:999px;min-height:44px;padding:0 15px;font-weight:900}.segmented-tabs button.active,.daily-section-tabs button.active{color:#fff;background:linear-gradient(135deg,#2a1910,#7a3828);border-color:#7a3828;box-shadow:0 12px 24px #7a38282e}.daily-field select,.daily-field input{min-height:54px;color:var(--ink);background:#fff;border:1px solid #16130f1f;border-radius:16px;padding:0 16px;font-weight:800}.daily-submit{cursor:pointer;border:0}.daily-kind-grid{gap:12px;display:grid}.daily-kind-grid article{background:radial-gradient(circle at 100% 0,#c59a501f,#0000 9rem),#fff;border:1px solid #c59a503d;border-radius:20px;padding:18px}.daily-kind-grid strong{margin-bottom:7px;font-size:18px;display:block}.daily-kind-grid p{color:var(--muted);margin:0;line-height:1.55}.daily-result-summary{background:radial-gradient(circle at 0 0,#c59a5029,#0000 10rem),#fff;border:1px solid #c59a503d;border-radius:24px;justify-content:space-between;gap:16px;margin:24px 22px 0;padding:18px;display:flex}.daily-result-summary span{color:#a43b24;font-size:12px;font-weight:900}.daily-result-summary strong{letter-spacing:-.04em;margin-top:6px;font-size:18px;display:block}.daily-result-summary p{color:var(--muted);margin:6px 0 0}.daily-result-summary a{color:#32160e;background:#efe1bf;border-radius:999px;flex:none;align-self:center;padding:12px 14px;font-size:13px;font-weight:900;text-decoration:none}.daily-period-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.daily-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.daily-result-panel{gap:18px;display:grid}.saju-result-panel{gap:24px}.saju-result-card-list{gap:18px;display:grid}.saju-result-card{gap:10px;display:grid}.saju-result-card strong,.saju-result-card p{margin-top:0}.saju-result-items{border-top:1px solid #c59a5029;gap:8px;margin-top:8px;padding-top:12px;display:grid}.saju-result-items p{color:#4b423b;background:#fffaf0;border-radius:14px;margin:0;padding:12px;line-height:1.6}.daily-result-head,.daily-result-card{background:radial-gradient(circle at 100% 0,#c59a5029,#0000 12rem),#fff;border:1px solid #241a1014;border-radius:26px;padding:22px;box-shadow:0 16px 34px #40271112}.daily-result-head span,.daily-result-card span,.daily-lucky-grid span{color:#a43b24;letter-spacing:.08em;font-size:12px;font-weight:900}.daily-result-head h2{letter-spacing:-.07em;margin:8px 0 12px;font-size:28px;line-height:1.25}.daily-result-head p,.daily-result-card p{color:#4b423b;margin:10px 0 0;line-height:1.78}.daily-result-head p+p,.daily-result-card p+p{border-top:1px solid #c59a5029;padding-top:10px}.daily-result-card strong{letter-spacing:-.06em;margin-top:8px;font-size:26px;display:block}.daily-lucky-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.daily-lucky-grid article{color:#fff;background:#20150f;border-radius:18px;padding:16px}.daily-lucky-grid strong{color:#f0d79d;margin-top:8px;font-size:17px;display:block}.saju-lucky-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.saju-lucky-grid article{min-width:0}.saju-lucky-grid strong{word-break:keep-all;overflow-wrap:anywhere;font-size:15px;line-height:1.55}.saju-result-panel .saju-result-card strong{letter-spacing:-.03em;font-size:18px;line-height:1.45}.daily-action-note,.daily-result-panel .daily-action-note{color:#fff;background:#20150f}.daily-action-note span,.daily-result-panel .daily-action-note span{color:#f0d79d}.daily-result-panel .daily-action-note p{color:#ffffffe0}.auth-actions{gap:10px;margin-top:12px;display:grid}.auth-actions button,.auth-actions a{width:100%;min-height:54px;color:var(--ink);background:#fff;border:0;border-radius:14px;place-items:center;font-weight:900;text-decoration:none;display:grid}.auth-actions .kakao-action,.kakao-choice{color:#191600;background:#fee500}.auth-choice-grid{gap:12px;display:grid}.auth-choice-grid a,.auth-choice-grid button{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;text-align:left;background:#fff;border-radius:18px;gap:6px;padding:18px;text-decoration:none;display:grid}.auth-choice-grid strong{font-size:18px}.auth-choice-grid span{color:var(--muted);line-height:1.5}.auth-message{color:#7b3f16;background:#fff4de;border-radius:14px;margin:14px 0 0;padding:12px 14px;font-size:14px;font-weight:800;line-height:1.5}.auth-callback-panel{text-align:center;gap:10px;display:grid}.auth-callback-panel strong{letter-spacing:-.04em;font-size:22px}.auth-callback-panel p{color:var(--muted);margin:0;line-height:1.6}.auth-callback-panel a{background:var(--blue);color:#fff;border-radius:14px;place-items:center;min-height:50px;font-weight:900;text-decoration:none;display:grid}.panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.panel-actions a{background:var(--blue);color:#fff;text-align:center;border-radius:14px;place-items:center;min-height:50px;font-weight:900;text-decoration:none;display:grid}.panel-actions button,.disabled-action{color:#32160e;text-align:center;background:#efe1bf;border:0;border-radius:14px;place-items:center;min-height:50px;font-weight:900;display:grid}.disabled-action{opacity:.55}.panel-actions a+a{color:#32160e;background:#efe1bf}.step-list{gap:12px;display:grid}.step-list article{border:1px solid var(--line);background:#fff;border-radius:18px;gap:14px;padding:18px;display:flex}.step-list span{background:var(--ink);color:#fff;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.step-list strong{margin-bottom:6px;display:block}.step-list p{color:var(--muted);margin:0;line-height:1.5}.chip-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip-row a{color:#32160e;background:#f4ead4;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:900;text-decoration:none}.result-card{background:#fffaf0;border:1px solid #c59a5047;border-radius:18px;padding:18px}.result-card+.result-card{margin-top:12px}.result-card strong{margin-bottom:8px;font-size:18px;display:block}.result-card p{color:var(--muted);margin:0;line-height:1.65}.tarot-spread{gap:12px;display:grid}.tarot-spread article{color:#fff;background:linear-gradient(135deg,#20150f,#5a271e);border-radius:20px;padding:18px}.tarot-spread span{color:#f0d79d;font-size:12px;font-weight:900}.tarot-spread strong{margin:7px 0;font-size:24px;display:block}.tarot-spread p{color:#ffffffc7;margin:0}.tarot-progress{background:#fffaf0;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.tarot-progress strong{color:#a43b24;flex:none;font-size:22px}.tarot-progress span{color:var(--muted);word-break:keep-all;font-size:13px;font-weight:800;line-height:1.45}.tarot-card-board{perspective:1200px;background:radial-gradient(circle at 50% 0,#c59a502e,#0000 18rem),linear-gradient(#20150f0f,#fffaf07a);border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;display:grid}.tarot-card-board.spread-mode{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:18px 14px;overflow:visible}.tarot-card-board.spread-mode.is-shuffling .tarot-pick-card{animation:.52s cubic-bezier(.2,.9,.2,1) both shuffleDeal;animation-delay:calc(var(--card-index) * 24ms)}.tarot-card-board::-webkit-scrollbar{width:7px}.tarot-card-board::-webkit-scrollbar-thumb{background:#5a271e52;border-radius:999px}.tarot-pick-card{color:#fff;text-align:center;min-height:148px;transform-style:preserve-3d;animation:.42s both cardDeal;animation-delay:calc(var(--card-index) * 38ms);background:radial-gradient(circle at 50% 30%,#f0d79d2e,#0000 3.5rem),linear-gradient(145deg,#171016,#32160e 52%,#07142a);border:1px solid #fff8e761;border-radius:18px;align-content:center;place-items:center;padding:14px 8px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 28px #1b11142e}@keyframes cardDeal{0%{opacity:0;transform:translateY(16px)rotate(-2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes shuffleDeal{0%{opacity:0;filter:blur(2px);transform:translateY(-26px)rotate(10deg)scale(.86)}55%{opacity:1;filter:blur();transform:translateY(10px)rotate(-6deg)scale(1.04)}to{opacity:1;filter:blur();transform:translateY(0)rotate(0)scale(1)}}.tarot-pick-card:before{content:"";border:1px solid #f0d79d7a;border-radius:13px;position:absolute;inset:9px}.tarot-pick-card:after{content:"";opacity:.72;background:linear-gradient(90deg,#0000 49%,#f0d79d38 50%,#0000 51%),radial-gradient(circle,#0000 44%,#f0d79d40 46%,#0000 48%);border-radius:999px;position:absolute;inset:19px 14px}.tarot-pick-card:hover{transform:translateY(-7px)rotate(-1deg);box-shadow:0 20px 38px #1b111440}.tarot-pick-card.selected{color:#fff;background:radial-gradient(circle at 50% 30%,#f0d79d47,#0000 3.5rem),linear-gradient(145deg,#171016,#4a2114 52%,#09204a);border-color:#f0d79de6;box-shadow:0 20px 38px #1b111447,0 0 0 3px #f0d79d42,0 0 34px #f0d79d6b}.tarot-pick-card.selected:before{border-color:#fff8e7e6;box-shadow:inset 0 0 18px #f0d79d3d}.tarot-pick-card.selected:after{opacity:1;box-shadow:0 0 28px #f0d79d57}.spread-mode .tarot-pick-card:first-child,.spread-mode .tarot-pick-card:nth-child(5),.spread-mode .tarot-pick-card:nth-child(9){transform:rotate(-3deg)}.spread-mode .tarot-pick-card:nth-child(2),.spread-mode .tarot-pick-card:nth-child(6),.spread-mode .tarot-pick-card:nth-child(10){transform:translateY(8px)rotate(-1deg)}.spread-mode .tarot-pick-card:nth-child(3),.spread-mode .tarot-pick-card:nth-child(7),.spread-mode .tarot-pick-card:nth-child(11){transform:translateY(8px)rotate(1deg)}.spread-mode .tarot-pick-card:nth-child(4),.spread-mode .tarot-pick-card:nth-child(8),.spread-mode .tarot-pick-card:nth-child(12){transform:rotate(3deg)}.spread-mode .tarot-pick-card:hover,.spread-mode .tarot-pick-card.selected{transform:translateY(-10px)scale(1.04)}.card-back-mark{z-index:1;background:#fffaf014;border:1px solid #f0d79d80;border-radius:50%;place-items:center;width:46px;height:46px;font-size:30px;font-weight:900;display:grid;position:relative}.card-selected-label{z-index:2;color:#32160e;background:#f0d79d;border:1px solid #fff8e7c2;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:none;position:absolute;top:10px;right:10px}.tarot-pick-card.selected .card-selected-label{animation:.18s ease-out selectedSeal;display:grid}.tarot-pick-card.selected .card-back-mark{background:#f0d79d2e;animation:.9s ease-in-out infinite alternate selectedPulse;box-shadow:0 0 0 8px #f0d79d14,0 0 24px #f0d79d7a}@keyframes selectedSeal{0%{opacity:0;transform:scale(.62)}to{opacity:1;transform:scale(1)}}@keyframes selectedPulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:420px){.tarot-card-board.spread-mode{grid-template-columns:repeat(3,minmax(0,1fr))}.tarot-pick-card{min-height:136px}.result-card-line{gap:12px;padding-inline:2px}.result-reveal-card{min-height:188px}}.selected-card-list{gap:10px;display:grid}.selected-card-list article{background:#fff;border:1px solid #c59a503d;border-radius:18px;padding:16px}.selected-card-list span{color:#a43b24;font-size:12px;font-weight:900}.selected-card-list strong{margin:5px 0 8px;font-size:18px;display:block}.selected-card-list p{color:var(--muted);margin:0;line-height:1.55}.tarot-table{color:#fff;background:linear-gradient(135deg,#20150ff0,#5a271ee0),#20150f;border-radius:22px;align-items:center;gap:14px;margin-bottom:14px;padding:16px;display:flex;position:relative;overflow:hidden}.tarot-table:after{content:"";border:1px solid #f0d79d33;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-36px;right:-30px}.tarot-table-moon{color:#32160e;background:#f0d79d;border-radius:50%;flex:0 0 52px;place-items:center;width:52px;height:52px;font-size:26px;font-weight:900;display:grid}.tarot-table p{z-index:1;color:#ffffffd1;margin:0;line-height:1.55;position:relative}.tarot-filter-row{gap:8px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.tarot-filter-row button{color:var(--muted);background:#fff;border:1px solid #241a101a;border-radius:999px;flex:none;padding:9px 12px;font-size:13px;font-weight:900}.tarot-filter-row .active{color:#fff;background:#a43b24;border-color:#a43b24}.tarot-shuffle-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tarot-shuffle-row button{color:#fff;background:#20150f;border:0;border-radius:999px;flex:none;padding:11px 16px;font-size:13px;font-weight:900;box-shadow:0 12px 24px #20150f29}.tarot-shuffle-row span{color:var(--muted);text-align:right;font-size:12px;line-height:1.4}.tarot-position-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.tarot-position-row article{text-align:center;background:#fffaf0b8;border:1px dashed #5a271e38;border-radius:17px;min-height:74px;padding:11px}.tarot-position-row article.filled{background:linear-gradient(135deg,#fffaf0,#f3dfb6);border-style:solid;border-color:#a43b2452}.tarot-position-row span{color:#a43b24;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.tarot-position-row strong{letter-spacing:-.04em;font-size:13px;line-height:1.25;display:block}.tarot-result-overview{background:#fffaf0;border-radius:22px;gap:8px;margin-bottom:16px;padding:18px;display:grid}.tarot-result-overview span{color:#a43b24;font-size:12px;font-weight:900}.tarot-result-overview strong{letter-spacing:-.05em;font-size:19px;line-height:1.45}.tarot-result-stage{color:#fff;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 8%,#f0d79d3d,#0000 14rem),linear-gradient(160deg,#120d12,#32160e 48%,#07142a);border-radius:30px;margin:28px 16px 0;padding:24px 18px;position:relative;overflow:hidden}.tarot-result-stage:before{content:"";pointer-events:none;border:1px solid #f0d79d38;border-radius:24px;position:absolute;inset:10px}.tarot-result-stage:after{content:"";border:1px solid #f0d79d29;border-radius:50%;width:150px;height:150px;position:absolute;top:-42px;right:-42px}.result-stage-head{z-index:1;text-align:center;gap:6px;display:grid;position:relative}.result-stage-head p{color:#f0d79d;letter-spacing:.18em;margin:0;font-size:12px;font-weight:900}.result-stage-head h2{letter-spacing:-.06em;margin:0;font-size:28px}.result-stage-head span{color:#ffffffad;font-size:13px}.result-card-line{z-index:1;perspective:1400px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px;padding:8px 6px 18px;display:grid;position:relative}.result-reveal-card{min-height:204px;color:inherit;background:0 0;border:0;transition:transform .28s;position:relative}.result-reveal-card:first-child{transform:rotate(-5deg)}.result-reveal-card:nth-child(2){transform:translateY(10px)}.result-reveal-card:nth-child(3){transform:rotate(5deg)}.result-reveal-card:hover{transform:translateY(-8px)scale(1.03)}.result-reveal-card.opened{z-index:3;transform:translateY(-14px)scale(1.08)}.result-position{z-index:4;color:#32160e;white-space:nowrap;background:#f0d79d;border-radius:999px;min-width:max-content;padding:6px 10px;font-size:11px;font-weight:900;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.result-card-inner{transform-style:preserve-3d;transition:transform .62s cubic-bezier(.2,.86,.2,1);display:block;position:absolute;inset:0}.result-reveal-card.opened .result-card-inner{transform:rotateY(180deg)}.result-card-back,.result-card-front{backface-visibility:hidden;transform-style:preserve-3d;border:1px solid #f0d79d73;border-radius:20px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 36px #00000042}.result-card-back{background:radial-gradient(circle at 50% 28%,#f0d79d33,#0000 4rem),linear-gradient(145deg,#171016,#32160e 52%,#07142a);transform:translateZ(1px)}.result-card-back:before{content:"";border:1px solid #f0d79d66;border-radius:14px;position:absolute;inset:10px}.result-card-back span{z-index:1;color:#f0d79d;border:1px solid #f0d79d85;border-radius:50%;place-items:center;width:58px;height:58px;font-size:34px;font-weight:900;display:grid;position:relative}.result-card-back small{z-index:1;color:#ffffffad;font-size:11px;font-weight:900;position:absolute;bottom:20px}.result-card-front{color:#32160e;text-align:center;background:radial-gradient(circle at 50% 12%,#ffffff73,#0000 4rem),linear-gradient(160deg,#fff8e7,#e2bd69 48%,#7a3828);padding:18px 10px;transform:rotateY(180deg)translateZ(1px);box-shadow:inset 0 0 0 1px #32160e14,0 18px 36px #00000042}.result-card-front b{font-size:34px}.result-card-front strong{font-size:18px;line-height:1.2;display:block}.result-card-front small{color:#32160ead;font-size:11px;font-weight:900;line-height:1.25}.focus-oracle{z-index:1;background:#fffaf01a;border-radius:22px;gap:8px;margin-top:34px;padding:18px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #f0d79d38}.focus-oracle span{color:#f0d79d;font-size:12px;font-weight:900}.focus-oracle strong{letter-spacing:-.05em;font-size:22px}.focus-oracle p{color:#ffffffc2;margin:0;line-height:1.65}.focus-oracle.waiting{text-align:center}.generation-panel{background:radial-gradient(circle at 100% 0,#c59a5033,#0000 12rem),linear-gradient(135deg,#fffaf0,#f4e3bd);border:1px solid #c59a5047;border-radius:26px;gap:16px;margin-bottom:26px;padding:22px;display:grid;box-shadow:0 18px 42px #4027111a}.generation-panel span,.ai-reading-head span,.ai-reading-grid span,.ai-action-note span{color:#a43b24;letter-spacing:.08em;font-size:12px;font-weight:900}.generation-panel strong{letter-spacing:-.06em;margin-top:6px;font-size:24px;display:block}.generation-panel p{color:#5d4d42;margin:8px 0 0;line-height:1.7}.generation-panel button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2a1910,#7a3828 56%,#c59a50);border:0;border-radius:999px;min-height:54px;font-weight:900;box-shadow:0 16px 28px #7a38283d}.generation-panel button:disabled{cursor:wait;opacity:.7}.generation-error{background:#a43b2414;border-radius:16px;padding:12px 14px;font-weight:800;color:#a43b24!important}.tarot-loading-panel{color:#fff;text-align:center;background:radial-gradient(circle at 50% 0,#f0d79d38,#0000 14rem),linear-gradient(145deg,#21150f,#4b241a);border:1px solid #c59a5042;border-radius:28px;justify-items:center;gap:14px;margin-bottom:28px;padding:28px 20px;display:grid;box-shadow:0 22px 48px #40271129}.tarot-spinner{place-items:center;width:76px;height:76px;display:grid;position:relative}.tarot-spinner span{border:2px solid #f0d79d;border-color:#f0d79d #c59a50bf #f0d79d29 #f0d79d29;border-radius:50%;animation:1.15s linear infinite tarotSpin;position:absolute;inset:0}.tarot-spinner:before,.tarot-spinner:after{content:"";border-radius:50%;position:absolute}.tarot-spinner:before{border:1px solid #f0d79d2e;inset:10px}.tarot-spinner:after{background:#f0d79d;width:7px;height:7px;box-shadow:0 0 18px #f0d79dcc,22px 0 #f0d79d47,-22px 0 #f0d79d47}.tarot-spinner i{z-index:1;color:#f0d79d;background:#fffaf014;border-radius:50%;place-items:center;width:44px;height:44px;font-size:24px;font-style:normal;font-weight:900;display:grid;position:relative}.tarot-loading-panel strong{letter-spacing:-.06em;font-size:22px}.tarot-loading-panel p{color:#ffffffb8;max-width:460px;margin:0;line-height:1.7}.daily-card-spinner{perspective:900px;width:92px;height:132px;position:relative}.daily-card-spinner .daily-card-back{transform-style:preserve-3d;background:radial-gradient(circle at 50% 16%,#ffffff52,#0000 24px),linear-gradient(160deg,#1d120c,#4f2519 50%,#8b5b27);border:1px solid #f0d79d52;border-radius:18px;place-items:center;animation:1.45s ease-in-out infinite tarotCardFlip;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0f,0 18px 30px #0000003d}.daily-card-spinner .daily-card-back:before{content:"";border:1px solid #f0d79d47;border-radius:14px;position:absolute;inset:10px}.daily-card-spinner .daily-card-back:after{content:"";opacity:.88;background:linear-gradient(135deg,#f0d79d2e,#0000 42%),linear-gradient(225deg,#f0d79d1a,#0000 38%);border-radius:12px;position:absolute;inset:18px 14px}.daily-card-spinner .daily-card-back i{z-index:1;color:#f0d79d;border:1px solid #f0d79d66;border-radius:50%;place-items:center;width:46px;height:46px;font-size:24px;font-style:normal;font-weight:900;display:grid;position:relative;transform:translateZ(18px)}.daily-card-spinner .daily-card-glow{filter:blur(8px);background:radial-gradient(circle,#f0d79d3d,#0000 58%);border-radius:22px;animation:1.45s ease-in-out infinite tarotCardGlow;position:absolute;inset:-10px}@keyframes tarotSpin{to{transform:rotate(360deg)}}@keyframes tarotCardFlip{0%{transform:rotateY(0)rotate(-2deg)translateY(0)}50%{transform:rotateY(180deg)rotate(2deg)translateY(-3px)}to{transform:rotateY(360deg)rotate(-2deg)translateY(0)}}@keyframes tarotCardGlow{0%,to{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.ai-reading-panel{color:#fff;background:radial-gradient(circle at 20% 0,#f0d79d57,#0000 14rem),#20150f;border:1px solid #241a101a;border-radius:30px;gap:18px;margin-bottom:30px;padding:22px;display:grid;box-shadow:0 22px 48px #20150f33}.ai-reading-head strong{letter-spacing:-.07em;margin-top:8px;font-size:28px;line-height:1.25;display:block}.ai-reading-head p,.ai-card-reading-list p,.ai-reading-grid p,.ai-action-note p{color:#ffffffc7;margin:12px 0 0;line-height:1.78}.ai-reading-head p:first-of-type,.ai-card-reading-list p:first-of-type,.ai-reading-grid p:first-of-type{margin-top:14px}.ai-reading-head p+p,.ai-card-reading-list p+p,.ai-reading-grid p+p{border-top:1px solid #f0d79d1f;margin-top:10px;padding-top:10px}.ai-card-reading-list{gap:14px;display:grid}.ai-card-reading-list article,.ai-reading-grid article,.ai-action-note{background:#fffaf014;border:1px solid #f0d79d33;border-radius:22px;padding:18px}.ai-card-reading-list span{color:#f0d79d;font-size:12px;font-weight:900}.ai-card-reading-list strong{letter-spacing:-.05em;margin-top:8px;font-size:22px;display:block}.ai-card-reading-list em{color:#f0d79ddb;margin-top:6px;font-style:normal;font-weight:900;display:block}.ai-card-reading-list div{background:#00000024;border-radius:16px;margin-top:12px;padding:12px}.ai-card-reading-list b{color:#f0d79d;margin-bottom:5px;font-size:12px;display:block}.ai-card-reading-list div p,.ai-action-note p{margin:0}.ai-card-reading-list div p+p{border-top:1px solid #f0d79d1a;margin-top:8px;padding-top:8px}.ai-reading-grid{gap:14px;display:grid}.ai-action-note{gap:10px;display:grid}.ai-action-note strong{color:#f0d79d;margin-top:6px;line-height:1.55;display:block}.persistence-note,.generation-model{color:#ffffff9e;margin:0;font-size:12px;font-weight:800}.tarot-detail-reading{gap:20px;display:grid}.tarot-detail-reading article{background:radial-gradient(circle at 100% 0,#c59a5024,#0000 11rem),#fff;border:1px solid #c59a5047;border-radius:22px;padding:20px}.tarot-detail-reading article>div{gap:5px;margin-bottom:14px;display:grid}.tarot-detail-reading span{color:#a43b24;font-size:12px;font-weight:900}.tarot-detail-reading strong{letter-spacing:-.06em;font-size:24px}.tarot-detail-reading small{color:var(--muted);font-weight:800}.tarot-detail-reading p{color:#4b423b;margin:10px 0 0;line-height:1.72}.tarot-detail-reading b{min-width:76px;color:var(--ink);display:inline-block}.result-card.expanded p+p{margin-top:12px}.tarot-detail-reading+.result-card.expanded{margin-top:28px}.deep-reading-grid{gap:16px;margin-top:22px;display:grid}.deep-reading-grid article{background:linear-gradient(135deg,#fffffff5,#fffaf0e6),#fff;border:1px solid #241a1014;border-radius:22px;padding:20px;box-shadow:0 12px 28px #4027110f}.deep-reading-grid span{color:#a43b24;letter-spacing:.08em;margin-bottom:7px;font-size:12px;font-weight:900;display:block}.deep-reading-grid strong{letter-spacing:-.05em;margin-bottom:10px;font-size:20px;line-height:1.35;display:block}.deep-reading-grid p{color:#4b423b;margin:0;line-height:1.78}.deep-reading-grid p+p{margin-top:10px}.final-note{color:#fff;background:radial-gradient(circle at 100% 0,#c59a5038,#0000 12rem),#20150f;margin-top:24px}.final-note p{color:#ffffffc7}.daily-list{gap:10px;display:grid}.daily-list article{background:linear-gradient(135deg,#fffaf0f5,#f5ead2b8),#fffaf0;border:1px solid #c59a5038;border-radius:18px;grid-template-columns:48px 74px 1fr;align-items:center;gap:12px;min-height:74px;padding:14px;display:grid;box-shadow:0 10px 24px #40271112}.daily-list span{color:#f4d48a;background:#32160e;border-radius:50%;place-items:center;width:44px;height:44px;font-size:12px;font-weight:900;display:grid}.daily-list strong{letter-spacing:-.05em;font-size:16px}.daily-list p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.review-row{grid-auto-columns:68%}.review-row article{border:1px solid var(--line);scroll-snap-align:start;background:#fff;border-radius:14px;min-height:150px;padding:18px}.avatar{color:#4f7a67;background:#e8f0ed;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:10px;font-weight:900;display:grid}.review-row strong{color:#f1b83a}.review-row p{color:#46413c;line-height:1.55}.auth-panel{background:var(--night);color:#fff;border-radius:24px;padding:26px 22px}.auth-panel p{color:#ffffffb8}.auth-panel div{gap:10px;display:grid}.auth-panel .kakao{color:#191600;box-shadow:none;background:#fee500}.bottom-nav{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #ffffffb3;border-radius:26px;grid-template-columns:repeat(4,1fr);max-width:492px;margin:0 auto;display:grid;position:fixed;bottom:18px;left:max(14px,50vw - 246px);right:max(14px,50vw - 246px);box-shadow:0 18px 50px #0000002e}.bottom-nav a{color:#756f69;text-align:center;padding:18px 4px;font-size:12px;font-weight:900;text-decoration:none}.bottom-nav .active{color:var(--ink)}@media (max-width:420px){.topbar{padding:0 18px}.hero-card{min-height:480px}.card-row{grid-auto-columns:82%}.feature-card{min-height:300px}.daily-form-grid,.daily-period-tabs,.daily-section-tabs,.daily-lucky-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-result-summary{display:grid}.daily-result-summary a{justify-self:start}}.theme-badge-panel{box-shadow:none;background:0 0;border:none;padding:0}.theme-badge{text-align:center;background:radial-gradient(circle at 50% 0,#c59a5038,#0000 60%),#1d130d;border:1px solid #c59a5059;border-radius:24px;justify-items:center;gap:6px;padding:22px 18px;display:grid}.theme-badge-emoji{font-size:44px;line-height:1}.theme-badge strong{letter-spacing:-.04em;color:#f6e3b4;font-size:22px}.theme-badge p{color:#f6e3b4b8;margin:0;font-size:13px}.star-calendar-panel{background:radial-gradient(circle at 0 0,#243a7524,#0000 16rem),radial-gradient(circle at 100% 8%,#c59a502e,#0000 14rem),#fffaf0;gap:16px;display:grid;overflow:hidden}.star-calendar-hero{grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid}.star-calendar-icon{color:#f6e3b4;background:radial-gradient(circle at 35% 25%,#ffffff42,#0000 35%),#1d2542;border-radius:24px;place-items:center;width:74px;height:74px;font-size:40px;display:grid;box-shadow:0 18px 30px #1d25422e}.star-calendar-hero h2{letter-spacing:-.07em;margin:6px 0;font-size:28px;line-height:1.2}.star-calendar-hero span{color:var(--muted);font-weight:800}.star-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.star-calendar-grid article{background:#ffffffb8;border:1px solid #241a1014;border-radius:22px;gap:8px;min-width:0;padding:18px;display:grid;box-shadow:0 14px 26px #4027110f}.star-calendar-grid span{color:#a43b24;letter-spacing:.08em;font-size:12px;font-weight:900}.star-calendar-grid strong{letter-spacing:-.04em;font-size:18px}.star-calendar-grid p{color:#4b423b;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.star-weekday-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.star-weekday-strip span{color:#ffffffb3;text-align:center;background:#20150f;border-radius:18px;justify-items:center;gap:5px;min-width:0;padding:12px 8px;font-size:11px;font-weight:800;display:grid}.star-weekday-strip b{color:#f6e3b4;background:#f6e3b41f;border-radius:50%;place-items:center;width:32px;height:32px;font-size:15px;display:grid}.star-weekday-strip span.active{color:#fff7df;background:#a43b24}.star-weekday-strip span.active b{color:#32160e;background:#f6e3b4}.fortune-cookie-panel{text-align:center;gap:16px;display:grid}.fortune-cookie-panel h2{letter-spacing:-.05em;color:var(--ink);font-size:22px}.cookie-meta{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.cookie-meta span{color:#f6e3b4;background:#1d130d;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800}.cookie-stage{cursor:pointer;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 45%,#f6c97a80,#0000 9rem),linear-gradient(#fff6df,#f4e4c0);border-radius:28px;outline:none;place-items:center;min-height:300px;padding:24px 12px 34px;display:grid;position:relative}.cookie-stage:focus-visible{border-radius:24px;box-shadow:0 0 0 3px #c59a5080}.cookie{width:min(320px,90vw);height:min(320px,90vw);transition:transform .45s,filter .45s;position:relative}.cookie-visual-image{object-fit:contain;filter:drop-shadow(0 22px 28px #50300c38);width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .55s}.cookie-half{transform-origin:50%;filter:drop-shadow(0 10px 14px #50300c47);will-change:transform;transition:transform .7s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.cookie-half svg{width:100%;height:100%;display:block}.cookie-stage:not(.open):hover .cookie{animation:.6s ease-in-out infinite cookieWiggle}@keyframes cookieWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2.5deg)}75%{transform:rotate(2.5deg)}}.cookie-stage.open .cookie-left{transform:translate(-46px)translateY(10px)rotate(-22deg)}.cookie-stage.open .cookie-right{transform:translate(46px)translateY(10px)rotate(22deg)}.cookie-stage.open .cookie{filter:saturate(1.08);transform:translateY(-8px)scale(1.02)}.cookie-stage.open .cookie-visual-image{filter:drop-shadow(0 26px 32px #50300c3d);transform:rotate(-1deg)}.fortune-slip{z-index:2;opacity:0;background:linear-gradient(#fffdf6,#f3e9d2);border:1px solid #a86a1e66;border-radius:8px;place-items:center;width:112px;height:42px;margin:-21px 0 0 -56px;transition:opacity .4s .25s,transform .5s cubic-bezier(.22,1,.36,1) .25s;display:grid;position:absolute;top:39%;left:50%;transform:scale(.6)translateY(22px)rotate(-3deg);box-shadow:0 6px 14px #50300c38}.fortune-slip span{color:#a86a1e;letter-spacing:.04em;font-size:12px;font-weight:800}.cookie-stage.open .fortune-slip{opacity:1;transform:scale(1)translateY(-68px)rotate(-3deg)}.cookie-crumb{opacity:0;background:#d8a64a;border-radius:50%;width:8px;height:8px;transition:transform .6s,opacity .6s;position:absolute;top:50%;left:50%}.cookie-stage.open .crumb-1{opacity:0;transform:translate(-60px,-34px)scale(.6)}.cookie-stage.open .crumb-2{opacity:0;transform:translate(54px,-42px)scale(.5)}.cookie-stage.open .crumb-3{opacity:0;transform:translate(36px,40px)scale(.7)}.cookie-stage:not(.open) .crumb-1,.cookie-stage:not(.open) .crumb-2,.cookie-stage:not(.open) .crumb-3{opacity:0}.cookie-hint{color:var(--muted);font-size:13px;font-weight:800;animation:1.6s ease-in-out infinite hintPulse;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}@keyframes hintPulse{0%,to{opacity:.5}50%{opacity:1}}.cookie-message{background:radial-gradient(circle at 100% 0,#c59a5029,#0000 12rem),#fffaf0;border:1px solid #241a1014;border-radius:24px;gap:12px;padding:22px;animation:.5s both messageRise;display:grid;box-shadow:0 16px 34px #40271112}@keyframes messageRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cookie-message.loading{color:var(--muted);font-weight:700}.cookie-message strong{letter-spacing:-.04em;color:var(--ink);font-size:21px;line-height:1.5}.cookie-message p{color:#4b423b;margin:0;line-height:1.78}.cookie-lucky{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.cookie-lucky span{color:#f6e3b4;background:#1d130d;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800}@media (max-width:640px){.star-calendar-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.star-calendar-grid{grid-template-columns:1fr}.star-weekday-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.cookie-stage{min-height:260px}.cookie{width:min(270px,86vw);height:min(270px,86vw)}}.saved-list{gap:14px;display:grid}.saved-item{background:#fff;border:1px solid #241a101a;border-radius:18px;padding:18px;box-shadow:0 12px 26px #4027110f}.saved-item-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.saved-item-badge{color:#f0d79d;background:#20150f;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:900}.saved-item-head time{color:var(--muted);font-size:13px}.saved-item strong{letter-spacing:-.03em;font-size:18px;display:block}.saved-item p{color:#4b423b;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;line-height:1.7;display:-webkit-box;overflow:hidden}.saved-item-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.saved-item-actions button{color:#7a3828;cursor:pointer;background:#fffaf0;border:1px solid #7a382840;border-radius:12px;min-height:42px;padding:0 18px;font-family:inherit;font-size:15px;font-weight:800}.saved-item-actions button:disabled{opacity:.6;cursor:default}.review-author{color:var(--muted);margin-top:8px;font-size:12px;font-weight:800;display:block}.review-form{border:1px solid var(--line);background:#fff;border-radius:18px;gap:12px;margin-top:16px;padding:18px;display:grid}.review-form>strong{font-size:16px}.review-stars{gap:4px;display:flex}.review-stars button{color:#d9d2c4;cursor:pointer;background:0 0;border:0;padding:0;font-size:26px;line-height:1}.review-stars button.on{color:#f1b83a}.review-form textarea{border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:12px;padding:12px}.review-form-submit{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:14px;min-height:48px;font-weight:900}.review-form-submit:disabled{opacity:.6;cursor:default}.review-form-message{color:#b3402b;margin:0;font-size:13px;font-weight:700}.review-form-login,.review-form-done{text-align:center}.review-form-login a{color:var(--blue);margin-top:8px;font-weight:900;text-decoration:none;display:inline-block}.review-form-done strong{color:#2f7a4f;margin-bottom:6px;display:block}.purchase-button{color:#fff;min-height:50px;font-weight:900;font-size:inherit;cursor:pointer;text-align:center;background:linear-gradient(135deg,#2a1910,#7a3828);border:0;border-radius:14px;place-items:center;font-family:inherit;display:grid}.purchase-button:disabled{opacity:.7;cursor:default}.purchase-error{color:#ffd9c2;margin-top:6px;font-size:12px;font-style:normal;display:block}.payment-list{gap:12px;display:grid}.payment-item{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.payment-item-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.payment-item-head strong{font-size:16px}.payment-status{color:#4b5563;background:#eef1f6;border-radius:999px;flex:none;padding:3px 10px;font-size:12px;font-weight:800}.payment-status-DONE{color:#1f7a44;background:#e6f4ea}.payment-status-CANCELED,.payment-status-PARTIAL_CANCELED{color:#b3392a;background:#fbe9e7}.payment-item-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-top:8px;font-size:14px;display:flex}.payment-item-meta span{color:var(--ink);font-weight:800}.payment-cancel{color:#b3392a;cursor:pointer;background:#fff;border:1px solid #b3392a66;border-radius:12px;width:100%;min-height:42px;margin-top:12px;font-family:inherit;font-weight:800}.payment-cancel:disabled{opacity:.6;cursor:default}.generation-hint{color:#8a7a63;margin-top:10px;font-size:13px}.locked-gate{margin-top:8px;position:relative}.locked-content{filter:blur(7px);pointer-events:none;-webkit-user-select:none;user-select:none;max-height:360px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 24%,#0000 96%);mask-image:linear-gradient(#000 24%,#0000 96%)}.locked-overlay{place-items:center;padding:16px;display:grid;position:absolute;inset:0}.locked-cta{text-align:center;background:#fffaf0f5;border:1px solid #c59a5066;border-radius:22px;justify-items:center;gap:8px;max-width:320px;padding:26px 22px;display:grid;box-shadow:0 18px 40px #4027112e}.locked-lock{font-size:30px}.locked-cta strong{font-size:19px}.locked-cta p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.active-job-banner{z-index:40;color:#f6e3b4;white-space:nowrap;background:#20150f;border-radius:999px;align-items:center;gap:9px;max-width:calc(100vw - 28px);padding:12px 18px;font-size:14px;font-weight:800;text-decoration:none;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 14px 30px #00000052}.active-job-banner>span:last-child{text-overflow:ellipsis;overflow:hidden}.active-job-banner.is-done{color:#fff;background:#1f7a44}.active-job-dot{background:#f0d79d;border-radius:999px;flex:none;width:9px;height:9px;animation:1.1s ease-in-out infinite active-job-pulse}.active-job-banner.is-done .active-job-dot{background:#fff;animation:none}@keyframes active-job-pulse{0%,to{opacity:.35}50%{opacity:1}}.admin-login-wrap{background:radial-gradient(circle at 20% 0,#c59a502e,#0000 40%),#16110b;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{background:#fffaf0;border-radius:24px;gap:12px;width:100%;max-width:380px;padding:34px 28px;display:grid;box-shadow:0 30px 70px #00000073}.admin-login-eyebrow{color:#a9842f;letter-spacing:.18em;margin:0;font-size:12px;font-weight:900}.admin-login-card h1{letter-spacing:-.04em;margin:0;font-size:26px}.admin-login-sub{color:var(--muted);margin:0 0 6px;font-size:14px}.admin-input{background:#fff;border:1px solid #16130f29;border-radius:14px;min-height:50px;padding:0 16px;font-family:inherit;font-size:15px}.admin-input:focus{border-color:#a9842f;outline:none}.admin-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2a1910,#7a3828);border:0;border-radius:14px;min-height:50px;font-family:inherit;font-size:15px;font-weight:900}.admin-login-back{color:var(--muted);text-align:center;margin-top:4px;font-size:13px;text-decoration:none}.admin-error{color:#c0392b;margin:0;font-size:14px;font-weight:700}.admin-loading{color:#8a7a63}.admin-shell{min-height:100vh;color:var(--ink);background:#f5f1e8;display:flex}.admin-sidebar{color:#f6e3b4;background:#1b130d;flex-direction:column;flex:0 0 232px;gap:8px;padding:22px 16px;display:flex}.admin-brand{align-items:center;gap:12px;padding:6px 8px 18px;display:flex}.admin-brand-mark{color:#fff;background:linear-gradient(135deg,#c59a50,#7a3828);border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:grid}.admin-brand strong{font-size:16px;display:block}.admin-brand small{color:#f6e3b499;font-size:12px}.admin-nav{gap:4px;display:grid}.admin-nav-item{color:#f6e3b4c7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:800;display:flex}.admin-nav-item:hover{background:#ffffff0f}.admin-nav-item.active{color:#fff;background:linear-gradient(135deg,#c59a50,#7a3828)}.admin-nav-icon{font-size:16px}.admin-sidebar-foot{border-top:1px solid #f6e3b429;gap:8px;margin-top:auto;padding-top:16px;display:grid}.admin-side-link{color:#f6e3b4;text-align:center;background:#ffffff14;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:800;text-decoration:none}.admin-logout{color:#f6e3b4;cursor:pointer;background:0 0;border:1px solid #f6e3b44d;border-radius:12px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:800}.admin-main{flex:1;min-width:0;padding:28px 30px}.admin-main-head{align-items:center;gap:12px;margin-bottom:20px;display:flex}.admin-main-head h2{letter-spacing:-.03em;margin:0;font-size:24px}.admin-count{color:#6b5a44;background:#e9e0cd;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:800}.admin-card{background:#fff;border:1px solid #e6ddc9;border-radius:18px;box-shadow:0 12px 30px #4027110f}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:540px}.admin-table th{color:#8a7a63;text-align:left;white-space:nowrap;background:#faf6ec;border-bottom:2px solid #efe6d2;padding:14px 16px;font-size:12px;font-weight:800;position:sticky;top:0}.admin-table td{border-bottom:1px solid #f1ebdd;padding:13px 16px;font-size:14px}.admin-table tr:last-child td{border-bottom:0}.admin-badge{color:#4b5563;background:#eef1f6;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-block}.admin-badge.status-DONE{color:#1f7a44;background:#e6f4ea}.admin-badge.status-CANCELED,.admin-badge.status-PARTIAL_CANCELED{color:#b3392a;background:#fbe9e7}.admin-danger-btn{color:#b3392a;cursor:pointer;background:#fff;border:1px solid #b3392a59;border-radius:10px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:800}.admin-muted{color:#b3a892}.admin-empty{text-align:center;color:#8a7a63;padding:28px 16px}@media (max-width:720px){.admin-shell{flex-direction:column}.admin-sidebar{flex-flow:wrap;flex:none;align-items:center;gap:8px;padding:14px 16px}.admin-brand{margin-right:auto;padding:0}.admin-nav{flex-wrap:wrap;gap:6px;display:flex}.admin-nav-item{width:auto;padding:9px 12px}.admin-sidebar-foot{border:0;flex-direction:row;gap:8px;margin:0;padding:0;display:flex}.admin-main{padding:18px 16px}}.payment-item-actions{gap:8px;margin-top:12px;display:flex}.payment-item-actions .payment-cancel{flex:1;width:auto;margin-top:0}.payment-receipt{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:12px;flex:none;place-items:center;padding:0 16px;font-size:14px;font-weight:800;text-decoration:none;display:grid}.admin-cell-actions{align-items:center;gap:6px;display:flex}.admin-link-btn{color:#6b5a44;background:#faf6ec;border:1px solid #d8cdb5;border-radius:10px;padding:7px 13px;font-size:13px;font-weight:800;text-decoration:none}.saved-detail{border-top:1px solid var(--line);gap:14px;margin-top:12px;padding-top:14px;display:grid}.saved-detail-section>span{color:#a43b24;letter-spacing:.04em;margin-bottom:5px;font-size:12px;font-weight:900;display:block}.saved-detail-section p{color:#4b423b;margin:0 0 6px;line-height:1.7}.admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.admin-stat-card{background:#fff;border:1px solid #e6ddc9;border-radius:16px;padding:20px;box-shadow:0 12px 30px #4027110f}.admin-stat-card.accent{background:linear-gradient(135deg,#2a1910,#7a3828);border-color:#0000}.admin-stat-card span{color:#8a7a63;font-size:13px;font-weight:800;display:block}.admin-stat-card.accent span{color:#f6e3b4bf}.admin-stat-card strong{letter-spacing:-.03em;margin-top:8px;font-size:24px;display:block}.admin-stat-card.accent strong{color:#f6e3b4}.admin-pagination{color:#6b5a44;justify-content:center;align-items:center;gap:14px;margin-top:16px;font-weight:800;display:flex}.admin-page-btn{color:#5d4d42;cursor:pointer;background:#fff;border:1px solid #d8cdb5;border-radius:10px;min-height:38px;padding:0 16px;font-family:inherit;font-weight:800}.admin-page-btn:disabled{opacity:.5;cursor:default}
