/* Coastal chapter: ScaleTrip ink, sea-glass water and warm coral measurement marks. */
.tsu-page{--tsu-water:#94d9de;--tsu-mark:#ffb08d;--tsu-muted:#b6c5cc;color:#edf3f4;min-width:0}
.tsu-page a{color:#a9dde3;text-underline-offset:.25em}
.tsu-intro{padding:clamp(2rem,5vw,4.5rem) var(--pad);display:grid;grid-template-columns:1.2fr .8fr;gap:2rem 5rem;align-items:end}
.tsu-intro>div{min-width:0}
.tsu-chapter{margin:0 0 .8rem;font-size:.85rem;color:var(--tsu-water);font-weight:650}
.tsu-intro h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.2;letter-spacing:-.035em;margin:0;max-width:17ch}
.tsu-intro>div>p:not(.tsu-chapter){color:#c6d3d8;font-size:1.08rem;line-height:1.75;max-width:45ch;margin:0 0 1rem}
.tsu-stage-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:1.2rem var(--pad);border-block:1px solid #2b3f49;background:#0b151b}
.tsu-stage-top h2{margin:0;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.4;letter-spacing:-.02em}
.tsu-stage-top>span{font-size:.85rem;color:var(--tsu-muted)}
.tsu-composition{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;background:#09141b}
.tsu-scene{position:relative;min-width:0;height:610px;margin:0;overflow:hidden;background:#102634}
.tsu-poster,.tsu-scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.tsu-scene canvas{opacity:0}
.tsu-ready .tsu-scene canvas{opacity:1}
.tsu-ready .tsu-poster{visibility:hidden}
.tsu-scene-hud{position:absolute;inset:1.25rem 1.25rem auto;display:flex;justify-content:space-between;gap:1rem;align-items:start;pointer-events:none;visibility:hidden}
.tsu-ready .tsu-scene-hud{visibility:visible}
.tsu-live-note{display:none}.tsu-ready .tsu-live-note{display:inline}.tsu-ready .tsu-fallback-note{display:none}
.tsu-scene-hud>div{padding:.65rem .9rem;background:#07141cdd;border:1px solid #7ba3b04a}
.tsu-scene-hud>div>span{display:block;font-size:.8rem;color:#c2d3d7;line-height:1.5}
.tsu-scene-hud output{display:block;font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.3;font-weight:720;color:#c4edf0;min-width:6ch}
.tsu-scene-hud>span{color:#d5e7e8;background:#07141cdd;padding:.5rem .65rem;font-size:.85rem;line-height:1.5}
.tsu-scene-hud .tsu-scene-actions{display:grid;justify-items:end;gap:.4rem;background:transparent;border:0;padding:0;text-align:right}
.tsu-scene-actions>span{color:#d5e7e8;background:#07141cdd;padding:.25rem .45rem;font-size:.8rem}
.tsu-scene-actions button{pointer-events:auto;min-height:44px;padding:.6rem .8rem;color:#0b232e;background:#a9dce1;border:1px solid #c1e8ed;border-radius:4px;font:inherit;font-size:.9rem;font-weight:700}
.tsu-scene-actions button[aria-pressed="true"]{background:#142b37;color:#e3f4f4}
.tsu-scene-actions button:disabled{opacity:.5;cursor:default}
.tsu-scene figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:.55rem 1rem;color:#c3d2d6;background:#071018e8;font-size:.82rem;line-height:1.5}
.tsu-story{min-width:0;height:610px;overflow-y:auto;padding:1.6rem 1.5rem;border-left:1px solid #30434d;background:#0d181f}
.tsu-story:focus-visible{outline:3px solid #bfece7;outline-offset:-4px}
.tsu-story-index{color:#9dafb9;font-size:.8rem;font-variant-numeric:tabular-nums}
.tsu-depth{display:flex;align-items:baseline;gap:.4rem;margin:.65rem 0 .15rem;font-variant-numeric:tabular-nums;color:var(--tsu-mark);line-height:1.1}
.tsu-depth output{font-size:3.2rem;font-weight:750;min-width:2.3ch;letter-spacing:-.025em}
.tsu-depth>span{font-size:1.2rem}
.tsu-depth-label{margin:0 0 1.6rem;color:#c5d2d6;font-size:.85rem;line-height:1.5}
.tsu-story h3{margin:0 0 .9rem;font-size:1.45rem;line-height:1.4;letter-spacing:-.02em;min-height:2.8em}
.tsu-story>p[data-tsu-summary]{color:#c6d1d7;line-height:1.75;min-height:7em;margin:0 0 1.5rem}
.tsu-mechanism{padding-top:1rem;border-top:1px solid #354953}
.tsu-mechanism>span{display:block;color:#a7bcc7;font-size:.8rem;margin-bottom:.4rem}
.tsu-mechanism strong{display:block;font-size:1.05rem;line-height:1.5;color:#e1eeec}
.tsu-mechanism p{font-size:.94rem;color:#b5c5cd;line-height:1.75;margin:.6rem 0 0;min-height:5.25em}
.tsu-story-source{font-size:.8rem;line-height:1.6;margin:1rem 0 0}
.tsu-controls{padding:1.5rem var(--pad);background:#0d171d;border-block:1px solid #2c414c}
.tsu-controls fieldset{padding:0;margin:0;border:0;min-width:0}
.tsu-controls legend{color:#c6d3d9;margin:0 0 .8rem;font-size:.9rem}
.tsu-presets{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}
.tsu-controls button{font:inherit;min-height:46px;padding:.65rem .85rem;border:1px solid #647983;border-radius:4px;color:#eaf2f4;background:#101f27;font-weight:650;line-height:1.4}
.tsu-controls button:hover{background:#1e3540}
.tsu-controls button:disabled{opacity:.48;cursor:default}
.tsu-controls button[aria-pressed="true"]{color:#09212b;background:#a9dce1;border-color:#bde9eb}
.tsu-presets button{font-variant-numeric:tabular-nums;font-size:1.1rem}
.tsu-presets button span{font-size:.9rem}
.tsu-depth-range{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;align-items:center;margin:.8rem 0 1.3rem;color:#b8cbd2;font-size:.9rem}
.tsu-controls input[type="range"]{display:block;width:100%;min-width:0;height:44px;margin:0;accent-color:#a9dce1}
.tsu-transport{display:flex;flex-wrap:wrap;gap:.65rem}
.tsu-transport [data-tsu-journey]{background:#a9dce1;color:#10262f;border-color:#a9dce1}
.tsu-playhead{display:grid;grid-template-columns:1fr;gap:.3rem;margin-top:1rem;font-size:.85rem;color:#c1d0d7}
.tsu-playhead>span{display:flex;justify-content:space-between;gap:1rem}
.tsu-playhead output{min-width:4ch;font-variant-numeric:tabular-nums;text-align:right}
.tsu-control-status{min-height:1.6em;color:#b7e3dc;font-size:.9rem;line-height:1.6;margin:.6rem 0}
.tsu-model-note{color:#adbfc8;font-size:.9rem;line-height:1.75;max-width:100ch;margin:.4rem 0 0}
.tsu-calculation{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem 4rem;padding:clamp(2rem,5vw,4rem) var(--pad);border-bottom:1px solid #2d3d46;background:#0a1116}
.tsu-calculation h2{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.35;letter-spacing:-.02em;margin:0 0 .8rem}
.tsu-calculation p{max-width:60ch;color:var(--tsu-muted);line-height:1.75}
.tsu-calculation dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:0;align-content:start}
.tsu-calculation dl>div{border-top:1px solid #59727c;padding-top:.8rem;min-width:0}
.tsu-calculation dt{font-size:.85rem;line-height:1.5;color:#bdcdd5;min-height:3em}
.tsu-calculation dd{margin:.7rem 0 0;font-size:.9rem;color:#9db5c1;line-height:1.4;font-variant-numeric:tabular-nums}
.tsu-calculation dd output{display:block;font-size:clamp(1.3rem,2.2vw,1.9rem);color:#f0e4d8;font-weight:700;white-space:nowrap}
.tsu-reading{padding:clamp(2.5rem,6vw,5rem) var(--pad);border-bottom:1px solid #2b3942}
.tsu-reading>header{max-width:66rem;margin-bottom:2rem}
.tsu-reading h2,.tsu-safety h2{font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.3;letter-spacing:-.025em;margin:0 0 1rem}
.tsu-reading p,.tsu-reading dd,.tsu-safety p{color:#bfcdd4;line-height:1.8;max-width:72ch}
.tsu-definition{display:block;width:100%;max-width:64rem;height:auto;margin:2rem auto}
.tsu-definitions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2rem 0}
.tsu-definitions dt{color:#e4e8e8;font-weight:700;margin-bottom:.65rem}
.tsu-definitions dd{margin:0}
.tsu-citation{font-size:.85rem!important;line-height:1.7!important}
.tsu-guide-rows article{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:2rem;padding:1.5rem 0;border-top:1px solid #344954}
.tsu-guide-rows article>a{display:flex;flex-direction:column;gap:.5rem;text-decoration:none}
.tsu-guide-rows article>a>span{font-size:.8rem;color:#a8bbc5}
.tsu-guide-rows strong{font-size:1.8rem;font-variant-numeric:tabular-nums;color:#ffbd9d;white-space:nowrap}
.tsu-guide-rows h3{margin:0 0 .5rem;font-size:1.25rem;line-height:1.4}
.tsu-guide-rows p{margin:.5rem 0}
.tsu-method-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 5rem}
.tsu-method-grid h3{margin:0;font-size:1.3rem;line-height:1.4}
.tsu-formula{color:#d5eae7!important;font-family:ui-monospace,monospace;font-size:clamp(1rem,1.7vw,1.3rem);line-height:2!important;padding:.5rem 0}
.tsu-safety{padding:clamp(2rem,5vw,4rem) var(--pad);background:#17201f;border-block:1px solid #4f655c}
.tsu-safety p{max-width:86ch}
.tsu-sources ul{padding-left:1.3rem;line-height:1.8}.tsu-sources li{margin:.5rem 0}
.tsu-page :is(a,button,input):focus-visible{outline:3px solid #bfece7;outline-offset:4px}
@media(max-width:1100px){.tsu-composition{grid-template-columns:minmax(0,1fr) 280px}.tsu-story{padding:1.25rem}.tsu-calculation{grid-template-columns:1fr;gap:1.5rem}}
@media(max-width:800px){
 .tsu-intro{grid-template-columns:1fr;gap:1.25rem;padding-block:2rem}.tsu-intro h1{max-width:none}
 .tsu-composition{grid-template-columns:1fr}.tsu-scene{height:480px}
 .tsu-experience{display:flex;flex-direction:column}.tsu-composition{display:contents}
 .tsu-stage-top{order:0}.tsu-scene{order:1}.tsu-controls{order:2}.tsu-story{order:3}.tsu-calculation{order:4}
 .tsu-story{height:auto;overflow:visible;border-left:0;border-top:1px solid #3b515e;display:grid;grid-template-columns:7rem minmax(0,1fr);gap:0 1.2rem}
 .tsu-story-index{grid-column:1}.tsu-depth{grid-column:1;grid-row:2}.tsu-depth-label{grid-column:1;margin-top:.5rem}
 .tsu-story h3{grid-column:2;grid-row:1 / span 2;min-height:0;align-self:center}
 .tsu-story>p[data-tsu-summary]{grid-column:2;min-height:0;margin-bottom:1rem}
 .tsu-mechanism,.tsu-story-source{grid-column:1/-1}.tsu-mechanism p{min-height:0}
 .tsu-definitions{grid-template-columns:1fr;gap:1.2rem}.tsu-method-grid{grid-template-columns:1fr}
}
@media(max-width:500px){
 .tsu-intro h1{font-size:2.15rem}.tsu-intro>div>p:not(.tsu-chapter){font-size:1rem}
 .tsu-stage-top{padding-block:1rem}.tsu-scene{height:440px}
 .tsu-scene-hud{inset:.75rem .75rem auto;gap:.5rem}.tsu-scene-hud>div{padding:.45rem .6rem}
 .tsu-scene-hud>div>span{font-size:.75rem}.tsu-scene-hud>span{font-size:.75rem;max-width:8.5rem}
 .tsu-scene figcaption{font-size:.78rem}
 .tsu-story{grid-template-columns:5.3rem minmax(0,1fr);padding:1.25rem 1rem;gap:0 1rem}
 .tsu-depth output{font-size:2.5rem}.tsu-story h3{font-size:1.25rem}.tsu-depth-label{font-size:.8rem}
 .tsu-story>p[data-tsu-summary]{font-size:.95rem}
 .tsu-presets{gap:.35rem;grid-template-columns:repeat(4,minmax(0,1fr))}.tsu-presets button{padding:.5rem .3rem;font-size:1rem}
 .tsu-transport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tsu-controls button{font-size:.9rem;padding:.65rem .5rem}
 .tsu-depth-range{grid-template-columns:1fr;gap:.2rem}.tsu-calculation dl{grid-template-columns:1fr;gap:.9rem}
 .tsu-calculation dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:baseline}
 .tsu-calculation dt{min-height:0}.tsu-calculation dd{margin:0;text-align:right}.tsu-calculation dd output{font-size:1.5rem}
 .tsu-guide-rows article{grid-template-columns:4.3rem minmax(0,1fr);gap:1rem}.tsu-guide-rows strong{font-size:1.4rem}
 .tsu-definition{min-width:0}.tsu-definition text{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.tsu-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
