@charset "UTF-8";
:root{color-scheme:light;--bg:#fafaf7;--paper:#fff;--ink:#242721;--muted:#64695f;--line:#d9dcd2;--blue:#254cda;--blue-wash:#edf0ff;--grid:#d4dbe9;--shadow:#dce0d4;--green:#52824f;--serif:Georgia,'Times New Roman',serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}
:root[data-theme=dark]{color-scheme:dark;--bg:#171b1d;--paper:#202528;--ink:#edf0e8;--muted:#aab2a8;--line:#3c4545;--blue:#97afff;--blue-wash:#222f49;--grid:#344453;--shadow:#101416;--green:#9acb88}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#171b1d;--paper:#202528;--ink:#edf0e8;--muted:#aab2a8;--line:#3c4545;--blue:#97afff;--blue-wash:#222f49;--grid:#344453;--shadow:#101416;--green:#9acb88}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:'';display:block;height:5px;background:var(--blue)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--blue)}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:var(--blue);color:var(--bg)}[hidden]{display:none!important}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1{letter-spacing:-.055em}h2{font-size:1.75rem;letter-spacing:-.04em}h3{font-size:1.3rem;letter-spacing:-.025em}.blue{color:var(--blue)}.site-shell{max-width:1200px;margin:auto;padding:0 48px}.site-header{display:flex;align-items:center;gap:32px;padding:30px 0;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:14px;align-items:center;text-decoration:none;font-weight:650;font-size:1.05rem;letter-spacing:-.035em}.wordmark-sub{display:block;font-family:var(--mono);font-size:.75rem;color:var(--muted);font-weight:400;letter-spacing:0}.monogram{height:46px;width:46px;background:var(--blue);color:var(--bg);font:italic bold 29px var(--serif);position:relative;display:grid;place-items:center;line-height:1;letter-spacing:-4px}.monogram span{position:absolute;font:12px var(--mono);right:4px;top:2px;letter-spacing:0}.site-header nav{margin-left:auto;display:flex;gap:30px;align-items:center;font-size:.9rem}.site-header nav a{text-decoration:none;position:relative}.site-header nav a[aria-current]{color:var(--blue)}.site-header nav a[aria-current]:after{content:'';height:4px;width:4px;border-radius:50%;background:var(--blue);display:block;position:absolute;left:50%;bottom:-9px}.theme-toggle{border:1px solid var(--line);background:transparent;border-radius:50%;width:36px;height:36px;padding:0;font-size:23px;line-height:1}.theme-toggle:hover{background:var(--blue-wash)}.home-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:54px;padding:68px 0 58px}.eyebrow,.small-label{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;color:var(--muted)}.eyebrow{margin-bottom:23px;display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0}.intro-copy h1{font-size:clamp(2.6rem,4.5vw,3.85rem);font-weight:550;line-height:1.04;margin-bottom:26px}.serif-line{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.052em}.intro-lead{font-size:1.075rem;margin-bottom:9px;max-width:400px}.intro-description{font-size:1rem;color:var(--muted);max-width:400px;margin-bottom:23px}.text-link{display:inline-flex;gap:22px;font-size:.9rem;color:var(--blue);text-decoration:none;background:transparent;border:0;padding:0;border-bottom:1px solid var(--blue);line-height:1.9}.intro-art{position:relative;padding:12px 0 26px;transform:rotate(2deg)}.art-window{border:1px solid var(--blue);background:var(--paper);box-shadow:7px 7px 0 var(--shadow);overflow:hidden;border-radius:5px}.window-bar{height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border-bottom:1px solid var(--blue);font:10px var(--mono);color:var(--blue)}.window-bar>span:first-child{display:flex;gap:4px}.window-bar i{width:6px;height:6px;border:1px solid var(--blue);border-radius:50%}.art-canvas{height:265px;position:relative;display:grid;place-items:center;overflow:hidden;background-color:var(--blue-wash);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px}.planet{height:170px;width:170px;border:1.5px solid var(--blue);border-radius:50%;position:relative;transform:rotate(-22deg);background:var(--blue-wash);box-shadow:inset -18px -8px 0 color-mix(in srgb,var(--blue) 9%,transparent)}.planet-line{border:1px solid var(--blue);border-radius:50%;position:absolute;height:100%;left:50%;top:0;transform:translateX(-50%)}.planet-line.one{width:35%}.planet-line.two{width:73%}.planet-line.three{width:1px}.planet-equator{position:absolute;border:1px solid var(--blue);width:100%;height:40%;border-radius:50%;top:30%}.planet:before,.planet:after{content:'';position:absolute;left:11%;width:78%;height:20%;border:1px solid var(--blue);border-radius:50%}.planet:before{top:12%}.planet:after{bottom:12%}.orbit{position:absolute;width:285px;height:102px;border:1px dashed var(--blue);border-radius:50%;transform:rotate(-28deg);opacity:.6}.orbit-two{width:275px;height:220px;transform:rotate(35deg);opacity:.2}.art-star{position:absolute;color:var(--blue);z-index:2}.star-one{font-size:49px;top:12px;right:32px;animation:slow-turn 40s linear infinite}.star-two{font:32px var(--mono);left:34px;bottom:44px}.coordinate{position:absolute;right:12px;bottom:15px;font:10px var(--mono);letter-spacing:1px;color:var(--blue)}.art-spark{position:absolute;left:26px;top:44px;color:var(--blue);font-size:22px}.window-status{display:flex;align-items:center;gap:7px;padding:10px;font:10px var(--mono);color:var(--muted)}.window-status>span:last-child{margin-left:auto}.art-note{display:block;font:italic 18px var(--serif);text-align:center;margin-top:19px;color:var(--muted);transform:rotate(-4deg)}.status-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:25px;align-items:center;padding:16px 0}.status-strip>span{color:var(--blue);flex-shrink:0}.status-strip p{font-size:.9rem;margin:0}.status-strip a{margin-left:auto;white-space:nowrap;font-size:.8rem;text-decoration:none;color:var(--muted)}.home-columns{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:44px;padding:44px 0 66px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{margin:0}.section-heading>a{font-size:.8rem;white-space:nowrap;text-decoration:none;color:var(--muted)}.section-intro{color:var(--muted);font-size:.9rem;margin:10px 0 24px}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.entry-card{min-width:0;border:1px solid var(--line);background:var(--paper);padding:23px 21px 17px;display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}.entry-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:3px 4px 0 var(--shadow)}.entry-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font: .7rem var(--mono);color:var(--muted);margin-bottom:25px;flex-wrap:wrap}.kind-label{color:var(--blue);display:inline-flex;gap:6px;align-items:center}.kind-label>span{font-size:16px}.entry-card h3{margin-bottom:13px}.entry-card h3 a{text-decoration:none}.entry-arrow{font-weight:400;color:var(--blue);font-size:1rem;display:inline-block}.entry-card>p{font-size:.9rem;line-height:1.65;color:var(--muted);margin-bottom:24px}.entry-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;line-height:1.4}.source-link{font: .75rem var(--mono);text-decoration:none;overflow-wrap:anywhere;color:var(--muted)}.entry-bottom .small-label{font-size:.7rem;letter-spacing:0}.entry-image{margin:0 0 20px;display:block}.entry-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.link-shelf{border-top:3px solid var(--blue);padding:22px 0 0}.link-shelf>.eyebrow{margin-bottom:18px;font-size:.7rem;color:var(--blue)}.link-shelf h2{font-size:1.95rem;line-height:1.13;margin-bottom:23px;font-weight:500}.link-shelf h2 em{font-family:var(--serif);font-weight:400}.link-shelf>a{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:17px 0;text-decoration:none}.link-shelf>a>span:last-child{margin-left:auto;color:var(--muted)}.link-shelf strong{display:block;font-size:.9rem;font-weight:550}.link-shelf small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.shelf-icon{font-size:18px;color:var(--blue);border:1px solid var(--line);width:33px;height:33px;display:grid;place-items:center;flex-shrink:0}.zardoz-note{border:1px solid var(--line);background:var(--blue-wash);margin:23px 0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;text-align:center;text-decoration:none}.zardoz-note img{height:105px;width:115px;object-fit:contain;transition:transform .3s;filter:grayscale(1)}.zardoz-note:hover img{transform:translateY(-5px) rotate(-5deg)}.zardoz-note .small-label{font-size:.6rem;letter-spacing:.05em}.zardoz-note strong{font:italic 18px var(--serif);font-weight:400}.web-badges{display:flex;gap:8px;justify-content:space-between}.web-badges>span,.web-badges>a{display:block;border:1px solid var(--muted);padding:4px 7px;font:8px var(--mono);letter-spacing:.08em;line-height:1.45;text-decoration:none;text-align:center}.web-badges b{font-size:10px;font-weight:600}.web-badges>:nth-child(2){background:var(--blue);border-color:var(--blue);color:var(--bg)}.site-footer{border-top:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;align-items:center;padding:25px 0 30px;font-size:.75rem;color:var(--muted)}.site-footer>div{display:flex;align-items:center;gap:23px}.site-footer a{text-decoration:none}.footer-name{font:italic 19px var(--serif);color:var(--blue);white-space:nowrap}.footer-name span{font:14px var(--mono);margin-left:8px}.page-heading{padding:58px 0 32px}.page-heading h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:500;margin-bottom:20px}.page-heading>p:last-child{color:var(--muted);font-size:1.1rem}.notebook-controls{display:flex;justify-content:space-between;gap:18px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{border:0;background:transparent;padding:8px 13px;font-size:.85rem;border-radius:3px}.filters button[aria-pressed=true]{background:var(--blue);color:var(--bg)}.filters button:hover:not([aria-pressed=true]){background:var(--blue-wash)}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);padding:4px 12px}.search-box>span{color:var(--blue);font-size:24px;line-height:1}.search-box input{background:transparent;border:0;color:var(--ink);font-size:.9rem;min-width:0;max-width:185px;padding:5px 0}.result-count{margin:23px 0 16px;font-size:.75rem}.notebook-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:70px}.empty-state{padding:50px 20px 80px;text-align:center;border:1px dashed var(--line);margin-bottom:60px;grid-column:1/-1}.empty-state p{color:var(--muted)}.empty-symbol{display:block;font-size:40px;color:var(--blue);margin-bottom:20px}.reading-shell{max-width:740px;margin:0 auto;padding:52px 0 80px;min-height:65vh}.reading-shell .page-heading{padding-top:0}.back-link{font-size:.85rem;color:var(--muted);text-decoration:none}.article-heading{margin:45px 0 30px}.article-heading .eyebrow{font-size:.75rem;flex-wrap:wrap}.article-heading h1{font-size:clamp(2.3rem,5vw,3.9rem);font-weight:500}.article-summary{font-size:1.25rem;color:var(--muted)}.prose{font-size:1.05rem;line-height:1.85;overflow-wrap:anywhere}.prose p{margin:0 0 1.5em}.prose a{color:var(--blue)}.prose h2,.prose h3{margin-top:1.75em}.prose blockquote{border-left:3px solid var(--blue);padding:10px 25px;margin:30px 0;background:var(--blue-wash)}.prose blockquote p:last-child{margin:0}.prose pre{background:var(--blue-wash);padding:20px;overflow-x:auto;font-size:.85rem}.prose code{font-family:var(--mono)}.prose table{display:block;overflow-x:auto;border-collapse:collapse}.prose td,.prose th{border:1px solid var(--line);padding:8px 12px}.prose img{margin:25px auto}.prose details{padding:20px 0;border-top:1px solid var(--line)}.prose summary{cursor:pointer;margin-bottom:10px}.visit-link{background:var(--blue);color:var(--bg);display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 22px;text-decoration:none;margin-bottom:35px;overflow-wrap:anywhere}.visit-link:hover{color:var(--bg);filter:brightness(1.1)}.article-image{margin:0 0 35px}.article-image img{width:100%;max-height:650px;object-fit:contain;background:var(--blue-wash)}figcaption{font-size:.85rem;color:var(--muted);margin-top:10px}.article-footer{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.copy-link{margin-left:auto;border:1px solid var(--line);padding:8px 15px;background:transparent;font-size:.85rem}.article-footer [role=status]{font-size:.8rem;color:var(--muted)}.large-copy{font-size:1.5rem;line-height:1.5}.about-status{background:var(--blue-wash);padding:25px;margin:35px 0}.about-status p:last-child{margin:0}.about-status .eyebrow{margin-bottom:10px}.skip-link{position:fixed;left:15px;top:-100px;padding:10px 20px;background:var(--blue);color:var(--bg);z-index:5}.skip-link:focus{top:10px}@keyframes slow-turn{to{transform:rotate(360deg)}}
@media(min-width:1500px){.site-shell{max-width:1280px}.home-intro{gap:85px;padding-top:80px;padding-bottom:70px}.art-canvas{height:300px}.home-columns{grid-template-columns:minmax(0,1fr) 310px;gap:55px}}
@media(max-width:950px){.site-shell{padding:0 30px}.home-intro{gap:32px}.intro-copy h1{font-size:2.9rem}.home-columns{grid-template-columns:minmax(0,1fr) 245px;gap:28px}.entry-grid{grid-template-columns:1fr}.notebook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.art-canvas{height:245px}.entry-meta{margin-bottom:18px}.site-footer>div{gap:15px}.site-footer>div:first-child>span{max-width:230px}.window-status{font-size:8px}}
@media(max-width:680px){.site-shell{padding:0 22px}.site-header{gap:16px;padding:23px 0;flex-wrap:wrap}.wordmark-sub{font-size:.65rem}.wordmark{gap:10px}.monogram{width:39px;height:39px;font-size:26px}.site-header nav{gap:17px;font-size:.85rem;order:3;width:100%;justify-content:center;padding-top:9px}.theme-toggle{margin-left:auto}.home-intro{grid-template-columns:1fr;padding:42px 0 32px;gap:28px}.intro-copy h1{font-size:clamp(2.65rem,10vw,3.65rem)}.intro-copy .eyebrow{font-size:.65rem;letter-spacing:.04em}.intro-art{width:90%;max-width:380px;justify-self:center}.art-canvas{height:235px}.intro-description,.intro-lead{max-width:100%}.status-strip{gap:8px 15px;flex-wrap:wrap;padding:16px 0}.status-strip p{flex:1;min-width:180px;font-size:.85rem}.status-strip a{margin-left:0;display:none}.home-columns{grid-template-columns:1fr;padding:34px 0 44px;gap:40px}.entry-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr}.link-shelf h2 br{display:none}.link-shelf h2 em{margin-left:5px}.zardoz-note{margin:15px 0 22px}.web-badges{justify-content:center;gap:12px}.site-footer{align-items:flex-start;flex-direction:column;gap:18px}.site-footer>div:first-child>span{max-width:none}.site-footer>div:last-child{gap:24px}.page-heading{padding-top:40px}.notebook-controls{gap:15px}.filters{gap:3px}.filters button{padding:8px 10px;font-size:.8rem}.search-box{width:100%}.search-box input{max-width:none;width:100%}.reading-shell{padding-top:35px}.article-heading{margin-top:30px}.notebook-grid{padding-bottom:40px}.entry-meta{font-size:.75rem}.section-heading>a{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.entry-card:hover{transform:none}}
@media print{.site-header nav,.theme-toggle,.notebook-controls,.copy-link,.intro-art,.site-footer{display:none!important}.site-shell{max-width:none;padding:0}.entry-card{break-inside:avoid;box-shadow:none}.home-columns{display:block}.sidebar{display:none}body{background:white;color:black}}

/* A little of the old internet leaks through. */
:root{--accent:#af3979;--glow:#94a5ff}
body{isolation:isolate}.site-shell{position:relative;z-index:1}.ambient-field{position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 85% 10%,#7354e41f,transparent 45%),radial-gradient(ellipse at 0 70%,#31bca014,transparent 40%);animation:ambient-drift 25s ease-in-out infinite alternate}.site-header{gap:22px}.motion-toggle{font:11px var(--mono);padding:7px 9px;background:transparent;border:1px solid var(--line);border-radius:3px;white-space:nowrap;color:var(--muted)}.motion-toggle:hover{color:var(--blue);border-color:var(--blue)}.wordmark:hover .monogram{transform:rotate(-8deg)}.monogram{transition:transform .25s}.serif-line{color:var(--blue)}.intro-copy h1{line-height:1.08}.intro-art{transform:rotate(3deg)}[data-tilt]{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease,box-shadow .25s ease,border-color .25s}.signal-window{transform:perspective(1000px) rotate(3deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.art-window{border-color:var(--ink);box-shadow:9px 10px 0 var(--shadow),10px 11px 0 var(--ink);border-radius:7px}.window-bar{color:var(--ink);border-color:var(--ink);background:var(--paper)}.window-bar i:first-child{background:#d68ba6;border-color:#ae5279}.window-bar i:nth-child(2){background:#e6c176;border-color:#b09242}.window-bar i:nth-child(3){background:#87bda7;border-color:#538b74}.signal-canvas{--signal-a:#4c217e;--signal-b:#ce6caa;--signal-c:#101d43;height:320px;position:relative;overflow:hidden;background:var(--signal-c);transition:background .6s;isolation:isolate}.signal-canvas[data-signal=cyber]{--signal-a:#13625c;--signal-b:#8edeb2;--signal-c:#071d2e}.signal-canvas[data-signal=magma]{--signal-a:#923c33;--signal-b:#ffc486;--signal-c:#321a37}.signal-clouds{position:absolute;inset:-45%;background:radial-gradient(ellipse at 35% 45%,var(--signal-a) 0,transparent 55%),radial-gradient(ellipse at 68% 60%,var(--signal-b),transparent 50%),radial-gradient(ellipse at 45% 78%,var(--signal-a),transparent 45%);filter:blur(22px);animation:signal-flow 15s ease-in-out infinite alternate;opacity:.95}.signal-canvas:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 3px,#0000000b 3px 4px);pointer-events:none;z-index:4}.signal-grid{position:absolute;left:-50%;bottom:-45%;width:200%;height:80%;background-image:linear-gradient(#dcc5ff55 1px,transparent 1px),linear-gradient(90deg,#dcc5ff55 1px,transparent 1px);background-size:30px 30px;transform:perspective(220px) rotateX(55deg);animation:grid-travel 5s linear infinite}.signal-coordinate{position:absolute;left:18px;top:18px;font:10px var(--mono);color:#e4d3f3;letter-spacing:.14em;z-index:2}.floating-zardoz{position:absolute;inset:35px 45px 43px;display:grid;place-items:center;animation:zardoz-float 6s ease-in-out infinite;z-index:3}.floating-zardoz img{width:auto;height:220px;max-width:100%;object-fit:contain;filter:drop-shadow(0 25px 18px #130c3866);transition:filter .35s,scale .35s}.floating-zardoz:hover img{scale:1.08;filter:drop-shadow(0 0 25px #e9c4ff88)}.signal-star{position:absolute;right:24px;top:40px;font-size:44px;color:#f2d9c2;animation:slow-turn 35s linear infinite}.signal-caption{position:absolute;bottom:19px;left:0;right:0;text-align:center;letter-spacing:.23em;color:#f1eaf7;font:11px var(--mono);z-index:3}.signal-controls{display:flex;gap:12px;align-items:center;padding:14px 12px;background:var(--paper);border-top:1px solid var(--ink)}.signal-controls label,.signal-controls output{font:10px var(--mono);letter-spacing:.05em;white-space:nowrap}.signal-controls output{width:42px;color:var(--blue)}.signal-controls input{accent-color:var(--accent);width:100%;min-width:40px;cursor:ew-resize}.window-status{border-top:1px dashed var(--line)}.home-columns{gap:40px}.entry-card{background:color-mix(in srgb,var(--paper) 94%,transparent);position:relative;overflow:hidden;border-radius:4px}.entry-card:hover{transform:perspective(1000px) translateY(-4px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:5px 7px 0 var(--shadow)}.entry-card:after,.service-panel:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(260px circle at var(--shine-x,50%) var(--shine-y,0%),#afa0ff20,transparent);opacity:0;transition:opacity .3s}.entry-card:hover:after,.service-panel:hover:after{opacity:1}.kind-post{border-top:3px solid var(--blue)}.kind-image{border-top:3px solid var(--accent)}.kind-project{border-top:3px solid var(--green)}.kind-bookmark{grid-column:1/-1;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:18px;align-items:start;border-left:4px solid var(--accent);padding:22px;background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 6%,var(--paper)),var(--paper))}.bookmark-symbol{display:grid;place-items:center;width:42px;height:42px;background:var(--blue-wash);color:var(--blue);border:1px solid var(--line);font-size:25px;text-decoration:none;transition:background .2s,color .2s,transform .2s}.kind-bookmark:hover .bookmark-symbol{transform:rotate(-8deg);background:var(--blue);color:var(--bg)}.bookmark-copy{min-width:0}.bookmark-copy .entry-meta{margin-bottom:10px;justify-content:flex-start;gap:12px;overflow-wrap:anywhere}.bookmark-copy h3{margin-bottom:8px}.bookmark-copy p{font-size:.9rem;color:var(--muted);margin-bottom:8px}.bookmark-notes{font:12px var(--mono);color:var(--muted);text-decoration:none}.bookmark-date{font:11px var(--mono);color:var(--muted);padding-top:5px}.entry-image{position:relative;overflow:hidden;background:var(--blue-wash)}.entry-image img{transition:transform .5s ease;object-fit:contain}.entry-image:hover img{transform:scale(1.04)}.photo-peek{position:absolute;bottom:10px;right:10px;background:var(--paper);color:var(--blue);font:11px var(--mono);padding:5px 9px;border:1px solid var(--line);box-shadow:2px 2px 0 var(--shadow)}.album-count{font:12px var(--mono);color:var(--blue);display:block;margin-top:8px}.margin-note{margin:35px 0 25px;padding:15px 10px;transform:rotate(-4deg);text-align:center}.margin-note>span{font-size:40px;color:var(--accent);display:inline-block;animation:slow-turn 45s linear infinite}.margin-note p{font:italic 23px/1.4 var(--serif);margin:5px 0 15px}.margin-note a{font:12px var(--mono);color:var(--muted)}.web-badges a:hover{transform:rotate(5deg)}.link-shelf>a{transition:padding .2s}.link-shelf>a:hover{padding-left:8px}.personal-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-panel{position:relative;overflow:hidden;border:1px solid #66537c;background:linear-gradient(135deg,#20162f,#102934);border-radius:8px;padding:28px;color:#f4ecfa;box-shadow:6px 7px 0 var(--shadow)}.service-panel .eyebrow{color:#bdb0cf;overflow-wrap:anywhere}.service-main{text-decoration:none;display:flex;flex-direction:column;gap:25px;align-items:center}.service-main img{width:100%;height:150px;object-fit:contain}.service-main>span{display:block;width:100%;border-top:1px solid #ffffff33;padding-top:20px;color:#ddd0ff}.service-main h2{margin:40px 0}.service-panel>p:last-child{font-size:.9rem;color:#bdb4cd;margin:12px 0 0}.personal-footnote{font-size:.85rem;color:var(--muted);margin:28px 0 75px}.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.photo-strip figure{margin:0;min-width:0}.photo-strip a{display:block;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--blue-wash)}.photo-strip img{width:100%;aspect-ratio:1;object-fit:contain;transition:transform .3s}.photo-strip a:hover img{transform:scale(1.04)}.photo-strip a>span{position:absolute;bottom:8px;right:8px;background:var(--paper);padding:0 7px;color:var(--blue)}.gallery-hint{font:12px/1.6 var(--mono);color:var(--muted);margin:15px 0 30px}.article-image a{display:block;cursor:zoom-in}.lightbox{border:0;inset:0;margin:auto;width:100%;height:100%;max-width:100vw;max-height:100dvh;padding:22px 35px;background:#10121beF;color:#f6f2fb;overscroll-behavior:contain}.lightbox[open]{display:flex;flex-direction:column;gap:20px}.lightbox::backdrop{background:#080a12db;backdrop-filter:blur(12px)}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1400px;width:100%;margin:0 auto}.lightbox-top{font:14px var(--mono)}.lightbox button{color:#f6f2fb;border:1px solid #aaa1bd66;background:#292535;border-radius:5px;min-width:44px;min-height:44px;padding:8px 16px}.lightbox button:hover{background:#453451}.lightbox-stage{display:flex;align-items:center;justify-content:center;gap:22px;flex:1;min-height:0;width:100%}.lightbox-image-wrap{min-width:0;min-height:0;height:100%;display:flex;align-items:center;justify-content:center;flex:1}.lightbox-stage img{object-fit:contain;max-height:100%;max-width:100%;width:auto;height:auto;touch-action:pan-y pinch-zoom}.lightbox-bottom{align-items:flex-start;padding:0 5px 10px}.lightbox-bottom p{margin:0;max-width:850px;overflow-wrap:anywhere;white-space:pre-wrap;max-height:25vh;overflow:auto}.lightbox-bottom a{color:#d7bfff;font-size:14px;flex-shrink:0}.gallery-open{overflow:hidden}.lightbox [data-image-error]{text-align:center;color:#d5c5e6}.motion-toggle:disabled{opacity:.7}
@keyframes ambient-drift{to{transform:translate(4%,-3%) rotate(4deg)}}@keyframes signal-flow{0%{transform:rotate(-12deg) scale(.9) translate(-4%,-4%)}50%{transform:rotate(9deg) scale(1.2) translate(4%,6%)}100%{transform:rotate(25deg) scale(1) translate(-5%,4%)}}@keyframes zardoz-float{0%,100%{transform:translateY(7px) rotate(-4deg)}50%{transform:translateY(-13px) rotate(4deg)}}@keyframes grid-travel{to{background-position:0 30px}}
html[data-motion=paused] *,html.page-inactive *{animation-play-state:paused!important}html[data-motion=paused] [data-tilt],html[data-motion=paused] [data-tilt]:hover{transform:none!important}html[data-motion=paused] *,html[data-motion=paused] *:after{transition:none!important}
@media(max-width:950px){.site-header{gap:14px}.site-header nav{gap:20px}.signal-canvas{height:295px}.floating-zardoz{inset:38px 25px}.floating-zardoz img{height:195px}.kind-bookmark{grid-template-columns:35px minmax(0,1fr)}.bookmark-date{display:none}.bookmark-symbol{width:35px;height:35px}.notebook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.motion-toggle{margin-left:auto;font-size:10px}.theme-toggle{margin-left:0}.site-header{gap:10px}.site-header nav{gap:25px}.signal-window{width:94%}.signal-canvas{height:295px}.signal-controls label,.signal-controls output{font-size:9px}.floating-zardoz img{height:210px}.kind-bookmark{padding:20px 16px;gap:13px}.bookmark-copy .entry-meta{font-size:10px}.personal-services{grid-template-columns:1fr}.photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox{padding:14px 12px}.lightbox-stage{gap:7px}.lightbox-stage>button{padding:7px;min-width:38px;min-height:44px}.lightbox-bottom{display:block}.lightbox-bottom p{margin-bottom:12px}.lightbox-top{font-size:12px}.notebook-grid{grid-template-columns:1fr}.ambient-field{animation:none}}
@media(prefers-reduced-motion:reduce){.floating-zardoz,.signal-window,[data-tilt]{transform:none!important}.signal-clouds{opacity:.8}.entry-image:hover img,.floating-zardoz:hover img{transform:none;scale:1}}

.gallery-source{display:none}

/* Quieter homepage; feedback follows the thing you’re pointing at. */
.home-intro{grid-template-columns:1.25fr 1fr;gap:80px;padding:70px 0}.intro-copy h1{font-size:clamp(2.9rem,5vw,4.4rem);margin-bottom:25px;line-height:1.1}.intro-copy .eyebrow{letter-spacing:.13em;color:var(--muted)}.intro-lead{font-size:1.2rem;max-width:460px;line-height:1.65}.intro-description{max-width:440px}.home-index{display:flex;flex-direction:column;gap:0;min-width:0}.home-index>.small-label{margin:0 0 10px 15px}.home-index>a{position:relative;display:flex;align-items:center;gap:17px;padding:20px 15px;border-bottom:1px solid var(--line);text-decoration:none;border-radius:5px;transition:background .2s,transform .25s,border-color .2s}.home-index>a:hover,.home-index>a:focus-visible{background:var(--blue-wash);transform:translateX(5px);border-color:transparent}.index-number{font:12px var(--mono);color:var(--muted);transition:color .2s}.home-index strong{display:block;font-size:1.15rem;font-weight:550;letter-spacing:-.03em}.home-index small{display:block;margin-top:3px;color:var(--muted);font-size:.85rem}.index-arrow{margin-left:auto;font-size:23px;color:var(--blue);transition:transform .25s}.home-index>a:hover .index-arrow,.home-index>a:focus-visible .index-arrow{transform:translate(3px,-3px)}.home-index>a:hover .index-number{color:var(--blue)}.site-header nav a{padding:6px 3px;transition:color .2s}.site-header nav a:before{content:'';position:absolute;inset:0 -8px;background:var(--blue-wash);border-radius:5px;z-index:-1;opacity:0;transform:scale(.92);transition:opacity .2s,transform .2s}.site-header nav a:hover:before{opacity:1;transform:scale(1)}.entry-card{transition:transform .16s ease-out,box-shadow .2s,border-color .2s}.entry-card:hover{box-shadow:0 10px 25px -16px var(--blue),3px 4px 0 var(--shadow)}.entry-card h3 a{background-image:linear-gradient(var(--blue),var(--blue));background-position:0 100%;background-size:0 1px;background-repeat:no-repeat;transition:background-size .25s,color .2s;padding-bottom:3px}.entry-card h3 a:hover{background-size:100% 1px}.entry-arrow,.text-link>span,.link-shelf>a>span:last-child{transition:transform .2s}.entry-card h3 a:hover .entry-arrow,.text-link:hover>span{transform:translate(3px,-3px)}.link-shelf>a:hover>span:last-child{transform:translate(3px,-3px)}.shelf-icon{transition:color .2s,background .2s,border-color .2s,transform .2s}.link-shelf>a:hover .shelf-icon{color:var(--bg);background:var(--blue);border-color:var(--blue);transform:rotate(-5deg)}.filters button{transition:background .18s,color .18s,box-shadow .18s}.filters button:hover{box-shadow:0 2px 6px #0000000d}.search-box{border-radius:4px;transition:box-shadow .2s,border-color .2s}.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-wash)}.sidebar-follow{margin:25px 0;padding-top:20px;border-top:1px solid var(--line)}.sidebar-follow a{display:flex;justify-content:space-between;text-decoration:none;font-size:.85rem;color:var(--muted)}.sidebar-follow a:hover{color:var(--blue)}.personal-extras{padding:0 0 65px}.personal-extras .section-heading{margin-bottom:25px}.personal-extras .entry-grid{max-width:700px}.personal-footnote{margin-bottom:40px}
@media(max-width:950px){.home-intro{gap:35px}.home-index>a{padding:17px 10px;gap:12px}}
@media(max-width:680px){.home-intro{grid-template-columns:1fr;padding:40px 0;gap:30px}.intro-copy h1{font-size:2.9rem}.intro-lead{font-size:1.1rem}.home-index>a{padding:15px 12px}.home-index strong{font-size:1.05rem}.home-index small{font-size:.8rem}.home-index>a:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.home-index>a:hover,.home-index>a:focus-visible{transform:none}}

/* Homepage: one clear invitation, one image, and a short route into the notebook. */
.home-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:36px;align-items:center;position:relative;overflow:hidden;margin:42px 0 22px;padding:55px clamp(30px,5vw,70px);border-radius:16px;background:radial-gradient(circle at 72% 12%,#64446f 0,transparent 34%),linear-gradient(135deg,#302442,#1d3040 92%);color:#fff6ed}
.home-hero:before{content:'';position:absolute;right:30%;top:-100px;width:300px;height:300px;background:#ffffff0a;clip-path:var(--star-cut);pointer-events:none}
.hero-copy{position:relative;z-index:1}.hero-kicker{font:11px var(--mono);letter-spacing:.14em;color:#e0c8ef;margin:0 0 30px}.hero-kicker span{color:#ffbd96;margin-left:7px;font-size:16px}.hero-copy h1{font-size:clamp(3.4rem,6vw,5.8rem);font-weight:650;line-height:1.02;letter-spacing:-.075em;margin:0 0 27px;max-width:700px}.hero-period{color:#ffbd96}.hero-lead{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.5;max-width:530px;margin-bottom:12px}.hero-welcome{font-size:1rem;line-height:1.65;color:#d9cfe1;max-width:500px;margin-bottom:30px}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.hero-primary{display:inline-flex;align-items:center;gap:27px;padding:13px 18px;background:#ffbd96;color:#251f31;text-decoration:none;border-radius:7px;font-weight:650;transition:transform .18s,background .18s}.hero-primary:hover{color:#251f31;background:#ffd0b1;transform:translateY(-2px)}.hero-secondary{color:#fff6ed;text-underline-offset:6px;font-size:.9rem}.hero-secondary:hover{color:#ffbd96}.hero-status{margin:42px 0 0;font:12px var(--mono);color:#d8cfdf}.hero-status span{color:#aee0b9;margin-right:7px}.hero-picture{position:relative;display:block;width:min(100%,340px);justify-self:center;padding:11px 11px 0;background:#eee2cc;color:#35263b;text-decoration:none;transform:rotate(4deg);box-shadow:14px 16px 0 #110e1b66;transition:transform .2s,box-shadow .2s}.hero-picture:hover{color:#35263b;transform:rotate(1deg) translateY(-5px);box-shadow:18px 20px 0 #110e1b66}.hero-picture-label{display:flex;justify-content:space-between;padding:3px 4px 9px;font:10px var(--mono);letter-spacing:.1em}.hero-picture img{width:100%;aspect-ratio:4/4.5;object-fit:cover;object-position:center 35%}.hero-picture-caption{display:block;padding:12px 4px 15px;font:italic 18px var(--serif);text-align:center}.home-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:65px}.home-categories a{display:flex;gap:12px;align-items:center;padding:16px 20px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-decoration:none;font-weight:600;transition:transform .18s,border-color .18s,background .18s}.home-categories a:hover{background:var(--blue-wash);border-color:var(--blue);transform:translateY(-2px)}.home-categories a>span{color:var(--blue);font-size:22px;line-height:1}.home-categories b{margin-left:auto;color:var(--muted);font-weight:400}.home-latest{padding-bottom:70px}.home-latest-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.home-latest-heading .eyebrow{margin:0 0 6px;color:var(--blue)}.home-latest-heading h2{font-size:clamp(2.2rem,4vw,3rem);margin:0}.home-latest-heading>a{font-size:.9rem;text-decoration:none;color:var(--muted)}.home-latest-heading>a:hover{color:var(--blue)}.home-latest .entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-latest .kind-bookmark{grid-column:auto}
@media(max-width:800px){.home-hero{grid-template-columns:1fr;gap:35px}.hero-picture{width:min(100%,300px);justify-self:start;transform:rotate(-3deg)}.hero-picture:hover{transform:rotate(0) translateY(-5px)}}
@media(max-width:680px){.home-hero{margin-top:22px;padding:36px 25px 42px}.hero-copy h1{font-size:clamp(3.2rem,13vw,4.5rem)}.hero-kicker{margin-bottom:20px}.hero-status{margin-top:28px}.hero-picture{width:min(75%,260px);justify-self:center}.home-categories{grid-template-columns:1fr;gap:8px;margin-bottom:45px}.home-categories a{padding:12px 17px}.home-latest .entry-grid{grid-template-columns:1fr}.home-latest-heading{align-items:center}.home-latest-heading>a{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.hero-primary:hover,.hero-picture:hover,.home-categories a:hover{transform:none}}
.hero-picture{cursor:default}.hero-picture:hover{transform:rotate(4deg);box-shadow:14px 16px 0 #110e1b66}.hero-doodle{aspect-ratio:4/4.5;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 70% 24%,#ffd9b8 0,transparent 35%),linear-gradient(145deg,#b7c9f0,#e2b6d2 55%,#f9d7a8)}.hero-doodle:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff16 0 2px,transparent 2px 5px);pointer-events:none}.doodle-planet{position:relative;z-index:2;font-size:clamp(100px,15vw,180px);line-height:1;filter:drop-shadow(12px 15px 3px #4c396844);transform:rotate(-16deg)}.doodle-orbit{position:absolute;z-index:1;left:0;top:-13%;font:400 450px/1 var(--serif);color:#56376048}.doodle-spark{position:absolute;right:8%;top:8%;font-size:68px;color:#fff7df}.doodle-star{position:absolute;left:10%;bottom:8%;font-size:58px;color:#6c4192}
@media(max-width:680px){.home-hero{gap:26px;padding-bottom:30px}.hero-actions{gap:12px}.hero-primary{gap:12px;padding:12px 15px}.hero-picture,.hero-picture:hover{width:100%;max-width:none;transform:none;box-shadow:6px 7px 0 #110e1b66}.hero-doodle{aspect-ratio:16/9}.doodle-planet{font-size:120px}.doodle-orbit{font-size:340px;top:-35%}.filters{width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px;-webkit-overflow-scrolling:touch}.filters button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}.notebook-controls{display:block}.search-box{margin-top:12px}}
.signature-logo{display:block;flex:none;width:80px;height:52px}.wordmark:hover .signature-logo{opacity:.82}
@media(max-width:680px){.signature-logo{width:60px;height:40px}.wordmark{gap:9px}}

/* Selected transparent artwork sits behind content and never captures input. */
.signature-logo{position:relative;overflow:hidden}.signature-logo img{position:absolute;left:-4px;top:-19px;width:88px;height:88px;max-width:none}.signature-logo .logo-dark{display:none}
:root[data-theme=dark] .signature-logo .logo-light{display:none}:root[data-theme=dark] .signature-logo .logo-dark{display:block}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .signature-logo .logo-light{display:none}:root:not([data-theme=light]) .signature-logo .logo-dark{display:block}}
.doodle-planet{width:min(76%,280px);height:auto;object-fit:contain}
.page-decor{position:absolute;pointer-events:none;user-select:none;max-width:none;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
.notebook-heading,.personal-heading,.personal-extras{position:relative;isolation:isolate}
.notebook-heading,.personal-heading{min-height:230px}.notebook-heading>*:not(.page-decor),.personal-heading>*:not(.page-decor){position:relative;z-index:1}
.notebook-paper{right:9%;top:34px;width:180px;height:auto;opacity:.38;z-index:0}.notebook-ribbon{right:2%;top:25px;width:58px;height:auto;opacity:.72;z-index:0}
.personal-server{right:4%;top:5px;width:160px;height:auto;opacity:.54;z-index:0}.personal-extras .section-heading,.personal-extras .entry-grid{position:relative;z-index:1}.personal-dish{right:6%;top:-52px;width:100px;height:auto;opacity:.45;z-index:0}
html[data-motion=paused] .page-decor{transform:none!important}
@media(max-width:680px){.signature-logo img{width:66px;height:66px;left:-3px;top:-14px}.notebook-heading,.personal-heading{min-height:0}.notebook-paper,.personal-dish{display:none}.notebook-ribbon{right:0;top:23px;width:37px;opacity:.5}.personal-server{right:-8px;top:27px;width:85px;opacity:.28}.page-decor{transform:none!important}}
@media(prefers-reduced-motion:reduce){.page-decor{transform:none!important}}
@media(max-width:680px){.doodle-planet{width:60%}}
.about-status{position:relative;overflow:hidden;padding-right:125px}.about-status>img{position:absolute;right:18px;bottom:-17px;width:95px;height:auto;opacity:.8;pointer-events:none}
@media(max-width:680px){.about-status{padding-right:90px}.about-status>img{right:8px;width:75px;opacity:.65}}

/* The portrait layers share one frame, so their registration survives resizing. */
.about-shell{max-width:1060px;margin:0 auto;padding:52px 0 85px;min-height:65vh}
.about-shell .page-heading{padding:0 0 22px}
.about-layout{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);align-items:center;gap:clamp(42px,7vw,95px)}
.about-portrait{position:relative;width:100%;aspect-ratio:1122/1402;margin:0;overflow:hidden;border-radius:8px;background:#272334;box-shadow:9px 11px 0 var(--shadow)}
.about-portrait-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill}
.about-portrait-sketch{position:absolute;left:4%;top:1%;width:92%;height:auto;max-width:none;pointer-events:none}
.about-copy{min-width:0}.about-copy .large-copy{font-size:clamp(1.35rem,2vw,1.65rem)}
@media(max-width:800px){.about-layout{grid-template-columns:minmax(0,350px) minmax(0,1fr);gap:32px}}
@media(max-width:680px){.about-shell{padding:35px 0 65px}.about-shell .page-heading{padding-bottom:14px}.about-layout{grid-template-columns:1fr;gap:32px}.about-portrait{width:min(100%,390px);justify-self:center}.about-copy .large-copy{font-size:1.4rem}}

/* A few quiet accents appear at different points in each page. */
.page-decor{animation:decor-drift 9s ease-in-out infinite alternate}
@keyframes decor-drift{to{translate:0 -7px}}
.home-hero{overflow:visible;isolation:isolate}
.hero-float-star{left:48%;top:-37px;width:76px;height:auto;opacity:.78;z-index:2;animation-delay:-3s}
.hero-picture,.hero-picture:hover{z-index:2;margin-right:-35px;transform:rotate(4deg) translate(62px,-55px)}
.hero-doodle{overflow:visible;background:none;isolation:isolate}
.hero-doodle-backdrop{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 70% 24%,#ffd9b8 0,transparent 35%),linear-gradient(145deg,#b7c9f0,#e2b6d2 55%,#f9d7a8);z-index:0}
.hero-doodle-backdrop:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff16 0 2px,transparent 2px 5px)}
.hero-doodle:after{z-index:3}
.doodle-planet{position:absolute;left:-12%;top:5%;width:124%;max-width:none;z-index:2}
.doodle-orbit{z-index:1}.doodle-spark,.doodle-star{z-index:4}
.hero-picture-caption{position:relative;z-index:3}
.home-latest{position:relative;isolation:isolate}.home-latest-heading,.home-latest .entry-grid{position:relative;z-index:1}
.latest-float-halftone{right:9%;top:150px;width:145px;height:auto;opacity:.5;z-index:0;animation-delay:-5s}
.about-layout{position:relative;isolation:isolate}.about-float-star{left:38%;top:8%;width:68px;height:auto;z-index:2;opacity:.9;animation-delay:-2s}
[data-notebook]{position:relative;isolation:isolate}[data-notebook]>*:not(.page-decor){position:relative;z-index:1}
.notebook-float-camera{right:-18px;top:220px;width:150px;height:auto;opacity:.33;z-index:0;animation-delay:-4s}
.personal-services{position:relative;isolation:isolate}.personal-services .service-panel{z-index:1}
.personal-float-wifi{right:-24px;top:52%;width:105px;height:auto;opacity:.55;z-index:0;animation-delay:-6s}
@media(max-width:950px){.hero-picture,.hero-picture:hover{margin-right:-18px;transform:rotate(4deg) translate(16px,-14px)}.hero-float-star{left:53%}}
@media(max-width:800px){.hero-picture,.hero-picture:hover{margin-right:0;transform:rotate(-3deg) translate(8px,-6px)}.hero-float-star{left:auto;right:8%;top:-28px}}
@media(max-width:680px){.page-decor{animation:none}.home-hero{overflow:visible}.hero-picture,.hero-picture:hover{transform:translateX(28px) rotate(2deg);margin-right:0}.hero-doodle{aspect-ratio:4/3}.doodle-planet{left:-6%;top:-15%;width:112%}.hero-float-star{right:5%;top:-20px;width:46px;opacity:.7}.latest-float-halftone{right:4%;top:95px;width:88px;opacity:.25}.about-float-star{left:auto;right:-5px;top:60px;width:53px}.notebook-float-camera{right:-8px;top:220px;width:95px;opacity:.2}.personal-float-wifi{display:none}}
@media(prefers-reduced-motion:reduce){.page-decor{animation:none}}

/* The replacement cosmic art has transparent edges. */
.about-portrait{aspect-ratio:1150/1367;overflow:visible;border-radius:0;background:transparent;box-shadow:none}
.about-portrait-sketch{left:5.5%;top:-.5%;width:89%}

/* Slow, out-of-phase drift and a small response to nearby desktop pointer movement. */
.page-decor{--float-distance:-7px;animation-duration:var(--float-duration,9s);transform:translate3d(var(--react-x,0px),calc(var(--parallax-y,0px) + var(--react-y,0px)),0);transition:transform .24s ease-out}
@keyframes decor-drift{from{translate:0 0}to{translate:0 var(--float-distance)}}
[data-layout-id="home-star"]{--float-duration:7.8s;--float-distance:-9px}
[data-layout-id="home-halftone"]{--float-duration:11.7s;--float-distance:6px}
[data-layout-id="about-star"]{--float-duration:8.6s;--float-distance:-7px}
[data-layout-id="notebook-paper"]{--float-duration:12.5s;--float-distance:5px;animation-delay:-4s}
[data-layout-id="notebook-ribbon"]{--float-duration:8.3s;--float-distance:-10px;animation-delay:-2s}
[data-layout-id="notebook-camera"]{--float-duration:10.6s;--float-distance:7px}
[data-layout-id="personal-server"]{--float-duration:11.2s;--float-distance:-8px;animation-delay:-5s}
[data-layout-id="personal-wifi"]{--float-duration:7.4s;--float-distance:5px}
[data-layout-id="personal-dish"]{--float-duration:9.8s;--float-distance:-6px;animation-delay:-3s}
.hero-picture .doodle-planet{left:-19%;width:116%;max-width:none;aspect-ratio:auto;height:auto;object-fit:contain;animation:planet-drift 8.9s ease-in-out -3s infinite alternate;transform:translate3d(var(--react-x,0px),var(--react-y,0px),0) rotate(-16deg);transition:transform .24s ease-out}
.doodle-star{animation:star-drift 7.1s ease-in-out -1s infinite alternate}
.doodle-spark{animation:spark-drift 10.2s ease-in-out -6s infinite alternate}
@keyframes planet-drift{to{translate:0 -8px}}
@keyframes star-drift{to{translate:0 6px}}
@keyframes spark-drift{to{translate:0 -5px}}
.about-portrait{animation:portrait-drift 11.4s ease-in-out -2s infinite alternate;transform:perspective(1000px) translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0) rotateX(var(--portrait-rx,0deg)) rotateY(var(--portrait-ry,0deg));transform-origin:center;transition:transform .24s ease-out}
@keyframes portrait-drift{to{translate:0 -6px}}
html[data-motion=paused] .page-decor,html[data-motion=paused] .doodle-planet,html[data-motion=paused] .doodle-star,html[data-motion=paused] .doodle-spark,html[data-motion=paused] .about-portrait{animation:none!important;translate:0!important;transform:none!important}
html[data-motion=paused] .doodle-planet{transform:rotate(-16deg)!important}
html.layout-editing .about-portrait{animation:none!important;translate:0!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.page-decor,.doodle-planet,.doodle-star,.doodle-spark,.about-portrait{animation:none!important;translate:0!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){.doodle-planet{transform:rotate(-16deg)!important}}
@media(max-width:680px){.hero-picture .doodle-planet{left:-18%;width:112%}}

/* Keep the footer brand consistent with the header. */
.site-footer .footer-name{display:block;line-height:1}
.site-footer .signature-logo{width:58px;height:38px}
.site-footer .signature-logo img{width:64px;height:64px;left:-3px;top:-14px}
#main{position:relative;isolation:isolate}
#main>.placed-decor-layer{position:absolute;inset:0;z-index:0;pointer-events:none}
#main>:not(.placed-decor-layer){position:relative;z-index:1}
html.layout-editing #main>.placed-decor-layer{z-index:2}

/* The portrait layers stay registered; only the sketch shifts a few pixels. */
.about-portrait-sketch{transform:translate3d(var(--portrait-layer-x,0px),calc(var(--parallax-y,0px) + var(--portrait-layer-y,0px)),0);transition:transform .24s ease-out}
html[data-motion=paused] .about-portrait-sketch,html.layout-editing .about-portrait-sketch{transform:none!important}
@media(prefers-reduced-motion:reduce){.about-portrait-sketch{transform:none!important}}
.placed-decor{left:50%;top:30%;width:130px;height:auto;opacity:.72}

/* A real thumbnail first, with the YouTube player loaded only after Play. */
.service-video{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);align-items:center;gap:26px}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;background:#0c0b11;border:1px solid #ffffff26;overflow:hidden}
.video-embed iframe,.video-poster{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-poster{padding:0;background:#0c0b11;cursor:pointer}
.video-poster img{width:100%;height:100%;object-fit:cover}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:48px;border-radius:14px;background:#d82629;color:#fff;font-size:22px;line-height:1;padding-left:3px;box-shadow:0 4px 20px #0007;transition:background .2s,scale .2s}
.video-poster:hover .video-play,.video-poster:focus-visible .video-play{background:#f1373a;scale:1.08}
.service-video-copy h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 12px}
.service-video-copy>p:not(.eyebrow){color:#c9bed6;font-size:.95rem;margin-bottom:22px}
.service-video-copy>a{display:inline-block;border-top:1px solid #ffffff40;padding-top:11px;color:#ddd0ff;text-decoration:none}
.service-video-copy>a:hover{text-decoration:underline}
@media(max-width:680px){.service-video{grid-template-columns:1fr;padding:18px;gap:18px}.service-video-copy>p:not(.eyebrow){margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.video-play{transition:none}.video-poster:hover .video-play,.video-poster:focus-visible .video-play{scale:1}}
.kind-project{cursor:pointer}.kind-project h3 a::after{content:'';position:absolute;inset:0;z-index:2}.kind-project:focus-within{outline:2px solid var(--blue);outline-offset:3px}.kind-project .entry-image img{aspect-ratio:16/9;object-fit:contain}
.project-gallery{margin:0 0 26px}.project-gallery-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-behavior:smooth;padding:0 0 12px}.project-gallery-track figure{flex:0 0 calc(100% - 52px);min-width:0;margin:0;scroll-snap-align:start}.project-gallery-track a{display:block;cursor:pointer}.project-gallery-track img{width:100%;aspect-ratio:2/1;object-fit:contain;background:var(--blue-wash);border:1px solid var(--line)}.project-gallery-track a:hover img{border-color:var(--blue)}.project-gallery-track figcaption{margin:7px 0 0}.project-gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font:12px var(--mono)}.project-gallery-controls span{margin-right:auto}.project-gallery-controls button{border:1px solid var(--line);background:var(--paper);color:var(--blue);width:36px;height:36px;border-radius:4px}.project-gallery-controls button:hover{border-color:var(--blue);background:var(--blue-wash)}
@media(max-width:680px){.project-gallery-track figure{flex-basis:calc(100% - 30px)}.project-gallery-controls span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.project-gallery-track{scroll-behavior:auto}}

/* Draw the hero asterisk consistently instead of relying on emoji fonts. */
.home-hero{--star-cut:polygon(50% 0%,57% 37%,85% 15%,63% 43%,100% 50%,63% 57%,85% 85%,57% 63%,50% 100%,43% 63%,15% 85%,37% 57%,0% 50%,37% 43%,15% 15%,43% 37%)}
.star-symbol{display:inline-block;width:1em;height:1em;background:currentColor;clip-path:var(--star-cut);vertical-align:middle;flex:none}
.hero-picture-label .label-stars{display:flex;align-items:center;gap:4px}
@media(max-width:680px){.home-hero:before{width:160px;height:160px;top:-28px;right:-25px}}
