*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}:root{--bg-base:#101827;--bg-card:#0f1829e0;--bg-elevated:#ffffff12;--border:#ffffff1c;--accent:#b9a7ff;--accent-glow:#b9a7ff38;--gold:#f5c76b;--gold-glow:#f5c76b47;--soft-blue:#8ec5ff;--text-primary:#fff4d6;--text-body:#d7d9e5;--text-muted:#9ca3af;--success:#9be7c5;--warn:#ffd28a;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--font-sans:"Pretendard Variable", "Pretendard", "Noto Sans KR", "Inter", sans-serif;--font-serif:"Noto Serif KR", serif}html{font-size:16px}body{background:var(--bg-base);color:var(--text-body);font-family:var(--font-sans);background-image:radial-gradient(80% 50% at 50% -10%,#b9a7ff1f 0%,#0000 60%),radial-gradient(60% 40% at 80% 100%,#f5c76b12 0%,#0000 50%);min-height:100dvh;overflow-x:hidden}#starfield{pointer-events:none;z-index:0;opacity:.6;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.page-wrap{z-index:1;max-width:520px;padding:calc(1.75rem + env(safe-area-inset-top)) 1.25rem calc(4rem + env(safe-area-inset-bottom));flex-direction:column;gap:1.75rem;margin:0 auto;display:flex;position:relative}.site-header{padding-top:env(safe-area-inset-top);align-items:center;gap:12px;display:flex}.logo-mark{color:#fff;width:46px;height:46px;box-shadow:0 0 20px var(--gold-glow), 0 2px 8px #0006;background:linear-gradient(135deg,#7b5ea7 0%,#f5c76b 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.logo-text{flex-direction:column;gap:2px;display:flex}.logo-en{letter-spacing:.02em;color:var(--text-primary);font-size:18px;font-weight:700}.logo-ko{color:var(--gold);letter-spacing:.1em;opacity:.85;font-size:11px}.hero{text-align:center;padding:.25rem 0}.hero-badge{letter-spacing:.18em;color:var(--gold);background:#f5c76b1a;border:1px solid #f5c76b40;border-radius:999px;margin-bottom:.9rem;padding:.25rem .85rem;font-size:11px;font-weight:600;display:inline-block}.hero-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.7rem;font-size:clamp(22px,5.5vw,30px);font-weight:700;line-height:1.4}.hero-desc{color:var(--text-muted);font-size:13px;line-height:1.8}.hero-hint{color:var(--accent);opacity:.85;font-size:12px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1.5rem;box-shadow:0 4px 24px #0000002e,inset 0 1px #ffffff0d}.card-title{color:var(--text-muted);letter-spacing:.03em;align-items:center;gap:8px;margin-bottom:1.25rem;font-size:13px;font-weight:600;display:flex}.title-deco{color:var(--gold);font-style:italic}.input-row{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem;display:grid}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:4px;font-size:13px;font-weight:500;display:flex}.label-icon{font-size:14px}.field{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px;font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none;width:100%;min-height:44px;padding:.7rem .85rem;transition:border-color .2s,box-shadow .2s}.field:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.field::-webkit-calendar-picker-indicator{filter:invert(.6)brightness(1.2);cursor:pointer}.casttime{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.casttime-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:#b9a7ff14;align-items:flex-start;gap:.6rem;padding:.8rem .9rem;display:flex}.casttime-note-icon{flex-shrink:0;font-size:18px;line-height:1.4}.casttime-note p{color:var(--text-muted);font-size:12.5px;line-height:1.6}.casttime-note strong{color:var(--text-body);font-weight:600}.casttime-now{background:var(--bg-elevated);border:1px solid var(--gold-glow);border-radius:var(--radius-sm);align-items:center;gap:.7rem;padding:.85rem .95rem;display:flex}.casttime-now-icon{flex-shrink:0;font-size:20px}.casttime-now-body{flex-direction:column;gap:2px;display:flex}.casttime-now-title{color:var(--text-primary);font-size:14px;font-weight:600}.casttime-now-value{color:var(--gold);font-variant-numeric:tabular-nums;font-size:14px}.casttime-now-hint{color:var(--text-muted);margin-top:2px;font-size:11.5px}.advanced-toggle{border:1px dashed var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.65rem .8rem;font-size:13px;transition:border-color .2s,color .2s;display:flex}.advanced-toggle:hover{border-color:var(--accent);color:var(--text-body)}.adv-icon{font-size:14px}.adv-text{text-align:left;flex:1}.adv-tag{color:var(--bg-base);background:var(--accent);border-radius:6px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600}.adv-arrow{font-style:normal;transition:transform .2s}.adv-arrow.open{transform:rotate(180deg)}.advanced-time{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;flex-direction:column;gap:.25rem;padding:.9rem;display:flex}.advanced-desc{color:var(--text-muted);margin-bottom:.6rem;font-size:12px;line-height:1.6}.advanced-desc strong{color:var(--text-body)}.advanced-time .input-row{margin-bottom:.6rem}.reset-now-btn{color:var(--accent);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.3rem 0;font-size:12.5px}.reset-now-btn:hover{text-decoration:underline}.query-section{margin-bottom:1.25rem}.category-opt{color:var(--text-muted);opacity:.7;font-size:11px;font-weight:400}.query-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem;display:grid}.query-btn{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);flex-direction:column;align-items:center;gap:5px;min-height:64px;padding:.75rem .5rem;font-size:13px;transition:all .2s;display:flex}.query-btn:hover{border-color:var(--gold);color:var(--text-primary);background:#f5c76b14}.query-btn.active{border-color:var(--gold);color:var(--text-primary);box-shadow:0 0 14px var(--gold-glow);background:#f5c76b1f}.q-icon{font-size:20px}.q-text{font-size:12px;font-weight:500}.cta-btn{border-radius:var(--radius-md);color:#1a1005;width:100%;font-size:16px;font-weight:700;font-family:var(--font-sans);cursor:pointer;letter-spacing:.03em;min-height:52px;box-shadow:0 0 24px var(--gold-glow), 0 2px 8px #0003;background:linear-gradient(135deg,#c9943a 0%,#f5c76b 55%,#ffe0a0 100%);border:none;justify-content:center;align-items:center;gap:8px;padding:1rem;transition:opacity .2s,transform .15s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.cta-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 0 32px #f5c76b66,0 4px 12px #0000004d}.cta-btn:active:not(:disabled){transform:translateY(0)}.cta-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.spinner{border:2px solid #1a10054d;border-top-color:#1a1005cc;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.status-banner{border-radius:var(--radius-md);color:var(--warn);background:#fbbf2414;border:1px solid #fbbf2440;align-items:flex-start;gap:10px;padding:.75rem 1rem;font-size:13px;line-height:1.5;display:flex}.banner-icon{flex-shrink:0;margin-top:1px}.result-area{flex-direction:column;gap:1rem;animation:.4s fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ai-loading{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.25rem}.ai-loading-label{color:var(--text-muted);align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:13px;display:flex}.spinner-sm{border:2px solid #b9a7ff33;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.ai-progress-track{background:var(--bg-elevated);border-radius:999px;width:100%;height:3px;overflow:hidden}.ai-progress-bar{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:60%;height:100%;animation:1.6s ease-in-out infinite progressShimmer}@keyframes progressShimmer{0%{transform:translate(-150%)}to{transform:translate(280%)}}.diagram-inner-content{width:100%}.diagram-header-inner{text-align:center;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem}.diagram-date-text{color:var(--text-muted);margin-bottom:.25rem;font-size:11px}.diagram-day-text{color:var(--gold);letter-spacing:.06em;font-size:14px;font-weight:600}.diagram-section{margin-bottom:1rem}.section-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem;font-size:10px;font-weight:600}.four-courses{flex-wrap:wrap;justify-content:space-around;gap:.4rem;display:flex}.course-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f5c76b0d;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:68px;padding:.55rem .35rem;display:flex}.course-label{color:var(--text-muted);font-size:10px;font-weight:600}.course-general{color:var(--text-muted);white-space:nowrap;font-size:10px}.course-arrow{color:var(--text-muted);font-size:11px}.diagram-divider-inner{border:none;border-top:1px dashed var(--border);margin:.75rem 0 1rem}.three-trans{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.trans-item{flex-direction:column;align-items:center;gap:4px;min-width:68px;display:flex}.trans-position{color:var(--gold);font-size:10px;font-weight:700}.trans-general{color:var(--text-muted);white-space:nowrap;font-size:10px}.trans-strength{font-size:10px;font-weight:700}.course-name{color:var(--gold);text-align:center;letter-spacing:.06em;margin-bottom:1rem;font-size:22px;font-weight:700}.transmission-row{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.t-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:.65rem .5rem}.t-position{color:var(--text-muted);margin-bottom:3px;font-size:10px}.t-branch{color:var(--gold);font-size:18px;font-weight:700}.t-general{color:var(--text-muted);margin-top:3px;font-size:11px}.t-strength{margin-top:2px;font-size:10px}.t-strength[data-value=왕]{color:var(--success)}.t-strength[data-value=상]{color:#86efac}.t-strength[data-value=휴]{color:var(--text-muted)}.t-strength[data-value=수]{color:#f87171}.t-strength[data-value=사]{color:#ef4444}.interpretation-text{color:var(--text-body);white-space:pre-wrap;letter-spacing:.01em;margin-bottom:1rem;font-size:15px;line-height:2}.sentiment-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0,#b9a7ff24,#0000 38%),linear-gradient(#ffffff05,#09090f3d);margin:0 0 1rem;padding:1rem;box-shadow:inset 0 1px #ffffff08}.sentiment-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.sentiment-summary-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sentiment-lean{letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.sentiment-lean[data-lean=positive]{color:#34d399;background:#34d39926;border:1px solid #34d39959}.sentiment-lean[data-lean=negative]{color:#fb923c;background:#f9731626;border:1px solid #f9731659}.sentiment-kicker{letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.3rem;font-size:10px}.sentiment-summary{color:var(--text-primary);font-size:15px;font-weight:700}.sentiment-note{max-width:220px;color:var(--text-muted);text-align:right;font-size:11px;line-height:1.55}.sentiment-track{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;width:100%;height:10px;margin-bottom:.85rem;display:flex;overflow:hidden}.sentiment-segment{height:100%;display:block}.sentiment-segment.is-positive{background:linear-gradient(90deg,#34d399,#7dd3fc)}.sentiment-segment.is-neutral{background:linear-gradient(90deg, var(--accent), var(--gold))}.sentiment-segment.is-negative{background:linear-gradient(90deg,#f97316,#ef4444)}.sentiment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.sentiment-stat{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff05;padding:.7rem .75rem}.sentiment-label{letter-spacing:.08em;color:var(--text-muted);font-size:10px;display:block}.sentiment-value{color:var(--text-primary);margin-top:.28rem;font-size:18px;font-weight:700;display:block}.sentiment-stat.is-positive .sentiment-value{color:#7dd3fc}.sentiment-stat.is-neutral .sentiment-value{color:var(--gold)}.sentiment-stat.is-negative .sentiment-value{color:#fb7185}[data-mood=neutral-positive] .sentiment-stat.is-positive{background:#34d39912;border-color:#34d39973;box-shadow:0 0 8px #34d39926}[data-mood=neutral-negative] .sentiment-stat.is-negative{background:#f9731612;border-color:#f9731673;box-shadow:0 0 8px #f9731626}[data-mood=neutral-positive]{border-color:#34d3994d}[data-mood=neutral-negative]{border-color:#f973164d}.ai-badge{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.badge-dot{background:var(--success);width:6px;height:6px;box-shadow:0 0 5px var(--success);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.reset-btn{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-muted);font-size:14px;font-family:var(--font-sans);cursor:pointer;letter-spacing:.04em;background:0 0;min-height:48px;padding:.85rem;transition:all .2s}.reset-btn:hover{border-color:var(--accent);color:var(--text-primary)}@media (max-width:640px){.sentiment-head{flex-direction:column}.sentiment-note{text-align:left;max-width:none}.sentiment-summary-row{gap:.4rem}}@media (max-width:480px){.page-wrap{padding:1.25rem 1rem calc(3rem + env(safe-area-inset-bottom));gap:1.5rem}.input-row{grid-template-columns:1fr}.query-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}.query-btn{min-height:58px;padding:.65rem .4rem}.q-icon{font-size:18px}.hero-title{font-size:20px}.cta-btn{font-size:15px}}.info-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.section-toggle{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:1rem 1.25rem;font-family:inherit;transition:background .15s;display:flex}.section-toggle:hover{background:var(--bg-elevated)}.toggle-icon{flex-shrink:0;font-size:16px}.toggle-title{letter-spacing:.02em;flex:1;font-size:14px;font-weight:500}.toggle-arrow{color:var(--text-muted);font-size:14px;font-style:normal;transition:transform .25s}.toggle-arrow.open{transform:rotate(180deg)}.section-body{border-top:1px solid var(--border);padding:0 1.25rem 1.25rem;animation:.2s fadeDown}@keyframes fadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.section-lead{color:var(--text-muted);margin:1rem 0;font-size:13px;line-height:1.8}.section-lead em{color:var(--accent);font-style:normal}.about-grid{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem;display:grid}.about-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:5px;padding:.85rem;display:flex}.about-icon{font-size:20px}.about-card strong{color:var(--gold);font-size:13px}.about-card p{color:var(--text-muted);font-size:11px;line-height:1.6}.about-note{border-radius:var(--radius-sm);color:var(--text-muted);background:#b9a7ff12;border:1px solid #b9a7ff2e;align-items:flex-start;gap:8px;padding:.75rem;font-size:12px;line-height:1.6;display:flex}.note-icon{flex-shrink:0;margin-top:1px}.tip-list{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.tip-item{border-radius:var(--radius-md);padding:.85rem;font-size:12px;line-height:1.8}.tip-item.tip-good{background:#4ade800f;border:1px solid #4ade802e}.tip-item.tip-bad{background:#f871710f;border:1px solid #f871712e}.tip-badge{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:10px;font-weight:600}.tip-badge.good{color:var(--success)}.tip-badge.bad{color:#f87171}.tip-item ul{padding-left:1rem}.tip-item li{color:var(--text-muted);margin-bottom:.2rem}.tip-item em{color:var(--text-primary);font-style:normal}.tip-formula{background:var(--bg-elevated);border-radius:var(--radius-md);text-align:center;padding:.9rem}.formula-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem;font-size:10px;display:block}.formula-text{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.f-part{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:500}.f-part.situation{color:var(--accent);background:#b9a7ff26;border:1px solid #b9a7ff4d}.f-part.period{color:var(--gold);background:#c8a96e1f;border:1px solid #c8a96e40}.f-part.query{color:var(--success);background:#4ade8014;border:1px solid #4ade8033}.f-plus{color:var(--text-muted);font-size:14px}.formula-example{color:var(--text-muted);font-size:11px;line-height:1.6}.formula-example em{color:var(--text-primary);font-style:normal}.section-sublabel{color:var(--text-muted);margin:.75rem 0 .6rem;font-size:11px}.example-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.ex-tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:99px;padding:.3rem .7rem;font-family:inherit;font-size:11px;transition:all .15s}.ex-tab:hover{border-color:var(--gold);color:var(--text-primary)}.ex-tab.active{border-color:var(--gold);color:var(--text-primary);background:#f5c76b1f}.example-panel{flex-direction:column;gap:.4rem;display:flex}.example-chip{text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);cursor:pointer;padding:.65rem .85rem;font-family:inherit;font-size:12px;line-height:1.5;transition:all .15s}.example-chip:hover{border-color:var(--gold);color:var(--text-primary);background:#f5c76b12}.example-chip.selected{border-color:var(--gold);color:var(--gold);background:#f5c76b1f}.notice-list{flex-direction:column;gap:.65rem;margin-top:.85rem;list-style:none;display:flex}.notice-list li{color:var(--text-muted);align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;display:flex}.notice-dot{background:var(--text-muted);opacity:.5;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:6px}.notice-list strong{color:var(--text-primary);font-weight:500}@media (max-width:480px){.about-grid{grid-template-columns:1fr}.formula-text{gap:.3rem}}.question-wrap{margin-bottom:1rem}.question-field{resize:none;min-height:90px;font-family:inherit;font-size:15px;line-height:1.7}.question-field::placeholder{color:var(--text-muted);opacity:.7;font-size:13px;line-height:1.8}.question-field-wrap{position:relative}.classify-hint{border-radius:var(--radius-sm);color:var(--text-muted);background:#b9a7ff14;border:1px solid #b9a7ff33;align-items:center;gap:7px;margin-top:.5rem;padding:.5rem .75rem;font-size:12px;transition:opacity .2s;display:flex}.hint-icon{font-size:14px}.hint-text{flex:1}.hint-change{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;text-decoration:underline}.empty-state{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:2.5rem 1.5rem;animation:.5s fadeUp}.empty-icon{opacity:.6;margin-bottom:.75rem;font-size:36px;display:block}.empty-title{color:var(--text-primary);opacity:.7;margin-bottom:.4rem;font-size:15px;font-weight:600}.empty-desc{color:var(--text-muted);font-size:12px;line-height:1.7}.site-footer{text-align:center;color:var(--text-muted);padding:1rem 0 calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);font-size:11px;line-height:1.7}.footer-disclaimer{color:var(--text-muted);opacity:.75;margin-bottom:.3rem;font-size:11px;line-height:1.6}.last-update{color:var(--text-muted);opacity:.5;letter-spacing:.04em;margin-bottom:.25rem;font-size:10px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.shake{animation:.4s shake}
