:root{--navy:#12243e;--accent:#367cf5;--text:#303b4b;--muted:#738094;--line:#dce2ea;--paper:#fff;--bg:#e9edf2}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 50% 30%,#f9fafc,var(--bg) 75%);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button,a,input,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent)}button{border:1px solid var(--line);background:white;color:var(--navy);border-radius:6px;padding:11px 18px;font-weight:650}button:hover{background:#edf3ff}button:disabled{opacity:.35;cursor:default}a{color:#2465ce;text-underline-offset:3px}.toolbar{height:84px;max-width:1300px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid #ccd5e080}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-size:11px;font-weight:750;letter-spacing:.1em}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.05em;color:var(--muted);margin-top:5px}.brand-mark{display:block;background:var(--navy);color:white;font-family:Georgia,serif;font-size:28px;letter-spacing:-3px;width:39px;height:42px;padding:2px 6px}.brand-mark span{color:#7daaff}.toolbar-actions{display:flex;gap:8px}.toolbar-actions button{font-size:12px;background:transparent}.toolbar-actions #toc-open{background:var(--navy);color:white;border-color:var(--navy)}main{max-width:1240px;margin:auto;padding:0 40px}.context{display:flex;justify-content:space-between;gap:15px;padding:22px 0 17px;font-size:10px;font-weight:650;letter-spacing:.12em;color:var(--muted)}.save-label{font-size:10px;font-weight:400;letter-spacing:0}.book{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:720px;perspective:2200px;filter:drop-shadow(0 20px 23px #12243e20)}.book:after{content:"";position:absolute;inset:4px -4px -5px 4px;background:repeating-linear-gradient(0deg,#cbd0d7 0 1px,#fff 1px 3px);z-index:-1;border-radius:3px}.book.solo{max-width:580px;margin:auto;grid-template-columns:1fr}.page{position:relative;min-width:0;background:var(--paper);padding:40px 38px 22px;display:flex;flex-direction:column;min-height:720px;border:1px solid #e3e6ea;box-shadow:inset -10px 0 20px -22px #12243e}.page+.page{box-shadow:inset 18px 0 22px -22px #12243e;border-left:0}.page-heading{margin-bottom:22px}.eyebrow{color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.15em;display:block;margin-bottom:16px}.page h1,.page h2{color:var(--navy);font-weight:750;letter-spacing:-.045em;line-height:1.5;margin:0;font-size:29px;white-space:pre-line;text-wrap:balance}.lead{font-size:15px;color:#68758a;line-height:1.85;margin:16px 0 0}.body{font-size:14px;line-height:1.95;flex:1}.body>p{margin:0 0 18px}.body>p:last-child{margin-bottom:0}.note{margin:20px 0;background:#eff4fc;padding:16px 18px;border-left:3px solid var(--accent);font-size:13px;line-height:1.9}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.card{padding:16px;border-top:2px solid var(--navy);background:#f4f6f9}.card b{display:block;color:var(--navy);font-size:14px;margin-bottom:5px}.card p{font-size:13px;margin:0;line-height:1.85}.steps{list-style:none;padding:0;margin:24px 0;counter-reset:step}.steps li{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center;counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);color:var(--accent);font-size:24px;font-family:Georgia,serif;line-height:1.2}.table-wrap{overflow:auto;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.8}th{background:var(--navy);color:#fff;font-weight:600}th,td{padding:12px 13px;text-align:left;vertical-align:top}td{border-bottom:1px solid var(--line)}tr:nth-child(even){background:#f5f7fa}.checklist{display:grid;gap:11px;margin:22px 0}.checklist label{display:flex;gap:10px;font-size:14px;align-items:flex-start;cursor:pointer}.checklist input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin:5px 0 0}.checklist label:has(input:checked){color:#68758a}.page-footer{border-top:1px solid var(--line);padding-top:14px;margin-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.12em;color:var(--muted)}.page-footer b{font-size:12px;color:var(--navy);font-weight:500}.chapter{background:var(--navy);color:#d2dcec;overflow:hidden}.chapter .chapter-number{font-family:Georgia,serif;font-size:105px;line-height:1;color:#7397d1;margin-bottom:40px}.chapter h2{color:#fff;font-size:32px}.chapter .eyebrow{color:#91b7ff}.chapter .lead{color:#a9c6f9}.chapter .body{margin-top:15px}.chapter .note{background:#ffffff0c;color:#d5e3fa;border-color:#729ff4}.chapter .steps li{border-color:#ffffff25}.chapter .steps li:before{color:#92b7ff}.chapter .page-footer,.chapter .page-footer b{color:#a3b4cf;border-color:#ffffff30}.chapter table{font-size:12px}.chapter th{background:#ffffff12}.chapter td{border-color:#ffffff25}.chapter tr:nth-child(even){background:#ffffff08}.chapter .card{background:#ffffff08;border-color:#6089c8}.chapter .card b{color:white}.cover{background:var(--navy);color:white;padding:49px 45px 26px;overflow:hidden;min-height:740px}.cover:before{content:"";position:absolute;inset:14px;border:1px solid #ffffff25;pointer-events:none}.cover .eyebrow{color:#9ab9ef;margin-bottom:55px;letter-spacing:.2em}.cover h1{color:white;font-size:48px;line-height:1.3;letter-spacing:-.04em}.cover .cross{display:block;font-size:25px;color:#93b9ff;font-weight:400;margin:13px 0}.cover .subtitle{font-size:25px;letter-spacing:.08em;margin:23px 0 30px;padding-top:23px;border-top:1px solid #ffffff40}.cover-description{font-size:11px;letter-spacing:.13em;color:#c4d4ed}.cover-graphic{position:relative;height:175px;margin:30px 0 0;overflow:hidden}.cover-graphic .ring{position:absolute;width:260px;height:260px;left:50%;top:12px;border:1px solid #ffffff36;border-radius:50%;transform:translateX(-50%) rotateX(54deg) rotateZ(-25deg)}.cover-graphic .ring:nth-child(2){width:340px;height:340px;top:-25px;border-color:#608ff3}.cover-graphic .ring:nth-child(3){width:420px;height:420px;top:-60px;border-color:#ffffff18}.cover-graphic .core{position:absolute;inset:65px 0 auto;text-align:center;font-size:11px;letter-spacing:.36em;color:#b5ceff}.cover .cover-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:auto;font-size:10px;letter-spacing:.1em;color:#a9bbd6}.cover .cover-bottom b{font-family:Georgia,serif;font-size:40px;color:#fff;font-weight:400}.cover .page-footer{color:#afbfda;border-color:#ffffff26}.cover .page-footer b{color:white}.prompt{border:1px solid #ccd9ee;margin:18px 0;background:#f6f8fc;border-radius:5px;overflow:hidden}.prompt-head{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#e9eff9;color:#47658e;font-size:10px;letter-spacing:.08em}.copy{font-size:11px;padding:7px 12px;min-height:36px}.prompt pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;padding:16px;margin:0}.practice .body{font-size:13px}.practice .page-heading{margin-bottom:15px}.practice .body>p{margin-bottom:13px}.sources{margin:20px 0 0;font-size:11px;line-height:1.7}.sources a{display:block;margin-top:7px}.sources small{display:block;color:var(--muted);margin-top:8px}.download{display:block;background:var(--accent);color:white;text-decoration:none;text-align:center;padding:15px 12px;font-size:13px;font-weight:650;border-radius:4px;margin:18px 0}.chapter .download{background:#fff;color:var(--navy)}.toc-row{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;display:flex;gap:15px;align-items:center;text-align:left;padding:19px 0;font-size:14px}.toc-row .num{font-family:Georgia,serif;color:var(--accent);font-size:24px}.toc-row .toc-title{flex:1}.toc-row small{font-size:11px;color:var(--muted)}.contents .toc-row{padding:22px 0}.contents .body>p{color:var(--muted);margin-top:28px;font-size:13px}.navigation{display:flex;gap:28px;align-items:center;justify-content:center;padding:27px 0 0}.navigation button{min-width:110px;font-size:13px}.navigation #next{background:var(--navy);color:white;border-color:var(--navy)}.progress-group{text-align:center;min-width:180px}#page-number{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.1em;color:var(--navy)}.progress{height:3px;background:#d1d9e5;margin-top:12px;overflow:hidden}.progress span{height:100%;display:block;background:var(--accent);transition:width .3s}.reader-hint{text-align:center;color:#7a8798;font-size:10px;margin:16px 0 25px;letter-spacing:.03em}.reader-hint span{margin:0 9px}.calc{border:1px solid var(--line);padding:18px;background:#f5f7fa;border-radius:6px}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.calc label{font-size:12px;display:grid;gap:7px;color:var(--navy);font-weight:600}.calc input{width:100%;min-width:0;padding:11px;background:white;border:1px solid #cbd4e1;border-radius:4px;font-size:17px;color:var(--navy)}.calc input[aria-invalid=true]{border-color:#b33d3d}.result{margin-top:20px;padding:21px;background:var(--navy);color:white}.result .big{font-family:Georgia,serif;font-size:42px;line-height:1.4;display:block}.result small{color:#bccfec}.result p{font-size:13px;margin:10px 0 0}#calc-error{color:#a02020;font-size:13px;margin:12px 0 0}.flip-sheet{position:absolute;top:0;width:50%;height:100%;z-index:10;pointer-events:none;backface-visibility:hidden;overflow:hidden;background:white}.flip-sheet .page{height:100%}.flip-sheet.forward{left:50%;transform-origin:left center;animation:flipForward .65s cubic-bezier(.45,.05,.3,1) forwards}.flip-sheet.backward{left:0;transform-origin:right center;animation:flipBackward .65s cubic-bezier(.45,.05,.3,1) forwards}.book.solo .flip-sheet{left:0;width:100%}@keyframes flipForward{to{transform:rotateY(-175deg);filter:brightness(.7)}}@keyframes flipBackward{to{transform:rotateY(175deg);filter:brightness(.7)}}dialog{padding:28px;width:min(520px,calc(100% - 32px));max-height:85dvh;border:0;border-radius:12px;color:var(--text);box-shadow:0 25px 90px #12243e55}dialog::backdrop{background:#12243e88;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0;font-size:27px;color:var(--navy)}.dialog-head .eyebrow{margin:0 0 8px}dialog details{margin-top:24px}summary{cursor:pointer;font-size:13px;color:var(--muted)}#page-list button{display:block;width:100%;text-align:left;border:0;font-size:12px;margin:5px 0}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;border-radius:6px;padding:13px 24px;font-size:13px;z-index:40;opacity:0;pointer-events:none;transition:opacity .15s;max-width:90vw}#toast.show{opacity:1}.prompt-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.prompt-links button{font-size:12px;text-align:left;padding:12px}.closing h2{font-size:31px}.closing .lead{color:var(--accent)}@media(min-width:1500px){.page{padding:46px 43px 24px}.book{min-height:760px}}@media(max-width:900px){.toolbar{height:67px;padding:0 18px}.brand{font-size:9px;gap:9px}.brand small{font-size:9px}.brand-mark{width:32px;height:36px;font-size:24px}.toolbar-actions button{padding:10px 12px;font-size:11px}main{padding:0 20px;max-width:680px}.context{padding:19px 0 14px;letter-spacing:.06em}.book,.book.solo{grid-template-columns:1fr;min-height:650px;max-width:none}.page{min-height:650px;padding:34px 30px 22px}.page h2{font-size:28px}.body{font-size:16px;line-height:1.95}.lead{font-size:15px}.practice .body{font-size:15px}.prompt pre{font-size:14px}.note{font-size:14px}.card p{font-size:14px}.card b{font-size:15px}table,.chapter table{font-size:14px}.checklist label{font-size:15px}.page-footer{font-size:8px}.page-footer b{font-size:12px}.chapter .chapter-number{font-size:95px}.cover{min-height:690px;padding:42px 34px 28px}.cover h1{font-size:43px}.cover .eyebrow{margin-bottom:42px}.cover .subtitle{font-size:22px}.cover-description{font-size:11px;line-height:1.9}.cover-graphic{height:155px}.navigation{gap:16px;padding-top:24px}.navigation button{min-width:85px;padding:12px}.progress-group{min-width:120px}.book .flip-sheet{left:0;width:100%}.save-label{font-size:9px}.sources{font-size:12px}}@media(max-width:390px){main{padding:0 12px}.page{padding:29px 23px 20px}.cover h1{font-size:38px}.cover .subtitle{font-size:20px}.toolbar{padding:0 12px}.brand small{font-size:8px}.cards{grid-template-columns:1fr}.calc{padding:12px}.calc-fields{gap:10px}.navigation{gap:12px}.progress-group{min-width:100px}.toolbar-actions #home{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.toolbar,.context,.navigation,.reader-hint,dialog,#toast{display:none!important}.book,.book.solo{display:block;filter:none;max-width:none}.page{break-after:page;min-height:0}.flip-sheet{display:none}}
.book{touch-action:pan-y}.toolbar{position:relative;z-index:15}@media(max-width:900px){body{padding-bottom:90px}.toolbar{position:sticky;top:0;background:#eef1f6f5;backdrop-filter:blur(12px)}.navigation{position:fixed;bottom:0;left:0;right:0;background:#eef1f6f5;backdrop-filter:blur(12px);padding:14px 12px max(14px,env(safe-area-inset-bottom));z-index:16;border-top:1px solid var(--line)}.reader-hint{padding-bottom:8px}.context{position:relative}#toast{bottom:90px}}
