.computer-scene{z-index:0;touch-action:none;background:#d9d7e2;position:fixed;inset:0}.computer-scene canvas{width:100%;height:100%;display:block}.workbench[data-start=pending]>.desktop{display:none}.workbench[data-start=pending] .computer-scene{background:#d9d7e2 url(/computer-desk.jpg) 50%/cover no-repeat}.workbench[data-render=ready] .computer-scene{background-image:none}.workbench[data-start=pending] .startup-card:has(.boot-progress[value="12"]),.workbench[data-start=pending] .startup-card:has(.boot-progress[value="55"]){cursor:progress}.control-strip nav{gap:.9rem;display:flex}.system-bar nav,.desktop-icon,.window-bar h1,.window-bar h2,.start-button,.start-reading,.contact-body label,.contact-links a,.section-label,.project-links{font-family:Figtree,system-ui,sans-serif}.window-status,.project-stack li,.about-photo figcaption,.runner-actions,.book-card-copy em,.book-detail-status,.book-detail-collection{font-size:.75rem}.section-label{text-transform:none;font-size:1rem}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline-offset:3px;outline:2px solid #263d99}.desktop-icon:focus-visible{outline-offset:3px;outline:2px solid #fff}.article-shell h1{font-size:2rem;line-height:1.2}.article-shell pre{font-family:IBM Plex Mono,monospace;font-size:.875rem}.article-shell{overflow-wrap:anywhere}.workbench[data-computer=flat] .computer-controls label{display:none}.workbench .desktop :is(a,button,h1,h2,h3,input,textarea,select,label),.workbench .startup :is(button,label){font-family:Figtree,system-ui,sans-serif}.workbench .desktop :is(.window-status,.project-stack li,.about-photo figcaption,.runner-actions,.book-card-copy em,.book-detail-status,.book-detail-collection){font-size:.75rem}.workbench .desktop .section-label{text-transform:none;font-family:Figtree,system-ui,sans-serif;font-size:1rem}.computer-scene[hidden],.computer-controls[hidden],.computer-controls [hidden]{display:none}.computer-controls{z-index:30;backdrop-filter:blur(10px);background:#eeece4ef;border-top:1px solid #a7a397;justify-content:center;align-items:center;gap:.65rem;min-height:48px;padding:.4rem 1rem;font:500 .75rem Figtree,sans-serif;display:flex;position:fixed;bottom:0;left:0;right:0}.computer-controls button,.computer-controls select{color:#232c27;min-height:32px;font:inherit;cursor:pointer;background:#f9f7ee;border:1px solid #8f9284;border-radius:3px;padding:.3rem .7rem}.computer-controls button:hover{background:#d4d9cc}.computer-controls label{align-items:center;gap:.4rem;display:flex}.computer-identity{margin-right:auto;font:500 .75rem IBM Plex Mono,monospace}.computer-status:empty{display:none}.computer-status{z-index:31;background:#f7f5ee;max-width:calc(100% - 2rem);margin:0;padding:.4rem .6rem;font-size:.8rem;position:fixed;bottom:3.5rem;left:1rem}.workbench[data-computer=desk]{background:#d9d7e2}.workbench[data-computer=desk]>.desktop{pointer-events:none}.workbench[data-start=pending][data-computer=desk]>.desktop{visibility:hidden}.workbench:is([data-computer=screen],[data-computer=desk])>.desktop{z-index:2;width:var(--screen-width,84vw);height:var(--screen-height,78vh);transform-origin:0 0;min-height:0;transform:var(--screen-transform);border-radius:12px;position:fixed;top:0;left:0;overflow:hidden;box-shadow:inset 0 0 20px #0004,0 0 12px #aac5ad40}.workbench[data-computer=screen]>.desktop[data-transition=true]{pointer-events:none}.workbench[data-computer=screen] .parable-runner{width:min(calc(var(--screen-width) - 32px),1180px);height:min(calc(var(--screen-height) - 32px),820px)}.workbench[data-computer=screen] .mac-dialog{max-width:calc(var(--screen-width) - 32px);max-height:calc(var(--screen-height) - 32px);overflow:auto}.workbench:is([data-computer=screen],[data-computer=desk]) .mac-window{width:calc(100% - 180px);height:calc(100% - 2rem);max-height:760px;left:calc(50% + 72px);box-shadow:5px 6px #0004}.workbench:is([data-computer=screen],[data-computer=desk]) .desktop-icons{grid-template-columns:repeat(2,65px);gap:.35rem;inset:1rem auto auto .35rem}.workbench:is([data-computer=screen],[data-computer=desk]) .desktop-icon{width:65px;min-height:61px}.workbench:is([data-computer=screen],[data-computer=desk]) .icon-art{width:34px;height:34px}.workbench:is([data-computer=screen],[data-computer=desk]) .project-entry{grid-template-columns:100px minmax(0,1fr)}.workbench:is([data-computer=screen],[data-computer=desk]) .project-entry>div:first-child{grid-column:1/-1;gap:1rem;display:flex}.workbench:is([data-computer=screen],[data-computer=desk]) .project-thumb{grid-row:2}.workbench[data-computer=flat] .computer-scene{display:none}.workbench[data-computer=flat]{height:100svh;padding-bottom:48px}.workbench[data-computer=flat]>.desktop{height:100%}.workbench .startup{color:#e8eee8;pointer-events:auto;isolation:isolate;background:#030503;place-items:center;padding:clamp(1rem,4vw,3rem);transition:opacity .35s,transform .35s;overflow:auto}.workbench .startup:before{z-index:-1;content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#8ba28d0a 3px 4px);position:absolute;inset:0}.workbench .startup-card{color:#e8eee8;text-align:left;pointer-events:auto;background:#050805;border:2px solid #cbd5cc;width:min(680px,94vw);padding:clamp(1.35rem,4vw,2.5rem);box-shadow:0 0 0 6px #050805,0 0 0 7px #667269,0 18px 55px #0008}.startup-wordmark{letter-spacing:.08em;color:#a9c0ad;margin:0 0 .45rem;font:600 .8rem IBM Plex Mono,monospace}.workbench .startup-card h1{color:#f6f8f5;margin:0;font-family:Figtree,sans-serif;font-size:1.25rem}.boot-release{color:#9ca99f;margin:.25rem 0 1.4rem;font:500 .75rem IBM Plex Mono,monospace}.boot-log{gap:.38rem;margin:1.2rem 0;padding:0;font:500 clamp(.75rem,2vw,.9rem)/1.45 IBM Plex Mono,monospace;list-style:none;display:grid}.boot-log[hidden],.boot-log li[hidden]{display:none}.boot-log li{justify-content:space-between;gap:1.5rem;animation:.14s steps(2,end) both boot-line-in;display:flex}.boot-log li span{color:#a8d6ae}@keyframes boot-line-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.boot-status{color:#b9c4bb;min-height:1.3em;margin:1rem 0 .45rem;font:500 .75rem IBM Plex Mono,monospace}.boot-progress{accent-color:#9fbea5;background:#263029;border:0;width:100%;height:4px;margin:0 0 1rem;display:none}.startup[data-phase=booting] .boot-progress{display:block}.boot-progress::-webkit-progress-bar{background:#263029}.boot-progress::-webkit-progress-value{background:#9fbea5}.boot-command{color:#f2f5f2;margin:0 0 1.35rem;font:500 clamp(.75rem,2vw,.9rem)/1.5 IBM Plex Mono,monospace}.boot-command>span:first-child{color:#8eb497}.boot-command i{font-style:normal;animation:.8s step-end infinite terminal-caret}@keyframes terminal-caret{50%{opacity:0}}.boot-actions{align-items:center;gap:1.1rem;display:flex}.workbench .start-button{color:#101510;background:#e9eee8;border-color:#e9eee8;box-shadow:4px 4px #667269}.start-reading{color:#c9d7cc;cursor:pointer;background:0 0;border:0;margin:0;padding:.45rem 0;font-size:.875rem;text-decoration:underline;display:inline-block}.startup-audio{color:#d3d9d4;align-items:start;gap:.55rem;margin-top:1.35rem;font:400 .8rem/1.45 Figtree,sans-serif;display:flex}.startup-audio input{accent-color:#8eb497;flex-shrink:0;margin-top:.2rem}.workbench .startup-hint{color:#8e9a91;margin:1rem 0 0;font:500 .75rem IBM Plex Mono,monospace}.startup[data-phase=booting] :is(.boot-actions,.startup-audio,.startup-hint){display:none}.startup[data-phase=launching] .boot-command i{animation-duration:.22s}.startup[data-leaving=true]{opacity:0;pointer-events:none;transform:scale(1.018)}@media (width<=1000px){.computer-identity{display:none}.computer-controls{flex-wrap:wrap;gap:.3rem;min-height:80px;padding:.3rem}.computer-controls button,.computer-controls select{min-height:34px;padding:.25rem .5rem}.computer-controls label{font-size:.75rem}.workbench .startup{place-items:center;padding:1rem}.workbench .startup-card{padding:1.25rem}.startup-card h1{margin:0}.startup-wordmark{margin-bottom:.35rem}.startup-version{display:none}.boot-status{margin:.7rem 0 .3rem}.boot-progress{margin-bottom:.7rem}.workbench[data-computer=flat]{height:auto;min-height:100svh;padding-bottom:90px}.workbench[data-computer=flat]>.desktop{min-height:calc(100svh - 90px)}}@media (prefers-reduced-motion:reduce){.workbench[data-computer=screen]>.desktop{transition:none}}@media (width<=1000px){.workbench .system-bar nav{height:auto}.workbench[data-computer=desk]>.desktop{grid-template-rows:34px minmax(0,1fr) 32px}.workbench[data-computer=desk] .system-bar{flex-wrap:nowrap;min-height:34px}.workbench[data-computer=desk] .system-bar nav{border:0;order:0;width:auto;height:100%;display:flex}.workbench[data-computer=desk] .system-bar nav a,.workbench[data-computer=desk] .system-bar nav button{border:0;min-height:0;padding:0 .75rem}.workbench[data-computer=desk] .desktop-field{display:block;overflow:hidden}.workbench[data-computer=desk] .desktop-icons{border:0;padding:0;position:absolute;inset:1rem auto auto .5rem}.workbench[data-computer=desk] .mac-window{min-height:0;margin:0;position:absolute;top:50%!important;left:calc(50% + 55px)!important;transform:translate(-50%,-50%)!important}.workbench[data-computer=desk] .window-content{overflow:auto}.workbench[data-computer=desk] .about-grid{grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr)}}.workbench .system-mark{letter-spacing:-.035em;width:auto;min-width:54px;padding:0 .55rem;font-family:Figtree,sans-serif}.workbench[data-power=warming][data-start=pending]>.desktop{visibility:visible;animation:.65s ease-out both crt-warmup}@keyframes crt-warmup{0%{clip-path:inset(49.8% 12%);filter:brightness(1.6)}45%{clip-path:inset(35% 0);filter:brightness(1.2)}to{clip-path:inset(0);filter:brightness()}}.mac-dialog[open],.parable-runner[open]{animation:.18s ease-out app-open}@keyframes app-open{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0}}.workbench .app-dialog{background:#f7f5ed;width:min(850px,100vw - 32px);padding:0}.app-dialog .app-body{max-height:65vh;padding:1.2rem;overflow:auto}.app-dialog[hidden],.app-dialog [hidden]{display:none!important}.photos-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.photo-item{text-align:left;font:inherit;cursor:pointer;color:#252a25;background:#fff;border:1px solid #9d9f93;min-width:0;padding:.35rem}.photo-item img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:.4rem;display:block}.photo-item span{padding:.3rem;font-size:.85rem;display:block}.photo-viewer{margin:0}.photo-viewer img{object-fit:contain;max-width:100%;max-height:51vh;margin:auto;display:block}.photo-viewer figcaption{margin-top:.7rem;font-size:.9rem}.photo-tools{justify-content:space-between;gap:.4rem;margin-top:1rem;display:flex}.photo-tools button,.document-toolbar a{font:500 .8rem Figtree,sans-serif}.photo-tools button{color:#26322c;cursor:pointer;background:#e7e8df;border:1px solid #999d91;padding:.5rem}.document-dialog[open]{flex-direction:column;height:min(780px,80vh);display:flex}.document-dialog>iframe{background:#eeece5;border:0;flex:1;width:100%;min-height:120px}.document-toolbar{border-bottom:1px solid #a8aa9e;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.75rem;display:flex}.document-toolbar label{font-size:.85rem;font-weight:600}.books-dialog[open]{flex-direction:column;width:min(1040px,100vw - 32px);height:min(820px,88vh);display:flex;overflow:hidden}.books-app{background:#ede9df;flex:1;min-height:0;overflow:auto}.books-index,.book-detail{min-height:100%;padding:clamp(1rem,3vw,2rem)}.books-intro{border-bottom:2px solid #273630;grid-template-columns:minmax(0,1fr) minmax(240px,34rem);align-items:end;column-gap:2rem;margin-bottom:1.5rem;padding-bottom:1rem;display:grid}.books-kicker{text-transform:uppercase;letter-spacing:.08em;color:#51645c;grid-column:1/-1;margin:0 0 .35rem;font:600 .72rem IBM Plex Mono,monospace}.books-intro h3{margin:0;font-size:1.25rem}.books-intro>p:last-child{color:#565852;margin:0}.book-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;display:grid}.book-card{color:#202824;text-align:left;min-width:0;font:inherit;background:#f8f6ee;border:1px solid #9a998e;padding:.45rem;transition:transform .16s,box-shadow .16s;box-shadow:3px 3px #c4c0b4}.book-card:hover,.book-card:focus-visible{transform:translateY(-3px);box-shadow:5px 7px #aba89e}.book-cover{aspect-ratio:2/3;background:#fff;display:block;overflow:hidden}.book-cover img{object-fit:contain;width:100%;height:100%;display:block}.book-credit{color:#666;margin:1.5rem 0 0;font-size:.75rem}.book-card-copy{gap:.18rem;padding:.55rem .2rem .15rem;display:grid}.book-card-copy strong{font-size:.88rem;line-height:1.25}.book-card-copy span{color:#5d5c56;font-size:.75rem}.book-card-copy em,.book-detail-status{color:#30473d;background:#dce4d7;border:1px solid #687b71;width:max-content;padding:.08rem .32rem;font:600 .65rem IBM Plex Mono,monospace}.book-detail{background:#f5f1e7;overflow:auto}.book-back{color:#23332c;background:#e1e5dc;border:1px solid #7d8279;margin-bottom:1.5rem;padding:.4rem .65rem;font:600 .75rem IBM Plex Mono,monospace}.book-detail-hero{grid-template-columns:minmax(180px,300px) minmax(0,1fr);align-items:end;gap:clamp(1.3rem,4vw,3rem);max-width:840px;margin:0 auto 2rem;display:grid}.book-detail-hero img{object-fit:contain;background:#fff;border:1px solid #777;width:100%;height:auto;max-height:min(55vh,540px);display:block;box-shadow:10px 12px #c2b9a8}.book-detail-collection{text-transform:uppercase;color:#57675f;margin:0 0 .6rem;font:600 .72rem IBM Plex Mono,monospace}.book-detail-hero h3{margin:0;font-size:1.25rem}.book-detail-author{color:#555;margin:.35rem 0 1rem;font-size:1rem}.book-detail-copy{border-top:2px solid #293a32;max-width:760px;margin:0 auto;padding-top:1.2rem}.book-detail-copy h4{margin:1.2rem 0 .35rem;font-size:1rem}.book-detail-copy p{margin:0;font-size:1rem;line-height:1.65}.icon-photos{background:#b2bda5}.icon-books{background:#c1a685}.icon-parable{background:#e4e1d1}.workbench .click-wheel .music-previous,.workbench .click-wheel .music-next{background:0 0;border:0;width:34px;height:34px;min-height:34px;font-size:.8rem;position:absolute;top:calc(50% - 17px)}.workbench .click-wheel .music-previous{left:8px;transform:none}.workbench .click-wheel .music-next{left:auto;right:8px;transform:none}.music-volume{align-items:center;gap:.8rem;margin:1rem 0;font-size:.85rem;display:flex}.music-volume input{accent-color:#365e59;width:100%}.workbench .startup-hint{color:#626b62}@media (width<=700px){.photos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.app-dialog .app-body{padding:.7rem}.document-dialog[open]{height:75svh}.photo-tools button{padding:.45rem .3rem;font-size:.75rem}.computer-status{bottom:6rem}.workbench .system-mark{min-height:32px}.books-dialog[open]{height:86svh}.books-index,.book-detail{padding:.85rem}.books-intro{display:block}.books-intro>p:last-child{margin-top:.5rem}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.book-detail-hero{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:1rem}.book-detail-hero img{box-shadow:5px 6px #c2b9a8}}@media (prefers-reduced-motion:reduce){.workbench[data-power=warming]>.desktop,.mac-dialog[open],.parable-runner[open]{animation:none}}@media (width<=760px){.workbench[data-computer=flat] .desktop-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.65rem .5rem}.workbench[data-computer=flat] .desktop-icon{min-height:64px;font:600 .75rem/1.2 Figtree,sans-serif}.workbench[data-computer=flat] .icon-art{width:34px;height:34px}}@media (width>=380px) and (width<=760px){.workbench[data-computer=flat] .desktop-icons{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=761px) and (width<=1000px){.workbench[data-computer=flat] .desktop-icons{grid-template-columns:repeat(2,62px);gap:.5rem .35rem}.workbench[data-computer=flat] .desktop-icon{width:62px;font:600 .75rem/1.2 Figtree,sans-serif}.workbench[data-computer=flat] .icon-art{width:34px;height:34px}}@media (width<=760px){.workbench[data-computer=flat] .system-bar nav{grid-template-columns:repeat(3,minmax(0,1fr));font-size:.875rem;overflow:visible}.workbench[data-computer=flat] .system-bar nav a,.workbench[data-computer=flat] .system-bar nav button{min-width:0;min-height:44px;padding:.35rem .2rem}.workbench[data-computer=flat] .desktop-icons{border-top:1px solid #222;border-bottom:0;order:2;grid-template-columns:repeat(4,minmax(0,1fr));padding:1rem .5rem}.workbench[data-computer=flat] .desktop-icons>a,.workbench[data-computer=flat] .desktop-icons>[data-open-contact]{display:none}.workbench[data-computer=flat] .mac-window{order:1;min-height:0;margin:.5rem}.workbench[data-computer=flat] .restore-window{align-self:center;margin:2rem 1rem;position:relative;inset:auto;transform:none}.workbench[data-computer=flat] .window-content{overscroll-behavior:auto;padding:1rem}.workbench[data-computer=flat] .control-strip{height:auto;min-height:42px;font-family:Figtree,sans-serif;font-size:.75rem}.workbench[data-computer=flat] .control-strip>span{display:none}.workbench[data-computer=flat]{padding-bottom:52px}.workbench[data-computer=flat]>.desktop{grid-template-rows:auto 1fr auto;min-height:calc(100svh - 52px)}.workbench[data-computer=flat] .computer-controls{min-height:48px}.workbench[data-computer=flat] .computer-controls button{min-height:40px;padding:.4rem .8rem}.workbench .startup{place-items:center;padding:1rem}.workbench .startup-card{width:min(680px,100%);padding:1.2rem}.workbench[data-start=pending] .computer-scene{background-position:60% 0;background-size:auto 70%}.startup-audio{margin-top:1rem}.start-reading{min-height:44px;margin:0;font-family:Figtree,sans-serif;font-size:.875rem}.window-bar h1,.window-bar h2{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:.875rem}.window-control{width:26px;height:26px}.mac-dialog .window-bar,.parable-runner .window-bar{grid-template-columns:44px minmax(0,1fr) 44px;min-height:44px}.mac-dialog .window-control,.parable-runner .window-control{width:30px;height:30px}.mac-dialog{max-height:calc(100svh - 24px);overflow:auto}.contact-actions{flex-wrap:wrap}.contact-body input,.contact-body textarea{font:400 1rem Figtree,sans-serif}.article-shell h1{font-size:1.65rem}}
