*{box-sizing:border-box}body{margin:0;background:#faf9f5;color:#293d31;font-family:'Pretendard Variable',Pretendard,'Malgun Gothic',sans-serif;font-size:16px;line-height:1.8}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:5px}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}:focus-visible{outline:3px solid #8b6d36;outline-offset:4px}h1,h2,h3,p,label,summary,a{word-break:keep-all;overflow-wrap:anywhere}p{text-wrap:pretty}h1,h2,h3{line-height:1.45;letter-spacing:-.035em;font-weight:600}h1{font-size:clamp(30px,4vw,46px);margin:12px 0 20px}h2{font-size:26px;margin:10px 0 18px}h3{font-size:20px}p{margin:0 0 20px}small,.subtle{font-size:14px;color:#596752}.j-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 4%;border-bottom:1px solid #dddcd1;background:#faf9f5}.j-brand{text-decoration:none;line-height:1.4;letter-spacing:.12em;font-size:16px}.j-brand span{display:block;font-size:12px;letter-spacing:.05em}.j-header nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.j-header nav a{text-decoration:none}.j-header nav a[aria-current]{color:#79633c;border-bottom:1px solid currentColor}.j-member{display:flex;align-items:center;justify-content:flex-end;gap:16px;max-width:1180px;margin:auto;padding:14px 32px}.j-shell{max-width:1180px;padding:22px 32px 80px;margin:auto}.j-topline{display:flex;align-items:center;gap:12px;color:#79633c;font-size:13px;letter-spacing:.08em}.j-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:50px;padding:20px 0 36px}.j-intro>p{align-self:end;color:#52624f;max-width:430px;font-size:17px}.j-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0}.j-button,button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:1px solid #314b36;border-radius:6px;background:#314b36;color:#fff;padding:10px 18px;font-weight:500;font-size:15px;line-height:1.5;text-decoration:none}.j-button.secondary,button.secondary{background:transparent;color:#314b36;border-color:#b7c1ae}.j-button:hover,button:hover{filter:brightness(.95)}.j-flow{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:18px 0;margin:0 0 24px;border-block:1px solid #d9ddd0;font-size:12px;letter-spacing:.045em;color:#596752}.j-flow li+li:before{content:'→';margin-right:10px}.j-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px}.j-rail{align-self:start}.j-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.j-days button{padding:6px;min-height:44px;background:#efefe7;color:#53624e;border:1px solid transparent;font-variant-numeric:tabular-nums}.j-days button[aria-current=true]{background:#314b36;color:#fff}.j-days button[data-completed=true]{border-bottom:4px solid #8b7446}.j-rail h2{font-size:18px}.j-paper{background:#fffefa;border:1px solid #daddd0;border-radius:10px;padding:32px;min-width:0}.j-paper>header{border-bottom:1px solid #dedfd4;padding-bottom:18px;margin-bottom:24px}.j-paper h2{font-size:30px}.j-guidance{background:#eeeee4;border-radius:6px;padding:18px 20px;color:#455b3d}.j-part{border:0;border-top:1px solid #dfe0d5;padding:26px 0 0;margin:26px 0 0;min-width:0}.j-part legend{font-size:13px;letter-spacing:.07em;color:#79633c;padding:0 12px 0 0}.j-field{display:block;margin:18px 0;font-weight:500}.j-field small{display:block;font-weight:400}.j-field textarea,.j-field input,.j-field select{display:block;width:100%;border:1px solid #b9c2b0;background:#fff;color:#293d31;border-radius:6px;margin-top:9px;padding:12px;min-height:48px;font-size:16px}.j-field textarea{min-height:130px;resize:vertical;line-height:1.8}.j-question{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-bottom:1px solid #e1e3d9;font-weight:400;line-height:1.8;cursor:pointer}.j-question input{flex:0 0 auto;width:18px;height:18px;margin:6px 0 0;accent-color:#36523a}.j-question b{display:inline-block;min-width:37px;font-size:12px;color:#79633c;font-weight:500}.j-question:has(input:checked){color:#203e29;background:#edf0e4}.j-checkline{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:14px;color:#52624f}.j-checkline input{width:18px;height:18px;flex-shrink:0;margin-top:5px;accent-color:#36523a}.j-records{display:grid;gap:18px}.j-record{border:1px solid #daddd0;border-radius:8px;padding:24px;background:#fffefa;min-width:0}.j-record p:last-child{margin-bottom:0}.j-record pre{white-space:pre-wrap;word-break:break-word;font:inherit;color:#52624f}.j-record details{margin-top:16px}.j-record summary{cursor:pointer}.j-question-book{margin-top:48px;border-top:1px solid #d9ddd0;padding-top:26px}.j-question-book details{border-bottom:1px solid #d9ddd0;padding:18px 0}.j-question-book summary{font-size:18px;font-weight:500;cursor:pointer}.j-question-book ol{list-style:none;padding:0}.j-question-book li{padding:10px 0;color:#52624f}.j-question-book b{font-size:13px;color:#79633c;margin-right:15px}.j-message{position:sticky;bottom:12px;padding:12px 18px;border:1px solid #c5cdbb;background:#f1f3e9;border-radius:6px;z-index:2;box-shadow:0 2px 8px #293d3110}.j-message:empty{display:none}.j-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.j-tabs button[aria-pressed=true]{background:#314b36;color:#fff}.j-tabs button{background:transparent;color:#314b36;border-color:#c7cfbe}.j-table-wrap{overflow-x:auto}.j-table{border-collapse:collapse;width:100%;font-size:15px}.j-table th,.j-table td{text-align:left;padding:12px;border-bottom:1px solid #d9ddd0}.j-table th{font-weight:500}.j-footer{border-top:1px solid #dddcd1;padding:28px;text-align:center;font-size:14px;color:#596752}dialog{width:min(480px,calc(100% - 32px));border:1px solid #d0d5c5;border-radius:10px;background:#faf9f5;color:#293d31;padding:30px}dialog::backdrop{background:#18261ccc}.j-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.j-score{padding:22px;border-radius:8px;background:#eeeee4}.j-score strong{font-size:34px;display:block}.j-choice-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.j-choice-row label{display:flex;flex-direction:column;align-items:center;border:1px solid #c7cfbe;border-radius:6px;padding:12px 6px;text-align:center;font-size:13px;cursor:pointer}.j-choice-row label:has(input:checked){background:#314b36;color:#fff}.j-choice-row input{accent-color:#36523a}.j-assessment-item{margin:28px 0;padding:8px 0 28px;border-bottom:1px solid #d9ddd0}.j-progress{width:100%;height:8px;accent-color:#36523a}.j-local-note{padding:12px 0;color:#596752;font-size:14px}.j-empty{padding:26px;background:#eeeee4;border-radius:8px}.j-pause{margin:18px 0;color:#52624f;font-size:15px}
@media(max-width:850px){.j-header{align-items:flex-start;flex-direction:column;gap:16px;padding:18px 24px}.j-header nav{gap:16px}.j-intro{grid-template-columns:1fr;gap:0}.j-intro>p{max-width:620px}.j-layout{grid-template-columns:1fr}.j-rail{position:static}.j-days{grid-template-columns:repeat(10,1fr)}.j-rail h2{margin:8px 0}.j-member{padding-inline:24px}.j-shell{padding:16px 24px 60px}}
@media(max-width:520px){body{font-size:16px}.j-header nav{font-size:12px;gap:14px}.j-shell{padding:12px 18px 48px}.j-member{padding:12px 18px;justify-content:space-between}.j-member small{font-size:12px;max-width:210px}.j-paper{padding:23px 19px}.j-paper h2{font-size:25px}.j-days{grid-template-columns:repeat(6,1fr)}.j-days button{min-height:44px}.j-choice-row{grid-template-columns:1fr}.j-choice-row label{flex-direction:row;gap:12px;padding:12px;font-size:15px;justify-content:flex-start}.j-scores{gap:8px}.j-score{padding:16px 12px}.j-score strong{font-size:28px}.j-topline{font-size:11px}.j-question{gap:9px}.j-actions{gap:9px}.j-actions>*{flex:1 1 auto}.j-record{padding:20px}.j-table th,.j-table td{padding:10px 8px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.j-dsr-map{max-width:410px;margin:24px auto;text-align:center}.j-dsr-map svg{display:block;width:100%;height:auto}.j-dsr-map text{font-size:15px}.j-dsr-map figcaption{font-size:14px;color:#596752}
@media print{.j-header,.j-member,.j-footer,.j-actions,.j-checkline,.j-message{display:none}.j-shell{max-width:none;padding:0}.j-paper,.j-score,.j-assessment-item{break-inside:avoid}body{background:white}.j-field textarea{min-height:100px}.j-dsr-map{max-width:280px}}
