:root{--type-d1:.1875s;--type-d2:.515625s;--type-d3:.796875s;--type-d4:.984375s;--type-d5:1.1953125s;--type-blink:1.6s}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000}body{font-family:system-ui,sans-serif}#scene{position:relative;width:100%;height:100dvh;height:min(100%,100dvh);overflow:hidden;outline:none;background:#000}#canvas{position:absolute;width:100%;height:100%;inset:0}.status:not(:empty){position:absolute;bottom:20px;left:20px;color:#aaa;font:12px system-ui,sans-serif}
#desktop{position:absolute;inset:0;pointer-events:none;color:#eee;font:13px/1.4 system-ui,-apple-system,sans-serif;z-index:3}#desktop *{box-sizing:border-box}#desktop button,#desktop input,#desktop textarea{font:inherit}#desktop button{color:inherit;cursor:pointer}#desktop button:focus-visible,#desktop input:focus-visible,#desktop textarea:focus-visible{outline:2px solid #fff;outline-offset:2px}#windows{position:absolute;inset:0 0 66px;pointer-events:none}.panel,.window,#taskbar{pointer-events:auto;background:rgba(15,15,15,.91);border:1px solid rgba(255,255,255,.19);box-shadow:0 18px 70px #000b;backdrop-filter:blur(24px)}[hidden]{display:none!important}#taskbar{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);height:52px;display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:12px;max-width:calc(100% - 24px)}#taskbar button,.icon-button{background:transparent;border:0;border-radius:7px}#taskbar button:hover,.icon-button:hover,.app-tile:hover{background:#ffffff18}.task-button{height:40px;padding:0 11px;display:flex;align-items:center;gap:9px}.start{letter-spacing:.16em;font-size:10px!important;font-weight:700}.start-mark{display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:2px}.start-mark i{display:block;background:#eee}.task-divider{height:25px;width:1px;background:#ffffff20}.task-apps{display:flex;gap:3px}.task-apps button{min-width:40px;height:40px;font-size:17px!important;position:relative}.task-apps button.open:after{content:'';position:absolute;bottom:2px;width:14px;height:2px;background:#ddd;left:50%;transform:translateX(-50%);border-radius:2px}.clock{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:3px 9px;line-height:1.2;min-width:85px}.clock small{font-size:10px;color:#aaa}.panel{position:absolute;bottom:77px;border-radius:15px}.launcher{width:min(440px,calc(100vw - 24px));left:50%;transform:translateX(-50%);padding:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between}.panel-heading h1,.panel-heading h2{margin:4px 0 14px;font-weight:500;letter-spacing:-.04em;font-size:27px}.panel-heading p{margin:-8px 0 12px;color:#aaa}.eyebrow,.section-label{font-size:10px;letter-spacing:.17em;color:#888;font-weight:650}.icon-button{font-size:22px!important;width:30px;height:30px;line-height:1}.search-wrap{display:flex;align-items:center;gap:9px;background:#ffffff0a;border:1px solid #ffffff22;border-radius:7px;padding:8px 11px;color:#aaa;font-size:19px}.search-wrap input{background:none;border:0;outline:0!important;color:#fff;width:100%;font-size:13px!important}.section-label{margin:22px 0 10px}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-height:160px}.app-tile{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:12px;border:1px solid transparent;border-radius:8px;background:transparent}.app-tile .app-icon{font-size:21px}.app-tile small{color:#8d8d8d;font-size:10px}.launcher-footer{display:flex;justify-content:space-between;margin:18px -22px -22px;padding:14px 22px;border-top:1px solid #ffffff18;color:#888;font-size:9px;letter-spacing:.13em}.calendar{right:14px;width:min(320px,calc(100vw - 28px));padding:20px}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.calendar-month button{border:0;background:none;font-size:21px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px;color:#ccc}.calendar-grid span{padding:7px 0;font-size:11px}.calendar-grid .weekday{color:#777}.calendar-grid .today{background:#eee;color:#111;border-radius:50%}.window{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 40px));height:min(480px,calc(100vh - 120px));min-width:290px;min-height:200px;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;resize:both}.window.active{border-color:#ffffff50}.window.maximized{left:8px!important;top:8px!important;transform:none!important;width:calc(100% - 16px)!important;height:calc(100% - 16px)!important;resize:none}.titlebar{height:46px;flex:none;display:flex;align-items:center;padding-left:16px;cursor:grab;user-select:none;border-bottom:1px solid #ffffff17;touch-action:none}.titlebar:active{cursor:grabbing}.titlebar .window-icon{margin-right:10px}.titlebar .window-title{flex:1;font-size:12px;letter-spacing:.02em}.window-actions{display:flex;height:100%}.window-actions button{width:43px;border:0;background:transparent;font-size:15px}.window-actions button:hover{background:#ffffff1d}.window-body{flex:1;overflow:auto;min-height:0}.window-content{padding:28px}.window-content h2{font-size:28px;font-weight:500;letter-spacing:-.04em;margin:0 0 12px}.window-content p{color:#aaa;max-width:48ch;line-height:1.7}.content-label{font-size:10px;letter-spacing:.15em;color:#888;text-transform:uppercase}.empty-card{border:1px solid #ffffff20;border-radius:9px;padding:18px;margin-top:24px;color:#999}.note-editor{display:block;resize:none;background:transparent;border:0;color:#eee;width:100%;height:100%;padding:24px;outline:0!important;line-height:1.7!important}.note-status{font-size:10px;color:#888;padding:7px 16px;border-top:1px solid #ffffff15}.calculator{padding:18px;max-width:380px;margin:auto}.calc-display{font-size:37px;font-variant-numeric:tabular-nums;text-align:right;overflow:hidden;padding:10px 5px 18px;min-height:72px}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-grid button{height:48px;border:1px solid #ffffff15;background:#ffffff0a;border-radius:6px;font-size:16px!important}.calc-grid button:hover{background:#ffffff20}.calc-grid .equals{background:#ddd;color:#111!important}.terminal{height:100%;background:#080808;padding:20px;font:13px/1.6 Consolas,monospace;overflow:auto}.terminal-output{white-space:pre-wrap;overflow-wrap:anywhere}.terminal-form{display:flex;gap:8px}.terminal-form label{white-space:nowrap;color:#aaa}.terminal-form input{background:none;border:0;outline:0;color:white;flex:1;font:inherit;min-width:0}.file-layout{display:flex;height:100%}.file-sidebar{width:150px;flex:none;padding:18px 10px;border-right:1px solid #ffffff15}.file-sidebar button,.file-list button{display:block;text-align:left;background:transparent;border:0;border-radius:6px;padding:9px;width:100%}.file-sidebar button:hover,.file-list button:hover{background:#ffffff12}.file-list{flex:1;padding:20px;overflow:auto}.file-list h3{font-weight:500;margin:0 0 16px}.file-list button{border-bottom:1px solid #ffffff10;border-radius:0}.file-list button span{margin-right:12px}.file-hint{color:#888;font-size:11px;padding:10px}@media(max-width:600px){.start-label{display:none}.task-button{padding:0 8px}.task-apps button{min-width:35px}.clock{min-width:72px;padding:3px 5px}.window{width:calc(100vw - 20px);height:calc(100dvh - 100px);top:calc(50% - 20px)}.file-sidebar{width:105px}.launcher{bottom:72px}.panel{max-height:calc(100dvh - 90px);overflow:auto}}

