*{box-sizing:border-box}body{margin:0;font-family:Inter,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;background:#f6f8fb;color:#142033}.shell{display:grid;grid-template-columns:258px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid #e4e9f0;padding:24px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px;margin-bottom:28px}.brand small,.side small{display:block;color:#8490a3;margin-top:3px}.mark{width:40px;height:40px;border-radius:12px;background:#142033;color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px;box-shadow:0 7px 18px rgba(20,32,51,.15)}.big{width:56px;height:56px;font-size:28px}nav{display:flex;flex-direction:column;gap:4px}nav a{padding:10px 12px;border-radius:9px;text-decoration:none;color:#405069;font-weight:650;font-size:14px}nav a:hover{background:#f0f4f8;color:#142033}.side{position:absolute;bottom:22px;left:26px;font-size:12px}.side a,.side span{display:block;margin-top:8px;color:#66748a;text-decoration:none}main{padding:32px 38px}header{display:flex;justify-content:space-between;margin-bottom:22px}header h1{margin:0 0 6px;font-size:29px;letter-spacing:-.4px}header p{margin:0;color:#7c8799}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card,section{background:#fff;border:1px solid #e4e9f0;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 3px 12px rgba(25,39,58,.025)}.card span,.jobmeta span{color:#8190a5;font-size:12px}.card strong{display:block;font-size:31px;margin-top:9px;letter-spacing:-1px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:11px;background:#f7f9fc;color:#66758b;font-weight:700}td{padding:11px;border-bottom:1px solid #edf1f5}h2{font-size:17px;margin:0 0 14px}.flow{font-weight:750;color:#354359;word-spacing:6px}.btn2{display:inline-block;padding:7px 11px;background:#eef3f7;border-radius:8px;color:#172033;text-decoration:none;font-weight:700;font-size:12px}button{background:#142033;color:#fff;border:0;border-radius:9px;padding:10px 14px;font-weight:750;cursor:pointer}.mini{font-size:11px;padding:6px 8px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.grid input,.grid select,.assess input,.assess select,.assess textarea,form select,td input{padding:10px;border:1px solid #d8e0eb;border-radius:9px;background:#fff;width:100%;outline:none}.grid input:focus,.grid select:focus,form select:focus{border-color:#91a2b7;box-shadow:0 0 0 3px rgba(80,103,130,.08)}.lesson{display:grid;grid-template-columns:42px 1fr;gap:13px}.lesson-index{width:32px;height:32px;border-radius:999px;background:#142033;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.lesson p{line-height:1.72;color:#46566c;margin:0}.question{padding:15px 0;border-bottom:1px solid #edf1f5}.question b,.question label{display:block}.question label{padding:6px 0;color:#46566c}.hint{font-size:12px;color:#8190a5}.assess{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.assess textarea{grid-column:1/-1;min-height:76px}.pill{padding:5px 9px;background:#eef2f6;border-radius:999px;font-size:11px;font-weight:750}.green{background:#e8f7ee;color:#1b7746}.red{background:#fff0f0;color:#a33d3d}.center{text-align:center}.bigscore{font-size:58px;font-weight:850;margin:20px}.certificate,.passport{text-align:center;padding:50px}.inline{display:inline-block;margin-right:4px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.gallery img{width:100%;display:block;margin-bottom:8px}.jobmeta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.jobmeta div{padding:12px;border:1px solid #edf1f5;border-radius:9px}.jobmeta b{display:block;margin-top:4px}.evidencegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.evidencegrid a{padding:12px;background:#f7f9fc;border-radius:9px;text-decoration:none;color:#172033}.reporthead{display:flex;align-items:center;gap:15px}

/* login */
.loginpage{background:#eef3f8;min-height:100vh}.login-layout{display:grid;grid-template-columns:minmax(480px,1.08fr) minmax(430px,.92fr);min-height:100vh}.login-visual{position:relative;padding:48px 56px;background:linear-gradient(145deg,#101b2b 0%,#17283d 58%,#21364f 100%);color:#fff;overflow:hidden}.login-visual:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-260px;bottom:-210px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}.login-brand{display:flex;gap:13px;align-items:center;position:relative;z-index:1}.login-brand b{display:block;font-size:18px;letter-spacing:.08em}.login-brand span{display:block;font-size:12px;color:#aebdce;margin-top:3px}.loginmark{background:#fff;color:#142033}.hero-copy{position:absolute;left:56px;right:70px;top:35%;z-index:1}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#8da0b8}.login-visual .eyebrow{color:#8fa7c2}.hero-copy h1{font-size:43px;line-height:1.27;letter-spacing:-1.5px;margin:16px 0 18px}.hero-copy p{font-size:16px;color:#b9c7d6;line-height:1.75;max-width:560px}.login-flow{position:absolute;left:56px;bottom:50px;display:flex;align-items:center;gap:12px;color:#d7e0e9;font-size:12px;z-index:1}.login-flow span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.04)}.login-flow i{font-style:normal;color:#7187a0}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px;background:#f7f9fc}.login-card{width:min(430px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:34px 36px;box-shadow:0 16px 50px rgba(31,48,70,.08)}.mobile-brand{display:none}.login-card h2{font-size:30px;margin:12px 0 8px;letter-spacing:-.6px}.login-card>p{color:#7b8799;margin:0 0 25px;font-size:14px}.login-card form{display:grid;gap:15px}.login-card label{font-size:12px;color:#526176;font-weight:700}.login-card input{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d8e0eb;border-radius:10px;font-size:14px;outline:none}.login-card input:focus{border-color:#8397ae;box-shadow:0 0 0 4px rgba(74,98,124,.08)}.login-card button{padding:13px;margin-top:3px;font-size:14px}.login-help{font-size:11px;color:#8b97a8;text-align:center;margin-top:18px}.demo{margin-top:18px;border-top:1px solid #edf1f5;padding-top:13px;color:#7b8799;font-size:11px;line-height:1.7}.demo summary{cursor:pointer}.error{background:#fff0f0;color:#a33d3d;padding:10px;border-radius:9px;margin-bottom:14px;font-size:12px}.login-footer{font-size:11px;color:#96a0ae;margin-top:22px}.certbrand{letter-spacing:.16em;font-size:12px;color:#7a8497;font-weight:800}
@media(max-width:1000px){.shell{grid-template-columns:1fr}aside{height:auto;position:relative}.side{position:relative;left:0;margin-top:20px}.cards,.grid,.gallery,.jobmeta{grid-template-columns:1fr 1fr}main{padding:20px}.login-layout{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.mobile-brand{display:flex;gap:10px;align-items:center;margin-bottom:24px}}
@media print{aside,header,button{display:none!important}.shell{display:block}main{padding:0}body{background:#fff}.report,.certificate,.passport{border:0;box-shadow:none}}
.standard-roadmap{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px}.standard-card{background:#fff;border:1px solid #e1e7ef;border-radius:15px;padding:18px;display:grid;grid-template-columns:42px 1fr 24px;gap:12px;align-items:center;text-decoration:none;color:#172033}.standard-card:hover{border-color:#9eacbc;box-shadow:0 8px 25px rgba(20,32,51,.06)}.standard-card h2{margin:3px 0 7px}.standard-card small{color:#8190a5;font-weight:700}.standard-card p{font-size:11px;color:#66758b;line-height:1.55;margin:0}.step{width:34px;height:34px;border-radius:9px;background:#17263a;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.arrow{color:#9aa7b7}.egypt-alert{border-left:4px solid #17263a}.egypt-alert p{margin:7px 0 0;color:#536176;line-height:1.65}.scope-head{display:flex;gap:12px;align-items:center}.std-primary{padding:12px 14px;background:#f4f7fa;border:1px solid #e0e7ef;border-radius:9px;margin-top:8px;font-weight:700;font-size:13px;line-height:1.55}.clean-list{margin:0;padding-left:19px;color:#47566a;line-height:1.85}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check-grid div{padding:11px 12px;background:#f8fafc;border:1px solid #e7ecf2;border-radius:9px;font-size:13px}.check-grid span{margin-right:8px;font-weight:800}.training-note{line-height:1.75;color:#46566c}
@media(max-width:900px){.standard-roadmap,.check-grid{grid-template-columns:1fr}}
.lang-switch{display:flex;gap:5px;margin:18px 8px 90px}.lang-switch a{font-size:10px;font-weight:800;text-decoration:none;color:#5f6f84;border:1px solid #dfe6ee;border-radius:6px;padding:6px 7px;background:#f8fafc}html[dir="rtl"] body{text-align:right}html[dir="rtl"] .shell{grid-template-columns:1fr 258px}html[dir="rtl"] aside{grid-column:2;border-right:0;border-left:1px solid #e4e9f0}html[dir="rtl"] main{grid-column:1;grid-row:1}html[dir="rtl"] .side{left:auto;right:26px}html[dir="rtl"] th{text-align:right}

.thz-hero{display:flex;justify-content:space-between;align-items:center}.thz-tag,.blind-badge{font-size:9px;letter-spacing:.1em;font-weight:800;padding:5px 8px;border:1px solid #d9e1ea;border-radius:6px}.sim-health{padding:14px;border:1px solid #e2e8ef;border-radius:12px}.sim-health span{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:7px}.sim-health .on{background:#3b9964}.sim-health .off{background:#b84a4a}.sim-health small{display:block;margin-top:6px;color:#8995a5}.thz-start{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.thz-start select{padding:11px;border:1px solid #d8e0eb;border-radius:9px}.jsonbox{background:#111c2a;color:#dce6f1;border-radius:10px;padding:15px;overflow:auto;max-height:420px;font:11px/1.55 ui-monospace,Consolas,monospace;direction:ltr;text-align:left}.thz-status,.thz-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.thz-status div,.thz-metrics div{padding:10px;background:#f7f9fb;border-radius:8px}.thz-status span,.thz-metrics span{display:block;color:#8794a5;font-size:9px}.sample-head{display:flex;justify-content:space-between}.decision-row{display:flex;gap:9px;margin-top:14px}.decision-row label{padding:9px;border:1px solid #dce3eb;border-radius:8px;font-size:11px}.thz-submit{width:100%;padding:14px}@media(max-width:900px){.thz-start,.thz-status,.thz-metrics{grid-template-columns:1fr}.decision-row{display:grid}}
.kb-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px}.kb-card{background:#fff;border:1px solid #e1e7ef;border-radius:15px;padding:20px;text-decoration:none;color:#172033}.kb-card:hover{border-color:#9aaabd;box-shadow:0 8px 24px rgba(20,32,51,.06)}.kb-card h2{margin:0 0 3px}.kb-card small{color:#7e8b9d}.kb-card p{font-size:12px;line-height:1.65;color:#5b697c}.kb-chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.kb-chips i{font-style:normal;font-size:9px;padding:5px 7px;border-radius:6px;background:#f0f4f8;color:#566579}.kb-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.risk-grid div{padding:10px;border:1px solid #e6ebf1;background:#f8fafc;border-radius:8px;font-size:12px}@media(max-width:900px){.kb-cards,.kb-two,.risk-grid{grid-template-columns:1fr}}.real-banner{border-left:4px solid #d17a22;background:#fffaf4}.real-banner b{font-size:11px;letter-spacing:.08em}.real-banner p{margin:7px 0 0;color:#657287;line-height:1.6}.real-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.real-form input,.real-form select,.review-form select,.review-form textarea{width:100%;padding:10px;border:1px solid #d8e0eb;border-radius:9px;background:#fff}.real-form label{font-size:11px;color:#647287;font-weight:700}.real-form label input{margin-top:6px}.real-form button{grid-column:1/-1}.real-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.real-metrics div{background:#fff;border:1px solid #e4e9f0;border-radius:12px;padding:15px}.real-metrics span{display:block;font-size:9px;color:#8794a5;margin-bottom:6px}.signalstats{display:flex;gap:18px;margin-bottom:12px;font-size:11px;color:#7a8798}.signalstats b{color:#1e2d40;margin-left:4px}.filelinks{display:flex;gap:8px;flex-wrap:wrap}.filelinks a{padding:9px 11px;background:#f3f6f9;border-radius:8px;text-decoration:none;color:#24364c;font-size:12px}.validation-flow{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.validation-flow b{padding:8px 10px;border:1px solid #dfe6ee;border-radius:7px;background:#f8fafc;font-size:11px}.validation-flow i{font-style:normal;color:#9aa7b7}.review-form{display:grid;grid-template-columns:180px 1fr auto;gap:10px}.review-form textarea{min-height:70px}@media(max-width:900px){.real-form,.real-metrics,.review-form{grid-template-columns:1fr}}

/* v2.7 information architecture */
aside{overflow-y:auto}.nav-group{font-size:9px;font-weight:850;letter-spacing:.11em;color:#9aa6b5;margin:18px 12px 6px;padding-top:8px;border-top:1px solid #edf1f5}.nav-group:first-child{margin-top:0;border-top:0;padding-top:0}.lang-switch{margin-bottom:120px}.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.hub-card{background:#fff;border:1px solid #e1e7ef;border-radius:15px;padding:18px}.hub-card h2{margin-bottom:8px}.hub-card p{color:#66758b;font-size:12px;line-height:1.65}.hub-card a{display:inline-block;margin:5px 5px 0 0;padding:7px 10px;background:#f1f5f8;border-radius:8px;text-decoration:none;color:#24364c;font-size:11px;font-weight:750}.method-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.method-flow div{padding:14px;background:#f8fafc;border:1px solid #e5ebf1;border-radius:10px}.method-flow b{display:block;margin-bottom:5px}.method-flow small{color:#7d8999;line-height:1.5}.scope-note{border-left:4px solid #17263a}.scope-note p{color:#59687c;line-height:1.7;margin:6px 0 0}@media(max-width:900px){.hub-grid,.method-flow{grid-template-columns:1fr}}
