:root{--paper:#f5f3ed;--ink:#2f382d;--muted:#7e8476;--sage:#617356;--accent:#a88951;--line:#d6d8cb;--glass:#f5f3edea;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;transition:background var(--motion-palette,2800ms),color var(--motion-palette,2800ms);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{background:#a7b09066}.grain{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' d='M0 0h180v180H0z' opacity='.6'/%3E%3C/svg%3E")}.reading-line{position:fixed;left:0;top:0;width:3px;height:0;z-index:40;background:var(--accent);transition:height var(--motion-feedback,450ms)}.header{height:104px;max-width:1600px;margin:auto;padding:0 6%;display:flex;gap:45px;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:11px;font:33px var(--serif);letter-spacing:-1.5px}.brand svg{width:29px;height:29px;fill:none;stroke:var(--sage);stroke-width:1.15}.brand-period{color:var(--sage)}.header nav{display:flex;gap:30px;margin-left:auto;font-size:11px}.header nav a{position:relative;padding:8px 0}.header nav a:after{content:'';position:absolute;bottom:0;left:0;height:1px;background:var(--accent);width:0;transition:width var(--motion-hover,900ms)}.header nav a:hover:after{width:100%}.pause{background:transparent;border:1px solid var(--line);border-radius:30px;display:flex;align-items:center;gap:7px;padding:9px 11px;font-size:9px}.pause i{width:4px;height:4px;background:var(--sage);border-radius:50%}.paused .pause i{background:var(--accent)}main{max-width:1600px;margin:auto}.hero{position:relative;min-height:620px;height:calc(100svh - 104px);max-height:1000px;padding:55px 6% 95px;display:grid;grid-template-columns:.43fr .57fr;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:3;pointer-events:none}.hero-copy button{pointer-events:auto}.eyebrow{font-size:9px;letter-spacing:.18em;color:var(--sage);display:flex;align-items:center;gap:12px;font-weight:500;margin:0 0 30px}.eyebrow>span{height:1px;width:25px;background:var(--sage)}h1{font:400 clamp(65px,7.3vw,112px)/.96 var(--serif);letter-spacing:-.06em;margin:0 0 25px}.headline-line{display:block;width:max-content;transform-origin:left center;transition:opacity var(--heading-duration,var(--motion-heading-in,950ms)),transform var(--heading-duration,var(--motion-heading-in,950ms))}.headline-line.italic{font-style:italic;color:var(--sage);padding-right:.12em}.headline-line .glyph{display:inline-block;white-space:pre;will-change:transform}.hero-intro{font-size:13px;line-height:1.9;letter-spacing:-.15px;color:var(--muted);margin:30px 0 21px}.thread-link{position:relative;display:inline-flex;align-items:center;gap:34px;background:transparent;padding:10px 0;font-size:12px;line-height:1.6}.thread-link>span{color:var(--sage);font-size:22px;transition:transform var(--motion-hover,900ms)}.thread-link:hover>span{transform:translate(3px,-3px)}.thread-link svg{position:absolute;bottom:1px;left:0;width:100%;height:8px;fill:none;stroke:var(--sage);stroke-width:.9}.margin-note{font:italic 13px var(--serif);color:#9b9d89;margin:18px 0 0 3px;transform:rotate(-4deg);width:max-content;max-width:100%}.world{height:540px;position:relative;min-width:0;z-index:1;touch-action:pan-y}.world-coordinates{position:absolute;top:0;left:12%;right:0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:var(--muted);pointer-events:none}.world canvas{position:absolute;width:139%;height:111%;left:-21%;top:-4%;cursor:crosshair;touch-action:pan-y}.world-loader{position:absolute;top:47%;left:0;right:0;text-align:center;font:italic 15px var(--serif);color:var(--sage);pointer-events:none;transition:opacity var(--motion-reveal,1350ms)}.world-loader.hidden{opacity:0}.cursor-ring{position:absolute;pointer-events:none;z-index:4;width:35px;height:35px;border:1px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity var(--motion-feedback,450ms),width var(--motion-hover,900ms),height var(--motion-hover,900ms)}.world.holding .cursor-ring{width:100px;height:100px;border-style:dashed}.hold-button{position:absolute;right:-3%;bottom:25px;display:flex;align-items:center;gap:7px;background:none;color:var(--sage);font:italic 12px/1.3 var(--serif);padding:8px}.hold-button svg{height:65px;width:65px;fill:none;stroke:var(--sage);stroke-width:.7;transition:transform var(--motion-hover,900ms)}.hold-button:hover svg{transform:rotate(45deg)}.drawing-note{position:absolute;left:8%;bottom:20px;font:italic 11px var(--serif);color:var(--muted);transform:rotate(-3deg)}.hero-foot{position:absolute;bottom:20px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:7px;letter-spacing:.16em}.hero-foot>p:first-child{display:flex;align-items:center;gap:15px}.hero-foot>p:first-child>span:first-child{font:italic 18px var(--serif);color:var(--sage);letter-spacing:0}.small-rule{height:1px;width:45px;background:var(--line)}.hero-foot>a{display:flex;gap:25px}.hero-foot>a>span{font-size:17px;line-height:7px;color:var(--sage)}.hero-foot .edition{font-size:7px}.section-label{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:8px;letter-spacing:.14em;border-top:1px solid var(--line);padding:25px 0}.experience,.manifesto,.notebook{margin:0 6%}.experience-top{display:flex;justify-content:space-between;align-items:center;padding:30px 0 45px}.experience-top>p{font-size:12px;line-height:1.9;color:var(--muted);padding-right:8%;margin:0}h2{font:400 49px/1.1 var(--serif);letter-spacing:-1.8px;margin:0}h2 em{font-weight:400;color:var(--sage)}.world-cards{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:85px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.world-card{position:relative;text-align:left;padding:22px 21px 26px;background:none;border-right:1px solid var(--line);min-width:0;transition:background var(--motion-hover,900ms),transform var(--motion-hover,900ms)}.world-card:first-child{border-left:1px solid var(--line)}.world-card:hover{background:#9bad7d0a;transform:translateY(-3px)}.world-card.selected{background:#9bad7d0e}.card-no{font:italic 15px var(--serif);color:var(--accent)}.card-art{display:block;width:100%;height:130px;margin:17px 0 22px;fill:none;stroke:var(--sage);stroke-width:.95;transition:transform var(--motion-hover,900ms)}.card-art .fine{stroke:var(--muted);opacity:.3;stroke-width:.5}.world-card:hover .card-art{transform:rotate(-3deg) scale(1.04)}.world-card:nth-child(2):hover .card-art{transform:rotate(18deg) scale(.98)}.world-card:nth-child(3):hover .card-art{transform:rotate(-14deg)}.world-card:nth-child(4):hover .card-art{transform:scale(1.04,.97)}.world-card h3{font:24px var(--serif);letter-spacing:-.7px;margin:0 0 11px}.world-card>p{font-size:10px;line-height:1.7;color:var(--muted);margin:0;min-height:35px}.card-action{display:flex;justify-content:space-between;align-items:center;margin-top:28px;color:var(--sage);font-size:9px}.card-action>span{font-size:20px}.manifesto-grid{display:grid;grid-template-columns:.12fr 1fr .8fr;gap:35px;padding:65px 0 100px;align-items:center}.vertical-note{writing-mode:vertical-rl;transform:rotate(180deg);font-size:7px;letter-spacing:.2em;color:var(--muted);justify-self:start}.manifesto-grid h2{font-size:45px;line-height:1.23}.manifesto-copy{font-size:12px;color:var(--muted);line-height:1.95;max-width:355px;margin:30px 0 24px}.quiet-button{padding:8px 0;background:none;font-size:10px;color:var(--sage);display:flex;gap:35px;align-items:center}.quiet-button span{font-size:22px;font-weight:200}.labyrinth-box{position:relative;min-width:0}.labyrinth-box canvas{width:100%;height:310px;cursor:crosshair;touch-action:pan-y}.labyrinth-box>p{text-align:center;font:italic 13px/1.8 var(--serif);color:var(--sage);margin:8px 0 0;transform:rotate(-3deg)}.labyrinth-box>p em{font-size:10px;color:var(--muted)}.labyrinth-trigger{position:absolute;right:15px;bottom:5px;font-size:25px;color:var(--sage);background:none}.notebook{padding-bottom:45px}.notebook-row{display:flex;align-items:center;gap:34px;padding:35px 15px 35px 0;border-bottom:1px solid var(--line);transition:padding var(--motion-hover,900ms),background var(--motion-hover,900ms)}.notebook-row:hover{padding-left:8px;background:#9bad7d08}.notebook-row>span:first-child{font-size:9px;align-self:flex-start;padding-top:6px;color:var(--muted)}.notebook-row h3{font:30px var(--serif);letter-spacing:-.7px;margin:0 0 10px}.notebook-row p{font-size:11px;color:var(--muted);margin:0}.notebook-row svg{width:29px;height:29px;margin-left:auto;fill:none;stroke:var(--sage);stroke-width:1}.archive-tag{margin-left:auto;font-size:8px;color:var(--sage);letter-spacing:.1em}.archive-link{padding-top:25px;padding-bottom:25px}.archive-link h3{font-size:23px}.closing{text-align:center;padding:80px 6% 90px}.closing .eyebrow{justify-content:center;font-size:8px}.dream-button{font:76px/1 var(--serif);letter-spacing:-3px;background:transparent;position:relative;padding:5px 30px 15px}.dream-button em{font-weight:400;color:var(--sage)}.dream-button>span{font:45px var(--serif);position:absolute;right:-15px;top:-10px;color:var(--accent);transition:transform var(--motion-hover,900ms)}.dream-button:hover>span{transform:translate(5px,-5px) rotate(10deg)}.closing>p:last-child{font:italic 12px var(--serif);color:var(--muted);margin:15px 0 0}footer{margin:0 6%;padding:32px 0 135px;border-top:1px solid var(--line);display:flex;gap:30px;align-items:center}footer .brand{font-size:25px}footer>p{font-size:9px;color:var(--muted)}footer>a:last-child{font-size:7px;letter-spacing:.12em;color:var(--muted);margin-left:auto}.world-switcher{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:35;background:var(--glass);border:1px solid var(--line);border-radius:5px;box-shadow:0 10px 40px #222b180b;backdrop-filter:blur(22px);display:flex;align-items:center;gap:4px;padding:9px 10px;white-space:nowrap;transition:background var(--motion-palette,2800ms),border-color var(--motion-palette,2800ms)}.switcher-label{font-size:7px;letter-spacing:.15em;color:var(--muted);padding:0 14px 0 7px}.world-switcher>button{padding:10px 13px;background:transparent;border-radius:2px;font-size:10px;color:var(--muted);transition:background var(--motion-feedback,450ms),color var(--motion-feedback,450ms)}.world-switcher>button>span{font:italic 12px var(--serif);padding-right:7px;opacity:.7}.world-switcher>button.selected{background:var(--sage);color:var(--paper)}.world-switcher>button:hover:not(.selected){background:#8f9a7a17}.switcher-divider{height:21px;width:1px;background:var(--line);margin:0 6px}.world-switcher>button.surprise-button{font-size:25px;padding:0 11px;color:var(--accent);line-height:30px}.world-switcher>button.surprise-button{transition:background var(--motion-feedback,450ms),color var(--motion-feedback,450ms),transform var(--motion-hover,900ms)}.surprise-button:hover{transform:rotate(30deg)}.toast{position:fixed;top:115px;left:50%;transform:translate(-50%,-8px);background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.04em;padding:12px 20px;border-radius:3px;opacity:0;pointer-events:none;z-index:50;transition:opacity var(--motion-feedback,450ms),transform var(--motion-feedback,450ms)}.toast.show{opacity:1;transform:translate(-50%,0)}body[data-world="1"]{--paper:#f4f0e7;--sage:#806a49;--accent:#ac8851;--muted:#8c8270;--line:#dbd3c4;--glass:#f4f0e7ea}body[data-world="2"]{--paper:#202c28;--ink:#e7e5d8;--sage:#b6c7a1;--accent:#d1ae69;--muted:#a5afa0;--line:#485247;--glass:#26312cea}body[data-world="3"]{--paper:#edf0e5;--sage:#647b52;--accent:#a28a56;--muted:#849075;--line:#d0d9c3;--glass:#edf0e5ea}body[data-world="2"] .grain{opacity:.08}body[data-world="2"] .margin-note{color:#a5afa0}body.breathing .hero-copy{animation:page-breath var(--motion-breath,8500ms) cubic-bezier(.2,.6,.3,1)}body.breathing .world{animation:world-breath var(--motion-breath,8500ms) cubic-bezier(.2,.6,.3,1)}body.breathing .manifesto-grid h2{animation:thought-breath var(--motion-breath,8500ms) cubic-bezier(.2,.6,.3,1)}.paused *{animation-play-state:paused!important}@keyframes page-breath{40%{transform:translateX(-7px);letter-spacing:1.5px}80%{transform:translateX(2px)}}@keyframes world-breath{40%{transform:scale(1.05) rotate(2deg)}80%{transform:scale(.985) rotate(-.5deg)}}@keyframes thought-breath{40%{letter-spacing:.5px;transform:scale(1.015)}}
@media(min-width:1600px){.hero{height:900px}}@media(max-width:1150px){.header{gap:25px}.header nav{gap:20px}.hero{min-height:670px;padding-top:40px}.world{height:525px}.world canvas{left:-22%;width:145%}.hero-intro{font-size:12px}.margin-note{font-size:11px}.hold-button{right:-5%;bottom:7px}.hold-button svg{width:50px;height:50px}.drawing-note{font-size:10px;left:0;bottom:4px}.world-coordinates{left:9%;font-size:6px}.world-coordinates>span:last-child{max-width:120px;text-align:right}.experience-top>p{padding-right:2%}.world-card{padding:20px 15px}.world-card h3{font-size:22px}.card-art{height:110px}.manifesto-grid{gap:20px;grid-template-columns:.07fr 1fr .8fr}.manifesto-grid h2{font-size:36px}.labyrinth-box canvas{height:280px}h2{font-size:43px}}
@media(max-width:760px){.header{height:80px;padding:0 6%;gap:18px}.brand{font-size:28px;gap:7px}.brand svg{width:24px;height:24px}.header nav{font-size:10px;gap:18px}.header nav>a:first-child{display:none}.pause{font-size:0;padding:9px;gap:0}.pause i{width:5px;height:5px;margin:1px}.hero{height:auto;min-height:0;max-height:none;padding:47px 7% 74px;grid-template-columns:1fr;overflow:hidden}.hero-copy{z-index:3}.eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:25px}h1{font-size:clamp(70px,14.5vw,100px);line-height:.94;letter-spacing:-.06em}.hero-intro{margin:25px 0 10px;font-size:12px}.thread-link{font-size:11px;gap:40px}.margin-note{font-size:11px;margin-top:21px}.world{height:400px;margin:32px -2% 0}.world canvas{width:123%;height:115%;left:-11.5%;top:-3%}.world-coordinates{left:5%;right:3%;top:0;font-size:6px}.world-coordinates>span:last-child{max-width:none}.drawing-note{left:3%;bottom:3px;font-size:9px}.hold-button{right:-2%;bottom:-6px;font-size:10px;gap:2px}.hold-button svg{width:47px;height:47px}.hero-foot{bottom:18px;left:7%;right:7%;font-size:6px;gap:10px}.hero-foot .edition{display:none}.hero-foot>p:first-child{gap:10px}.hero-foot>p:first-child>span:first-child{font-size:16px}.small-rule{width:27px}.hero-foot>a{gap:12px}.experience,.manifesto,.notebook{margin:0 7%}.section-label{font-size:6px;letter-spacing:.1em;padding:21px 0;gap:15px}.section-label>span:last-child{text-align:right;max-width:150px}.experience-top{padding:22px 0 32px;display:block}.experience-top>p{font-size:11px;margin:24px 0 0;padding:0}h2{font-size:36px;letter-spacing:-1.3px}.world-cards{grid-template-columns:1fr 1fr;margin-bottom:48px}.world-card{padding:18px 13px 19px}.world-card:nth-child(3){border-left:1px solid var(--line)}.world-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.card-no{font-size:13px}.card-art{height:95px;margin:10px 0 16px}.world-card h3{font-size:23px}.world-card>p{font-size:9px;min-height:31px}.card-action{font-size:8px;margin-top:18px}.card-action>span{font-size:17px}.manifesto-grid{grid-template-columns:1fr;padding:35px 0 45px;gap:32px}.vertical-note{display:none}.manifesto-grid h2{font-size:35px}.manifesto-grid .eyebrow{font-size:7px}.manifesto-copy{font-size:11px;max-width:95%;margin-top:25px}.labyrinth-box{max-width:350px;width:100%;justify-self:center}.labyrinth-box canvas{height:280px}.labyrinth-box>p{font-size:12px}.notebook{padding-bottom:20px}.notebook-row{padding:28px 0;gap:18px}.notebook-row>span:first-child{font-size:8px}.notebook-row h3{font-size:25px}.notebook-row p{font-size:10px;line-height:1.7;max-width:215px}.notebook-row svg{width:24px;min-width:24px}.archive-link h3{font-size:21px}.archive-tag{font-size:0;min-width:20px}.archive-tag:after{content:'↗';font-size:23px}.closing{padding:65px 7%}.closing .eyebrow{font-size:6px}.dream-button{font-size:56px;padding:5px 18px 15px;letter-spacing:-2px}.dream-button>span{font-size:31px;right:-5px;top:-5px}.closing>p:last-child{font-size:11px}footer{margin:0 7%;padding:25px 0 130px;gap:16px;flex-wrap:wrap}footer .brand{font-size:25px}footer>p{font-size:8px}footer>a:last-child{font-size:6px;flex-basis:100%;margin:5px 0 0}.world-switcher{bottom:15px;padding:8px 7px;width:calc(100% - 24px);max-width:480px;gap:2px;justify-content:space-between}.switcher-label{display:none}.world-switcher>button{font-size:8px;padding:10px 8px}.world-switcher>button>span{font-size:10px;padding-right:4px}.world-switcher>button.surprise-button{font-size:23px;padding:0 8px}.switcher-divider{margin:0 2px}.toast{top:90px;font-size:9px;max-width:90%;width:max-content;padding:11px 15px}.cursor-ring{display:none}}
@media(max-width:360px){.header nav{gap:12px}.hero{padding-left:6%;padding-right:6%}.world{height:345px}.world-switcher>button{font-size:7px;padding-left:5px;padding-right:5px}.world-switcher>button>span{padding-right:3px}.world-card h3{font-size:21px}.margin-note{font-size:10px}.drawing-note{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.grain{display:none}}

body[data-world="1"] h1{font-size:clamp(50px,6.1vw,94px)}
@media(max-width:760px){body[data-world="1"] h1{font-size:clamp(48px,11.7vw,83px)}}

.world-switcher>button.dock-pause{font-size:13px;padding:8px;color:var(--sage);min-width:26px}
@media(max-width:760px){.world-switcher>button{padding-left:6px;padding-right:6px}.world-switcher>button.surprise-button{padding-left:4px;padding-right:4px}.world-switcher>button.dock-pause{padding:7px 4px;min-width:20px;font-size:12px}}

@media(min-width:761px) and (max-height:800px){.margin-note{display:none}}

/* The supplied PNG includes transparent margins; frame the complete lockup. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.thought-controls{position:absolute;top:26px;left:12%;z-index:6;color:var(--sage)}
.drawing-note{bottom:-8px}
.thought-controls>span{font-size:8px;letter-spacing:.16em;color:var(--muted)}
.thought-controls>div{display:flex;gap:19px;margin-top:10px}
.thought-controls button{background:none;padding:5px 0 7px;min-height:36px;font:italic 10px var(--serif);color:var(--ink);border-bottom:1px solid transparent;opacity:.85;transition:opacity var(--motion-feedback,450ms),border-color var(--motion-feedback,450ms)}
.thought-controls button em{font:10px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin-left:5px}
.thought-controls button[aria-pressed="true"]{opacity:1;border-color:var(--accent)}
.thought-controls button:hover{opacity:1}
body:not([data-world="0"]) .thought-controls{display:none}
@media(max-width:760px){.thought-controls{left:5%;top:19px}.thought-controls>div{gap:16px;margin-top:4px}.thought-controls>span{font-size:7px}.thought-controls button{padding:10px 0;min-height:44px;min-width:44px}.thought-controls button em{font-size:9px}.world-coordinates{top:-8px}.drawing-note{max-width:58%;font-size:9px}}
.brand{flex-shrink:0;letter-spacing:normal}
.brand-frame{display:block;position:relative;width:112px;height:94px;overflow:hidden}
.brand-logo{display:block;position:absolute;width:144px;height:144px;max-width:none;left:-16px;top:-24px;transition:filter var(--motion-palette,2800ms)}
body[data-world="2"] .brand-logo{filter:brightness(2.3) saturate(.7)}
@media(max-width:760px){.brand-frame{width:82px;height:68px}.brand-logo{width:104px;height:104px;left:-11.5px;top:-17.5px}.header{gap:16px}}

/* One visual language: the thread, the sheet, the threshold. */
.world:before{content:'';position:absolute;inset:5% -4%;pointer-events:none;background:radial-gradient(ellipse at var(--gaze-x,55%) var(--gaze-y,45%),#b89b5b0b,transparent 60%);opacity:.8;transition:opacity var(--motion-hover,900ms)}
.world-coordinates{align-items:center;z-index:7;pointer-events:none}
.artwork-open{pointer-events:auto;background:none;color:var(--sage);padding:9px 0;font-size:8px;letter-spacing:.12em;text-transform:uppercase;display:flex;gap:12px;align-items:center;min-height:32px}
.artwork-open>span{font-size:15px;transition:transform var(--motion-hover,900ms)}
.artwork-open:hover>span{transform:translate(3px,-3px)}
body:not([data-world="0"]) .artwork-open{visibility:hidden}
.world-sweep{position:absolute;inset:-8%;z-index:4;pointer-events:none;opacity:0;overflow:hidden}
.world-sweep svg{width:100%;height:100%;fill:none;stroke:var(--accent);stroke-width:.5;transform-origin:50% 50%}
.world-sweep svg path{opacity:.25;stroke-dasharray:2 8}
.world-sweep.opening{animation:threshold-light var(--motion-sweep,2600ms) cubic-bezier(.15,.7,.2,1) both}
.world-sweep.opening svg{animation:threshold-open var(--motion-sweep,2600ms) cubic-bezier(.15,.7,.2,1) both}
@keyframes threshold-light{0%{opacity:0}22%{opacity:.65}100%{opacity:0}}
@keyframes threshold-open{from{transform:scale(.35) rotate(-18deg)}to{transform:scale(1.3) rotate(14deg)}}
.reveal-ready .reveal{--reveal-y:18px;opacity:0;transform:translateY(var(--reveal-y));transition:opacity var(--motion-reveal,1350ms),transform var(--motion-reveal,1350ms) cubic-bezier(.2,.65,.3,1)}
.reveal-ready .reveal.is-revealed{--reveal-y:0px;opacity:1;transform:translateY(0)}
.world-cards{perspective:1100px}
.world-card{transform-style:preserve-3d;transition:background var(--motion-hover,900ms),transform var(--motion-hover,900ms),opacity var(--motion-reveal,1350ms);isolation:isolate}
.world-card:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,30%),#b3996020,transparent 65%);opacity:0;transition:opacity var(--motion-hover,900ms)}
@media(hover:hover) and (pointer:fine){
 .world-card,.reveal-ready .world-card.reveal{transform:perspective(900px) translateY(var(--reveal-y,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
 .world-card:hover,.reveal-ready .world-card.reveal:hover{transform:perspective(900px) translateY(calc(var(--reveal-y,0px) - 2px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
 .world-card:hover:after{opacity:1}
}
.section-label{position:relative}
.section-label:after{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--accent);opacity:.3;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-line,2800ms) cubic-bezier(.2,.7,.3,1)}
.section-label.is-revealed:after{transform:scaleX(1)}
.notebook-row svg{transition:transform var(--motion-hover,900ms)}.notebook-row:hover svg{transform:translate(2px,-2px)}
.phrase-arriving{display:inline-block;animation:thought-arriving var(--motion-phrase,1600ms) cubic-bezier(.2,.7,.3,1)}
@keyframes thought-arriving{from{opacity:.1;transform:translateY(8px);letter-spacing:.025em}to{opacity:1;transform:translateY(0)}}
.artwork-dialog{width:min(1180px,calc(100vw - 48px));max-width:none;max-height:calc(100svh - 40px);padding:26px 30px 20px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #14201822;overflow:auto}
.artwork-dialog::backdrop{background:#16211bd9;backdrop-filter:blur(12px)}
.artwork-dialog.entering[open]{animation:study-opening var(--motion-detail,950ms) cubic-bezier(.2,.7,.3,1)}
@keyframes study-opening{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.artwork-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px}
.artwork-dialog-head .eyebrow{font-size:7px;margin:0 0 10px}
.artwork-dialog-head h2{font-size:34px;letter-spacing:-1px}
.artwork-dialog-head form{margin:0}
.detail-close{display:flex;align-items:center;gap:12px;background:none;font-size:10px;padding:10px 0 10px 12px;min-height:44px}
.detail-close>span{font:26px var(--serif);color:var(--sage)}
.artwork-stage{height:min(65svh,680px);overflow:auto;overscroll-behavior:contain;background:var(--paper);border-block:1px solid var(--line);scrollbar-color:var(--line) transparent}
.artwork-stage img{display:block;width:100%;height:100%;object-fit:contain;max-width:none;margin:auto}
.artwork-stage.is-zoomed img{width:var(--art-width,3072px);height:auto;object-fit:initial;margin:0;cursor:crosshair}
.artwork-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:10px}
.artwork-dialog-foot p{font:italic 13px var(--serif);color:var(--muted);margin:0}
.artwork-dialog-foot button{background:none;border-bottom:1px solid var(--accent);padding:10px 0;font-size:10px;min-height:44px;color:var(--sage)}
body.inspecting{overflow:hidden}
.paused .world-sweep{display:none}
.paused .artwork-dialog[open]{animation:none!important;opacity:1;transform:none}
.paused .reveal-ready .reveal,.paused.reveal-ready .reveal{opacity:1;transform:none}
.paused .phrase-arriving{animation:none;opacity:1;transform:none}
.paused .world-card,.paused .world-card:hover{transform:none!important}
@media(max-width:760px){
 .artwork-open{font-size:7px;gap:8px;min-height:44px;padding:8px 0}
 .artwork-open>span{font-size:13px}
 .artwork-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px);padding:20px 15px 12px}
 .artwork-dialog-head{gap:12px;margin-bottom:15px}.artwork-dialog-head h2{font-size:25px;letter-spacing:-.8px}
 .artwork-dialog-head .eyebrow{font-size:6px;letter-spacing:.12em}
 .artwork-stage{height:59svh}.artwork-dialog-foot p{font-size:11px;max-width:180px}
 .artwork-dialog-foot button{font-size:9px;white-space:nowrap}.detail-close{font-size:0;padding:8px;min-width:44px}
 .detail-close>span{font-size:27px}
 .reveal-ready .reveal{--reveal-y:12px;transition-duration:var(--motion-reveal,1350ms)}
}
@media(prefers-reduced-motion:reduce){
 .reveal-ready .reveal{opacity:1;transform:none!important}
 .world-sweep{display:none}.world:before{display:none}
 .world-card,.world-card:hover{transform:none!important}
 .section-label:after{transform:scaleX(1)}
 .artwork-dialog::backdrop{backdrop-filter:none}
}

/* The drawing is an instrument; the threshold is a place to enter. */
body[data-world="0"] .hold-button{display:none}
body[data-world="0"] .drawing-note{bottom:87px;left:8%}
.thread-instrument{position:absolute;z-index:8;bottom:-4px;left:8%;right:0;color:var(--sage)}
.thread-instrument label{display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.12em;align-items:center}
.thread-instrument label>span{font:italic 12px var(--serif);letter-spacing:0;color:var(--muted)}
.thread-instrument>div{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.15em;margin-top:-7px;color:var(--muted);pointer-events:none}
.thread-instrument>button{float:right;margin-top:8px;background:none;font-size:10px;color:var(--sage);padding:4px 0;min-height:32px}
.thread-instrument>button>span{font-size:15px;margin-left:12px}
input[type="range"]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:40px;background:transparent;cursor:ew-resize;margin:0;touch-action:pan-y}
input[type="range"]::-webkit-slider-runnable-track{height:1px;background:linear-gradient(90deg,#ac864955,#ac8649,#ac864955)}
input[type="range"]::-moz-range-track{height:1px;background:#ac8649}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-8px;border:4px solid var(--paper);background:var(--accent);outline:1px solid var(--accent);border-radius:50%;box-shadow:0 0 0 8px #ac864908}
input[type="range"]::-moz-range-thumb{width:11px;height:11px;border:4px solid var(--paper);background:var(--accent);outline:1px solid var(--accent);border-radius:50%}
input[type="range"]:focus-visible{outline:1px dashed var(--accent);outline-offset:3px}
body:not([data-world="0"]) .thread-instrument{display:none}
body.inside-impossible{overflow:hidden}
.threshold-dialog{--paper:#f5f3ed;--ink:#2f382d;--sage:#617356;--accent:#a88951;--muted:#7e8476;--line:#d6d8cb;width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;padding:0;background:var(--paper);color:var(--ink);overflow:hidden}
.threshold-dialog::backdrop{background:#f5f3ed}
.threshold-dialog[open]{display:flex;flex-direction:column}
.threshold-dialog.entering .threshold-stage canvas{animation:enter-impossibility var(--motion-entry,1800ms) cubic-bezier(.16,.7,.2,1) both}
@keyframes enter-impossibility{from{opacity:.1;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
.threshold-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 4%;border-bottom:1px solid var(--line);flex-shrink:0}
.threshold-signature{font:18px var(--serif);letter-spacing:.15em;white-space:nowrap}
.threshold-signature>span{font:6px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.18em;color:var(--muted);margin-left:20px}
.threshold-top>div{display:flex;align-items:center;gap:28px}.threshold-top form{margin:0}
.threshold-top button{background:none;font-size:11px;min-height:44px;padding:7px 0;color:var(--sage)}
.threshold-return{display:flex;align-items:center;gap:20px}.threshold-return>span{font:25px var(--serif)}
.threshold-top .threshold-pause{font-size:10px;color:var(--muted)}
.threshold-stage{position:relative;flex:1;min-height:0;isolation:isolate}
.threshold-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.threshold-copy{position:absolute;z-index:1;top:14%;left:6%;pointer-events:none;max-width:31%;text-shadow:0 1px 12px var(--paper)}
.threshold-copy .eyebrow{font-size:6px;letter-spacing:.16em;margin:0 0 20px}
.threshold-copy h2{font-size:clamp(35px,4vw,68px);line-height:1.02;letter-spacing:-.055em}
.threshold-copy h2 em{display:block;color:var(--sage)}
.threshold-copy>p:last-child{font:italic 12px/1.8 var(--serif);color:var(--muted);margin:25px 0 0}
.threshold-annotation{position:absolute;z-index:1;right:5%;bottom:7%;display:flex;gap:15px;align-items:center;color:var(--muted);font-size:5px;letter-spacing:.2em;pointer-events:none}
.threshold-annotation b{font:italic 13px var(--serif);margin-left:6px;color:var(--accent);font-weight:normal}
.threshold-annotation i{width:45px;height:1px;background:var(--line)}
.threshold-bottom{padding:14px 6% 20px;flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 8%;border-top:1px solid var(--line);position:relative;z-index:2;background:var(--paper)}
.threshold-chapters{display:flex;gap:28px;align-items:center;justify-content:space-between}
.threshold-chapters button{background:none;padding:11px 0;border-bottom:1px solid transparent;color:var(--muted);font-size:11px;min-height:44px;white-space:nowrap}
.threshold-chapters button>span{font:italic 12px var(--serif);margin-right:7px;color:var(--accent)}
.threshold-chapters button[aria-pressed="true"]{border-color:var(--accent);color:var(--ink)}
.journey-instrument label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:var(--sage)}
.journey-instrument label>span{font-size:16px;line-height:.5;color:var(--accent)}
.journey-instrument input{height:37px}
.threshold-invitation{grid-column:1/-1;font:italic 11px var(--serif);color:var(--muted);text-align:center;margin:12px 0 0}
.paused .threshold-dialog[open] .threshold-stage canvas{animation:none!important;opacity:1;transform:none}
@media(max-width:1150px){.threshold-signature>span{display:none}.threshold-copy{top:9%}.threshold-chapters{gap:16px}.threshold-copy h2{font-size:46px}.threshold-copy>p:last-child{font-size:11px}}
@media(max-width:760px){
 .world{height:490px}.world canvas{height:101%;top:0}
 .thought-controls{top:23px}.thought-controls>div{gap:20px}
 body[data-world="0"] .drawing-note{bottom:108px;max-width:95%;left:5%}
 .thread-instrument{left:5%;right:3%;bottom:0}.thread-instrument label{font-size:7px;letter-spacing:.08em}
 .thread-instrument label>span{font-size:11px}.thread-instrument>button{font-size:9px;min-height:44px;margin-top:2px}
 .threshold-top{padding:8px 6%;gap:10px}.threshold-signature{font-size:12px;letter-spacing:.12em}
 .threshold-top>div{gap:16px}.threshold-top .threshold-pause{font-size:0;min-width:30px}.threshold-top .threshold-pause:after{content:'Ⅱ';font-size:15px}.paused .threshold-top .threshold-pause:after{content:'▷'}
 .threshold-return{gap:8px;font-size:8px!important}.threshold-return>span{font-size:20px}
 .threshold-copy{left:7%;top:5%;max-width:80%}.threshold-copy .eyebrow{font-size:5px;margin-bottom:10px}
 .threshold-copy h2{font-size:38px;letter-spacing:-.05em}.threshold-copy h2 em{display:inline}
 .threshold-copy>p:last-child{font-size:10px;margin-top:13px;line-height:1.6}
 .threshold-bottom{display:block;padding:7px 7% 16px}.threshold-chapters{gap:12px;margin-bottom:14px}
 .threshold-chapters button{font-size:10px;padding:9px 0}.threshold-chapters button>span{font-size:10px;margin-right:5px}
 .journey-instrument label{font-size:7px}.journey-instrument input{height:36px}
 .threshold-invitation{font-size:10px;margin-top:4px}.threshold-annotation{right:7%;bottom:3%;font-size:4px;gap:7px}.threshold-annotation i{width:20px}
}
@media(max-width:360px){.world{height:455px}.threshold-return{font-size:7px!important}.threshold-top>div{gap:10px}.threshold-copy h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.threshold-dialog[open] .threshold-stage canvas{animation:none!important;opacity:1;transform:none}}
@media(min-width:761px){.threshold-copy{max-width:24%}.threshold-copy h2{font-size:clamp(35px,3.5vw,58px)}}
.threshold-dialog:after{content:'';position:absolute;inset:0;z-index:9;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' d='M0 0h160v160H0z' opacity='.55'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:reduce){.threshold-dialog:after{display:none}}
@media(max-height:500px) and (min-width:600px){
 .threshold-top{padding-block:3px}.threshold-bottom{padding-block:7px}
 .threshold-copy{top:9%;max-width:25%}.threshold-copy .eyebrow{font-size:5px;margin-bottom:10px}
 .threshold-copy h2{font-size:30px}.threshold-copy>p:last-child{font-size:9px;margin-top:12px}
 .threshold-invitation{display:none}.threshold-annotation{bottom:3%}
}
body[data-world="0"] .world canvas{height:83%;top:6%}
body[data-world="0"] .drawing-note{display:none}
@media(min-width:761px) and (min-height:801px){
 body[data-world="0"] .world canvas{height:101%;top:0}
 body[data-world="0"] .thread-instrument{bottom:-75px}
}

/* A deliberate pause leaves a stable, readable still composition. */
.paused,.paused *,.paused *:before,.paused *:after{transition:none!important}

/* Keep the material controls clear of the fixed dock and plate footer on short desktops. */
@media(min-width:1151px) and (max-height:751px){
 body[data-world="0"] .thread-instrument{bottom:32px}
}

/* The transformation is presented as one composed plate. */
body[data-world="0"] .world-coordinates,body[data-world="0"] .thought-controls{left:8%}
body[data-world="0"] .thought-controls>span{display:none}
body[data-world="0"] .thought-controls>div{margin-top:4px;gap:24px}
body[data-world="0"] .thread-instrument label{letter-spacing:.10em}
body[data-world="0"] .thread-instrument>button{font-size:9px;opacity:.8}
@media(max-width:760px){
 body[data-world="0"] .world-coordinates,body[data-world="0"] .thought-controls{left:5%}
 body[data-world="0"] .thought-controls>div{gap:20px}
}

/* Pigment belongs to this paper; shadow is rendered in the scene. */
body[data-world="0"] #scene,body[data-world="0"] #artwork-detail{filter:saturate(.66) hue-rotate(7deg) contrast(.97)}
.thread-instrument>button.wake-drawing{min-height:44px;float:left;display:flex;align-items:center;gap:8px}.thread-instrument>button.wake-drawing>span{margin-left:0;color:var(--accent)}
@media(max-width:760px){.thread-instrument>button{font-size:10px;min-height:40px}.thread-instrument>button.wake-drawing{gap:3px}}
