.preparation{--prep-paper:var(--surface,#242c2b);--prep-ink:var(--ink,#e9e6de);--prep-line:var(--line,#455951);height:100dvh;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;color:var(--prep-ink);background:var(--paper,#182521);font-size:17px}
.preparation{position:fixed;inset:0;z-index:35;padding:0;margin:0;width:100vw;max-width:none;box-sizing:border-box}
html:has(.preparation),body:has(.preparation){overflow:hidden}
.prep-background{position:absolute;inset:0;z-index:-2;pointer-events:none;background:#17201e}
.prep-background img{width:100%;height:100%;object-fit:cover;opacity:.17;animation:prep-reveal .5s ease-out}
.prep-background:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--paper,#182521) 90%)}
.prep-review .prep-background{background:var(--paper)}
.prep-review .prep-background img{animation:none;opacity:.06}
.prep-immersive{color:#f7f0df;--prep-line:#e1c89650;--prep-paper:#18221eef}
.prep-immersive .prep-background img{opacity:.62}
.prep-immersive .prep-background:after{background:linear-gradient(180deg,#080f1590,#080f15b5 45%,#080f15ef)}
.prep-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:24px 4vw;border-bottom:1px solid var(--prep-line);flex-shrink:0}
.prep-brand{display:flex;align-items:center;gap:12px;font-weight:600;min-width:0}.prep-brand svg{width:24px;height:24px;flex-shrink:0}.prep-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prep-top>button{justify-self:end;width:44px;height:44px;padding:0;font-size:23px}
.prep-top nav{display:flex;gap:28px}.prep-top nav>span{display:flex;align-items:center;gap:7px;opacity:.5;font-size:14px}.prep-top nav .current{opacity:1}.prep-top nav .complete{opacity:.75}.prep-top nav b{font-weight:400;color:#c7a975}
.prep-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:40px max(4vw,24px) 48px;scrollbar-gutter:stable}
.prep-introduction{max-width:810px;margin:10px auto 30px;text-align:center}.prep-introduction h1{font-family:var(--serif,Georgia,serif);font-size:clamp(32px,4vw,56px);line-height:1.12;margin:12px 0 20px}.prep-introduction p{line-height:1.7;max-width:650px;margin:0 auto;opacity:.85}
.prep-scope-grid,.prep-concept-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.prep-visual-card,.prep-concept{padding:0;text-align:left;border:1px solid #c8c2ae60;background:#132121df;color:#f7f0df;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s;min-width:0;cursor:pointer;font:inherit}
.prep-visual-card img{width:100%;height:210px;object-fit:cover}.prep-visual-card>span{padding:24px;display:grid;gap:10px}.prep-visual-card strong,.prep-concept strong{font-family:var(--serif,Georgia,serif);font-size:26px;line-height:1.2;font-weight:600}.prep-visual-card small,.prep-concept small{color:#dfc592;font-size:13px}.prep-visual-card em,.prep-concept em{font-size:14px;font-style:normal;line-height:1.6;color:#d9dfd7}
.prep-visual-card:hover,.prep-concept:hover{transform:translateY(-3px);border-color:#dec18c}.prep-visual-card.selected,.prep-concept.selected{border-color:#dec18c;box-shadow:0 0 0 2px #dec18c45}.prep-visual-card.selected:after,.prep-concept.selected:after{content:'✓';position:absolute;top:14px;right:14px;display:grid;place-items:center;background:#f1dfb5;color:#203025;border-radius:50%;width:30px;height:30px}
.prep-concept img{width:100%;height:140px;object-fit:cover}.prep-concept>span{padding:22px;display:flex;flex:1;flex-direction:column;gap:12px}.prep-concept p{margin:0;font-size:16px;line-height:1.6}.prep-concept em{margin-top:auto}
.prep-caption{max-width:880px;margin:24px auto;text-align:center;line-height:1.6;font-size:15px;opacity:.8}.prep-opinion{display:block;max-width:950px;margin:30px auto 0;font-weight:600}.prep-opinion>span{font-size:13px;font-weight:400;opacity:.7;margin-left:10px}.prep-opinion textarea{margin-top:12px;width:100%;padding:14px 18px;border-radius:10px;background:#132021c9;border:1px solid #d8c69b66;color:#fff;font:inherit;line-height:1.6;resize:vertical}.prep-opinion textarea::placeholder{color:#ced2c8aa}
.prep-notice{max-width:700px;margin:22px auto;padding:18px 24px;border:1px solid var(--prep-line);background:var(--prep-paper);border-radius:12px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.prep-footer{padding:18px 4vw max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--prep-line);background:var(--prep-paper);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.prep-footer>span{display:flex;align-items:center;gap:10px;font-size:13px;opacity:.8}.prep-footer svg{width:18px;height:18px}.prep-footer>div{display:flex;align-items:center;gap:12px}.preparation .btn{font-size:16px;min-height:46px;line-height:1.35;word-break:normal;overflow-wrap:normal;white-space:normal}.prep-footer .btn{padding:13px 24px}.prep-immersive .btn:not(.primary){color:#f7f0df;border-color:#dfd6bf50;background:#11202080}.prep-immersive .btn:not(.primary):hover{background:#243531}
.prep-job{text-align:center;max-width:650px;margin:40px auto;padding:30px;background:var(--prep-paper);border:1px solid var(--prep-line);border-radius:20px}.prep-job h2{font-family:var(--serif,Georgia,serif);font-size:28px;line-height:1.3}.prep-job p{line-height:1.7}.prep-orbit{font-size:40px;color:#d9ba7e;animation:prep-orbit 8s linear infinite}.prep-job progress{width:100%;height:7px;display:block;margin:25px 0 12px;accent-color:#c8a96c}.prep-job small{display:block;margin-bottom:16px;opacity:.75}
.prep-basis-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1380px;margin:0 auto 22px}.prep-basis-heading h1{font-family:var(--serif,Georgia,serif);font-size:clamp(28px,3vw,42px);line-height:1.2;margin:12px 0}.prep-basis-heading p{max-width:770px;line-height:1.6;opacity:.8}
.prep-more{position:relative;flex-shrink:0}.prep-more>summary{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--prep-line);border-radius:50%;font-size:26px;list-style:none;cursor:pointer}.prep-more>summary::-webkit-details-marker{display:none}.prep-more>summary:hover{background:var(--panel,var(--prep-paper))}.prep-more[open]>button{display:block;min-width:200px;margin-top:7px}.prep-basis-heading>.prep-more[open]{align-self:flex-start}.prep-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--prep-line);max-width:1380px;margin:0 auto 26px;padding-bottom:10px}.prep-tabs .btn{border-color:transparent;background:transparent;white-space:nowrap;padding:12px 20px;color:inherit}.prep-tabs .btn[aria-current]{border-color:var(--prep-line);background:var(--panel,var(--prep-paper))}.prep-tabs small{margin-left:10px;opacity:.6;font-size:12px}
.prep-materials{max-width:1380px;margin:auto;animation:prep-reveal .3s ease-out}.prep-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.prep-record{background:var(--panel,var(--prep-paper));border:1px solid var(--prep-line);border-radius:14px;min-width:0;overflow:hidden}.prep-record>summary{list-style:none;cursor:pointer;transition:background .2s}.prep-record>summary::-webkit-details-marker{display:none}.prep-record>summary:hover{background:var(--hover,var(--prep-paper))}.prep-record-art{height:170px;position:relative;background:var(--paper,#182521);overflow:hidden}.prep-record-art img{width:100%;height:100%;object-fit:cover;display:block}.prep-record-art>span{position:absolute;inset:0;display:grid;place-items:center;background:#11201e70;color:#f1dfb5}.prep-record-art>span svg{width:44px;height:44px}.prep-record-art.prep-hero-art:has(>img[src^="data:"]){height:260px}.prep-hero-art>img[src^="data:"]{object-fit:contain}.prep-record-title{padding:20px 22px}.prep-record-title h2{font-family:var(--serif,Georgia,serif);font-size:26px;line-height:1.25;margin:10px 0}.prep-record-title small{font-size:12px;opacity:.7}.prep-record-title p{line-height:1.6;font-size:16px;margin:12px 0}.prep-record-title>span{font-size:13px;opacity:.75}.prep-record-body{padding:0 22px 22px;font-size:16px;line-height:1.7}.prep-record-body .check{font-size:15px;line-height:1.5;margin:18px 0}.prep-record-actions{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-top:18px}.prep-record-actions .prep-more[open]>button{min-width:0;font-size:14px}.prep-record-actions .prep-more[open]{max-width:58%}.prep-secret{border-left:2px solid var(--prep-line);padding-left:14px;opacity:.85;font-size:15px}.prep-secret p{white-space:pre-wrap}.prep-abilities{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prep-abilities>span{padding:10px;border:1px solid var(--prep-line);border-radius:8px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.prep-abilities b{font-size:22px}
.prep-plot-entry{display:grid;place-items:center;min-height:360px;border:1px solid var(--prep-line);border-radius:16px;background:var(--panel,var(--prep-paper));text-align:center;padding:36px}.prep-plot-entry>div{max-width:680px}.prep-plot-entry svg{width:44px;height:44px}.prep-plot-entry p{line-height:1.7;opacity:.8}.prep-plot-entry h2{font-family:var(--serif,Georgia,serif);font-size:30px}
.prep-image-progress{max-width:1380px;margin:20px auto;display:flex;align-items:center;gap:24px;border:1px solid var(--prep-line);border-radius:12px;background:var(--panel,var(--prep-paper));padding:20px 24px}.prep-image-progress>div{flex:1}.prep-image-progress p{margin:8px 0 0;line-height:1.6;font-size:15px;opacity:.8}.prep-image-progress progress{width:160px;max-width:100%;accent-color:var(--green,#aac4a6);height:8px}
.prep-diff{max-width:1380px;margin:20px auto;background:var(--panel,var(--prep-paper));border:1px solid var(--prep-line);border-radius:12px;padding:24px}.prep-diff>header p{white-space:pre-wrap;line-height:1.6}.prep-diff>details{border-top:1px solid var(--prep-line);padding:16px 0}.prep-diff summary{cursor:pointer;font-weight:600}.prep-diff-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.prep-diff-columns p{white-space:pre-wrap;line-height:1.7}.prep-diff-columns small{opacity:.6}.prep-diff>footer{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.prep-revision-targets{display:grid;gap:14px;max-height:45dvh;overflow:auto;padding:12px 0}.prep-revision-targets small{opacity:.6}
.prep-graph{height:100dvh}.prep-graph .plot-shell{z-index:40}.preparation button:focus-visible,.preparation summary:focus-visible{outline:2px solid var(--green,#dec18c);outline-offset:4px}.preparation button:active{transform:translateY(1px)}
@keyframes prep-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes prep-orbit{to{transform:rotate(360deg)}}
@media(min-width:1800px){.preparation{font-size:19px}.prep-scope-grid,.prep-concept-grid{max-width:1380px}.prep-visual-card img{height:260px}.prep-scroll{padding-top:60px}.preparation .btn{font-size:18px}.prep-record-title p,.prep-record-body{font-size:18px}}
@media(max-width:1000px){.prep-top{gap:16px;padding:18px 24px}.prep-top nav{gap:14px}.prep-top nav>span>span{display:none}.prep-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prep-visual-card>span,.prep-concept>span{padding:18px}.prep-visual-card strong,.prep-concept strong{font-size:23px}.prep-footer>span{display:none}.prep-footer{justify-content:flex-end}.prep-scope-grid,.prep-concept-grid{gap:14px}.prep-visual-card img{height:150px}}
@media(max-width:650px){.preparation{font-size:16px}.prep-top{grid-template-columns:minmax(0,1fr) auto auto;gap:14px;padding:12px 16px}.prep-brand{font-size:14px;gap:8px}.prep-brand svg{width:20px}.prep-top nav{gap:10px}.prep-top nav b{font-size:12px}.prep-top>button{width:36px;height:36px;min-height:36px}.prep-scroll{padding:22px 16px 30px}.prep-introduction{margin:8px auto 22px}.prep-introduction h1{font-size:32px}.prep-introduction p{font-size:15px}.prep-scope-grid,.prep-concept-grid{grid-template-columns:1fr;gap:14px}.prep-visual-card{display:grid;grid-template-columns:100px 1fr}.prep-visual-card img{height:100%;min-height:150px}.prep-visual-card>span{padding:20px 17px}.prep-visual-card strong{font-size:24px}.prep-visual-card.selected:after{top:8px;left:8px;right:auto;width:24px;height:24px}.prep-concept{display:grid;grid-template-columns:86px 1fr}.prep-concept img{height:100%;min-height:240px}.prep-concept>span{padding:18px}.prep-concept strong{font-size:24px}.prep-concept p{font-size:15px}.prep-concept.selected:after{left:8px;right:auto;top:8px;width:24px;height:24px}.prep-opinion{margin-top:22px}.prep-caption{font-size:14px}.prep-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));display:block}.prep-footer>div{justify-content:flex-end;flex-wrap:wrap;gap:8px}.prep-footer .btn{font-size:15px;padding:11px 15px;flex:1;max-width:100%}.prep-basis-heading{align-items:flex-start;margin-bottom:10px}.prep-basis-heading h1{font-size:28px}.prep-basis-heading p{font-size:15px}.prep-basis-heading .eyebrow{font-size:10px;line-height:1.6}.prep-basis-heading>.prep-more[open]{max-width:46%}.prep-basis-heading .prep-more[open]>button{min-width:0;max-width:100%;font-size:14px}.prep-tabs{gap:2px;margin-bottom:18px}.prep-tabs .btn{font-size:15px;padding:10px 12px;min-height:42px}.prep-tabs small{margin-left:6px}.prep-record-grid{grid-template-columns:1fr;gap:16px}.prep-record-art{height:180px}.prep-record-title,.prep-record-body{padding-left:20px;padding-right:20px}.prep-image-progress{display:block;padding:18px;margin-top:12px}.prep-image-progress progress{width:100%;margin-top:15px}.prep-image-progress .btn{margin-top:14px}.prep-job{padding:22px 18px;margin:24px auto}.prep-job h2{font-size:26px}.prep-job p{font-size:15px}.prep-plot-entry{padding:24px 18px;min-height:300px}.prep-diff{padding:18px}.prep-diff-columns{grid-template-columns:1fr;gap:6px}.prep-background-note{font-size:14px;width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.preparation *,.preparation *:before,.preparation *:after{animation:none!important;transition:none!important}}

.prep-estimate{max-width:250px;line-height:1.5;font-size:13px;opacity:.75;text-align:right}
@media(max-width:650px){.prep-estimate{max-width:none;flex-basis:100%;text-align:center;font-size:12px}}

.preparation[aria-busy=true]{cursor:progress}.preparation[aria-busy=true] .prep-footer{opacity:.75}.prep-target-group{border:1px solid var(--line);border-radius:10px;padding:14px 16px}.prep-target-group>summary{cursor:pointer;font-weight:600}.prep-target-group>summary small{float:right;color:var(--muted)}.prep-target-group .check{margin:16px 0 4px}.prep-target-group .check small{display:block;font-size:12px;margin-top:4px;color:var(--muted)}

/* The world foundation should read as comfortably as the journal. */
.preparation{font-size:clamp(18px,1.2vw,21px)}
.prep-introduction p,.prep-basis-heading p,.prep-concept p,.prep-record-title p,.prep-record-body{font-size:18px;line-height:1.75}
.prep-visual-card small,.prep-concept small,.prep-caption,.prep-record-title small,.prep-record-title>span,.prep-secret,.prep-image-progress p{font-size:16px;line-height:1.65}
.preparation .btn{font-size:17px;min-height:46px}.prep-tabs small,.prep-estimate,.prep-footer>span{font-size:14px}
.prep-hero-art:has([data-sheet-image]){height:280px}
.prep-hero-art>[data-sheet-image]{object-fit:contain}
@media(max-width:650px){
 .preparation{font-size:17px}.prep-introduction p,.prep-basis-heading p,.prep-concept p,.prep-record-title p,.prep-record-body{font-size:17px}
 .prep-visual-card small,.prep-concept small,.prep-caption,.prep-record-title small,.prep-record-title>span,.prep-secret,.prep-image-progress p{font-size:15px}
 .preparation .btn{font-size:16px;min-height:44px}.prep-estimate{font-size:14px}
}
