:root{--ink:#17312c;--muted:#61736e;--paper:#fbfcf8;--surface:#fff;--line:#d8e3dd;--mint:#d8f0e8;--mint-strong:#0c8175;--coral:#ff735d;--yellow:#ffd967;--danger:#b9382f;--shadow:0 20px 60px rgba(23,49,44,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f0f8f5 0,#fbfcf8 32rem);color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;line-height:1.55}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}[hidden] { display: none !important; }.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-5rem;padding:.8rem 1rem;background:var(--ink);color:#fff;z-index:99}.skip-link:focus{top:1rem}
.site-header{max-width:1180px;margin:auto;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:.65rem;align-items:center;color:var(--ink);font-weight:900;text-decoration:none;font-size:1.15rem}.brand-mark{width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;background:var(--yellow)}.header-note{color:var(--muted);font-size:.9rem}main{max-width:1180px;margin:auto;padding:0 1.5rem 5rem}.hero{min-height:340px;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;padding:3.6rem 3rem}.eyebrow,.step-kicker{margin:0 0 .55rem;color:var(--mint-strong);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(2.35rem,6vw,4.9rem);line-height:1.05;letter-spacing:-.065em}.hero h1 em{font-style:normal;color:var(--coral)}.hero p:last-child{max-width:650px;color:var(--muted);font-size:1.05rem}.hero-stamp{width:180px;height:180px;border-radius:49% 51% 56% 44%;background:var(--yellow);display:grid;place-content:center;text-align:center;transform:rotate(5deg);box-shadow:12px 14px 0 var(--mint)}.hero-stamp span{font-size:.85rem}.hero-stamp strong{font-size:2rem;line-height:1.05}
.planner-shell,.result-card,.result-hero,.loading-panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.planner-shell{max-width:980px;margin:auto;padding:clamp(1.25rem,4vw,3rem)}.planner-heading{display:flex;align-items:end;justify-content:space-between}.planner-heading h2{margin:0;font-size:clamp(1.65rem,4vw,2.5rem);letter-spacing:-.045em}.planner-heading>p{font-weight:900;color:var(--mint-strong)}.step-progress{height:7px;border-radius:10px;background:#e9efec;margin:1.2rem 0 2.5rem;overflow:hidden}.step-progress span{display:block;width:20%;height:100%;background:linear-gradient(90deg,var(--mint-strong),#35ad96);transition:width .25s ease}.wizard-step{min-height:330px;animation:appear .25s ease}.wizard-step h3{font-size:clamp(1.55rem,4vw,2.25rem);margin:0 0 1.8rem;letter-spacing:-.04em}.choice-grid{display:grid;gap:.75rem}.choice-grid-four{grid-template-columns:repeat(4,1fr)}.choice-grid-five{grid-template-columns:repeat(5,1fr)}.choice-button,.wide-choice{border:1.5px solid var(--line);border-radius:20px;background:#fff;padding:1.25rem .9rem;min-height:132px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;transition:.18s ease}.choice-button:hover,.wide-choice:hover{border-color:var(--mint-strong);transform:translateY(-2px)}.choice-button[aria-pressed="true"]{background:var(--mint);border-color:var(--mint-strong);box-shadow:0 0 0 3px rgba(12,129,117,.1)}.choice-icon{font-size:1.55rem}.choice-button strong,.wide-choice strong{font-size:1.05rem}.choice-button small,.wide-choice small{color:var(--muted)}.wide-choice{width:100%;min-height:auto;flex-direction:row;align-items:center;margin-bottom:.75rem}.wide-choice span{font-size:1.5rem}.wide-choice small{margin-left:auto}.direct-search{margin-top:1rem}.text-button{border:0;background:transparent;padding:.55rem 0;color:var(--mint-strong);font-weight:800;text-decoration:underline;text-underline-offset:3px}.input-action{display:flex;align-items:center;gap:.55rem;margin-top:.65rem}.input-action input{flex:1}.input-action label{font-weight:800}.input-action>span{color:var(--muted)}input,select{width:100%;border:1px solid #cad8d2;border-radius:12px;background:#fff;padding:.8rem .9rem;min-height:46px}.primary-button,.secondary-button{border:0;border-radius:14px;padding:.8rem 1.1rem;font-weight:900}.primary-button{background:var(--ink);color:#fff}.secondary-button{background:var(--mint);color:#086c62;white-space:nowrap}.next-button{display:block;margin:1.5rem 0 0 auto}.wizard-nav{min-height:48px;margin-top:1rem}.advanced-settings{border-top:1px dashed var(--line);margin-top:1rem;padding-top:1rem}.advanced-settings summary{cursor:pointer;display:flex;justify-content:space-between;font-weight:900}.advanced-settings summary small{font-weight:500;color:var(--muted)}.advanced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem;padding:1.2rem;border-radius:18px;background:#f5f8f6}.advanced-grid>label{font-weight:800}.advanced-grid select{margin-top:.35rem}.toggle-row,.advanced-block,.check-grid{grid-column:1/-1}.toggle-row{display:flex;gap:.8rem}.toggle-row input,.check-grid input{width:auto;min-height:auto}.toggle-row span{display:flex;flex-direction:column}.toggle-row small{color:var(--muted);font-weight:500}.advanced-block{padding:1rem;border-radius:14px;background:#fff}.advanced-block>label{font-weight:800}.unit-input{display:flex;align-items:center;gap:.5rem;max-width:180px}.check-grid{display:flex;flex-wrap:wrap;gap:1.2rem}.field-help{min-height:1.5em;color:var(--muted);font-size:.88rem}.field-help[data-tone="error"],.form-error{color:var(--danger)}.form-error{margin-top:1rem;padding:1rem;background:#fff0ed;border-radius:12px}.analyze-button{display:block;width:100%;margin-top:1.25rem;padding:1.1rem;font-size:1.08rem;background:var(--coral)}
.loading-panel{max-width:760px;margin:2rem auto;padding:1.4rem 1.6rem;display:flex;align-items:center;gap:1rem}.loading-panel p{margin:.15rem 0 0;color:var(--muted)}.loading-orbit{width:44px;height:44px;border:4px solid var(--mint);border-top-color:var(--mint-strong);border-radius:50%;animation:spin .8s linear infinite}.results{max-width:1080px;margin:3rem auto 0}.error-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff1ee;border:1px solid #ffc6bc;color:#8b2822;border-radius:18px;padding:1rem 1.25rem;margin-bottom:1rem}.error-panel p{margin:.2rem 0 0}.result-hero{position:relative;overflow:hidden;padding:clamp(1.5rem,5vw,3.5rem);background:var(--ink);color:#fff}.result-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--yellow);right:-80px;bottom:-140px}.result-hero h2{max-width:760px;margin:.3rem 0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.055em}.result-hero>p:not(.eyebrow){max-width:700px;color:#cfe0db}.score-pill{display:inline-flex;align-items:baseline;gap:.25rem;margin-top:1rem;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08)}.score-pill strong{font-size:1.8rem}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0}.summary-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:1rem}.summary-grid span{display:block;color:var(--muted);font-size:.82rem}.result-card{padding:clamp(1.2rem,3vw,2rem);margin:1rem 0;border-radius:22px}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.card-heading h3{margin:.35rem 0 0;font-size:1.35rem}.card-heading>p{max-width:410px;margin:0;color:var(--muted);font-size:.9rem}.source-badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900}.source-ai{background:#ece6ff;color:#6041aa}.source-kma{background:#e4f1ff;color:#236eaa}.source-place{background:#ffefd0;color:#8a5a00}.source-service{background:var(--mint);color:#086c62}.course-timeline,.weather-timeline{list-style:none;padding:0;margin:0}.course-timeline li{position:relative;display:grid;grid-template-columns:90px 26px 1fr;gap:.8rem;padding-bottom:1.5rem}.course-timeline li:not(:last-child):before{content:"";position:absolute;left:102px;top:28px;bottom:0;border-left:2px dashed #b9d4ca}.course-time{font-weight:900;color:var(--mint-strong)}.course-dot{width:20px;height:20px;border:5px solid var(--mint);border-radius:50%;background:var(--mint-strong)}.course-place{padding:1rem;border-radius:16px;background:#f5f8f6}.course-place h4{margin:0}.course-place p{margin:.35rem 0;color:var(--muted)}.course-place a{color:var(--mint-strong);font-weight:800}.recompose{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.recompose p{font-weight:900}.recompose>div{display:flex;flex-wrap:wrap;gap:.5rem}.recompose button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:.55rem .8rem}.recompose button:hover{border-color:var(--mint-strong);color:var(--mint-strong)}.two-column-results{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.two-column-results .result-card{margin:0}.weather-timeline li{display:flex;gap:.7rem;padding:.65rem 0;border-bottom:1px solid #eef2ef}.weather-timeline time{min-width:72px;font-weight:900}.supply-list,.insight-list{padding-left:1.15rem}.supply-list li,.insight-list li{margin:.55rem 0}.place-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.place-card{border:1px solid var(--line);border-radius:16px;padding:1rem}.place-card h4{margin:0}.place-card p{margin:.35rem 0;color:var(--muted);font-size:.88rem}.place-card a{color:var(--mint-strong);font-weight:800}.section-state{color:var(--muted);margin-bottom:.75rem}.section-state[data-tone="error"]{color:var(--danger)}.analysis-details summary{cursor:pointer;font-weight:900}.candidate-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1rem 0}.candidate-card{padding:.8rem;border-radius:12px;background:#f5f8f6}.restart-button{display:block;margin:1.5rem auto}footer{max-width:1080px;margin:0 auto;padding:2.5rem 1.5rem;color:var(--muted);font-size:.85rem}footer p{max-width:720px}
.result-pills{display:flex;flex-wrap:wrap;gap:.6rem}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.hero{padding:2.5rem .5rem;grid-template-columns:1fr}.hero-stamp{display:none}.choice-grid-four,.choice-grid-five{grid-template-columns:repeat(2,1fr)}.advanced-grid,.two-column-results{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.place-list{grid-template-columns:repeat(2,1fr)}.card-heading{display:block}.card-heading>p{margin-top:.5rem}.header-note{display:none}}
@media(max-width:480px){main{padding:0 .75rem 3rem}.site-header{padding:1rem}.hero{min-height:260px}.planner-shell{padding:1rem;border-radius:20px}.wizard-step{min-height:390px}.choice-button{min-height:116px;padding:.9rem .75rem}.area-options .choice-button{min-height:126px}.wide-choice{align-items:flex-start;flex-wrap:wrap}.wide-choice small{width:100%;margin-left:2.2rem}.input-action{align-items:stretch;flex-wrap:wrap}.input-action input{min-width:0}.advanced-settings summary{display:block}.advanced-settings summary small{display:block}.summary-grid{gap:.5rem}.place-list{grid-template-columns:1fr}.course-timeline li{grid-template-columns:64px 20px 1fr;gap:.5rem}.course-timeline li:not(:last-child):before{left:73px}.result-card{padding:1rem}.candidate-list{grid-template-columns:1fr}.error-panel{align-items:flex-start}.result-hero:after{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