.hero-name{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.hero-name::before{content:"";position:absolute;left:50%;top:37.5%;width:min(720px,100vw);height:clamp(180px,28vh,280px);transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(0,0,0,.94) 0%,rgba(0,0,0,.72) 35%,transparent 72%)}.hero-name h1{position:relative;transform:translateY(-12.5vh);margin:0;color:#fff;font:500 clamp(72px,10vw,150px)/1 system-ui,-apple-system,sans-serif;letter-spacing:0;text-align:center}

.hero-name h1 > span > span{opacity:0;animation:name-letter 50ms step-end forwards}.hero-name h1 > span > span:nth-child(1){animation-delay:var(--type-d1)}.hero-name h1 > span > span:nth-child(2){animation-delay:var(--type-d2)}.hero-name h1 > span > span:nth-child(3){animation-delay:var(--type-d3)}.hero-name h1 > span > span:nth-child(4){animation-delay:var(--type-d4)}.hero-name h1 > span > span:nth-child(5){animation-delay:var(--type-d5)}@keyframes name-letter{to{opacity:1}}@media(prefers-reduced-motion:reduce){.hero-name h1 > span > span{animation:none;opacity:1}}

.hero-name h1::after{content:"_";position:absolute;left:calc(100% + .08em);top:-.15em;visibility:hidden;animation:name-caret-show 50ms step-end var(--type-d5) forwards,name-caret-blink var(--type-blink) step-end var(--type-d5) infinite}@keyframes name-caret-show{to{visibility:visible}}@keyframes name-caret-blink{0%,49%{opacity:1}50%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.hero-name h1::after{animation:none;visibility:visible;opacity:1}}

.hero-name h1 > span{display:inline-flex;gap:.08em}

/* The original glyphs retain the layout and reveal animation; these canvases
   only replace their visible ink after all particle masks are ready. */
.hero-name h1 > span > span{position:relative}
.glyph-particles{position:absolute;left:0;top:0;width:100%;height:calc(100% + .22em);display:none;pointer-events:none}
.hero-name.particle-ready h1 > span > span{color:transparent}
.hero-name.particle-ready .glyph-particles{display:block}
.hero-name.particle-ready h1::after{top:0;color:transparent;background-image:var(--caret-particles);background-repeat:no-repeat;background-position:left top;background-size:100% 100%}

/* Foreground screen changes leave the particle canvas mounted and undimmed. */
.hero-name h1{opacity:1;visibility:visible;transition:opacity .32s ease .32s,visibility 0s linear 0s}
.landing-menu{position:absolute;left:50%;top:37.5%;transform:translate(-50%,-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease 0s,visibility 0s linear .32s}
.hero-name.menu-active h1{opacity:0;visibility:hidden;transition:opacity .32s ease 0s,visibility 0s linear .32s}
.hero-name.menu-active .landing-menu{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease .32s,visibility 0s linear .32s}
.menu-options{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,42px)}
.menu-options button{padding:10px 4px;border:0;background:transparent;color:#fff;font:600 clamp(24px,2.3vw,30px)/1.25 system-ui,-apple-system,sans-serif;cursor:pointer;white-space:nowrap}
.menu-options button:focus-visible{outline:2px solid white;outline-offset:5px;border-radius:2px}
.menu-options button:hover{opacity:.72}
.menu-label{display:inline-block;position:relative}
.menu-label canvas{position:absolute;left:0;top:0;width:100%;height:calc(100% + .22em);pointer-events:none;display:none}
.menu-label.particle-ready{color:transparent}.menu-label.particle-ready canvas{display:block}
.menu-status{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;text-align:center;color:#ddd;font:12px/1.4 system-ui,sans-serif}
.hero-name.reveal-complete h1 > span > span{animation:none;opacity:1}
.hero-name.reveal-complete h1::after{visibility:visible;animation:name-caret-blink var(--type-blink) step-end infinite}
@media(prefers-reduced-motion:reduce){.hero-name h1,.landing-menu,.hero-name.menu-active h1,.hero-name.menu-active .landing-menu{transition:none}.hero-name.reveal-complete h1::after{animation:none;opacity:1}}
.site-footer{position:fixed;z-index:6;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:.65em;width:max-content;max-width:calc(100% - 24px);color:#aaa;font:400 12px/1.45 system-ui,-apple-system,sans-serif;text-align:center;text-shadow:0 1px 5px #000,0 0 10px #000}
.site-footer a{color:#c3c3c3;text-decoration:none;text-underline-offset:4px;padding:5px 2px}.site-footer a:hover{text-decoration:underline;color:#fff}.site-footer a:focus-visible,.footer-panel button:focus-visible,.footer-panel:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:2px}.footer-separator{color:#777}.footer-overlay[hidden],.site-footer [hidden]{display:none!important}.footer-overlay{position:fixed;inset:0;z-index:5;display:grid;place-items:center;pointer-events:none;padding:16px 16px calc(70px + env(safe-area-inset-bottom,0px))}.footer-panel{pointer-events:auto;width:min(460px,100%);max-height:min(70vh,600px);overflow:auto;padding:24px 26px 28px;border:1px solid #ffffff35;border-radius:9px;background:rgba(9,9,9,.87);color:#eee;box-shadow:0 12px 50px #0009;font:14px/1.6 system-ui,-apple-system,sans-serif}.footer-panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff24;padding-bottom:14px}.footer-panel h2{margin:0;font-size:21px;font-weight:500}.footer-panel h3{margin:20px 0 6px;font-size:15px;font-weight:600}.footer-panel p{margin:18px 0 0;color:#bcbcbc}.footer-panel button{border:0;background:transparent;color:#ddd;font:24px/1 system-ui,sans-serif;cursor:pointer;padding:3px 7px}.footer-panel button:hover{color:#fff}.footer-panel:focus:not(:focus-visible){outline:none}@media(max-width:600px){.site-footer{font-size:11px;gap:.5em;flex-wrap:wrap}.footer-panel{padding:20px;max-height:65vh}}

.site-footer::before{content:"";position:absolute;z-index:-1;inset:-12px -30px;pointer-events:none;background:radial-gradient(ellipse,rgba(0,0,0,.87) 0%,rgba(0,0,0,.65) 46%,transparent 78%)}

/* Hold the original reveal until its particle glyphs are ready. */
.particle-pending .hero-name h1{visibility:hidden}
.particle-pending .hero-name h1 > span > span,.particle-pending .hero-name h1::after{animation-play-state:paused}
/* Footer details are secondary to the artwork and sit close to their links. */
.footer-overlay{place-items:end center;padding:12px 12px calc(54px + env(safe-area-inset-bottom,0px))}
.footer-panel{width:min(360px,100%);max-height:min(48dvh,380px);padding:14px 16px 16px;border-radius:7px;font-size:12px;line-height:1.45}
.footer-panel-header{padding-bottom:8px;gap:12px}.footer-panel h2{font-size:15px}.footer-panel h3{margin:13px 0 4px;font-size:12px}.footer-panel p{margin:7px 0 0}.footer-panel button{font-size:19px;padding:2px 5px}
@media(max-width:600px){.footer-panel{padding:13px 15px 15px;max-height:min(48dvh,380px)}}
/* About lives between the existing menu and footer; only this foreground fades. */
.about-view{position:absolute;left:50%;top:calc(37.5% + 46px);bottom:calc(58px + env(safe-area-inset-bottom,0px));width:min(680px,calc(100% - 44px));transform:translateX(-50%);display:flex;flex-direction:column;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s}
.hero-name.about-active .about-view{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease .15s,visibility 0s linear .15s}
.menu-options button[aria-current="page"]{box-shadow:inset 0 -1px #ddd}
.about-copy{position:relative;min-height:0;flex:0 1 auto;color:#f3f3f3;font:600 17px/1.55 system-ui,-apple-system,sans-serif;text-align:center;user-select:text;isolation:isolate}
.about-copy::before{content:"";position:absolute;z-index:-1;inset:-48px -64px;background:radial-gradient(ellipse closest-side,rgba(0,0,0,.68) 0%,rgba(0,0,0,.48) 55%,rgba(0,0,0,.16) 80%,transparent 100%);pointer-events:none}
.about-page{transition:opacity .18s ease}.about-page.changing{opacity:0}.about-page p{margin:0 0 16px}.about-page p:last-child{margin-bottom:0}.about-copy.particle-ready p{color:transparent}.about-copy p::selection{color:#fff;background:#555}
.about-particles{position:absolute;left:0;top:0;width:100%;height:100%;display:none;pointer-events:none;transition:opacity .18s ease}.about-copy.particle-ready .about-particles{display:block}
.about-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:#ddd;font:13px/1.4 system-ui,sans-serif}.about-pagination[hidden]{display:none!important}.about-pagination button{background:rgba(0,0,0,.72);border:1px solid #888;color:#eee;border-radius:4px;padding:7px 12px;cursor:pointer}.about-pagination button:disabled{opacity:.4;cursor:default}.about-pagination button:focus-visible{outline:2px solid white;outline-offset:3px}.about-page-number{color:#ccc;font-size:12px}
@media(max-width:600px){.about-view{width:calc(100% - 40px)}.about-copy{font-size:16px;line-height:1.5}.about-page p{margin-bottom:14px}}
@media(max-height:430px){.hero-name.about-active .landing-menu{top:19%}.about-view{top:calc(19% + 40px);bottom:calc(48px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.about-view,.hero-name.about-active .about-view,.about-page,.about-particles{transition:none}}
.updates-view{position:absolute;left:50%;top:calc(37.5% + 44px);bottom:calc(58px + env(safe-area-inset-bottom,0px));width:min(680px,calc(100% - 44px));transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s}
.hero-name.updates-active .updates-view{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease .15s,visibility 0s linear .15s}.update-entry{height:100%;display:flex;flex-direction:column;gap:8px}.update-header{position:relative;isolation:isolate}.update-header::before{content:"";position:absolute;z-index:-1;inset:-12px -20px;background:radial-gradient(ellipse,rgba(0,0,0,.96),rgba(0,0,0,.82) 65%,transparent);pointer-events:none}.update-meta{display:flex;align-items:center;justify-content:space-between;color:#bdbdbd;font:11px/1.4 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.update-permalink{color:#bbb;text-decoration:underline;text-underline-offset:3px}.update-title{position:relative;margin:5px 0 2px;color:#f5f5f5;font:600 clamp(19px,2vw,26px)/1.2 system-ui,-apple-system,sans-serif;text-align:left}.update-title canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}.update-title.particle-ready>span{color:transparent}.update-title.particle-ready canvas{display:block}.update-description{color:#ccc;margin:0;font:13px/1.4 system-ui,-apple-system,sans-serif}.update-demo{min-height:0;display:flex;flex:1;flex-direction:column;gap:7px}.compare-stage{position:relative;flex:1;min-height:48px;overflow:hidden;background:#000;border:1px solid #ffffff40;border-radius:5px;--split:50%}.compare-track{position:absolute;left:0;top:50%;width:100%;aspect-ratio:8/5;transform:translateY(-37.5%)}.compare-track img{display:block;width:100%;height:100%}.compare-after{position:absolute;inset:0;clip-path:inset(0 0 0 calc(100% - var(--split)))}.compare-divider{position:absolute;top:0;bottom:0;left:calc(100% - var(--split));width:1px;background:#fff;pointer-events:none;transform:translateX(-50%)}.compare-divider span{position:absolute;left:50%;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);border:1px solid #ddd;border-radius:50%;background:#111}.compare-divider span::after{content:'\2039  \203a';position:absolute;inset:0;color:white;text-align:center;font:17px/22px system-ui,sans-serif}.compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:none}.compare-stage:focus-within{outline:2px solid white;outline-offset:3px}.demo-controls{display:flex;justify-content:space-between;align-items:center;gap:8px}.compare-buttons{display:flex;gap:5px}.demo-controls button,.updates-navigation button{border:1px solid #ffffff50;border-radius:4px;color:#ddd;background:rgba(0,0,0,.85);padding:6px 10px;font:12px/1.2 system-ui,sans-serif;cursor:pointer}.demo-controls button[aria-pressed=true]{color:#fff;border-color:#ddd;background:#292929}.demo-controls button:hover,.updates-navigation button:hover{color:white;border-color:white}.demo-controls button:focus-visible,.updates-navigation button:focus-visible,.update-permalink:focus-visible{outline:2px solid white;outline-offset:3px}.updates-navigation{display:flex;justify-content:space-between;gap:8px}.updates-navigation[hidden]{display:none!important}.updates-navigation button:disabled{opacity:.35}.demo-title{position:absolute;left:50%;top:37.5%;transform:translate(-50%,-50%);font:500 var(--demo-font,48px)/1 system-ui,-apple-system,sans-serif;letter-spacing:0;color:white;white-space:nowrap}.demo-title>span{display:inline-flex;gap:.08em}.demo-title>span>span{position:relative}.demo-title canvas{position:absolute;left:0;top:0;width:100%;height:calc(100% + .22em);pointer-events:none;display:none}.demo-title.particle-ready>span>span{color:transparent}.demo-title.particle-ready canvas{display:block}.demo-title::after{content:"_";position:absolute;left:calc(100% + .08em);top:-.15em;animation:name-caret-blink var(--type-blink) step-end infinite}.demo-title.particle-ready::after{top:0;color:transparent;background-image:var(--demo-caret);background-repeat:no-repeat;background-size:100% 100%}.demo-title.replaying>span>span{opacity:0;animation:name-letter 50ms step-end forwards}.demo-title.replaying>span>span:nth-child(1){animation-delay:var(--type-d1)}.demo-title.replaying>span>span:nth-child(2){animation-delay:var(--type-d2)}.demo-title.replaying>span>span:nth-child(3){animation-delay:var(--type-d3)}.demo-title.replaying>span>span:nth-child(4){animation-delay:var(--type-d4)}.demo-title.replaying>span>span:nth-child(5){animation-delay:var(--type-d5)}.demo-title.replaying::after{visibility:hidden;animation:name-caret-show 50ms step-end var(--type-d5) forwards,name-caret-blink var(--type-blink) step-end var(--type-d5) infinite}
@media(max-width:600px){.updates-view{width:calc(100% - 40px)}.update-description{font-size:12px}.update-title{font-size:20px}.demo-controls button{padding:7px 9px}}
@media(max-height:430px){.hero-name.updates-active .landing-menu{top:19%}.updates-view{top:calc(19% + 40px);bottom:calc(48px + env(safe-area-inset-bottom,0px))}.update-entry{gap:4px}.update-demo{gap:4px}.demo-controls button{padding:4px 8px}}
@media(prefers-reduced-motion:reduce){.updates-view,.hero-name.updates-active .updates-view{transition:none}.demo-title::after,.demo-title.replaying::after,.demo-title.replaying>span>span{animation:none;opacity:1;visibility:visible}}
.updates-list{position:absolute;inset:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:20px;background:#090909;border:1px solid #ffffff44}.updates-list a{color:#eee;text-decoration:none;font:14px/1.5 system-ui,sans-serif}.updates-list a:hover{text-decoration:underline}

.compare-stage{max-height:310px}@media(max-width:600px){.compare-stage{max-height:220px}}

.hero-name.updates-active.updates-compact .landing-menu{top:17%}.hero-name.updates-active.updates-compact .updates-view{top:calc(17% + 35px);bottom:calc(48px + env(safe-area-inset-bottom,0px))}
.update-permalink{margin-left:auto}
/* Live specimen: both layers use the same unscaled word geometry. */
.update-copy-link,.specimen-toolbar button,.specimen-compare-controls button,.inspect-actions button{border:1px solid #ffffff55;border-radius:4px;background:rgba(0,0,0,.82);color:#eee;font:12px/1.2 system-ui,sans-serif;padding:6px 10px;cursor:pointer}
.update-copy-link{margin-left:auto;border:0;padding:2px 0;text-decoration:underline;text-underline-offset:3px;color:#bbb;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.copy-status{color:#ddd;font:11px/1.4 system-ui,sans-serif;margin-left:auto;margin-right:12px}.copy-status:empty{display:none}.copy-status:not(:empty)+.update-copy-link{margin-left:0}
.update-copy-link:focus-visible,.specimen-toolbar button:focus-visible,.specimen-compare-controls button:focus-visible,.inspect-actions button:focus-visible,.timeline-row input:focus-visible{outline:2px solid #fff;outline-offset:3px}.specimen-toolbar{display:flex;gap:6px}.specimen-toolbar button[aria-pressed=true],.specimen-toolbar button[aria-expanded=true],.specimen-compare-controls button[aria-pressed=true]{border-color:#eee;background:#282828}.specimen-toolbar button:hover,.specimen-compare-controls button:hover,.inspect-actions button:hover{border-color:white}
.specimen-stage{position:relative;flex:1;min-height:90px;max-height:290px;overflow:hidden;background:rgba(0,0,0,.9);border:1px solid #ffffff45;border-radius:5px;--divider:50%}.specimen-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.specimen-before{display:none}.specimen-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:500 clamp(54px,10vw,80px)/1 system-ui,-apple-system,sans-serif;letter-spacing:0;color:#fff;white-space:nowrap;transform-origin:center}.specimen-letters{display:inline-flex;gap:.08em}.specimen-letters>span{position:relative}.specimen-caret{position:absolute;left:calc(100% + .08em);top:-.15em;animation:name-caret-blink var(--type-blink) step-end infinite}.specimen-after .specimen-letters canvas{position:absolute;left:0;top:0;width:100%;height:calc(100% + .22em);pointer-events:none;display:none}.specimen-after.particle-ready .specimen-letters>span{color:transparent}.specimen-after.particle-ready canvas{display:block}.specimen-after.particle-ready .specimen-caret{top:0;color:transparent;background-image:var(--specimen-caret);background-repeat:no-repeat;background-size:100% 100%}
.update-demo.comparing .specimen-before{display:block;clip-path:inset(0 calc(100% - var(--divider)) 0 0)}.update-demo.comparing .specimen-after{clip-path:inset(0 0 0 var(--divider))}.specimen-divider{position:absolute;top:0;bottom:0;left:var(--divider);width:1px;background:#eee;pointer-events:none;transform:translateX(-50%)}.specimen-divider span{position:absolute;left:50%;top:50%;width:28px;height:28px;transform:translate(-50%,-50%);border:1px solid #eee;border-radius:50%;background:#111}.specimen-divider span::after{content:'\2039  \203a';position:absolute;inset:0;text-align:center;font:17px/25px system-ui;color:white}.specimen-compare{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:none}.specimen-stage:has(.specimen-compare:focus-visible){outline:2px solid #fff;outline-offset:3px}.specimen-compare-controls,.inspect-actions{display:flex;gap:6px}.specimen-compare-controls[hidden],.inspect-controls[hidden],.specimen-compare[hidden],.specimen-divider[hidden]{display:none!important}.inspect-controls{display:flex;flex-direction:column;gap:8px}.timeline-row{display:flex;align-items:center;gap:10px;color:#ddd;font:12px/1.3 system-ui,sans-serif}.timeline-row input{min-width:0;flex:1;accent-color:#ddd}.reveal-output{font-variant-numeric:tabular-nums;white-space:nowrap;color:#aaa}.inspect-actions{justify-content:space-between}
.update-demo.inspecting .specimen-before,.update-demo.inspecting .specimen-divider,.update-demo.inspecting .specimen-compare{display:none}.update-demo.inspecting .specimen-after{clip-path:none}.update-demo.inspecting .specimen-word{transform:translate(-50%,-50%) translateX(var(--inspect-shift,0px)) scale(3);transform-origin:var(--inspect-origin,50%) 50%;transition:transform .32s ease}.specimen-word{transition:transform .32s ease}
@media(max-width:600px){.specimen-stage{max-height:220px}.update-demo.inspecting .specimen-word{transform:translate(-50%,-50%) translateX(var(--inspect-shift,0px)) scale(2.5)}}
@media(max-height:430px){.specimen-stage{min-height:44px}.specimen-toolbar button,.specimen-compare-controls button,.inspect-actions button{padding:4px 8px}.inspect-controls{gap:3px}}
@media(prefers-reduced-motion:reduce){.specimen-word,.update-demo.inspecting .specimen-word{transition:none}.specimen-caret{animation:none;opacity:1}}

.update-demo.inspecting .specimen-letters>span:not(:first-child),.update-demo.inspecting .specimen-caret{visibility:hidden!important}.reveal-state{margin:0;color:#bbb;font:11px/1.3 system-ui,sans-serif;letter-spacing:.06em}.inspect-controls{gap:5px}
.inspect-controls{background:rgba(0,0,0,.82);padding:6px;border-radius:4px}.reveal-state{color:#ddd}
/* Keep the specimen controls reachable when the viewport is very short or zoomed. */
.hero-name.updates-active.updates-compact .landing-menu{top:10%}
.hero-name.updates-active.updates-compact .updates-view{top:calc(10% + 29px);bottom:calc(48px + env(safe-area-inset-bottom,0px))}
.updates-compact .update-entry,.updates-compact .update-demo{gap:4px}.updates-compact .specimen-stage{min-height:34px;max-height:110px}.updates-compact .specimen-toolbar button,.updates-compact .specimen-compare-controls button,.updates-compact .inspect-actions button{padding:4px 8px}.updates-compact .inspect-controls{padding:3px;gap:2px}.updates-compact .timeline-row{gap:5px;font-size:11px}.updates-compact .reveal-state{font-size:10px}.updates-compact .specimen-word{font-size:clamp(28px,6vw,34px)}.updates-compact .update-demo.inspecting .specimen-word{transform:translate(-50%,-50%) translateX(var(--inspect-shift,0px)) scale(1.1)}
/* Project scenes occupy the same foreground area and leave the background mounted. */

.landing-menu{top:33%}

.about-page{display:flow-root}
.about-page p:last-of-type{margin-bottom:0}
.about-crest{display:block;width:56px;height:auto;margin:12px 0 0 auto;max-width:100%}
@media(max-height:430px){.about-crest{width:48px;margin-top:8px}}

/* The opening statement keeps its lettering and one-time reveal on every screen size. */
.hero-name h1.hero-statement{width:min(1050px,calc(100% - 48px));font-size:clamp(30px,5vw,72px);line-height:1.18;display:flex;flex-direction:column;gap:.22em}
.hero-name h1.hero-statement::after{content:none;animation:none}
.hero-name h1.hero-statement>.statement-line{display:flex;flex-wrap:wrap;justify-content:center;gap:.22em .38em}
.hero-name h1.hero-statement>.statement-line>.statement-word{position:relative;display:inline-flex;gap:.08em;opacity:1;animation:none}
.hero-name h1.hero-statement .statement-glyph{position:relative;opacity:0;animation:statement-letter 1ms step-start forwards;animation-delay:calc(var(--reveal-at) + 50ms)}
@keyframes statement-letter{from,to{opacity:1}}
.hero-name h1.hero-statement .statement-glyph[data-reveal-cursor]{animation:statement-letter 1ms step-start forwards,name-caret-blink var(--type-blink) step-end infinite;animation-delay:calc(var(--reveal-end) + 50ms),calc(var(--reveal-end) + 50ms)}
.hero-name.reveal-complete h1.hero-statement .statement-glyph{animation:none;opacity:1}
.hero-name.reveal-complete h1.hero-statement .statement-glyph[data-reveal-cursor]{animation:name-caret-blink var(--type-blink) step-end infinite}
.particle-pending .hero-name h1.hero-statement .statement-glyph,.particle-pending .hero-name h1.hero-statement .statement-glyph[data-reveal-cursor]{animation-play-state:paused}
@media(max-width:380px){.hero-name h1.hero-statement{font-size:26px;width:calc(100% - 32px)}}
@media(max-height:430px){.hero-name h1.hero-statement{font-size:clamp(26px,5vw,36px)}}
@media(prefers-reduced-motion:reduce){.hero-name h1.hero-statement .statement-glyph,.hero-name h1.hero-statement .statement-glyph[data-reveal-cursor],.hero-name.reveal-complete h1.hero-statement .statement-glyph[data-reveal-cursor]{animation:none;opacity:1}}
