*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}:root{--bg-base:#09090f;--bg-card:#111120;--bg-elevated:#181830;--border:#7864dc2e;--accent:#7f6fe0;--accent-glow:#7f6fe059;--gold:#c8a96e;--text-primary:#e8e4f0;--text-muted:#6e6a80;--success:#4ade80;--warn:#fbbf24;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--font-sans:"Inter", "Noto Sans KR", sans-serif}html{font-size:16px}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);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;flex-direction:column;gap:2rem;max-width:520px;margin:0 auto;padding:2rem 1.25rem 4rem;display:flex;position:relative}.site-header{align-items:center;gap:12px;display:flex}.logo-mark{color:#fff;width:44px;height:44px;box-shadow:0 0 18px var(--accent-glow);background:linear-gradient(135deg,#3b2f8c 0%,#7f6fe0 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.logo-text{flex-direction:column;gap:1px;display:flex}.logo-en{letter-spacing:.02em;font-size:18px;font-weight:600}.logo-ko{color:var(--text-muted);letter-spacing:.08em;font-size:11px}.hero{text-align:center}.hero-sub{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;font-size:12px}.hero-title{color:var(--text-primary);font-size:clamp(22px,5vw,30px);font-weight:700;line-height:1.4}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.5rem}.card-title{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:1.25rem;font-size:13px;font-weight:500;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;font-size:12px;display:flex}.label-icon{font-size:13px}.field{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none;width:100%;padding:.6rem .75rem;transition:border-color .2s,box-shadow .2s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.field::-webkit-calendar-picker-indicator{filter:invert(.6)brightness(1.2);cursor:pointer}.query-section{margin-bottom:0}.query-label{color:var(--text-muted);margin-bottom:.75rem;font-size:12px}.query-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.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;padding:.75rem .5rem;font-size:12px;transition:all .2s;display:flex}.query-btn:hover{border-color:var(--accent);color:var(--text-primary);background:#7f6fe01a}.query-btn.active{border-color:var(--accent);color:var(--text-primary);box-shadow:0 0 12px var(--accent-glow);background:#7f6fe026}.q-icon{font-size:20px}.q-text{font-weight:500}.cta-btn{border-radius:var(--radius-md);color:#fff;width:100%;font-size:15px;font-weight:600;font-family:var(--font-sans);cursor:pointer;letter-spacing:.04em;background:linear-gradient(135deg,#4b3dbf 0%,#7f6fe0 100%);border:none;justify-content:center;align-items:center;gap:8px;padding:.9rem;transition:opacity .2s,transform .15s;display:flex;position:relative;overflow:hidden}.cta-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.cta-btn:active:not(:disabled){transform:translateY(0)}.cta-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;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 #7f6fe033;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(--accent), 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:#7f6fe00d;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(--accent);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(--accent);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-primary);white-space:pre-wrap;margin-bottom:1rem;font-size:14px;line-height:1.9}.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:13px;font-family:var(--font-sans);cursor:pointer;letter-spacing:.04em;background:0 0;padding:.75rem;transition:all .2s}.reset-btn:hover{border-color:var(--accent);color:var(--text-primary)}.site-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);padding-top:1rem;font-size:11px;line-height:1.7}.last-update{color:var(--text-muted);opacity:.6;letter-spacing:.04em;margin-bottom:.25rem;font-size:10px}@media (max-width:480px){.page-wrap{gap:1.5rem;padding:1.5rem 1rem 3rem}.input-row{grid-template-columns:1fr}.query-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}.query-btn{padding:.6rem .4rem}.q-icon{font-size:18px}}.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:#7f6fe012;border:1px solid #7f6fe02e;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:#7f6fe026;border:1px solid #7f6fe04d}.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(--accent);color:var(--text-primary)}.ex-tab.active{border-color:var(--accent);color:var(--text-primary);background:#7f6fe026}.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(--accent);color:var(--text-primary);background:#7f6fe012}.example-chip.selected{border-color:var(--accent);color:var(--accent);background:#7f6fe01f}.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}}
