:root{--navy:#183d43;--navy2:#24545b;--blue:#176c71;--sky:#e9f4f2;--cream:#f6f7f4;--paper:#fff;--line:#dce5e2;--muted:#586d70;--green:#25785b;--greenbg:#edf7f0;--amber:#946426;--amberbg:#fbf3e6;--shadow:0 12px 30px rgba(25,55,58,.055)}
body{font-family:'Pretendard','Noto Sans KR','Malgun Gothic',Arial,sans-serif;letter-spacing:-.018em;color:#18363b}
.shell{grid-template-columns:254px minmax(0,1fr)}
.sidebar{background:#163b42;padding:30px 18px;border-right:1px solid #31565c}
.brand{font-size:23px;letter-spacing:-.065em;padding:3px 10px 30px}
.brandmark{background:#d5e8de;color:#1b555a;border-radius:9px;font-size:21px}
.nav button{border-radius:8px;padding:12px 14px;font-weight:650}
.nav button:hover,.nav button.active{background:#edf6f2;color:#18474e}
.nav .num{border-color:currentColor;opacity:.7}
.sidebar-note{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#d5e2e0}
.topbar{background:#fff;height:70px;padding:0 clamp(24px,5vw,72px);backdrop-filter:none}
.content{max-width:1240px;padding:42px clamp(24px,5vw,72px) 96px}
.eyebrow{color:#267b73;font-size:12px;letter-spacing:.09em}
.hero{position:relative;align-items:center;background:#eaf3ee;border:1px solid #d3e6dc;border-radius:12px;min-height:196px;padding:32px 36px;overflow:hidden;margin-bottom:30px}
.hero:before{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(31,102,93,.16);border-radius:50%;right:-20px;top:-155px;pointer-events:none}
.hero h1{position:relative;font-size:clamp(29px,3.3vw,43px);letter-spacing:-.06em;max-width:760px;line-height:1.24;margin:10px 0 12px}
.hero p{position:relative;color:#476468;max-width:760px;font-size:15px;line-height:1.75}
.hero-art{position:relative;background:#fff9eb;color:#356f6c;border:1px solid #e8e2cf;box-shadow:0 16px 28px rgba(35,70,65,.1);border-radius:12px;transform:rotate(5deg);font-size:40px}
.section-title{margin:31px 0 13px}.section-title h2{font-size:20px;color:#193b40}
.card{border-radius:12px;padding:25px;box-shadow:var(--shadow)}
.select-card{border-radius:10px;transition:transform .16s,border-color .16s,box-shadow .16s}
.select-card:hover{border-color:#75aaa2;box-shadow:0 8px 18px rgba(18,75,70,.07)}
.select-card.selected{border-color:#24766e;background:#f1f8f4;box-shadow:inset 0 0 0 1px #24766e}
.btn{border-radius:8px;transition:background .15s,transform .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn.primary{background:#1d6469;border-color:#1d6469}.btn.dark{background:#183d43;border-color:#183d43}
.pill{background:#e9f4f2;color:#236a6c}.notice{background:#f1f6f3;border-color:#d5e6db;color:#365c5b;border-radius:9px;line-height:1.7}
.stepbar i.done,.progress i{background:#267b73}
.option,.confidence button,.recommendation,.day,.field select,.field input{border-radius:9px}.option.chosen,.confidence button.active{border-color:#21766f;background:#edf7f3;color:#184f50}
.question{color:#183c41}.recommendation .tag{color:#276d67}.metric{color:#1c5f62}
.bank-wrap{max-width:1190px}.bank-hero{background:#eaf3ee;color:#183b40;border:1px solid #d3e6dc;border-radius:12px}.bank-hero p{color:#476468}.bank-stat,.bank-row{border-radius:11px;box-shadow:var(--shadow)}.bank-option.selected{border-color:#24766e;background:#edf7f3}.bank-option:hover:not(:disabled){border-color:#24766e}
.bank-hero .eyebrow{color:#267b73!important}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d69035;outline-offset:3px}
.skip-link{position:absolute;top:-100px;left:12px;padding:10px 14px;background:#fff;color:#163b42;z-index:100}.skip-link:focus{top:12px}
.static-intro{max-width:850px;margin:80px auto;padding:36px}.static-intro h1{line-height:1.3}
@media(max-width:1000px){.shell{grid-template-columns:72px 1fr}.sidebar{padding:20px 9px}}
@media(max-width:700px){.shell{display:block}.topbar{height:60px;padding:0 18px}.content{padding:20px 16px 100px}.hero{min-height:0;padding:26px 21px;margin-bottom:25px}.hero h1{font-size:28px}.hero p{font-size:14px}.card{padding:19px}.subject-list{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-nav button.active{color:#176c71;background:#edf7f3}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.sidebar,.topbar,.mobile-nav,.actions,.btn{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.card,.hero{box-shadow:none;break-inside:avoid}.hero{background:#fff}}
