:root{--surface: rgba(255, 250, 240, .92);--ink: #1d2a1f;--muted: #5b6759;--line: rgba(29, 42, 31, .12);--accent: #2b5d4c;--accent-strong: #143c31;--warning: #8a5224;--shadow: 0 18px 48px rgba(44, 56, 41, .12);--radius-xl: 28px;--radius-lg: 20px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-height:100vh;font-family:Malgun Gothic,맑은 고딕,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 15%,rgba(196,222,207,.8),transparent 30%),radial-gradient(circle at 80% 12%,rgba(255,207,153,.6),transparent 24%),linear-gradient(180deg,#f3ebd9,#f9f6ef 40%,#f6efe2)}button,input,select,textarea{font:inherit}button{border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.58}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#ffffffe6;color:var(--ink);padding:.92rem 1rem;transition:border-color .18s ease,box-shadow .18s ease}input:not([type=radio]):not([type=checkbox]):focus,select:focus,textarea:focus{border-color:#2b5d4c85;box-shadow:0 0 0 4px #2b5d4c1f;outline:none}textarea{resize:vertical;min-height:10rem}.page-shell{position:relative;min-height:100vh;overflow-x:hidden}.ambient{position:fixed;border-radius:999px;filter:blur(24px);opacity:.52;pointer-events:none}.ambient-a{width:16rem;height:16rem;left:-2rem;top:8rem;background:#4a8e7a2e}.ambient-b{width:18rem;height:18rem;right:-4rem;top:18rem;background:#cf7f3e24}.phone-frame{position:relative;z-index:1;width:min(100%,33rem);margin:0 auto;padding:env(safe-area-inset-top,0) 1rem calc(7rem + env(safe-area-inset-bottom,0))}.hero,.restore-banner,.section-card,.sticky-actions,.completion-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.hero{margin-top:1rem;padding:1.4rem 1.35rem;background:linear-gradient(150deg,#fffbf3f5,#faf1e0e0);border:1px solid rgba(29,42,31,.08);border-radius:var(--radius-xl)}.hero__eyebrow,.section-card__kicker{display:inline-flex;align-items:baseline;gap:.45em;margin:0 0 .6rem;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero__title,.section-card__title{margin:0;font-family:Malgun Gothic,맑은 고딕,sans-serif;line-height:1.2}.hero__title{font-size:clamp(1.72rem,6.8vw,2.28rem);margin-bottom:16px}.hero__body,.section-card__body,.note-block p,.consent-sheet p,.branch-card__header p{margin:0;color:var(--muted);line-height:1.7}.hero__body span,.note-block p span{display:block}.note-block p{text-align:center;font-weight:700}.hero__meta{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.save-pill{display:inline-flex;align-items:center;padding:.6rem .8rem;border-radius:999px;background:#2b5d4c1a;color:var(--accent-strong);font-size:.9rem;font-weight:700}.restore-banner{display:none;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1rem;padding:.9rem 1rem;border-radius:18px;background:#fff6e4f2;border:1px solid rgba(138,82,36,.12);color:var(--warning)}.restore-banner.is-visible{display:flex}.survey-form,.completion-section{margin-top:1rem}.completion-card{padding:1.3rem 1rem 1.15rem;border-radius:var(--radius-xl);background:linear-gradient(150deg,#fffbf3f5,#faf1e0e0);border:1px solid rgba(29,42,31,.08)}.completion-card__body{margin:0;color:var(--muted);line-height:1.7}.completion-card__meta{display:grid;gap:.3rem;margin-top:1rem;padding:.9rem 1rem;border-radius:18px;background:#ffffffbd;border:1px solid rgba(29,42,31,.08)}.completion-card__label{color:var(--muted);font-size:.84rem}.completion-card__actions{display:flex;margin-top:1rem}.completion-card__actions .primary-button{width:100%}.step-panel{display:none}.step-panel.is-active{display:block}.section-card{padding:1.3rem 1rem 1.15rem;border-radius:var(--radius-xl);background:var(--surface);border:1px solid rgba(29,42,31,.08)}.section-card__header{margin-bottom:1rem}.section-card__title{font-size:1.52rem}.section-card__inline-title{font-size:inherit;font-weight:400}.section-card__kicker--with-source{flex-wrap:wrap;row-gap:.2em}.section-card__source{font-weight:400;font-size:.68rem;letter-spacing:0;text-transform:none;color:var(--muted)}.note-block,.consent-sheet,.branch-card,.topic-card{border-radius:18px;background:#ffffffbd;border:1px solid rgba(29,42,31,.08);padding:1rem}.consent-sheet{margin-top:1rem}.consent-sheet__title{margin:0 0 .5rem}.consent-sheet__trigger{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:0;background:none;color:var(--accent-strong);font-size:1.02rem;font-weight:800;text-align:left}.consent-sheet__trigger span{min-height:auto;padding:0;border:none;background:none;color:var(--accent);font-size:.82rem;font-weight:700;justify-content:flex-start;text-decoration:underline;text-underline-offset:.15em}.consent-sheet ul{margin:.8rem 0;padding-left:1.1rem;color:var(--muted);line-height:1.7}.field-stack{display:grid;gap:1rem}.field{display:grid;gap:.55rem}.field__label{font-weight:700}.field small{color:var(--muted)}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.choice-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card,.chip-option{position:relative;display:block}.choice-card,.chip-option,.linear-scale__option{-webkit-tap-highlight-color:transparent}.choice-card input,.chip-option input,.linear-scale__option input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:none;border-radius:0;background:none;box-shadow:none;outline:none;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.choice-card input:focus,.chip-option input:focus,.linear-scale__option input:focus{border:none;box-shadow:none;outline:none}.choice-card span,.chip-option span{display:flex;align-items:center;justify-content:center;min-height:3.2rem;padding:.85rem .9rem;border-radius:16px;border:1px solid rgba(29,42,31,.1);background:#fffc;color:var(--muted);text-align:center;line-height:1.35}.choice-card--single span{justify-content:flex-start}.choice-card--compact span{min-height:2.8rem}.choice-card input:checked+span,.chip-option input:checked+span{border-color:#2b5d4c52;background:linear-gradient(180deg,#d8ebe3eb,#e5f3edeb);color:var(--accent-strong);font-weight:700}.branch-card__header{margin-bottom:.9rem}.branch-card__header--plain{margin-bottom:0}.checklist-list{display:grid;gap:.9rem}.checklist-item{display:grid;gap:.7rem;padding:.9rem;border-radius:16px;background:#fffbf3d6;border:1px solid rgba(29,42,31,.08)}.checklist-item__text{margin:0;line-height:1.55}.scale-stack{display:grid;gap:1rem;margin-top:1rem}.scale-block{display:grid;gap:.9rem;padding:1rem;border-radius:18px;background:#ffffffbd;border:1px solid rgba(29,42,31,.08)}.scale-list{display:grid;gap:.9rem}.scale-question{display:grid;gap:.7rem;padding:.9rem;border-radius:16px;background:#fffbf3d6;border:1px solid rgba(29,42,31,.08)}.scale-question__text,.scale-question__help{margin:0;line-height:1.55}.scale-question__text{font-weight:700}.scale-question__help{color:var(--muted);font-size:.9rem}.choice-grid--scale{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid--compact .choice-card span{min-height:2.15rem;padding:.42rem .55rem;font-size:.86rem;border-radius:12px}.choice-grid--scale .choice-card span{flex-direction:column;gap:.1rem;word-break:keep-all}.choice-card span small{font-size:.8em;opacity:.7}.linear-scale{--scale-count: 5;position:relative;display:grid;grid-template-columns:repeat(var(--scale-count),minmax(0,1fr));padding:.15rem 0 0}.linear-scale__option{position:relative;display:grid;justify-items:center;gap:.52rem;cursor:pointer}.linear-scale__option:not(:last-child):after{content:"";position:absolute;top:.55rem;left:50%;width:100%;height:2px;background:#1d2a1f29}.linear-scale__dot{width:1.12rem;height:1.12rem;border-radius:50%;border:2px solid rgba(43,93,76,.45);background:#fff;z-index:1}.linear-scale__option input:checked+.linear-scale__dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px #2b5d4c29}.linear-scale__option input:focus-visible+.linear-scale__dot{box-shadow:0 0 0 4px #2b5d4c38}.linear-scale__caption{color:var(--muted);font-size:.76rem;line-height:1.25;text-align:center;word-break:keep-all}.linear-scale__option input:checked~.linear-scale__caption{color:var(--accent-strong);font-weight:700}.topic-columns{display:grid;gap:.9rem}.chip-list{display:flex;flex-wrap:wrap;gap:.6rem}.chip-option span{min-height:auto;padding:.7rem .9rem;border-radius:999px}.field-error{min-height:1.5rem;margin:.9rem 0 0;color:#aa4425;font-size:.92rem;font-weight:700}.sticky-actions{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom,0));transform:translate(-50%);width:min(calc(100% - 2rem),31rem);display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.8rem;border-radius:22px;background:#fffbf4eb;border:1px solid rgba(29,42,31,.08)}.sticky-actions__meta{display:grid;gap:.15rem}.sticky-actions__meta span{font-size:.86rem;color:var(--muted)}.sticky-actions__meta strong{font-size:.98rem;line-height:1.35}.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;border-radius:16px;padding:0 1rem;font-weight:800}.primary-button{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#f8faf7}.ghost-button{background:#1d2a1f0f;color:var(--ink)}.ghost-button--small{min-height:2.2rem;padding:0 .85rem;font-size:.85rem}.agreement-dialog{width:min(100% - 1.4rem,42rem);max-height:calc(100vh - 2rem);padding:0;border:none;border-radius:24px;background:transparent}.agreement-dialog::backdrop{background:#14141280}.agreement-dialog__card{display:flex;flex-direction:column;max-height:calc(100vh - 2rem);padding:1.2rem;background:#fffbf3fa;border-radius:24px;border:1px solid rgba(29,42,31,.08);box-shadow:var(--shadow)}.agreement-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.agreement-dialog__header h2{margin:0;font-family:Malgun Gothic,맑은 고딕,sans-serif;line-height:1.3}.agreement-dialog__content{flex:1 1 auto;margin:0;overflow:auto;padding:1rem;border-radius:18px;background:#ffffffc7;border:1px solid rgba(29,42,31,.08);color:var(--ink);font-family:Malgun Gothic,맑은 고딕,sans-serif;font-size:.92rem;line-height:1.75;white-space:pre-wrap;word-break:keep-all}@media (max-width: 480px){.hero__title{font-size:clamp(1.58rem,6.2vw,1.86rem)}.section-card__title{font-size:1.4rem}.agreement-dialog__header{flex-direction:column}.agreement-dialog__content{font-size:.86rem}}@media (min-width: 680px){.phone-frame{padding-left:0;padding-right:0}}
