:root{--ink:#193e35;--cream:#f7f4ea;--mint:#cde5d4;--lilac:#dcd4eb;--line:#c8d1c5;--sans:Inter,'Segoe UI',sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}button,a{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #a769c5;outline-offset:4px}img{max-width:100%;display:block}.topbar{height:78px;display:flex;align-items:center;gap:32px;padding:0 5%;border-bottom:1px solid #d9ded2;background:var(--cream);position:sticky;top:0;z-index:20}.brand{text-decoration:none;font-weight:800;letter-spacing:-.05em;font-size:21px;margin-right:auto}.brand-mark{font-size:27px;vertical-align:middle;margin-right:7px}.topbar nav{display:flex;gap:32px}.topbar nav a{text-decoration:none;font-size:13px;font-weight:650}.button{border:1px solid var(--ink);border-radius:5px;padding:15px 20px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:24px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--ink);color:white}.button.outline{background:transparent;color:var(--ink)}.button.light{background:#f6f3e9;color:var(--ink);border-color:#f6f3e9}.text-button,.inline-link{background:none;border:0;color:inherit;padding:10px 0;text-decoration:underline;text-underline-offset:5px;font-size:13px;font-weight:700}.scene{scroll-margin-top:78px;min-height:630px;display:flex;align-items:center}.scene-inner{width:min(1330px,90%);margin:auto;padding:80px 0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.copy{max-width:570px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;margin:0 0 28px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#75b790;margin-right:8px}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.03;margin:0}h1{font-size:clamp(55px,6.2vw,95px)}h2{font-size:clamp(45px,5.3vw,76px)}h1 em,h2 em{font-weight:400;color:#6d8f78}.lead{font-size:clamp(18px,1.6vw,22px);line-height:1.5;margin:26px 0 0;max-width:610px}.bodycopy{font-size:15px;line-height:1.75;max-width:480px;color:#4a645a}.hero-actions,.closing-actions{display:flex;align-items:center;gap:25px;margin-top:34px;flex-wrap:wrap}.micro{font-size:11px;line-height:1.6;letter-spacing:.03em;color:#6b7f72;margin-top:38px}.hero{min-height:calc(100vh - 78px);overflow:hidden}.hero-art{height:570px;position:relative;display:flex;justify-content:center;align-items:center}.orbit-halo{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:#dbe8d8}.hero-art img{position:relative;z-index:1;width:95%;height:100%;object-fit:contain;mix-blend-mode:multiply}.tiny-star{position:absolute;font-size:35px;z-index:2;color:#8b79a4}.s1{top:14%;left:10%}.s2{right:7%;top:30%}.floating-note{position:absolute;z-index:2;bottom:8%;left:1%;background:#eee4c9;padding:19px 25px;transform:rotate(-5deg);box-shadow:0 12px 28px #173a3514}.floating-note span,.portrait-label,.evidence-top,.mission-bar span,.plan small,.credits strong,.build-image figcaption span{display:block;font-size:10px;font-weight:800;letter-spacing:.14em}.floating-note strong{font-family:var(--serif);font-size:20px;font-weight:400;display:block;margin-top:9px}.idea{background:#e9efdf}.section-head{max-width:850px}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:22px;align-items:center;margin-top:60px}.flow div{border-top:1px solid #8fa797;padding:22px 0;min-height:145px}.flow div span{float:right;font-family:var(--serif);font-size:25px;color:#8aa094}.flow small{display:block;font-size:10px;letter-spacing:.16em;font-weight:800}.flow strong{font-family:var(--serif);font-weight:400;font-size:27px;display:block;margin-top:26px}.flow b{font-size:24px;color:#8aa094}.aside{font-size:14px}.orbit-section{background:#f8f4e9}.portrait-panel{background:#dfdfd4;padding:24px;min-height:420px}.portrait-label{display:flex;justify-content:space-between}.portrait-pair{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:15px;height:380px}.portrait-pair>img{width:100%;max-height:300px;object-fit:contain;mix-blend-mode:multiply}.motion{height:100%;display:flex;align-items:center}.motion img,.motion video{width:100%;max-height:360px;object-fit:contain;mix-blend-mode:multiply}.motion [hidden]{display:none}.demo-section{background:#dfd9ea}.demo-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.demo-heading>p{font-size:14px;line-height:1.6;max-width:300px}.mission-bar{background:var(--ink);color:white;padding:19px 25px;display:flex;align-items:center;gap:25px;margin-top:38px}.mission-bar strong{font-family:var(--serif);font-size:25px;font-weight:400}.mission-bar .mode{margin-left:auto;color:#c4e3cd}.demo-layout{display:grid;grid-template-columns:1fr 1fr;background:#f9f7f0}.demo-controls{padding:25px;border-right:1px solid #d7ded2}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tab{text-align:left;border:1px solid #c7d0c3;background:transparent;padding:17px;min-height:120px;color:var(--ink)}.tab.active{border:2px solid var(--ink);background:#e5eddf}.tab small,.tab strong,.tab span{display:block}.tab small{font-size:9px;letter-spacing:.1em;font-weight:800}.tab strong{font-family:var(--serif);font-size:21px;font-weight:400;margin:12px 0}.tab span{font-size:11px}.plan{padding:23px 0 0}.plan p{font-family:var(--serif);font-size:22px}.plan .button{padding:12px 15px}.plan .text-button{margin-left:10px}.evidence{padding:25px;min-height:295px}.evidence-top{display:flex;justify-content:space-between;border-bottom:1px solid #d7ded2;padding-bottom:18px}.evidence-top span:last-child{color:#718b7a}.evidence ol{padding-left:22px;font-size:15px;line-height:2.2;min-height:125px}.result{border-top:1px solid #d7ded2;padding-top:16px;font-size:14px;font-weight:700}.demo-foot{font-size:12px;line-height:1.6;margin:17px 0 0}.built{background:#f6f2e7}.credits{display:flex;gap:35px;margin-top:32px}.credits p{font-size:13px;line-height:1.6}.credits strong{margin-bottom:6px}.build-image{margin:0;background:#dbe7d8;padding:20px}.build-image img{width:100%;height:400px;object-fit:contain;mix-blend-mode:multiply}.build-image figcaption{border-top:1px solid #aec4b1;padding-top:14px;font-size:12px}.build-image figcaption span{margin-bottom:8px}.closing{background:#193e35;color:#f8f4e9;text-align:center}.closing-inner{display:flex;flex-direction:column;align-items:center}.closing h2{font-size:clamp(60px,7vw,105px)}.closing h2 em{color:#b7d9c2}.quote-mark{font-size:40px;color:#c9b4df;margin:4px 0 20px}.closing .lead{max-width:600px}.closing .micro{color:#a8c4b0}.light-text{color:#f8f4e9}footer{display:flex;justify-content:space-between;gap:15px;padding:28px 5%;font-size:11px;font-weight:700;letter-spacing:.08em}footer a{letter-spacing:0}.present-controls{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:30;background:#183c34;color:white;border-radius:40px;display:flex;align-items:center;gap:6px;padding:7px;box-shadow:0 8px 30px #0003;white-space:nowrap}.present-controls[hidden],.notes[hidden]{display:none}.present-controls button{background:transparent;border:0;color:white;padding:10px 13px}.present-controls span{font-size:12px}.notes{position:fixed;z-index:31;right:20px;bottom:85px;max-width:420px;background:#fff;padding:22px;box-shadow:0 10px 30px #0003;font-size:14px;line-height:1.6}.presenting .topbar{position:fixed;left:0;right:0}.presenting .scene{display:none;min-height:100vh;padding-top:78px}.presenting .scene.active{display:flex}.presenting footer{display:none}.presenting .scene-inner{padding-top:20px;padding-bottom:85px}.presenting .hero-art{height:min(60vh,570px)}dialog{border:0;padding:0;width:min(900px,94vw);background:#f8f5ec;color:var(--ink);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#102a25bb}.dialog-head{display:flex;justify-content:space-between;padding:20px 24px}.dialog-head small,.dialog-head strong{display:block}.dialog-head small{font-size:10px;letter-spacing:.12em}.dialog-head strong{margin-top:5px}.dialog-head button{background:none;border:0;font-size:30px;color:var(--ink)}dialog video{width:100%;display:block;background:#111}dialog>p{font-size:13px;line-height:1.5;padding:5px 24px 20px}@media(max-width:760px){.topbar{height:65px;gap:12px}.topbar nav{display:none}.brand{font-size:18px}.scene{min-height:0;scroll-margin-top:65px}.scene-inner{width:88%;padding:65px 0}.split{grid-template-columns:1fr;gap:35px}.hero{min-height:0}.hero-art{height:360px;grid-row:2}.hero-art img{height:100%}.flow{grid-template-columns:1fr;gap:0}.flow b{display:none}.flow div{min-height:100px}.flow strong{margin-top:14px}.portrait-panel{min-height:0}.portrait-pair{height:260px}.demo-heading{display:block}.mission-bar{flex-wrap:wrap;gap:8px 18px}.mission-bar .mode{width:100%;margin:0}.demo-layout{grid-template-columns:1fr}.demo-controls{border-right:0;border-bottom:1px solid #d7ded2}.tabs{grid-template-columns:1fr}.tab{min-height:90px}.tab strong{margin:7px 0}.credits{gap:20px}.build-image img{height:300px}footer{flex-wrap:wrap}.presenting .scene{padding-top:65px;overflow:auto;align-items:flex-start}.presenting .scene-inner{padding-top:30px}.presenting .hero-art{height:250px}.present-controls{bottom:8px}.present-controls button{padding:8px}.present-controls #exit{font-size:11px}.closing h2{font-size:52px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.site-address{display:flex;align-items:center;gap:14px;margin-top:24px;font-size:13px;font-weight:700}.site-address img{width:72px;height:72px;background:white;padding:4px}.closing .micro{margin-top:18px}@media(max-height:800px){.presenting .closing .quote-mark{margin:0;font-size:25px}.presenting .closing h2{font-size:clamp(48px,6vw,76px)}.presenting .closing .lead{margin-top:14px}.presenting .closing-actions{margin-top:16px}.presenting .site-address{margin-top:14px}}
.story-art .hero-orbit{position:absolute;right:0;width:76%;height:88%;object-fit:contain;z-index:1}.game-reference{position:absolute;z-index:3;left:0;bottom:0;margin:0;background:#faf8f0;padding:8px;box-shadow:0 12px 38px #173a3530;width:29%;max-width:185px;transform:rotate(-4deg)}.game-reference img{width:100%;height:285px;object-fit:cover;mix-blend-mode:normal}.game-reference figcaption{padding:8px 2px 2px;font-size:8px;line-height:1.45;letter-spacing:.06em;font-weight:800}.game-reference figcaption span{font-weight:400;letter-spacing:0}.story-art .orbit-halo{right:0}@media(max-width:760px){.story-art .hero-orbit{width:78%}.game-reference{width:28%;min-width:110px}.game-reference img{height:190px}}
.idea-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);align-items:center;gap:5%}.jam-photo{margin:0;background:#f8f5ea;padding:9px;box-shadow:0 10px 30px #173a3517}.jam-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}.jam-photo figcaption{padding:10px 4px 3px;font-size:9px;font-weight:800;letter-spacing:.1em;line-height:1.5}.idea .flow{margin-top:40px}@media(max-width:760px){.idea-intro{grid-template-columns:1fr;gap:24px}.jam-photo{max-width:480px}.idea .flow{margin-top:30px}}@media(max-height:800px) and (min-width:761px){.presenting .jam-photo img{max-height:200px}.presenting .idea .flow{margin-top:22px}.presenting .idea .flow div{min-height:110px}}
/* The owner's original six-frame idle sprites, kept decorative and away from controls. */
.orbit-companion{position:fixed;right:18px;bottom:14px;width:108px;height:117px;z-index:19;pointer-events:none;background-image:url('media/orbit-spritesheet.png');background-repeat:no-repeat;background-size:864px 1287px;background-position:0 0;animation:orbit-idle 1.8s steps(6,end) infinite}.presenting .orbit-companion{bottom:18px}@keyframes orbit-idle{to{background-position:-648px 0}}@media(max-width:760px){.orbit-companion{width:64px;height:69.333px;background-size:512px 762.667px;right:5px;bottom:5px;animation-name:orbit-idle-small}.presenting .orbit-companion{bottom:72px}@keyframes orbit-idle-small{to{background-position:-384px 0}}}@media(prefers-reduced-motion:reduce){.orbit-companion{animation:none}}
/* Occasional wave and a short, reversible walk using Orbit's original sprites. */
.orbit-companion{transition:transform 2s linear}.orbit-companion.wave{animation:orbit-wave 1s steps(4,end) infinite;background-position:0 -351px}.orbit-companion.walk-left{animation:orbit-walk-left .8s steps(8,end) infinite;transform:translateX(-90px)}.orbit-companion.walk-right{animation:orbit-walk-right .8s steps(8,end) infinite;transform:translateX(0)}@keyframes orbit-wave{from{background-position:0 -351px}to{background-position:-432px -351px}}@keyframes orbit-walk-left{from{background-position:0 -234px}to{background-position:-864px -234px}}@keyframes orbit-walk-right{from{background-position:0 -117px}to{background-position:-864px -117px}}@media(max-width:760px){.orbit-companion.walk-left{animation-name:orbit-walk-left-small;transform:translateX(-35px)}.orbit-companion.walk-right{animation-name:orbit-walk-right-small}.orbit-companion.wave{animation-name:orbit-wave-small}@keyframes orbit-wave-small{from{background-position:0 -208px}to{background-position:-256px -208px}}@keyframes orbit-walk-left-small{from{background-position:0 -138.667px}to{background-position:-512px -138.667px}}@keyframes orbit-walk-right-small{from{background-position:0 -69.333px}to{background-position:-512px -69.333px}}}@media(prefers-reduced-motion:reduce){.orbit-companion,.orbit-companion.wave,.orbit-companion.walk-left,.orbit-companion.walk-right{animation:none;transition:none;transform:none;background-position:0 0}}
.clarification{font:14px/1.5 var(--sans)!important;margin:0 0 12px!important;color:#426050}.clarification:empty{display:none}.tech-details{margin-top:15px;font-size:12px;line-height:1.5;max-width:540px}.tech-details summary{font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.tech-details p{margin:8px 0}.video-warning{padding-top:0;color:#5b7164}.plan p:not(.clarification){margin:12px 0}
