:root{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:#1c2435;background:#f6f5ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:560px;margin:auto;padding:28px 22px 40px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.brand{font-size:25px;font-weight:800;color:inherit;text-decoration:none}.brand span{color:#5355e7;letter-spacing:-8px;margin-right:9px;font-size:33px}h1{font-size:30px;letter-spacing:-1px;line-height:1.35;margin:18px 0}h2{font-size:19px;margin:0 0 14px}p{line-height:1.65}button,input,textarea{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:#5051cc}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9298ff;outline-offset:4px}.hero{background:linear-gradient(135deg,#202d76,#182052);border-radius:30px;color:white;padding:30px;position:relative;overflow:hidden;min-height:385px}.hero h1{font-size:39px;line-height:1.25;margin:20px 0}.hero p{color:#eceeff;font-size:18px;position:relative;z-index:1}.tag{font-size:14px;font-weight:700;display:inline-block;background:#ffffff1c;padding:8px 12px;border-radius:24px}.light{color:#5355cf;background:#ebebff}.illustration{height:85px;text-align:right;margin-top:10px;font-size:68px;color:white}.illustration span,.illustration b{display:inline-block;border:1px solid #aaaaff;background:linear-gradient(120deg,#92a5ff,#5256dc);border-radius:20px;width:85px;text-align:center;transform:rotate(-10deg);line-height:1.1}.illustration b{transform:rotate(10deg);margin-left:-15px}.primary,.file-button{display:block;width:100%;padding:18px 16px;border-radius:18px;font-size:18px;font-weight:700;text-align:center;border:0;text-decoration:none;margin-top:16px;background:#5053df;color:white}.file-button{background:white;color:#242c40;border:1px solid #dcdcf5;cursor:pointer}.plain{border:0;background:transparent;color:#606879;padding:12px 5px;font-size:15px}.wide{width:100%;margin-top:8px}.hint{font-size:14px;color:#687184;line-height:1.6}.center{text-align:center}.hint span{padding:0 12px;color:#969eae}.card{background:white;border:1px solid #e8e8f3;border-radius:25px;padding:24px;margin-top:20px}.consent{display:flex;gap:9px;font-size:15px;line-height:1.6;margin-top:20px}.consent input{width:20px;height:20px;flex-shrink:0}textarea{width:100%;resize:vertical;border:1px solid #d9dcec;border-radius:18px;background:white;padding:20px;line-height:1.7;margin-top:12px;color:inherit;font-size:17px;min-height:210px}.loading{text-align:center;padding:45px 20px}.scan{font-size:80px;color:#5355df;animation:pulse 1.8s ease-in-out infinite}.loading p{font-size:15px;color:#697187}#loading-copy{min-height:50px;transition:opacity .25s}.result-header{display:flex;justify-content:space-between;align-items:center}.result-header h2{margin:0}#assessment.high{background:#fff1f3;border-color:#f3d9e0}#assessment.high h1,#assessment.high #risk-icon{color:#bc2944}#assessment.caution{background:#fff8e6}#assessment.caution h1{color:#906500}#assessment.low{background:#edf7f1}#assessment.low h1{color:#26734f}#assessment.insufficient{background:#eeeef3}#risk-icon{font-size:30px;font-weight:800}#result-title{font-size:18px;font-weight:600}#reasons{padding-left:20px;line-height:1.65}#reasons li{margin:10px 0}.advice{background:#f2f2ff;border-radius:16px;padding:18px;margin-top:22px}.advice p{margin:0;font-weight:600}summary{cursor:pointer;padding:12px 0;color:#5355cf}#sources a{display:block;padding:12px 0;font-size:15px;overflow-wrap:anywhere}.original{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7;border-left:3px solid #dfe1ed;padding-left:14px}.case{display:block;text-align:left;width:100%;background:transparent;border:0;border-top:1px solid #eee;padding:17px 0;line-height:1.5;color:inherit}.case small{display:block;color:#777f90;margin-bottom:6px}.case strong{font-size:16px}#status{color:#ab3543;font-size:15px;line-height:1.6}footer{text-align:center;font-size:14px;line-height:1.8;margin-top:32px}footer nav{font-size:12px;margin-top:12px}dialog{border:1px solid #ddd;border-radius:24px;padding:26px;max-width:480px;width:calc(100% - 36px);color:#242c40;max-height:85vh;overflow:auto}dialog::backdrop{background:#111a4266}[hidden]{display:none!important}@keyframes pulse{50%{opacity:.45;transform:scale(.94)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:370px){main{padding:20px 16px}.hero{padding:24px}.hero h1{font-size:34px}}

.home-input{margin-top:24px}.home-input>label{font-size:16px;font-weight:700}.home-input textarea{min-height:260px;margin-top:10px}.home-input .hint{margin:8px 0 0;font-size:12px}#manual:disabled{cursor:default}.hero{min-height:210px;padding:20px 24px;border-radius:24px}.hero .tag{font-size:12px;padding:6px 10px}.hero h1{font-size:28px;margin:12px 0}.hero p{margin-bottom:0}.illustration{position:absolute;right:25px;bottom:22px;opacity:.7;font-size:44px;height:55px}.illustration span,.illustration b{width:55px;border-radius:14px}.hero p{max-width:calc(100% - 70px);font-size:14px;margin-top:10px}.hero .illustration{right:20px;bottom:20px;font-size:36px;height:45px}.hero .illustration span,.hero .illustration b{width:45px;border-radius:12px}

#assessment{--risk-color:#626879}#assessment.high{--risk-color:#bc2944}#assessment.caution{--risk-color:#906500}#assessment.low{--risk-color:#26734f}.score-label{font-size:14px;font-weight:600;color:#626879;margin:18px 0 2px}.score-number{display:flex;align-items:baseline;gap:10px;margin:0;line-height:1.2;color:var(--risk-color)}.score-number strong{font-size:56px;font-weight:800;letter-spacing:-2px;font-variant-numeric:tabular-nums}.score-number span{font-size:16px;font-weight:600;color:#626879}.score-note{font-size:13px;color:#626879;line-height:1.6;margin:8px 0 0}#score-gauge{display:block;width:100%;height:10px;margin-top:14px;border:0;background:transparent;appearance:none}#score-gauge::-webkit-meter-bar{height:10px;background:#dfe1e8;border:0;border-radius:20px}#score-gauge::-webkit-meter-optimum-value{background:var(--risk-color);border-radius:20px}#score-gauge::-moz-meter-bar{background:var(--risk-color);border-radius:20px}


/* Result hierarchy: compact score, reasons, then the first useful action. */
body:has(#result:not([hidden])){background:#fff}
main:has(#result:not([hidden])){padding-top:18px}
main:has(#result:not([hidden]))>header{margin-bottom:20px}
.result-header .plain{min-height:44px;padding:10px 8px}
#assessment{padding:20px;border-radius:20px;margin-top:12px}
#assessment.scored{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label" "score verdict" "gauge gauge" "title title" "note note";gap:10px 12px}
#assessment.scored #risk-score{display:contents}
#assessment.scored .score-label{grid-area:label;margin:0;align-self:center}
#assessment .verdict-row{display:flex;align-items:center;gap:0;color:var(--risk-color)}#assessment .verdict-row #risk-icon{font-size:18px;line-height:1;flex-shrink:0}#assessment.scored .verdict-row{grid-area:verdict;align-self:center;justify-self:end;max-width:160px}
#assessment.scored .score-number{grid-area:score;align-self:center;white-space:nowrap;gap:6px}
#assessment.scored .score-number strong{font-size:48px;letter-spacing:-1.5px}
#assessment.scored .score-number span{font-size:15px}
#assessment.scored #verdict{min-width:0;margin:0;font-size:16px;line-height:1.5;letter-spacing:-.4px;text-align:left;overflow-wrap:anywhere}
#assessment.scored #score-gauge{grid-area:gauge;margin:0;height:8px}
#assessment.scored #score-gauge::-webkit-meter-bar{height:8px}
#assessment #result-title{margin:0;font-size:17px;line-height:1.55;font-weight:600;overflow-wrap:anywhere}
#assessment.scored #result-title{grid-area:title}
#assessment.scored .score-note{grid-area:note;margin:0;line-height:1.5}
#assessment:not(.scored) #verdict{font-size:26px;margin:10px 0}
#assessment:not(.scored) #score-unavailable{margin:10px 0 0}
.result-reasons{margin:24px 4px 0}
.result-reasons h2{font-size:16px;color:#626879;margin:0 0 10px}
#reasons{margin:0;padding-left:20px;font-size:17px;line-height:1.6}
#reasons li{margin:8px 0}
#result>.advice{margin-top:20px;padding:20px;border-radius:18px}
#result>.advice h2{font-size:16px;color:#5051cc;margin-bottom:10px}
#result>.advice p{font-size:18px;line-height:1.6}
.result-details{border-bottom:1px solid #e8e8f0;padding:2px 4px;margin-top:8px}
.result-details summary{padding:13px 0;min-height:44px;font-size:16px}
#result>.primary{margin-top:20px}
@media(max-width:370px){#assessment.scored .verdict-row{max-width:110px}#assessment.scored #verdict{font-size:15px}#assessment{padding:18px}#result>.advice{padding:18px}}

#assessment.low .verdict-row{gap:6px}

.guide{margin-top:34px;padding-top:28px;border-top:1px solid #e2e2ef;color:#191919}
.guide h2{font-size:21px;line-height:1.5;letter-spacing:-.4px}
.examples{list-style:none;padding:0;margin:20px 0}
.examples li{padding:0 0 20px;line-height:1.7}
.examples strong{display:block;font-size:18px;letter-spacing:-.3px}
.examples span{display:block;margin-top:6px;font-size:16px;color:#464646}
.guide-link{font-size:16px;font-weight:700;text-decoration:none;line-height:1.6;display:inline-block;padding:8px 0}
.app-card{margin-top:30px;padding:26px;border:1px solid #dddff5;border-radius:24px;background:white;color:#191919}
.app-card h2{font-size:24px;line-height:1.5;margin:16px 0 12px;letter-spacing:-.6px}
.app-card p{font-size:16px;color:#464646;margin:0}
.app-card .primary{font-size:16px;line-height:1.5}
.questions details{border-bottom:1px solid #e2e2ef}
.questions summary{font-size:16px;font-weight:600;line-height:1.6;padding:16px 0;color:#191919}
.questions details p{font-size:15px;line-height:1.8;color:#464646;margin:0 0 18px}
@media(max-width:370px){.app-card{padding:22px}.app-card h2{font-size:22px}.guide h2{font-size:20px}}
