@import url('/fonts/fonts.css');

:root{font-family:'DM Sans',Arial,sans-serif;color:#243b49;background:#203b49;--ink:#243b49;--muted:#50616c;--paper:#f5f8f8;--accent:#1e40af;--line:#cad5d9;--shadow:#163546;--scene-exposure:1;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,a,input{ -webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button,fieldset{border:0}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}svg{display:block}button svg,a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button:disabled{cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;z-index:50;padding:12px 20px;background:var(--paper);transform:translateY(-150%)}.skip:focus{transform:none}
.setting{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#486d7d}.setting>img,.setting canvas,.setting-light,.setting-shade,.rain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.setting>img{object-fit:cover;object-position:center 57%;filter:brightness(var(--scene-exposure)) saturate(.86)}.setting canvas{opacity:.35}.setting-shade{background:linear-gradient(90deg,#102f45a8 0%,#193d4d65 26%,#1b405120 57%,transparent 82%),linear-gradient(0deg,#102d3f90,transparent 22%)}.setting-light{background:linear-gradient(120deg,#e8faff30 0%,transparent 50%);mix-blend-mode:screen}.rain{opacity:0;background-image:repeating-linear-gradient(108deg,transparent 0 37px,#def2ff32 38px,transparent 39px 98px);background-size:194px 260px;mask-image:linear-gradient(transparent 3%,#000 25%,#000 76%,transparent)}
.workspace{width:min(1500px,100%);margin:auto;padding:27px clamp(22px,4vw,68px) 24px;min-height:100svh;display:flex;flex-direction:column}.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px}.brand{display:inline-flex;align-items:center;text-decoration:none;color:#f5fafb;font-size:20px;letter-spacing:-1px;font-weight:700;min-height:44px;gap:5px}.brand span{font-weight:400;font-size:15px;letter-spacing:1.1px;margin-left:3px}.brand i{background:#f39b59;width:6px;height:6px;margin-left:6px}.scene-controls{display:flex;gap:9px;align-items:center}.weather-control{margin:0;padding:4px;display:flex;border-radius:30px;background:#eff5f3e8;box-shadow:0 3px 20px #1b3c4c16}.weather-control button{display:flex;align-items:center;gap:8px;min-height:44px;border-radius:24px;background:none;padding:0 16px;font-size:12px;font-weight:550}.weather-control button[aria-pressed=true]{background:#fff;box-shadow:0 2px 7px #1b3c4c16}.weather-control svg{width:17px;height:17px}.motion-toggle{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eff5f3ed}
.desk-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(550px,1.85fr);gap:clamp(24px,4vw,68px);align-items:center;flex:1;padding:64px 0 70px}.invitation{color:#f4f8f8;align-self:center;position:relative}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.9px;line-height:1.5;margin:0;display:flex;align-items:center;gap:12px}.tiny-rule{width:25px;height:1px;background:#d5e4e9}.invitation h1{font-size:clamp(54px,5.6vw,83px);line-height:.98;letter-spacing:-4px;font-weight:450;margin:26px 0 20px}.invitation h1 span{color:#f0f5f4}.intro{font-size:15px;line-height:1.65;margin:0 0 39px;color:#f0f6f7}.selection-label{font-size:11px;letter-spacing:.3px;margin:0 0 13px;color:#e4eef1}.studies{display:flex;flex-direction:column;gap:10px}.study-choice{position:relative;display:flex;align-items:center;text-align:left;width:100%;min-height:105px;padding:16px 12px;background:#eaf3f025;color:#fff;border:1px solid #deeff044;border-radius:4px;gap:12px}.study-choice[aria-selected=true]{background:#f0f6f3;color:var(--ink);box-shadow:0 12px 32px #09293c35;border-color:#f9fcf9}.study-choice[aria-selected=true]:before{content:'';position:absolute;left:-1px;top:22px;bottom:22px;width:3px;background:var(--accent)}.study-mark{width:36px;flex:0 0 36px;opacity:.9}.study-mark svg{width:36px;height:55px;stroke-width:1.5}.study-mark .bone{fill:#dfe9e544}.study-mark .angle{stroke:#f39b59}.study-choice[aria-selected=true] .angle{stroke:var(--accent)}.choice-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.choice-number{font-size:8px;font-weight:650;letter-spacing:1px}.choice-copy strong{font-size:13px;font-weight:550;line-height:1.3}.choice-action{font-size:10px;opacity:.9}.study-choice[aria-selected=true] .choice-action{color:#0a48a9}.choice-arrow{margin-left:auto;flex-shrink:0;width:17px!important}.hub-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:11px;margin-top:23px;text-underline-offset:5px;text-decoration-color:#f4f8f855}.hub-link svg{width:17px;height:17px}
.folio{position:relative;margin-top:28px;isolation:isolate;min-width:0;filter:drop-shadow(8px 32px 28px #14354155);outline:none}.folio-tab{position:absolute;top:-28px;left:26px;display:flex;align-items:center;gap:35px;height:33px;min-width:165px;padding:0 20px 5px;background:#d5e3e5;border-radius:6px 8px 0 0;font-size:10px;font-weight:600;letter-spacing:.4px;z-index:-1}.tab-dot{height:5px;width:5px;border-radius:50%;background:var(--accent);margin-left:auto}.paper-stack{position:absolute;inset:5px -4px -7px 5px;z-index:-1;transform:rotate(1deg);background:#d8e3e4;border-radius:3px}.paper{position:relative;background:linear-gradient(100deg,#e5edef,transparent 28px),var(--paper);border:1px solid #ffffffd9;border-radius:3px;overflow:hidden;min-width:0}.paper:before{content:'';position:absolute;left:15px;top:0;bottom:0;border-left:1px solid #cedbdc;pointer-events:none}.paper-header{padding:29px 30px 23px 38px;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #d9e2e4}.paper-heading{flex:1}.paper-heading .eyebrow{font-size:8px;letter-spacing:1.6px;color:#526975}.paper-heading h2{font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.8px;line-height:1.2;margin:9px 0 0;max-width:23ch}.sheet-number{font-size:32px;font-weight:400;letter-spacing:-1px;color:#81969e;line-height:1}.example-mount{padding:16px 25px 12px 32px;min-height:375px}.paper-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 26px 0 34px;border-top:1px solid #d6e0e2;padding:15px 0}.paper-footer p{font-size:9px;color:#526975;display:flex;align-items:center;gap:8px;line-height:1.5;max-width:170px;margin:0}.source-dot{width:5px;height:5px;background:#6c8a98;flex-shrink:0;border-radius:50%}.full-tool{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:600;min-height:44px;padding:0 15px;background:#1e40af;color:#fff;border-radius:3px;text-decoration:none;white-space:nowrap;box-shadow:0 3px 0 #0a48a9}.full-tool:hover{background:#0c51bc}.full-tool svg{width:16px;height:16px}.desk-caption{position:absolute;top:calc(100% + 26px);left:16px;right:0;display:flex;align-items:center;gap:12px;color:#f1f8fa;font-size:11px;text-shadow:0 1px 4px #132f43;line-height:1.5;margin:0}.caption-line{width:35px;height:1px;background:#e9f3f7a8}.workspace-footer{display:flex;align-items:center;justify-content:space-between;color:#f4f8f9;gap:20px;font-size:10px;line-height:1.5;text-shadow:0 1px 4px #132f43}.workspace-footer>span:last-child{font-size:9px;letter-spacing:.5px}
body[data-weather=rain]{--scene-exposure:.68}body[data-weather=rain] .setting-light{background:#a6c8db20;mix-blend-mode:multiply}body[data-weather=rain] .rain{opacity:1}body[data-weather=rain] .paper{background:linear-gradient(100deg,#dce8ec,transparent 28px),#edf4f7}body[data-weather=rain] .folio-tab{background:#c9dce3}
@media(prefers-reduced-motion:no-preference){.setting>img,.setting-light,.rain,.paper,.folio-tab{transition:filter 1.2s,background 1.2s,opacity 1.2s}.setting-light{animation:passing-light 24s ease-in-out infinite alternate}.rain{animation:rainfall 1.3s linear infinite}.study-choice{transition:background .25s,color .25s,transform .3s,border-color .25s}.study-choice:hover{transform:translateX(3px)}.folio.is-changing{animation:place-page .6s cubic-bezier(.2,.7,.2,1)}.motion-paused .setting-light,.motion-paused .rain{animation-play-state:paused}.scene-offscreen .setting-light,.scene-offscreen .rain{animation-play-state:paused}@keyframes passing-light{from{opacity:.6;transform:translateX(-7%)}to{opacity:1;transform:translateX(8%)}}@keyframes rainfall{to{background-position:-78px 260px}}@keyframes place-page{0%{opacity:.65;transform:translateY(12px) rotate(-.8deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}}
@media(min-width:1600px){.desk-layout{padding:100px 0 115px}.example-mount{min-height:425px}}
@media(min-width:901px) and (max-height:850px){.workspace{padding-top:18px;padding-bottom:17px}.desk-layout{padding-top:35px;padding-bottom:62px}.folio{margin-top:12px}.paper-header{padding-top:20px;padding-bottom:17px}.paper-heading h2{font-size:24px}.example-mount{min-height:0;padding-top:13px;padding-bottom:10px}.paper-footer{padding-top:10px;padding-bottom:10px}.invitation h1{font-size:66px;margin-top:19px;margin-bottom:17px}.intro{margin-bottom:24px}.study-choice{min-height:93px}.hub-link{margin-top:14px}.tw-example .tw-fusion-model{height:268px}.tw-example .tw-cobb-model{height:300px}.tw-example .tw-stage-reading{min-height:165px}.tw-example .tw-stage-tabs{margin-bottom:18px}.tw-example .tw-stage-title{font-size:23px}.tw-example .tw-stage-navigation{margin-top:12px}.tw-example .tw-stage-text{font-size:12px;margin-bottom:13px}.tw-example .tw-stage-insight{font-size:11px}.tw-example .tw-cobb-result{margin-bottom:9px}.tw-example .tw-cobb-number{font-size:52px}.tw-example .tw-cobb-description{margin-bottom:9px}}
@media(max-width:1100px){.workspace{padding-left:28px;padding-right:28px}.desk-layout{grid-template-columns:230px minmax(0,1fr);gap:30px}.paper-header{padding-left:30px;padding-right:20px}.example-mount{padding-left:24px;padding-right:17px}.choice-copy strong{font-size:12px}.study-choice{gap:7px;padding-left:9px}.study-mark,.study-mark svg{width:30px;flex-basis:30px}.paper-footer{margin-left:25px;margin-right:20px}.paper-footer p{max-width:105px}.intro{font-size:14px}}
@media(max-width:900px){.desk-layout{display:flex;flex-direction:column;gap:46px;padding:43px 0 79px;align-items:stretch}.invitation{align-self:stretch;display:grid;grid-template-columns:1fr 1.2fr;column-gap:35px;align-items:start}.invitation>.eyebrow{grid-column:1}.invitation h1{grid-column:1;font-size:66px;margin:16px 0}.intro{grid-column:1;margin:0;max-width:29ch}.selection-label{grid-column:2;grid-row:1;margin-bottom:13px}.studies{grid-column:2;grid-row:2/5}.hub-link{grid-column:1;margin-top:15px;justify-self:start}.folio{width:100%;max-width:790px;margin:18px auto 0}.paper-heading h2{font-size:26px;max-width:none}.paper-footer p{max-width:none}.setting-shade{background:linear-gradient(90deg,#12324780,#15344a36),linear-gradient(0deg,#132b4080,transparent 30%)}.setting>img{object-position:48% center}.workspace-footer{font-size:9px}}
@media(max-width:540px){.workspace{padding:16px 18px 22px}.masthead{gap:7px}.brand{font-size:18px;gap:2px}.brand span{font-size:12px;margin-left:3px}.brand i{margin-left:4px;width:5px;height:5px}.scene-controls{gap:5px}.weather-control{padding:3px}.weather-control button{padding:0 10px;gap:5px;font-size:10px;min-height:44px}.weather-control svg{width:15px;height:15px}.motion-toggle{width:44px;height:44px}.desk-layout{padding-top:40px;gap:33px}.invitation{display:block}.invitation>.eyebrow{font-size:9px;letter-spacing:1.5px}.invitation h1{font-size:60px;letter-spacing:-3px;margin:16px 0 13px}.invitation h1 br{display:none}.invitation h1 span{margin-left:8px}.intro{font-size:14px;max-width:29ch;margin-bottom:28px}.desktop-break{display:none}.selection-label{font-size:11px}.studies{flex-direction:row;gap:9px}.study-choice{padding:12px 12px;min-height:124px;align-items:flex-start;gap:0;flex:1}.study-mark{display:none}.choice-copy{gap:10px}.choice-copy strong{font-size:13px;line-height:1.4}.choice-number{font-size:7px;letter-spacing:.7px}.choice-action{font-size:9px}.choice-arrow{position:absolute;bottom:12px;right:11px;width:13px!important}.study-choice[aria-selected=true]:before{top:15px;bottom:15px}.hub-link{font-size:10px;margin-top:10px}.folio{margin-top:14px}.folio-tab{left:17px;min-width:145px;font-size:9px}.paper-header{padding:23px 17px 19px 23px}.paper:before{left:10px}.paper-heading .eyebrow{font-size:7px;letter-spacing:1.1px}.paper-heading h2{font-size:23px;max-width:21ch;line-height:1.25;margin-top:8px}.sheet-number{font-size:24px}.example-mount{padding:13px 15px 10px 20px;min-height:430px}.paper-footer{margin:0 16px 0 21px;padding:14px 0;flex-direction:column;align-items:stretch;gap:10px}.paper-footer p{font-size:9px}.full-tool{justify-content:space-between;padding:0 14px;font-size:12px;min-height:46px}.desk-caption{left:3px;font-size:10px;gap:8px;top:calc(100% + 21px)}.caption-line{width:18px}.workspace-footer{align-items:flex-start;font-size:9px;gap:15px}.workspace-footer>span{max-width:175px}.workspace-footer>span:last-child{font-size:8px;max-width:100px;text-align:right}.setting>img{object-position:45% center}.setting-shade{background:linear-gradient(#183c518f 0%,#1c405d60 42%,#142d4050)} }

/* Keep the small navigation labels legible across the painted background. */
.choice-number{font-size:10px;letter-spacing:.65px}.choice-action{font-size:11px}.study-choice:not([aria-selected=true]){background:#163a4b8f;border-color:#e7f1f063}.paper-heading .eyebrow{font-size:10px;letter-spacing:1px}.paper-footer p{font-size:10px}.workspace-footer{font-size:11px}.workspace-footer>span:last-child{font-size:10px}.hub-link{font-size:12px}.selection-label{font-size:12px}
@media(max-width:540px){.choice-number{font-size:9px;letter-spacing:.4px}.choice-action{font-size:10px}.paper-heading .eyebrow{font-size:9px;letter-spacing:.5px}.workspace-footer{font-size:10px}.workspace-footer>span:last-child{font-size:9px}.hub-link{font-size:11px}}

/* The embedded desk shares the hub viewer's navigation and opens on the explanation. */
.is-embedded .brand{display:none}
.is-embedded .masthead{justify-content:flex-end}
.is-embedded .workspace{padding-top:16px;padding-bottom:20px}
.is-embedded .desk-layout{padding-top:34px;padding-bottom:65px}
.is-embedded .invitation h1{font-size:clamp(54px,5vw,72px)}
@media(max-width:900px){
  .is-embedded .workspace{padding:12px 20px 20px}
  .is-embedded .masthead{min-height:44px}
  .is-embedded .desk-layout{padding:14px 0 60px;gap:36px}
  .is-embedded .invitation{display:block}
  .is-embedded .invitation>.eyebrow,.is-embedded .invitation h1,.is-embedded .intro,.is-embedded .selection-label,.is-embedded .hub-link{display:none}
  .is-embedded .studies{display:flex;flex-direction:row;gap:9px}
  .is-embedded .study-choice{min-height:44px;flex:1;padding:12px 15px;align-items:center;gap:0}
  .is-embedded .study-choice[aria-selected=true]:before{top:10px;bottom:10px}
  .is-embedded .study-mark,.is-embedded .choice-copy strong,.is-embedded .choice-action,.is-embedded .choice-arrow{display:none}
  .is-embedded .choice-copy{gap:0}
  .is-embedded .choice-number{font-size:11px;letter-spacing:.35px;line-height:1.4}
  .is-embedded .folio{margin-top:0}
  .is-embedded .paper-header{padding-top:20px;padding-bottom:17px}
  .is-embedded .workspace-footer{font-size:10px}
}
@media(max-width:540px){
  .is-embedded .workspace{padding-left:14px;padding-right:14px}
  .is-embedded .desk-layout{padding-top:12px;gap:34px}
  .is-embedded .study-choice{padding:11px 12px}
  .is-embedded .choice-number{font-size:10px;letter-spacing:.2px}
  .is-embedded .paper-heading h2{font-size:22px}
  .is-embedded .paper-header{padding:17px 17px 15px 23px}
  .is-embedded .desk-caption{font-size:10px}
}
/* Session guard: notice above stateful tools and the leave confirmation. */
.session-note{margin:0 0 8px;padding:0 15px 0 25px;font-size:.84rem;line-height:1.4;color:var(--muted)}
.session-note a{color:var(--accent);font-weight:600}
.leave-dialog{max-width:min(440px,calc(100vw - 32px));border:1px solid var(--line);border-radius:12px;padding:22px 22px 18px;background:var(--paper);color:var(--ink);box-shadow:0 18px 50px #16354640}
.leave-dialog::backdrop{background:#16354666}
.leave-dialog h2{margin:0 0 8px;font-size:1.15rem}
.leave-dialog p{margin:0 0 14px;line-height:1.45}
.leave-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.leave-actions button,.leave-actions a{min-height:44px;padding:10px 14px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center}
.leave-stay{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.leave-actions a{color:var(--accent);border:1px solid var(--line);background:#fff;text-decoration:none}
.leave-go{background:transparent;color:var(--ink);border:1px solid var(--line)}
.leave-actions :focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.leave-dialog .leave-hint{margin:12px 0 0;font-size:.84rem;color:var(--muted)}
