:root{--navy:#0b2037;--ink:#eee7da;--gold:#e5ba84;--paper:#ece6d9}body{background:var(--navy)}.site-header{background:#0b2037ee;border:0;backdrop-filter:blur(15px)}.site-nav a{font-weight:400}.site-nav a[aria-current]:after{height:4px;border-radius:50%;left:35%;right:35%;bottom:15px}.living{position:relative;background:#0b2037;min-height:calc(100svh - 76px);padding:0 5vw 25px;isolation:isolate}.identity{display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:2;padding:16px 0 6px}.identity h1{font:400 clamp(35px,4vw,62px)/1.2 Georgia;letter-spacing:-.06em;margin:0;color:#ede8dd}.identity h1 em{color:#f0c494;font-weight:400}.identity p{font-size:14px;line-height:1.6;margin:0;color:#e4e4df}.identity p span{display:block;color:#abbcc6;font-size:12px}.living-stage{height:clamp(370px,61vh,780px);position:relative;margin:0 -5vw;outline-offset:-8px;touch-action:pan-y}.living-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.living-stage:focus-visible{outline:1px dashed #d5b98b}.living-stage #loading-note{position:absolute;inset:0;display:grid;place-items:center;color:#d2c5ad;font:italic 18px Georgia;z-index:2;pointer-events:none}.living-stage #loading-note[hidden]{display:none}.scene-footer{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:35px;max-width:1280px;margin:auto}.scene-footer p{margin:0}.scene-footer #home-note p{font:italic 21px/1.5 Georgia;color:#e5d4b9}.scene-footer #home-note span{font:11px/1.8 Arial;letter-spacing:.025em;color:#a5b5bc}#scene-tools{display:flex;gap:26px;align-items:center;flex-shrink:0}#scene-tools button,#scene-tools a{background:none;border:0;padding:12px 0;color:#b8c6cd;font:11px Arial;text-decoration:none;cursor:pointer}#scene-tools a{color:#e8c69d}button:focus-visible,a:focus-visible{outline:2px solid #edbe81;outline-offset:5px}#object-labels{position:absolute;inset:0;z-index:2;pointer-events:none}#object-labels button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:center;gap:7px;background:#0b2037c9;border:1px solid #c9b18d40;border-radius:28px;padding:8px 13px 8px 9px;color:#e7dcc9;font:italic 13px Georgia;min-height:38px;cursor:pointer;box-shadow:0 3px 20px #0002;transition:background .25s,opacity .25s}#object-labels button:before{content:'';width:5px;height:5px;background:#ebc28e;border-radius:50%;box-shadow:0 0 10px #e3b47565}#object-labels button:hover{background:#314459}#object-labels[hidden]{display:none}#object-story{max-width:820px;position:relative;padding:8px 0;animation:arrive .45s ease both}#object-story[hidden]{display:none}#object-caption{font:10px Arial;letter-spacing:.1em;color:#c4ad8e}#object-title{font:italic 29px/1.15 Georgia;letter-spacing:-.025em;margin:8px 0;color:#efc697}#object-description{font:15px/1.6 Arial;color:#c6d0d1;max-width:690px}.object-actions{display:flex;align-items:center;gap:25px;margin-top:14px;flex-wrap:wrap}.object-actions button,.object-actions a{background:none;border:0;color:#e4c8a4;font:13px Arial;text-decoration:none;cursor:pointer;padding:10px 0;min-height:42px}.object-actions #scene-action{padding:11px 25px;background:#e9c899;color:#182d3c;border-radius:45% 55% 48% 52% / 55% 43% 57% 45%;font-weight:600;box-shadow:0 4px 20px #0002}.object-actions #back-home{color:#a9bbc4}#score{position:absolute;right:7vw;top:25px;color:#f1d3a4;font:italic 35px Georgia;z-index:3}#steering{display:flex;gap:25px;justify-content:center;align-items:center;margin:15px auto 0}#steering[hidden]{display:none}#steering button{border:1px solid #cfb68d70;background:#1b344a;color:#e7ceaa;border-radius:50%;width:50px;height:50px;font-size:24px;touch-action:none}#steering #pause{border:0;background:none;font-size:12px;width:auto;border-radius:0;padding:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.content,.content-alt,.content-end{background:#ece6d9;border:0;position:relative;padding-top:100px;padding-bottom:100px}.content:after{content:'';position:absolute;bottom:0;left:7vw;right:7vw;height:1px;background:linear-gradient(90deg,transparent,#8c8b7555,transparent);transform:rotate(-.3deg)}.content .index{font-size:10px;font-weight:400;letter-spacing:.1em}.section-intro h2{font-size:clamp(48px,5vw,78px)}.project-notes{border:0}.project-notes article{border:0;padding:20px 0}.text-link{border:0;gap:20px;font-weight:400;color:#965d3f}.prose .lead{font-size:clamp(28px,2.5vw,36px)}.thought-prompts{border:0}.thought-prompts li{border:0;padding:14px 0}.fallback-note{color:#dbc3a3}footer{background:#0b2037}.living[data-mode=flight] #scene-tools,.living[data-mode=takeoff] #scene-tools{display:none}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.identity h1{font-size:44px}.living-stage{height:55vh;min-height:360px}.scene-footer{gap:20px}#scene-tools{gap:12px}.scene-footer #home-note p{font-size:18px}}
@media(max-width:600px){.living{padding:22px 6vw 25px;min-height:calc(100svh - 62px)}.identity{display:block;padding:0}.identity h1{font-size:42px}.identity p{font-size:13px;margin-top:8px}.identity p span{display:inline;font-size:11px;margin-left:8px}.living-stage{height:390px;min-height:0;margin:0 -6vw}.scene-footer{display:block;min-height:90px}.scene-footer #home-note p{font-size:18px;line-height:1.35}.scene-footer #home-note span{font-size:10px;display:block;margin-top:7px}#scene-tools{justify-content:space-between;margin-top:8px}#object-labels button{font-size:12px;padding:8px 10px;min-height:38px}#object-title{font-size:26px}#object-description{font-size:14px;line-height:1.5}.object-actions{gap:20px;margin-top:8px}.object-actions button,.object-actions a{font-size:12px}.site-nav{border-radius:22px 22px 0 0;background:#0b2037f5;border-top-color:#c7bc9f30}.site-nav a[aria-current]:after{top:7px;left:43%;right:43%;height:3px}.content,.content-alt,.content-end{padding:75px 6vw}.living[data-mode=flight] .living-stage,.living[data-mode=takeoff] .living-stage{height:340px}#score{font-size:28px;top:18px}.living[data-mode=flight] .identity,.living[data-mode=takeoff] .identity{display:none}.living[data-mode=flight] #object-description{font-size:12px}}
@media(prefers-reduced-motion:reduce){#object-story{animation:none}html{scroll-behavior:auto}}
#object-labels button[hidden]{display:none}#object-labels button{min-height:44px}
.scene-footer #home-note p{font-size:16px;color:#b8c5c9}.living[data-mode=home] .scene-footer{min-height:65px}
.living{overflow-anchor:none}
.living{scroll-margin-top:76px}.living-stage{scroll-margin-top:85px}@media(max-width:600px){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none}.living,.living-stage{scroll-margin-top:0}}
#object-labels button{border:0;background:#0b20379c;box-shadow:none;padding:6px 11px;border-radius:20px;font-size:12px}#object-labels button[data-object=coffee]{margin-left:-15px;margin-top:30px}#object-labels button[data-object=brick]{margin-left:25px;margin-top:30px}#object-labels button[data-object=belt]{margin-left:14px;margin-top:30px}#object-labels button[data-object=notebook]{margin-left:10px;margin-top:-30px}#object-labels button[data-object=plane]{margin-left:15px;margin-top:28px}@media(max-width:600px){.living{min-height:0;padding-bottom:28px}#object-labels button{font-size:11px;padding:6px 9px}#object-labels button[data-object=belt]{margin-left:0}#object-labels button[data-object=brick]{margin-top:22px}.identity p span{font-size:11px}}
/* The scene and its reaction share one viewport: narrative never falls below it. */
.living{height:calc(100svh - 76px);min-height:660px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding-bottom:20px}.identity{padding-top:8px;padding-bottom:4px}.identity h1{font-size:clamp(36px,3.6vw,58px)}.living-stage{height:auto;min-height:0;max-height:none}.scene-footer{width:100%;min-height:54px;gap:30px}.scene-footer #home-note p{font:italic 16px Georgia;color:#d4c3a8}#object-story{padding:6px 0;max-width:950px}#object-caption{font-size:9px;color:#b8a68a}#object-title{font-size:26px;margin:5px 0 6px}#object-description{font-size:14px;line-height:1.45;max-width:780px}.object-actions{margin-top:3px;gap:24px}.object-actions #scene-action{background:#e7c693;padding:10px 25px;min-height:38px}#steering{margin:4px auto 0}#steering button{width:44px;height:44px}.living[data-mode=sketch] #object-labels,.living[data-mode=building] #object-labels{display:none}#scene-tools button,#scene-tools a{font-size:10px}#object-labels button{background:#0b2037bb;font:italic 12px Georgia;color:#f0d8b1;border:0}.content,.content-alt,.content-end{background-color:#ece6d9;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='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.065' filter='url(%23n)'/%3E%3C/svg%3E")}@media(max-width:900px){.living-stage{height:auto;min-height:0}.scene-footer{gap:20px}}
@media(max-width:600px){.living{height:calc(100svh - 62px);min-height:640px;padding:18px 6vw 13px;grid-template-rows:auto minmax(0,1fr) auto auto}.identity h1{font-size:38px}.identity p{font-size:12px;margin-top:5px;line-height:1.5}.identity p span{display:block;margin-left:0}.living-stage{height:auto;min-height:0}.scene-footer{min-height:0}.scene-footer #home-note p{font-size:14px}#scene-tools{margin-top:0}#scene-tools button,#scene-tools a{padding:9px 0}#object-title{font-size:24px}#object-description{font-size:13px;line-height:1.4}#object-story{padding:3px 0}.object-actions{gap:16px;flex-wrap:nowrap}.object-actions #scene-action{padding:8px 18px;white-space:nowrap}.object-actions button,.object-actions a{font-size:11px}.living[data-mode=flight] .living-stage,.living[data-mode=takeoff] .living-stage{height:auto}.living[data-mode=flight],.living[data-mode=takeoff]{grid-template-rows:minmax(0,1fr) auto auto}#object-labels button{font-size:11px}.living[data-mode=building] #object-description{font-size:12px}}
html,body{overflow-anchor:none}
@media(max-width:600px){#object-labels button[data-object=notebook]{margin-top:-62px;margin-left:0}#object-labels button[data-object=brick]{margin-top:32px;margin-left:7px}}
@media(max-width:600px){.living:not([data-mode=flight]):not([data-mode=takeoff]){height:auto;min-height:0}.living:not([data-mode=flight]):not([data-mode=takeoff]) .living-stage{height:400px}.living[data-mode=home] .scene-footer{min-height:70px}}
@media(max-width:600px){#object-labels button[data-object=notebook]{margin-top:50px;margin-left:0}}

/* Objects are story entrances, not a second textual navigation. */
#object-labels button{width:44px;height:44px;padding:0;min-height:44px;background:transparent!important;display:grid;place-items:center;margin:0!important;border-radius:50%}
#object-labels button:before{width:7px;height:7px;background:#f6deae;box-shadow:0 0 0 5px #182c3a66,0 0 0 6px #efdbb64d}
#object-labels button span{position:absolute;bottom:39px;left:50%;transform:translateX(-50%);padding:7px 12px;background:#13283e;color:#f2dec0;border-radius:18px;white-space:nowrap;opacity:0;pointer-events:none}
#object-labels button:hover span,#object-labels button:focus-visible span{opacity:1}
#object-labels:has(button:hover) button:not(:hover) span{opacity:0}
.living[data-story=belt] .living-stage{filter:saturate(.85)}
.project-notes article{scroll-margin-top:100px}.project-note{font-size:12px!important;color:#776950}.project-notes h3{margin-bottom:10px}
@media(min-width:601px){.living{min-height:0}}

/* A single invitation, attached to the object, disappears after discovery. */
.living:not([data-discovered]) #object-labels button[data-object=plane] span{opacity:1;font-size:0;background:#f0dfbd;color:#233448;box-shadow:1px 4px 12px #0003;transform:translateX(-50%) rotate(-5deg);border-radius:53% 47% 45% 55% / 49% 55% 45% 51%;padding:10px 18px}
.living:not([data-discovered]) #object-labels button[data-object=plane] span:after{content:'Zkus mě ↙';font:italic 17px Georgia}
.living:not([data-discovered]) #object-labels button[data-object=plane]:before{animation:invitation 1.6s ease 3}
@keyframes invitation{50%{box-shadow:0 0 0 12px #efdbb622,0 0 0 13px #efdbb655}}
.living:after{content:'';position:absolute;bottom:-13px;left:0;right:0;height:26px;z-index:1;background:#ece6d9;clip-path:polygon(0 45%,12% 58%,24% 42%,38% 54%,50% 37%,67% 51%,83% 40%,100% 53%,100% 100%,0 100%);pointer-events:none}
@media(prefers-reduced-motion:reduce){.living:not([data-discovered]) #object-labels button[data-object=plane]:before{animation:none}}
