.fortune-form label{display:block;font-size:12px;font-weight:700;color:var(--ink);margin:0 0 6px}
.fortune-form select,.fortune-form input[type=date]{display:block;width:100%;max-width:none;min-width:0;border:1px solid var(--line);border-radius:9px;background:#fbfdfd;padding:10px 12px;font-size:14px;margin:4px 0 14px;color:var(--ink)}
.calendar-toggle{border:0;padding:0;margin:0 0 14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.calendar-toggle legend{font-size:12px;font-weight:700;padding:0;margin:0 0 6px}
.calendar-toggle>label{margin:0;position:relative}.calendar-toggle input[type=radio]{position:absolute;left:0;top:0;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}.calendar-toggle span{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:7px 18px;font-size:13px;font-weight:750;color:var(--muted);background:#fff;cursor:pointer}.calendar-toggle input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.calendar-toggle input:focus-visible+span{outline:3px solid #eb9467;outline-offset:2px}
.leap-check{display:inline-flex!important;align-items:center;gap:6px;margin:0 0 0 6px!important;font-size:13px!important;cursor:pointer}.leap-check[hidden]{display:none!important}.leap-check input{width:16px;height:16px;margin:0;accent-color:var(--green)}
.birth-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}
.date-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 14px}.fortune-form .date-row input[type=date]{margin:0;flex:1 1 170px;width:auto}.date-quick{display:flex;gap:6px}
.date-quick button,.booking-dates button{border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--green);font-size:12px;font-weight:750;padding:7px 12px;white-space:nowrap}.date-quick button:hover,.booking-dates button:hover{border-color:var(--green)}
.booking-dates{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-4px 0 14px}.booking-dates[hidden]{display:none}.booking-dates span{font-size:11px;color:var(--muted);font-weight:700;margin-right:2px}
.fortune-form .none-check{margin:4px 0 0!important}.fortune-form .primary-button{margin-top:6px}
.level-10{--tone:#a96506}.level-9{--tone:#bb5a0d}.level-8{--tone:#bc4b30}.level-7{--tone:#b62f50}.level-6{--tone:#08775f}.level-5{--tone:#197a89}.level-4{--tone:#516e89}.level-3{--tone:#667985}.level-2{--tone:#605f99}.level-1{--tone:#654a80}
.luck-hero{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;align-items:center}.luck-hero>img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 6px 18px #173d5314}
.luck-level{display:flex;align-items:center;gap:9px;margin:6px 0 2px}.luck-level b{flex:none;background:var(--tone);color:#fff;border-radius:8px;padding:2px 9px;font-size:13px;font-weight:800}.luck-level h2{margin:0;font-size:27px;letter-spacing:-.8px;color:var(--tone)}.luck-summary>p{margin:0 0 14px;color:var(--muted);font-size:14px}
.luck-score{display:flex;align-items:center;gap:14px}.luck-score p{margin:0;font-size:13px;color:var(--ink)}.luck-score p b{display:block;font-size:20px;color:var(--tone);letter-spacing:-.4px}.luck-score small{display:block;font-size:11px;color:var(--muted)}
.luck-ring{--score:0;flex:none;width:88px;height:88px;border-radius:50%;background:conic-gradient(var(--tone) calc(var(--score)*1%),#e6eff0 0);display:flex;align-items:center;justify-content:center;position:relative}.luck-ring::before{content:'';position:absolute;inset:9px;border-radius:50%;background:#fff}.luck-ring strong,.luck-ring span{position:relative}.luck-ring strong{font-size:28px;font-weight:850;letter-spacing:-1px;color:var(--ink)}.luck-ring span{font-size:11px;color:var(--muted);margin:10px 0 0 2px}
.luck-lines{list-style:none;margin:18px 0 0;padding:0}.luck-lines li{position:relative;padding:9px 0 9px 22px;border-top:1px solid #edf3f4;font-size:14px}.luck-lines li::before{content:'';position:absolute;left:4px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.lucky-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.lucky-grid div{background:#f3f9f8;border-radius:11px;padding:10px 12px}.lucky-grid dt{font-size:11px;color:var(--muted);font-weight:700}.lucky-grid dd{margin:2px 0 0;font-size:14px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.luck-cautions{background:var(--coral);border-radius:11px;padding:11px 14px;margin:0 0 14px}.luck-cautions strong{font-size:12px;color:#b05a35}.luck-cautions ul{margin:4px 0 0;padding-left:18px;font-size:13px}.luck-cautions li{padding:2px 0}
.level-table{margin:16px 0 0;border-top:1px solid #edf3f4}.level-table summary{cursor:pointer;font-size:13px;font-weight:750;color:var(--green);padding:12px 0 2px}.level-table ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.level-table li{display:grid;grid-template-columns:64px 44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px;border-radius:11px}.level-table li.current{background:#e9f5f2}.level-table img{display:block;width:64px;height:48px;border-radius:9px}.level-table b{font-size:12px;color:var(--tone)}.level-table span{font-size:13px;font-weight:750}.level-table small{font-size:11px;color:var(--muted);text-align:right}
.luck-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.luck-actions a{font-size:13px;font-weight:750;color:var(--green);text-decoration:none}.luck-actions .luck-primary{background:var(--green);color:#fff;border-radius:10px;padding:10px 16px}.luck-actions .luck-primary:hover{background:#066d6d}
.luck-range{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;align-items:end;padding-top:16px}.luck-bar{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;border-radius:9px;padding:4px 0;color:var(--ink);position:relative}.luck-bar i{display:block;width:70%;max-width:26px;height:calc(var(--score,0)*.9px + 6px);border-radius:6px 6px 3px 3px;background:var(--tone);opacity:.7}.luck-bar b{font-size:11px}.luck-bar span{font-size:12px;font-weight:750;line-height:1.3}.luck-bar small{font-size:10px;color:var(--muted);line-height:1.2}.luck-bar:hover i,.luck-bar.selected i{opacity:1}.luck-bar.selected{background:#e9f5f2}.luck-bar em{position:absolute;top:-15px;font-size:9px;font-style:normal;font-weight:800;color:#fff;background:#e07b2c;border-radius:6px;padding:0 4px;white-space:nowrap}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:4px 0 14px}.pillar{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 4px;background:#fbfdfd}.pillar span{font-size:11px;color:var(--muted);font-weight:700}.pillar b{font-size:28px;line-height:1.25;margin-top:4px;font-family:'Noto Serif KR','Nanum Myeongjo',serif}.pillar small{font-size:11px;color:var(--muted)}.pillar.unknown b{color:#c3ced3}
.el-0{color:#2f8f4e}.el-1{color:#d0543f}.el-2{color:#b98a1e}.el-3{color:#7d8b96}.el-4{color:#2c64a8}
.day-master{font-size:14px;font-weight:750;margin:0 0 12px}.element-bars{display:grid;gap:6px;margin:0 0 12px}.element-bars div{display:grid;grid-template-columns:54px minmax(0,1fr) 16px;align-items:center;gap:8px;font-size:12px}.element-bars i{display:block;height:10px;border-radius:5px;width:calc(var(--count,0)*12.5%);min-width:4px;background:currentColor}.element-bars b{text-align:right}
.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}.share-actions button{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:13px;font-weight:750;padding:9px 14px}.share-actions button:hover{border-color:var(--green);color:var(--green)}.share-actions .share-primary{background:var(--green);border-color:var(--green);color:#fff}.share-actions .share-primary:hover{background:#066d6d;color:#fff}.share-status{font-size:12px;color:var(--green);margin:8px 0 0;overflow-wrap:anywhere}.share-status:empty{display:none}
.shared-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center;border-color:#b8ded8;background:#f6fbfa}.shared-card[hidden]{display:none}.shared-card>img{display:block;width:100%;height:auto;border-radius:16px}.shared-card h2{font-size:20px;margin:4px 0 4px;letter-spacing:-.4px}.shared-card em{font-style:normal;color:var(--tone)}.shared-card p{margin:0 0 12px;color:var(--muted);font-size:14px}.shared-card .luck-primary{display:inline-block;background:var(--green);color:#fff;border-radius:10px;padding:9px 15px;font-size:13px;font-weight:750;text-decoration:none}
.fortune-note{font-size:12px;color:var(--muted);margin:6px 2px 8px}.fortune-forget{display:block;margin:0 auto}
@media(max-width:650px){.shared-card{grid-template-columns:1fr;gap:12px}.shared-card>img{max-width:260px}.share-actions button{flex:1 1 auto}.birth-grid{gap:6px}.fortune-form select,.fortune-form input[type=date]{font-size:16px;padding:9px 8px}.date-quick button{padding:7px 10px}.luck-hero{grid-template-columns:1fr;gap:14px}.luck-level h2{font-size:23px}.luck-ring{width:78px;height:78px}.luck-ring strong{font-size:25px}.level-table li{grid-template-columns:56px 40px minmax(0,1fr);gap:8px}.level-table img{width:56px;height:42px}.level-table small{grid-column:3;text-align:left;margin-top:-6px}.lucky-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.luck-range{gap:2px}.luck-bar i{width:78%}.luck-bar b{font-size:10px}.pillars{gap:5px}.pillar b{font-size:24px}}
.fortune-form .form-feedback:empty{display:none}.fortune-page .account-top nav a[aria-current=page]{color:var(--green)}
.calculation-status{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#e8f7f2;color:#176b5a;font-size:12px;font-weight:700;line-height:1.5}.calculation-status:empty{display:none}.calculation-status.pending{background:#fff2df;color:#9b5c1b}
.calculation-banner{margin:0 0 14px;padding:9px 11px;border-radius:10px;background:#e8f7f2;color:#176b5a;font-size:12px;font-weight:750;line-height:1.5}.calculation-banner:empty{display:none}.calculation-banner.pending{background:#fff2df;color:#9b5c1b}
.fortune-result.just-updated{animation:luck-refresh .65s ease-out}@keyframes luck-refresh{0%{box-shadow:0 0 0 7px #0b8a6f55;transform:translateY(5px)}100%{box-shadow:none;transform:none}}
@media(prefers-reduced-motion:reduce){.fortune-result.just-updated{animation:none}}
