:root{color-scheme:light;--bg:#f4ead8;--bg-soft:#dfe5e8;--card:rgba(255,252,244,.86);--text:#2f261d;--muted:#6f6860;--accent:#c89543;--accent-strong:#8f5d1b;--accent-soft:rgba(200,149,67,.16);--border:rgba(96,72,48,.16);--field:rgba(255,252,245,.92);--moon-blue:#657483;--moon-blue-soft:rgba(101,116,131,.18);--rose:#bf746d;--sage:#6f947b}*{box-sizing:border-box}body{font-family:Pretendard Variable,Noto Sans KR,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,rgba(101,116,131,.26) 0,transparent 36%),linear-gradient(225deg,rgba(200,149,67,.18) 0,transparent 34%),linear-gradient(180deg,#fff8ec 0,var(--bg) 46%,#dfe8e6 100%);color:var(--text)}body,h1,h2,h3,p{margin:0}.shell{min-height:100vh;padding:2rem 1.25rem 3rem;display:flex;justify-content:center}.stack{width:min(940px,100%);display:grid;grid-gap:1rem;gap:1rem}.card{background:linear-gradient(180deg,rgba(255,253,248,.96),var(--card));border:1px solid var(--border);border-radius:18px;padding:1.35rem;box-shadow:0 22px 54px rgba(69,50,31,.13);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-card h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15}.muted{color:var(--muted)}.eyebrow{display:inline-flex;align-items:center;margin-bottom:.85rem;padding:.35rem .7rem;border-radius:999px;background:rgba(101,116,131,.1);color:var(--accent-strong);font-size:.82rem;font-weight:700;letter-spacing:.04em}.hero-copy{margin-top:.85rem;max-width:52rem;line-height:1.7}.pill-row{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.6rem}.info-pill{display:inline-flex;align-items:center;padding:.5rem .8rem;border-radius:999px;background:hsla(0,0%,100%,.56);border:1px solid rgba(96,72,48,.12);color:var(--text);font-size:.92rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.form-grid{margin-top:1rem;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;grid-gap:.5rem;gap:.5rem;font-size:.95rem;color:var(--muted)}input,select,textarea{background:#fffaf1;color:var(--text);border:1px solid var(--border);border-radius:14px;padding:.85rem .95rem;background:var(--field)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(242,185,75,.45);outline-offset:2px}.btn-secondary:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid rgba(242,185,75,.75);outline-offset:3px}.field-card{display:grid;grid-gap:.8rem;gap:.8rem;padding:1rem;border-radius:18px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.48)}.field-card h3{font-size:1.02rem}.field-card p{line-height:1.6}.field-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.helper-text{font-size:.88rem;line-height:1.55;color:var(--muted)}.input-hint{color:var(--muted);font-size:.8rem}.field-error{color:#ffb1a6;font-size:.82rem;line-height:1.45}input[aria-invalid=true]{border-color:hsla(0,100%,77%,.75)}.checkbox-row{display:flex;align-items:center;gap:.65rem;color:var(--text)}.checkbox-row input{width:1rem;height:1rem;margin:0}.preset-row{display:flex;flex-wrap:wrap;gap:.6rem}.preset-chip{border:1px solid hsla(0,0%,100%,.08);border-radius:999px;padding:.55rem .85rem;background:hsla(0,0%,100%,.04);color:var(--text);font-size:.88rem}.note-box{padding:.95rem 1rem;border-radius:14px;background:rgba(200,149,67,.1);border:1px solid rgba(200,149,67,.2);color:var(--text);line-height:1.6}.btn-secondary,button{border:0;border-radius:14px;padding:.85rem 1.1rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button{background:linear-gradient(135deg,#e2b761,#b97b2f);color:#24180b}button.preset-chip{background:hsla(0,0%,100%,.04);color:var(--text);border:1px solid hsla(0,0%,100%,.08)}.btn-secondary{background:var(--accent-soft);color:var(--text);border:1px solid var(--border)}.button-row{display:flex;align-items:center;gap:.75rem}.result-toolbar{display:flex;justify-content:flex-end}.horoscope-result-hero{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:start}.home-hero,.monthly-report-hero{position:relative;overflow:hidden;display:grid;grid-gap:1.4rem;gap:1.4rem;grid-template-columns:minmax(0,1.25fr) minmax(220px,.65fr);align-items:center;border-color:rgba(200,149,67,.28);background:linear-gradient(120deg,rgba(255,252,244,.98),rgba(236,242,241,.92) 58%,rgba(213,221,226,.88))}.home-hero-copy,.report-hero-main,.yongyong-mascot{position:relative;z-index:1}.yongyong-mascot{display:grid;justify-items:center;grid-gap:.75rem;gap:.75rem;margin:0}.yongyong-frame{width:min(260px,100%);aspect-ratio:4/5;overflow:hidden;border-radius:18px;border:1px solid rgba(96,72,48,.18);background:linear-gradient(180deg,#fff7ea,#dfe7e9);box-shadow:0 18px 38px rgba(75,55,36,.14)}.yongyong-frame img{width:420%;height:auto;max-width:none;transform:translate(-1%,-1%)}.yongyong-mascot.report .yongyong-frame{width:190px;aspect-ratio:1;border-radius:999px}.yongyong-mascot.report .yongyong-frame img{width:430%;height:auto;transform:translate(-1%,-2%)}.yongyong-mascot.small .yongyong-frame{width:120px}.yongyong-mascot figcaption{max-width:15rem;color:var(--muted);font-size:.9rem;line-height:1.45;text-align:center}.resume-panel{border-color:rgba(101,116,131,.22);background:linear-gradient(180deg,rgba(255,253,248,.94),rgba(235,241,240,.86))}.resume-link-grid{margin-top:1rem;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.resume-link{display:grid;grid-gap:.4rem;gap:.4rem;min-height:7rem;padding:1rem;border-radius:16px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.56);color:var(--text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.resume-link:hover{transform:translateY(-2px);border-color:rgba(200,149,67,.34);background:rgba(255,250,241,.92)}.resume-link strong{color:var(--accent-strong)}.resume-link span{color:var(--muted);font-size:.9rem;line-height:1.45}.birth-entry-card{border-color:rgba(200,149,67,.22)}.copy-results-button{min-width:10.5rem;min-height:2.75rem;white-space:nowrap}.report-hero-side{display:grid;justify-items:center;grid-gap:.85rem;gap:.85rem}.report-action-row,.report-status-row{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.65rem}.button-link.subtle{background:rgba(101,116,131,.1);border-color:rgba(101,116,131,.2);color:var(--moon-blue)}.monthly-core-panel{background:linear-gradient(180deg,rgba(255,251,241,.96),rgba(232,239,239,.84))}.priority-date-grid{align-items:stretch}.report-section-grid{margin-top:1rem}.report-section-grid .section-card{padding:1rem;border-radius:16px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.52)}.report-section-grid .section-card h3{color:var(--accent-strong)}.yearly-strip-panel{background:linear-gradient(180deg,rgba(244,248,247,.94),rgba(255,252,244,.9))}.recovery-card{display:grid;grid-gap:.8rem;gap:.8rem;border-color:hsla(5,39%,59%,.26)}.floating-menu{position:fixed;right:max(.85rem,env(safe-area-inset-right));bottom:max(.85rem,env(safe-area-inset-bottom));left:.85rem;z-index:50;display:grid;justify-items:end;grid-gap:.65rem;gap:.65rem;pointer-events:none}.floating-menu-panel{display:grid;grid-gap:.7rem;gap:.7rem;width:min(19rem,100%);max-height:calc(100vh - 6rem);overflow:auto;padding:.7rem;border-radius:18px;border:1px solid hsla(0,0%,100%,.12);background:rgba(79,91,102,.96);box-shadow:0 20px 56px rgba(0,0,0,.36);opacity:0;transform:translateY(.5rem);transition:opacity .16s ease,transform .16s ease;pointer-events:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.floating-menu-panel.open{opacity:1;transform:translateY(0);pointer-events:auto}.floating-menu-header{display:grid;grid-gap:.25rem;gap:.25rem;padding:.25rem .35rem .1rem}.floating-menu-header span{color:#ffe4a5;font-size:.92rem;font-weight:800}.floating-menu-header small{color:rgba(255,250,240,.72);font-size:.76rem}.floating-menu-section{display:grid;grid-gap:.45rem;gap:.45rem}.floating-menu-section.utility{padding-top:.65rem;border-top:1px solid hsla(0,0%,100%,.16)}.floating-menu-item{width:100%;min-height:2.55rem;justify-content:flex-start;border-radius:12px;padding:.72rem .85rem;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.14);color:#fffaf0;text-align:left;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.floating-menu-item.utility{color:rgba(255,250,240,.72);background:hsla(0,0%,100%,.045)}.floating-menu-item:hover{transform:translateX(2px);border-color:rgba(242,185,75,.36);background:rgba(242,185,75,.1)}.floating-menu-toggle{min-width:4.5rem;min-height:3rem;border-radius:999px;box-shadow:0 16px 42px rgba(0,0,0,.34);pointer-events:auto}.secondary-button{background:var(--accent-soft);color:var(--text);border:1px solid var(--border)}.full-width{grid-column:1/-1}.details-grid{display:grid;grid-gap:.75rem;gap:.75rem}.chart-placeholder{display:grid;place-items:center;min-height:240px}.orbital-ring{width:170px;height:170px;border-radius:999px;border:2px solid var(--accent);display:grid;place-items:center;box-shadow:0 0 0 18px rgba(242,185,75,.09);background:radial-gradient(circle,rgba(242,185,75,.12),transparent 62%)}.orbital-ring span{font-size:1.3rem;font-weight:700}.spinner-wrap{display:grid;place-items:center;grid-gap:.8rem;gap:.8rem;padding:2rem 1rem}.spinner{width:40px;height:40px;border-radius:999px;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:spin 1s linear infinite}.section-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.section-card h2{margin-bottom:.6rem}.section-card p{color:var(--muted);line-height:1.5}.section-description{margin-bottom:.9rem;line-height:1.55}.info-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.info-card h2{margin-bottom:.7rem}.info-card p{line-height:1.65;color:var(--muted)}.chart-meta-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-card{padding:1rem;border-radius:18px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08)}.metric-card h2{margin-bottom:.5rem}.metric-card p{color:var(--text);line-height:1.5}.metric-note{display:block;margin-top:.45rem;color:var(--muted);font-size:.85rem;line-height:1.45}.reading-list{display:grid;grid-gap:.7rem;gap:.7rem}.reading-list p{color:var(--muted);line-height:1.55}.warning-card{border-color:rgba(200,149,67,.32);background:linear-gradient(180deg,rgba(255,244,220,.92),rgba(255,252,244,.94))}.warning-card h2{margin-bottom:.65rem}.warning-card p{color:var(--text);line-height:1.65}.month-grid{margin-top:1rem;display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.compact-month-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.monthly-highlight{border-color:rgba(200,149,67,.28);background:linear-gradient(180deg,rgba(255,247,230,.9),var(--card))}.horoscope-summary-strip{margin-top:1rem;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.horoscope-summary-strip div{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0;padding:.9rem;border-radius:16px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.5)}.horoscope-summary-strip span{color:var(--muted);font-size:.82rem}.horoscope-summary-strip strong{color:var(--text);line-height:1.35}.month-card{display:grid;grid-gap:.7rem;gap:.7rem;padding:1rem;border-radius:20px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.48);color:var(--text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.month-card:hover{transform:translateY(-2px);border-color:rgba(242,185,75,.35)}.month-card.active{border-color:rgba(200,149,67,.55);background:rgba(200,149,67,.11)}.month-card h3{font-size:1rem;line-height:1.45}.month-card-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.query-pill,.score-pill{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:hsla(0,0%,100%,.56);border:1px solid rgba(96,72,48,.12);color:var(--muted);font-size:.82rem;font-weight:600}.query-pill.active{color:var(--accent-strong);border-color:rgba(200,149,67,.3)}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem}.tag{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:var(--moon-blue-soft);color:var(--text);font-size:.82rem}.window-copy{display:grid;grid-gap:.45rem;gap:.45rem}.window-copy p{color:var(--muted);line-height:1.5}.date-insight-list{display:grid;grid-gap:.8rem;gap:.8rem}.date-insight-item{padding:.95rem 1rem;border-radius:18px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.5)}.date-insight-list.positive .date-insight-item{background:rgba(111,148,123,.11);border-color:rgba(111,148,123,.22)}.date-insight-list.negative .date-insight-item{background:hsla(5,39%,59%,.11);border-color:hsla(5,39%,59%,.22)}.date-insight-item strong{display:block;margin-bottom:.4rem}.date-insight-item p{color:var(--muted);line-height:1.55}.date-insight-label{color:var(--text)!important;font-weight:600;margin-bottom:.4rem}.evidence-grid{margin-top:1rem;display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.evidence-card{padding:1rem;border-radius:16px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.5)}.evidence-card.supportive{background:rgba(111,148,123,.11);border-color:rgba(111,148,123,.22)}.evidence-card.challenging{background:hsla(5,39%,59%,.11);border-color:hsla(5,39%,59%,.22)}.evidence-date{display:inline-flex;margin-bottom:.6rem;color:var(--accent-strong);font-size:.82rem;font-weight:700}.evidence-card h3{margin-bottom:.5rem}.evidence-card p{color:var(--muted);line-height:1.55}.action-calendar-grid{margin-top:1rem;display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.action-day-card{display:grid;grid-gap:.7rem;gap:.7rem;min-height:230px;padding:1rem;border-radius:16px;border:1px solid rgba(96,72,48,.12);background:hsla(0,0%,100%,.5)}.action-day-card.supportive,.daily-brief-card.supportive{border-color:rgba(111,148,123,.24);background:rgba(111,148,123,.1)}.action-day-card.challenging,.daily-brief-card.challenging{border-color:hsla(5,39%,59%,.22);background:hsla(5,39%,59%,.1)}.action-day-card p,.coach-answer p{line-height:1.55}.button-link,.inline-link{color:var(--accent-strong);font-weight:700;text-decoration:none}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem;padding:0 .95rem;border-radius:14px;border:1px solid rgba(242,185,75,.24);background:rgba(242,185,75,.1)}.link-toolbar{gap:.7rem}.account-panel,.auth-form,.coach-form,.daily-brief-card{display:grid;grid-gap:1rem;gap:1rem}.account-email,.auth-success{color:var(--accent-strong);font-weight:700}.coach-form textarea{min-height:140px;resize:vertical}.coach-form button:disabled{cursor:wait;opacity:.72}.form-error{color:#ffb1a6;font-weight:700}.coach-answer{display:grid;grid-gap:1rem;gap:1rem}.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-stack{gap:.85rem}.disclosure-card{padding-top:1rem}.disclosure-card summary{cursor:pointer;font-weight:700;list-style:none}.disclosure-card summary::-webkit-details-marker{display:none}.disclosure-card summary:after{content:"열기";margin-left:.75rem;color:var(--muted);font-weight:500}.disclosure-card[open] summary:after{content:"접기"}.disclosure-body{margin-top:1rem}@keyframes spin{to{transform:rotate(1turn)}}@media (min-width:960px){.shell{padding-left:17rem}.floating-menu{top:50%;bottom:auto;left:max(1rem,env(safe-area-inset-left));right:auto;width:14.5rem;transform:translateY(-50%);justify-items:stretch;pointer-events:auto}.floating-menu-panel{width:100%;opacity:1;transform:none;pointer-events:auto}.floating-menu-toggle{display:none}}@media (max-width:700px){.shell{padding:1rem .75rem 2rem}.floating-menu{position:static;left:auto;right:auto;bottom:auto;z-index:auto;justify-items:stretch;pointer-events:auto}.floating-menu-panel{width:100%;max-height:none;opacity:1;transform:none;pointer-events:auto}.floating-menu-toggle{display:none}.field-grid,.form-grid,.home-hero,.horoscope-result-hero,.horoscope-summary-strip,.info-grid,.monthly-report-hero,.resume-link-grid,.two-column-grid{grid-template-columns:1fr}.hero-card h1{font-size:2rem}.button-row{flex-direction:column}.button-row>*,.report-action-row>*{width:100%}.report-action-row{display:grid}.result-toolbar{justify-content:stretch}.copy-results-button{width:100%}.month-card-top,.section-heading{flex-direction:column}.month-card-top{align-items:flex-start}.yongyong-frame{width:min(210px,78vw)}.yongyong-mascot.report .yongyong-frame{width:min(160px,60vw)}.resume-link{min-height:auto}}