:root{color-scheme:light;--ink:#172d40;--muted:#536575;--line:#cfdce3;--teal:#006c69;--soft:#eaf6f4;--blue:#264ca1;font:16px/1.8 -apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;color:var(--ink);background:#f8fbfc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:var(--teal);text-underline-offset:4px}button{cursor:pointer}button,a{touch-action:manipulation}button{min-height:46px;border:1px solid #a9bec9;border-radius:10px;padding:10px 17px;background:white;color:var(--ink);font-weight:650}button:hover{border-color:var(--teal);background:var(--soft)}button[disabled]{cursor:default;opacity:.5}:focus-visible{outline:3px solid #cf6b14;outline-offset:4px}button.primary{background:var(--teal);border-color:var(--teal);color:#fff}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4.2vw,3.2rem);letter-spacing:-.035em;line-height:1.4;margin-bottom:12px}h1 span{display:block;font-size:1rem;letter-spacing:.02em;font-weight:500;margin-top:6px}h2{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.6;letter-spacing:-.02em;margin-bottom:12px}h3{font-size:1.2rem;line-height:1.6}p{margin-bottom:16px}.quiet{font-size:.875rem;color:var(--muted)}.skip{position:fixed;top:-80px;background:white;padding:14px;z-index:9}.skip:focus{top:0}.sitebar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px max(20px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid var(--line)}.sitebar a{text-decoration:none;font-size:.875rem}.brand{font-size:1.65rem!important;font-weight:850;color:var(--ink)}.brand span{font-size:.875rem;font-weight:500;margin-left:12px}main{max-width:1160px;margin:auto;padding:34px 28px}.eyebrow{font-size:.75rem;font-weight:750;color:var(--teal);letter-spacing:.11em;margin-bottom:10px}.intro>p:last-child{color:var(--muted);font-size:1.05rem}.mobile{display:none}.modes{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;margin:24px 0 36px}.modes a{flex:1;text-align:center;text-decoration:none;padding:11px 5px;color:var(--ink);font-weight:750;border-radius:9px}.modes a:hover,.modes a:focus{background:var(--soft)}.modes span{display:block;font-size:.75rem;font-weight:500;color:var(--muted)}section{margin-bottom:52px}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.badge{flex-shrink:0;background:var(--soft);border:1px solid #bddcd7;padding:5px 12px;border-radius:30px;font-size:.875rem;color:var(--teal)}.experiment-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:24px;margin-bottom:18px}.exercise-nav{display:flex;flex-direction:column;gap:10px}.exercise-nav button{text-align:left;border-color:transparent;background:transparent;font-weight:500;line-height:1.6}.exercise-nav b{font-size:.8rem;color:var(--teal);margin-right:8px}.exercise-nav button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.exercise-nav button[aria-pressed=true] b{color:#a9e4d9}.experiment{border:1px solid var(--line);border-top:4px solid var(--teal);background:white;border-radius:16px;padding:26px;min-width:0}.experiment h3{font-size:1.3rem}.prompt{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.prompt button{font-size:.875rem;text-align:left;flex:1;min-width:180px;font-weight:500}.prompt button[aria-pressed=true]{border:2px solid var(--teal);background:var(--soft);padding:9px 16px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.choice{display:block;text-align:left;min-height:155px;border-radius:12px;padding:18px;line-height:1.8;border:1px solid #b4c7d2;font-size:1rem;overflow-wrap:anywhere}.choice strong{display:block;color:var(--blue);font-size:.8rem;margin-bottom:12px}.choice[aria-pressed=true]{background:var(--soft);border:2px solid var(--teal);padding:17px}.response{background:var(--soft);padding:22px;border-radius:12px;margin-top:22px}.response p:last-child{margin-bottom:0}.response h4{margin:0 0 10px;font-size:1rem}.response details{margin:16px 0}.response summary{cursor:pointer;font-weight:650;min-height:44px}.response a{font-size:.875rem}.response .actions{margin-top:18px}.experiment .quiet{margin-bottom:12px}.data-table{width:100%;font-size:.875rem;border-collapse:collapse;margin:14px 0}.data-table th,.data-table td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:right}.data-table th:first-child{text-align:left}.data-table caption{text-align:left;color:var(--muted);font-size:.8rem}.overview{background:var(--ink);color:white;padding:32px;border-radius:16px}.overview .eyebrow{color:#a9e4d9}.overview .quiet{color:#cedee9}.branches{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.branches>div{border-top:1px solid #7393a5;padding-top:16px}.branches span{font-size:.8rem;color:#a9e4d9}.branches h3{margin:8px 0}.branches p{font-size:.875rem}.notice{border-left:3px solid var(--teal);padding:12px 18px;background:var(--soft);font-size:.875rem}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.form-grid label{display:block;font-size:.9rem;font-weight:650}.form-grid .wide{grid-column:1/-1}input,textarea,select{min-width:0;width:100%;display:block;background:white;border:1px solid #a5bac7;border-radius:9px;padding:12px;margin-top:8px;color:var(--ink);font-weight:400}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#647581;opacity:1}select{white-space:normal}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}.result{background:#fff;border:1px solid var(--line);padding:24px;margin:24px 0 0;border-radius:14px}.result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9375rem}.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.principle-grid details{border:1px solid var(--line);background:#fff;border-radius:12px;padding:19px;scroll-margin-top:30px}.principle-grid summary{cursor:pointer;list-style:none}.principle-grid summary::-webkit-details-marker{display:none}.principle-grid summary b{display:block;color:var(--teal);font-size:.8rem;margin-bottom:10px}.principle-grid summary h3{font-size:1.08rem;margin-bottom:10px}.principle-grid summary p{font-size:.875rem;color:var(--muted);font-weight:400}.principle-grid summary span{color:var(--teal);font-size:.8rem}.principle-grid details[open] summary{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}.principle-grid dl{font-size:.875rem}.principle-grid dt{font-weight:750;margin-top:14px}.principle-grid dd{margin:4px 0}.source-item{padding:18px 0;border-bottom:1px solid var(--line)}.source-item p{font-size:.875rem;color:var(--muted);margin:10px 0 0}footer{border-top:1px solid var(--line);padding:24px 0;font-size:.875rem;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){.experiment-layout{grid-template-columns:1fr;gap:16px}.exercise-nav{display:grid;grid-template-columns:1fr 1fr}.exercise-nav button{border-color:var(--line);background:white;font-size:.875rem}.principle-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){main{padding:25px 18px}.mobile{display:block}.section-heading{display:block}.badge{display:inline-block}.experiment{padding:19px 16px}.choice-grid{grid-template-columns:1fr;gap:10px}.choice{min-height:110px}.choice strong{margin-bottom:5px}.prompt{gap:8px}.prompt button{min-width:100%;flex:auto}.overview{padding:24px 20px}.branches,.form-grid,.principle-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modes{margin-bottom:28px}.response{padding:18px 15px}.exercise-nav button{padding:10px}.result{padding:20px 16px}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:8px 3px}.intro{margin-bottom:20px}.section-heading>button{margin-top:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{body{background:white;color:black;font-size:12pt}.sitebar,.modes,.exercise-nav,button,.skip,#worksheet,.actions,#sheet-status{display:none!important}main{max-width:none;padding:0}section{margin-bottom:22px}.intro h1{font-size:24pt}.overview{background:white;color:black;border:1px solid #888;padding:15px}.overview .eyebrow,.overview .quiet,.branches span{color:#333}.principle-grid{display:block}.principle-grid details,.source-item,.experiment,.result{break-inside:avoid;margin-bottom:12px}.principle-grid details{border-color:#888}.experiment-layout{display:block}.choice-grid{grid-template-columns:1fr 1fr}.choice{min-height:0}a{color:#222}.notice{background:white}h2{font-size:18pt}h3{font-size:14pt}}
