/* All unit classes are scoped to ku-; shared navigation remains unchanged. */
body{margin:0;font:18px/1.8 "BIZ UDPGothic","Hiragino Sans",Meiryo,sans-serif;color:#332c28;background:#fff}*{box-sizing:border-box}.skip-link{position:absolute;top:-80px;left:12px;z-index:100;background:white;color:#533a29;padding:10px}.skip-link:focus{top:8px}.breadcrumb{max-width:1080px;margin:20px auto 0;padding:0 24px;font-size:16px}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.breadcrumb li+li:before{content:"›";padding-right:8px;color:#796657}.breadcrumb a{color:#684832}
.ku-main{max-width:1080px;margin:0 auto;padding:28px 24px 56px;color:#332c28;font-family:"BIZ UDPGothic","Hiragino Sans",Meiryo,sans-serif;font-size:18px;line-height:1.85}
.ku-main h1{font-size:clamp(30px,5vw,48px);line-height:1.35;margin:.25em 0 .7em}.ku-main h2{font-size:25px;line-height:1.5;margin-top:1.8em}.ku-main h3{font-size:21px}.ku-main a{color:#634631;text-underline-offset:4px}.ku-main section{margin-bottom:32px}.ku-main p{margin:.6em 0 1em}.ku-eyebrow{font-weight:700;font-size:16px;color:#795c48}.ku-lead{font-size:clamp(23px,3.2vw,34px);line-height:1.7;font-weight:700}
.ku-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;background:#f6f0e7;border:1px solid #e5d8c9;border-radius:24px;padding:36px}.ku-hero .ku-figure{align-self:center;background:#fffaf2}.ku-hero figcaption{font-size:16px}.ku-hero h1{font-size:clamp(38px,5vw,56px)}
.ku-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0}.ku-main button,.ku-primary,.ku-secondary{display:inline-block;min-height:48px;padding:12px 18px;border:1px solid #886b57;border-radius:10px;font:inherit;font-size:17px;line-height:1.5;font-weight:700;cursor:pointer;background:#fff;color:#553b29;text-decoration:none}.ku-main a.ku-primary{background:#684832;color:white}.ku-main button:hover,.ku-secondary:hover{background:#f3e8db}.ku-main a.ku-primary:hover{background:#503725}.ku-main :focus-visible{outline:3px solid #147e90;outline-offset:4px}
.ku-flow{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-bottom:1px solid #dfd3c6;padding:0 4px 24px;margin:24px 0 36px}.ku-flow span{font-size:16px;font-weight:700}.ku-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ku-main a.ku-topic{padding:24px;border:1px solid #ded0c2;border-radius:16px;background:#fffdfa;text-decoration:none;display:block}.ku-topic h2{margin:.25em 0;font-size:23px}.ku-topic p{color:#5b5049}.ku-topic>span:last-child{font-weight:700}.ku-topic-num{font-size:20px;color:#977559}.ku-topic:hover{border-color:#795b46;box-shadow:0 3px 12px #795b4612}
.ku-panel{border:1px solid #e0d4c5;background:#faf7f1;padding:24px;border-radius:16px}.ku-panel h2:first-child{margin-top:0}.ku-problem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ku-main a.ku-problem-link{display:grid;grid-template-columns:40px 1fr 18px;gap:10px;align-items:center;border:1px solid #ded3c7;border-radius:12px;padding:16px;background:#fff;text-decoration:none;min-height:96px;line-height:1.5}.ku-problem-link:hover{background:#faf4e9}.ku-number{font-weight:700;font-size:22px;color:#87644b}.ku-problem-link small{display:block;font-size:16px;color:#71655b;margin-top:5px}
.ku-task{max-width:820px;margin:0 auto 28px}.ku-question{font-size:21px;line-height:1.9;background:#f7f1e8;border-left:5px solid #987356;padding:22px 24px;border-radius:0 12px 12px 0}.ku-figure{max-width:470px;margin:24px auto;background:#fffcf7;padding:12px;border:1px solid #e9dfd3;border-radius:16px}.ku-figure svg{width:100%;height:auto;display:block}.ku-figure svg text{font-size:22px;fill:#443329;stroke:none;font-family:"BIZ UDPGothic",Meiryo,sans-serif}.ku-figure .hidden{stroke-dasharray:7 6}.ku-figure .accent{stroke:#a25525;stroke-width:3}.ku-figure figcaption{font-size:16px;line-height:1.7;padding:8px}.ku-note{border-left:3px solid #b59069;padding-left:14px;font-size:17px}.ku-workspace{margin:28px 0}.ku-workspace label{display:block;font-weight:700;margin-bottom:10px}.ku-workspace textarea{font:inherit;font-size:18px;line-height:1.65;padding:16px;border:1px solid #bca793;border-radius:10px;width:100%;box-sizing:border-box;resize:vertical;background:#fff;min-height:132px}.ku-main details{margin:18px 0;border:1px solid #d9c9b9;border-radius:12px;background:#fff;overflow:hidden}.ku-main summary{font-size:18px;font-weight:700;padding:16px 20px;cursor:pointer;background:#f9f4ec}.ku-main details>p,.ku-main details>ol,.ku-main details>div{margin:20px}.ku-main .ku-solution summary{background:#e9f1ec;color:#254938}.ku-answer{font-size:22px;font-weight:700;padding:15px;background:#f1f6f1;border-radius:8px}.ku-steps{padding-left:34px}.ku-steps li{padding:8px 6px}.ku-reflect{border-top:1px solid #ddd;padding-top:16px}.ku-save{min-height:1.8em;font-size:16px}.ku-next{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;border-top:1px solid #ded0c0;padding-top:24px;margin:36px auto;max-width:820px}.ku-next a{display:inline-block;min-height:44px}.ku-formulas{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.ku-formulas dt,.ku-formulas dd{margin:0;padding:10px;border-bottom:1px solid #e0d3c5}.ku-checks li{padding:12px 10px}.ku-checks p{color:#6c5b4d}.ku-main blockquote{margin:0;padding:16px;border-left:4px solid #96745b;background:white}.ku-assess button[aria-pressed=true]{outline:3px solid #446b55;background:#edf5ef}
@media(max-width:700px){.ku-main{padding:20px 16px 40px;font-size:18px}.ku-hero{grid-template-columns:1fr;padding:24px 20px}.ku-hero .ku-figure{max-width:340px}.ku-topics,.ku-problem-grid{grid-template-columns:1fr}.ku-question{padding:16px;font-size:20px}.ku-panel{padding:18px}.ku-topic h2{font-size:22px}.ku-flow{display:grid;grid-template-columns:1fr 1fr}.ku-main h2{font-size:23px}.ku-formulas{grid-template-columns:1fr 1fr}.ku-main details>p,.ku-main details>ol,.ku-main details>div{margin:16px}.ku-figure{padding:4px}}
@media print{header,nav,footer,.skip-link,.ku-screen-only,.ku-hint,.ku-assess,.ku-next{display:none!important}.ku-main{max-width:none;padding:0;font-size:16px}.ku-task{break-before:page;margin:0}.ku-task:first-of-type{break-before:auto}.ku-question{background:white;border:1px solid #aaa;font-size:18px}.ku-figure{max-width:300px;break-inside:avoid;margin:10px auto}.ku-figure figcaption{font-size:16px}.ku-main textarea{height:110px}.ku-solution{display:none!important}body.ku-print-answers .ku-solution{display:block!important}body.ku-print-answers .ku-workspace{display:none}.ku-solution summary{display:none}.ku-steps{font-size:16px}.ku-main h1{font-size:28px}.ku-main h2{font-size:23px}.ku-reflect{display:none}}
