:root{font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#261f1d;background:#fffaf4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.site-shell{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:24px}.brand{display:inline-block;font-family:Georgia,serif;font-size:1.05rem;font-weight:700;letter-spacing:-.04em}.hero{display:grid;align-content:center;min-height:calc(100vh - 72px);max-width:720px;padding:48px 0}.eyebrow{color:#e96945;font-size:.72rem;font-weight:800;letter-spacing:.12em}h1{margin:12px 0 24px;font-family:Georgia,serif;font-size:clamp(2.7rem,8vw,5.4rem);font-weight:500;letter-spacing:-.08em;line-height:.94}h1 em{color:#e96945;font-style:normal}.hero>p:not(.eyebrow){color:#806f68;font-size:1.1rem;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;width:fit-content;margin-top:18px;padding:0 22px;border-radius:999px;font-weight:800}.button--primary{color:#fffaf4;background:#e96945}.choice-grid{display:grid;gap:10px;grid-template-columns:1fr}.choice-card{display:grid;gap:4px;width:100%;min-height:72px;padding:16px;border:1px solid #eadfd5;border-radius:16px;color:#261f1d;background:#fffdfa;text-align:left;cursor:pointer}.choice-card--selected{border-color:#e96945;box-shadow:inset 0 0 0 1px #e96945;background:#fff0e8}.choice-card:disabled{cursor:not-allowed;opacity:.5}.choice-card small{color:#806f68}.progress-wrap{display:flex;align-items:center;gap:10px}.progress-bar{height:6px;flex:1;overflow:hidden;border-radius:999px;background:#eadfd5}.progress-bar span{display:block;height:100%;border-radius:inherit;background:#e96945;transition:width .2s ease}.progress-count{color:#806f68;font-size:.78rem;white-space:nowrap}@media(min-width:768px){.site-shell{padding:36px 48px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.survey,.result-card{width:min(100%,680px);margin:0 auto;padding:clamp(36px,8vw,80px) 0}.survey h2,.result-card h2,.admin h2{margin:16px 0 10px;font-family:Georgia,serif;font-size:clamp(2.15rem,6vw,4rem);font-weight:500;letter-spacing:-.07em;line-height:1}.survey__subtitle,.result-card>p{margin:0 0 28px;color:#806f68;line-height:1.65}.survey .choice-grid{margin:28px 0}.survey__actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.button--quiet{border:1px solid #eadfd5;background:transparent}.form-error{color:#c54325;font-size:.9rem}.survey--complete{text-align:center}.survey--complete .button{width:100%}.result-card{margin-top:clamp(35px,10vh,100px);padding:clamp(28px,6vw,56px);border:1px solid #eadfd5;border-radius:28px;background:#fffdfa;text-align:center}.result-number{color:#e96945;font-family:Georgia,serif;font-size:5.5rem;letter-spacing:-.12em;line-height:1}.status-row{display:inline-flex;align-items:center;gap:7px;margin:10px 0 24px;padding:10px 13px;border-radius:999px;background:#fff0e8;font-size:.86rem}.status-dot{width:8px;height:8px;border-radius:50%;background:#e96945}.status-muted{color:#806f68}.result-note{font-size:.9rem}.admin{padding:42px 0}.admin h2{font-size:2.5rem}.admin-grid{display:grid;gap:12px}.admin-panel{min-width:0;padding:17px;border:1px solid #eadfd5;border-radius:20px;background:#fffdfa}.panel-label,.person span{color:#806f68;font-size:.78rem}.panel-label{margin:0 0 12px;font-weight:800;letter-spacing:.05em}.person{display:grid;width:100%;gap:4px;padding:12px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer}.person:hover{background:#fff0e8}.candidate{padding:13px 0;border-bottom:1px solid #eee4dd}.candidate:last-child{border:0}.candidate b{float:right;color:#e96945;font-size:.8rem}.candidate p,.admin-panel p{font-size:.85rem;line-height:1.5}.admin-panel .button{width:100%;margin-top:18px}@media(min-width:768px){.admin-grid{grid-template-columns:minmax(150px,.8fr) minmax(210px,1.15fr) minmax(220px,1fr)}}.login-card{width:min(100%,580px);margin:clamp(38px,10vh,100px) auto;padding:clamp(28px,7vw,56px);border:1px solid #eadfd5;border-radius:28px;background:#fffdfa}.login-card h2{margin:16px 0 12px;font-family:Georgia,serif;font-size:clamp(2.35rem,7vw,4.2rem);font-weight:500;letter-spacing:-.07em;line-height:1}.login-card>p{color:#806f68;line-height:1.65}.login-card form{display:grid;gap:10px;margin-top:28px}.login-card label{font-size:.86rem;font-weight:800}.login-card input,.admin-controls input,.admin-controls select{width:100%;min-height:50px;border:1px solid #eadfd5;border-radius:12px;padding:0 14px;color:#261f1d;background:#fffaf4}.login-card .button{width:100%;margin-top:8px;border:0;cursor:pointer}.button:disabled{opacity:.55;cursor:wait}.form-success{color:#237b59;font-size:.9rem}.login-note{margin-top:24px;font-size:.82rem}.admin-intro{color:#806f68}.admin-controls{display:grid;gap:10px;margin:22px 0}.person--selected{background:#fff0e8}.candidate .button{min-height:38px;margin-top:4px;padding:0 12px;font-size:.78rem;cursor:pointer}@media(min-width:640px){.admin-controls{grid-template-columns:minmax(0,1fr) 180px}}.survey-input{display:grid;gap:9px;margin:26px 0;font-size:.86rem;font-weight:800}.survey-input input{min-height:54px;border:1px solid #eadfd5;border-radius:14px;padding:0 15px;background:#fffdfa;color:#261f1d}.button--google{width:100%;min-height:58px;gap:12px;border:2px solid #d9cec5;background:#fff;color:#261f1d;cursor:pointer;box-shadow:0 4px #eadfd5;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.button--google:hover{border-color:#e96945;background:#fff7f1;box-shadow:0 6px #f0c7b5;transform:translateY(-1px)}.button--google:focus-visible{outline:3px solid #f3a184;outline-offset:3px}.button--google:active{box-shadow:0 2px #f0c7b5;transform:translateY(2px)}.login-divider{margin:22px 0 0;text-align:center;font-size:.8rem;color:#806f68}.hero-actions{display:grid;gap:10px;max-width:300px;margin-top:24px}.test-mode-banner{margin:0 0 16px;padding:10px 12px;border:1px solid #f0c6aa;border-radius:12px;color:#9a4f32;background:#fff0e8;font-size:.82rem;font-weight:700}.admin-panel--wide{margin:12px 0}.course-upload{display:grid;gap:8px}.course-upload input,.course-upload select,.course-select select{min-height:42px;border:1px solid #eadfd5;border-radius:10px;padding:0 10px;background:#fffaf4}.file-picker__input{position:absolute;width:1px!important;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.file-picker{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid #edc5b5;border-radius:999px;color:#c75232;background:#fff0e8;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;transition:transform .18s ease,background .18s ease}.file-picker:hover{background:#ffe5d9;transform:translateY(-1px)}.file-picker:focus-visible{outline:3px solid rgb(233 105 69 / 28%);outline-offset:3px}.file-picker--gpx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-picker__icon{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#fffdfa;background:#e96945;font-size:1.1rem;line-height:1}.course-card{margin-top:16px;padding-top:12px;border-top:1px solid #eee4dd}.course-card p{margin:6px 0}.course-map{overflow:hidden;border-radius:18px;background:#f5eee7}.course-map svg{display:block;width:100%;height:auto}.course-map__label{fill:#261f1d;font-size:13px;font-weight:800;paint-order:stroke;stroke:#fffdfa;stroke-width:6px;stroke-linejoin:round}.course-map__legend{display:flex;gap:12px;padding:0 12px 10px;color:#806f68;font-size:.75rem}.course-select{display:grid;gap:6px;margin-bottom:12px;font-size:.82rem;font-weight:700}.match-course{display:grid;gap:12px;margin-top:24px}.match-profile__headline{margin-bottom:4px;font-size:1.08rem}.match-profile__basis{margin-top:0;color:#806f68;font-size:.88rem;line-height:1.55}.course-intro{padding:16px 18px;border:1px solid #eadfd5;border-radius:18px;background:linear-gradient(135deg,#fffaf4,#fff0e8)}.course-intro h3{margin:3px 0 6px}.course-intro p:last-child{margin:0;color:#806f68;line-height:1.5}.course-intro p b{color:#e96945}.memory-four-cut{display:grid;gap:12px;margin-top:28px;padding:20px;border:1px solid #eadfd5;border-radius:20px;background:#fffaf4}.memory-four-cut__brand{margin:0 0 5px;color:#261f1d;font-family:Georgia,serif;font-size:1.18rem;font-weight:700;letter-spacing:-.04em;text-align:center}.memory-four-cut__heading .eyebrow{text-align:center}.memory-four-cut__heading h3{margin:4px 0 7px;text-align:center;font-size:1.25rem;line-height:1.35}.memory-four-cut__heading h3 em{color:#e96945;font-style:normal}.memory-four-cut__heading p:last-child{margin:0;text-align:center;color:#806f68;font-size:.86rem;line-height:1.5}.memory-four-cut__steps{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.memory-four-cut__steps span{padding:10px;border-radius:12px;background:#f5eee7;color:#806f68;font-size:.78rem}.memory-four-cut__hint{color:#806f68;font-size:.74rem;text-align:center}.memory-four-cut__steps b{display:block;margin-bottom:3px;color:#e96945;font-size:.7rem;letter-spacing:.08em}.mission-list{display:grid;gap:8px}.mission{display:grid;gap:4px;padding:12px;border:1px solid #eadfd5;border-radius:14px;color:#261f1d;background:#fffaf4;text-align:left;cursor:pointer}.mission--active{border-color:#e96945;background:#fff0e8}.mission--course{border-color:#edc5b5;background:#fff0e8;cursor:default}.mission--course b{color:#c75232}.mission span{color:#e96945;font-size:.72rem;font-weight:800;letter-spacing:.08em}.mission small{color:#806f68;line-height:1.5}.memory-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.memory-preview img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.memory-four-cut input{max-width:100%}.course-map__legend{flex-wrap:wrap}.error-detail{overflow:auto;margin:18px 0;padding:12px;border-radius:10px;color:#9a302b;background:#fff0e8;white-space:pre-wrap;font-size:.78rem}.admin-tabs{display:flex;gap:8px;margin:24px 0 18px;border-bottom:1px solid #eadfd5}.admin-tab{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:0;border-bottom:2px solid transparent;color:#806f68;background:transparent;font-weight:800;cursor:pointer}.admin-tab span,.admin-count{color:#806f68;font-size:.72rem;font-weight:800}.admin-tab--active{border-bottom-color:#e96945;color:#261f1d}.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-section-heading .panel-label{margin-bottom:4px}.admin-muted{color:#806f68;font-size:.82rem;line-height:1.5}.course-library{display:grid;gap:10px}.course-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-card__heading h3{margin:0;font-size:1rem}.course-card__heading p{margin:5px 0 0}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.data-grid div{display:grid;gap:4px;padding:10px;border-radius:12px;background:#fff5ed}.data-grid small{color:#806f68;font-size:.72rem}.data-grid b{font-size:.82rem}.data-detail{display:grid;gap:8px;padding-top:10px;border-top:1px solid #eee4dd}.data-detail p{display:grid;grid-template-columns:78px 1fr;gap:8px;margin:0}.data-detail p b{color:#806f68;font-size:.78rem}@media(min-width:640px){.data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.course-map--naver{position:relative;min-height:300px}.course-map__naver-toolbar{position:absolute;z-index:2;top:12px;right:12px}.course-map__naver-toolbar .button{min-height:38px;margin-top:0;padding:0 13px;border:1px solid #eadfd5;background:#fffdfaf0;box-shadow:0 2px 10px #261f1d1f;font-size:.78rem}.course-map--naver .course-map__naver-canvas{min-height:300px}.course-map__naver-canvas{min-height:300px;display:grid;place-items:center;color:#806f68;background:#f5eee7}.course-map__naver-label{display:inline-block;transform:translate(10px,-12px);padding:4px 7px;border:2px solid #fffdfa;border-radius:999px;color:#fffdfa;background:var(--marker-color);box-shadow:0 2px 8px #261f1d33;font-size:12px;font-weight:800;white-space:nowrap}.person-row{display:grid;gap:6px;padding:4px 0}.person-row .person{padding:10px}.person-promote{justify-self:start;min-height:30px;padding:0 10px;border:1px solid #eadfd5;border-radius:999px;color:#806f68;background:#fffaf4;font-size:.72rem;font-weight:800;cursor:pointer}.person-promote:disabled{opacity:.55;cursor:wait}.admin-badge{justify-self:start;padding:4px 9px;border-radius:999px;color:#237b59;background:#e8f4ed;font-size:.7rem;font-weight:800}.consent-page h2{margin-bottom:16px}.consent-page h2 em{color:#c86645;font-style:normal}.consent-list{display:grid;gap:10px;margin:28px 0 16px}.consent-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border:1px solid #eadfd5;border-radius:16px;background:#fffdfa}.consent-item__check{display:flex;align-items:flex-start;gap:10px;color:#382d29;font-size:.92rem;line-height:1.45;cursor:pointer}.consent-item__check input{flex:0 0 auto;width:19px;height:19px;margin:1px 0 0;accent-color:#c86645}.consent-item__detail{flex:0 0 auto;border:0;padding:2px 0;background:none;color:#a05b43;font-size:.82rem;font-weight:800;text-decoration:underline;cursor:pointer}.consent-notice{margin:0;color:#806f68;font-size:.82rem;line-height:1.6}.consent-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#261f1d85}.consent-modal{width:min(100%,620px);max-height:min(84vh,720px);overflow:auto;border-radius:24px;padding:clamp(22px,5vw,36px);background:#fffdfa;box-shadow:0 20px 70px #261f1d33}.consent-modal__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.consent-modal__heading h3{margin:4px 0 0;font-family:Georgia,serif;font-size:1.8rem;font-weight:500;letter-spacing:-.04em}.consent-modal__close{flex:0 0 auto;min-height:36px;padding:6px 12px}.consent-modal__body{display:grid;gap:12px;margin-bottom:24px;color:#5e514b;font-size:.92rem;line-height:1.75}.consent-modal__body p{margin:0}@media(max-width:520px){.consent-item{display:block}.consent-item__detail{display:block;margin:10px 0 0 29px}}.demo-page{width:min(100%,760px);margin:0 auto;padding:clamp(28px,7vw,72px) 0}.demo-intro{min-height:calc(100vh - 72px);display:grid;align-content:center}.demo-intro h1{max-width:700px}.demo-intro>p:not(.eyebrow){max-width:590px;color:#806f68;font-size:1.02rem;line-height:1.7}.demo-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.demo-page__header h2{margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(1.85rem,5vw,3rem);font-weight:500;letter-spacing:-.06em;line-height:1.03}.demo-badge{flex:0 0 auto;padding:8px 10px;border-radius:999px;color:#237b59;background:#e8f4ed;font-size:.72rem;font-weight:800}.demo-progress{height:7px;margin:24px 0 16px;overflow:hidden;border-radius:999px;background:#eadfd5}.demo-progress span{display:block;height:100%;border-radius:inherit;background:#e96945;transition:width .25s ease}.demo-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:22px}.demo-nav__step{display:grid;gap:3px;min-height:56px;border:1px solid #eadfd5;border-radius:12px;color:#806f68;background:#fffdfa;cursor:pointer;font-size:.7rem}.demo-nav__step b{color:#c86645;font-size:.66rem}.demo-nav__step--active{border-color:#e96945;color:#261f1d;background:#fff0e8}.demo-panel{padding:clamp(22px,5vw,38px);border:1px solid #eadfd5;border-radius:24px;background:#fffdfa}.demo-panel h3{margin:8px 0 14px;font-family:Georgia,serif;font-size:clamp(2rem,6vw,3.3rem);font-weight:500;letter-spacing:-.07em;line-height:1.02}.demo-copy{color:#806f68;line-height:1.65}.demo-selection{display:grid;gap:5px;margin-top:14px;padding:14px;border-radius:14px;background:#fff5ed}.demo-selection span{color:#806f68;font-size:.75rem}.demo-payment{display:grid;gap:8px;margin:25px 0 2px;padding:18px;border-radius:18px;background:#fff0e8}.demo-payment strong{color:#e96945;font-family:Georgia,serif;font-size:2.4rem;letter-spacing:-.07em}.demo-payment span{color:#806f68;font-size:.84rem}.demo-candidate{margin-top:24px;padding:18px 0;border-top:1px solid #eee4dd;border-bottom:1px solid #eee4dd}.demo-candidate>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.demo-candidate b{font-size:1.1rem}.demo-candidate span{color:#806f68;font-size:.78rem}.demo-candidate>strong{display:block;margin-top:10px;color:#e96945}.demo-candidate p{color:#806f68;font-size:.88rem;line-height:1.55}.demo-tags{display:flex;flex-wrap:wrap;gap:6px}.demo-tags span{padding:6px 9px;border-radius:999px;color:#9a4f32;background:#fff0e8;font-size:.72rem;font-weight:800}.demo-panel--result{display:grid;gap:12px}.demo-panel--result .button{margin-top:0}.demo-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}.demo-admin-grid article{display:grid;gap:6px;padding:12px;border-radius:14px;background:#fff5ed}.demo-admin-grid span,.demo-admin-grid small{color:#806f68;font-size:.72rem}.demo-admin-grid b{color:#e96945;font-family:Georgia,serif;font-size:1.6rem;letter-spacing:-.05em}@media(max-width:520px){.demo-page__header{display:grid}.demo-badge{justify-self:start}.demo-nav__step{min-height:52px}.demo-admin-grid{grid-template-columns:1fr}}
