/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-mono:Departure, ui-monospace, monospace;--color-bg:#12141d;--color-bg-2:#1a1d29;--color-ink:#e4ddd0;--color-ink-strong:#fbf5ea;--color-muted:#a69f93;--color-faint:#2d303d;--color-accent:#9ed6b4;--color-sky:#7cc0d4;--color-peach:#c9b08a;--color-green:#9cc98a;--color-dot:#d6c8ac21;--color-paper-hl:#f9e2afd9;--color-code-bg:#171a24;--container-measure:68ch}}@layer base;@layer components{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5efe2;--color-bg-2:#ece3d1;--color-ink:#2f2a24;--color-ink-strong:#1d1915;--color-muted:#6e6558;--color-faint:#ddd2bd;--color-accent:#2f7a5c;--color-sky:#23698a;--color-peach:#7d6340;--color-green:#3d7d3a;--color-dot:#5a46322e;--color-paper-hl:#ffd65abf;--color-code-bg:#f8f3e8}:root[data-theme=light] body{background:radial-gradient(circle, var(--color-dot) 1px, transparent 1.4px) 0 0 / 24px 24px, var(--color-bg)}::selection{background:var(--color-paper-hl);color:#1d1915}.prose mark,mark{background:linear-gradient(transparent 20%, var(--color-paper-hl) 20%);color:inherit;padding:0 .15em}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:radial-gradient(circle, var(--color-dot) 1px, transparent 1.4px) 0 0 / 24px 24px, var(--color-bg);min-height:100vh;color:var(--color-ink);font:17px/1.7 var(--font-sans);margin:0}a{color:var(--color-sky);text-underline-offset:4px;text-decoration-color:currentColor;text-decoration-thickness:1px}@supports (color:color-mix(in lab, red, red)){a{-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent)}}a:hover{color:var(--color-ink-strong);text-decoration-color:currentColor}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:0}button,input,select,textarea{font:inherit;color:inherit}button,summary{cursor:pointer;touch-action:manipulation}button{background:0 0;border:0;padding:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--color-accent);color:#111;z-index:50;border-radius:0;padding:8px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.wrap{max-width:1040px;margin:0 auto;padding:0 28px}main{min-height:70vh;padding:36px 0 72px;animation:.5s both arrive}.site-header{justify-content:space-between;align-items:center;gap:16px;padding:22px 0 0;display:flex}.brand{font:20px var(--font-mono);color:var(--color-ink-strong);letter-spacing:-.02em;text-decoration:none}.brand span{color:var(--color-accent)}.brand:hover{color:var(--color-ink-strong)}.header-end{align-items:center;gap:22px;display:flex}.desktop-nav{gap:22px;display:flex}.desktop-nav a{color:var(--color-muted);font:13px var(--font-mono);border-bottom:2px dashed #0000;padding:8px 0;text-decoration:none;transition:color .2s,border-color .2s}.desktop-nav a:hover{color:var(--color-ink-strong);border-color:var(--color-faint)}.desktop-nav a[aria-current=page]{color:var(--color-accent);border-color:var(--color-accent)}.theme-toggle{box-sizing:border-box;width:40px;height:40px;color:var(--color-muted);border:2px solid var(--color-faint);justify-content:center;align-items:center;padding:0;line-height:0;transition:color .2s,border-color .2s;display:inline-flex}.theme-toggle[hidden]{display:none}.theme-toggle:hover{color:var(--color-ink-strong);border-color:var(--color-accent)}.theme-toggle .pixel-icon{flex:none;width:24px;height:24px;margin:0;display:block}.theme-toggle .icon-moon,:root[data-theme=light] .theme-toggle .icon-sun{display:none}:root[data-theme=light] .theme-toggle .icon-moon{display:block}.menu-trigger{font:13px var(--font-mono);color:var(--color-ink-strong);background:var(--color-bg-2);border-radius:0;min-width:44px;min-height:44px;padding:0 16px;display:none}.mobile-menu{background:var(--color-bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--color-ink);border:0;margin:0;padding:22px 28px}.mobile-menu::backdrop{background:#00000080}.mobile-menu[open]{animation:.25s both arrive}.mobile-menu-head{justify-content:space-between;align-items:center;display:flex}.mobile-menu-head button{min-width:44px;min-height:44px;color:var(--color-muted);font-size:32px}.mobile-menu nav{margin-top:28px;display:grid}.mobile-menu nav a{font:34px/1.2 var(--font-serif);color:var(--color-ink-strong);min-height:56px;padding:12px 0;text-decoration:none}.mobile-menu nav a[aria-current=page]{color:var(--color-accent);font-style:italic}.mobile-menu-links{flex-wrap:wrap;gap:8px 22px;margin-top:32px;display:flex}.mobile-menu-links a{color:var(--color-muted);align-items:center;min-height:44px;display:inline-flex}.noscript-nav{flex-wrap:wrap;gap:14px;padding:12px 0;display:flex}.site-footer{color:var(--color-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 24px;padding:28px 0 44px;font-size:14px;display:flex}.site-footer p{margin:0}.motion-control{color:var(--color-muted);font:12px var(--font-mono);min-height:44px}.motion-control:hover{color:var(--color-accent)}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-ink-strong);text-wrap:balance;margin:0;font-weight:500;line-height:1.15}h1{letter-spacing:-.02em;font-size:clamp(40px,7vw,68px)}h2{font-size:clamp(24px,3.4vw,32px)}h3{font-size:22px}p{margin:0 0 1em}.eyebrow,.path{font:12px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);margin:0 0 14px}.path a{color:inherit}.accent{color:var(--color-accent)}.page-intro,.opening{font:22px/1.5 var(--font-serif);color:var(--color-muted);max-width:40ch;margin:18px 0 40px}.meta{font:12px/1.6 var(--font-mono);color:var(--color-muted);margin:0}.quiet-note{color:var(--color-muted);font-style:italic}.collection-count{color:var(--color-muted);font:12px var(--font-mono);margin:0 0 8px}.hero{grid-template-columns:1.2fr 1fr;align-items:end;gap:24px 48px;padding:24px 0 28px;display:grid}.hero h1{font-size:clamp(52px,8vw,88px)}.hero h1 em{color:var(--color-accent);font-style:italic}.lede{font:24px/1.35 var(--font-serif);color:var(--color-ink-strong);max-width:26ch;margin:0 0 12px}.hero-sub{color:var(--color-muted);max-width:46ch}.now{background:var(--color-bg-2);color:var(--color-muted);border-radius:0;align-items:baseline;gap:12px;margin:28px 0 0;padding:14px 18px;font-size:15px;display:flex}.now-dot{background:var(--color-green);width:8px;height:8px;box-shadow:0 0 10px var(--color-green);border-radius:0;flex:none;animation:2.4s ease-in-out infinite pulse;translate:0 -1px}.block{margin-top:84px}.block-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:22px;display:flex}.block-head a{font-size:14px}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{grid-template-columns:110px 1fr;align-items:baseline;gap:16px;padding:10px 0;display:grid}.plain-list time{font:12px var(--font-mono);color:var(--color-muted)}.plain-list a{font:22px/1.3 var(--font-serif);color:var(--color-ink-strong);text-decoration:none}.plain-list a:hover{color:var(--color-accent)}.showcase{gap:44px;margin:0;padding:0;list-style:none;display:grid}.showcase li{grid-template-columns:64px 1fr;gap:12px;display:grid}.showcase .num{font:14px var(--font-mono);color:var(--color-accent);padding-top:10px}.showcase h3{font-size:clamp(28px,4vw,40px)}.showcase h3 a{color:var(--color-ink-strong);background:linear-gradient(var(--color-accent), var(--color-accent)) 0 100% / 0 2px no-repeat;text-decoration:none;transition:background-size .3s}.showcase h3 a:hover{color:var(--color-ink-strong);background-size:100% 2px}.showcase p{max-width:56ch;color:var(--color-muted);margin:10px 0 0}.showcase .stack{font:12px var(--font-mono);color:var(--color-peach)}.closing{text-align:center;padding:44px 0 0}.closing h2{font-size:clamp(36px,6vw,56px);font-style:italic}.closing p{color:var(--color-muted);overflow-wrap:anywhere;max-width:40ch;margin:14px auto}.closing-links{flex-wrap:wrap;justify-content:center;gap:0 22px;display:flex}.closing-links a{align-items:center;min-height:44px;display:inline-flex}.companion-scene{justify-items:center;margin:0;display:grid;position:relative}.sprite-scene{border-bottom:2px dashed var(--color-faint);justify-content:center;align-items:flex-end;max-width:100%;padding-bottom:6px;display:flex;position:relative}.sprite-scene .storm-btn{margin-bottom:6px;margin-left:-14px;position:relative}.storm-btn{border-radius:0}.storm-btn:active .sprite{transform:translateY(3px)}.storm-says{white-space:nowrap;font:12px var(--font-mono);background:var(--color-ink-strong);color:var(--color-bg);pointer-events:none;border-radius:0;padding:5px 10px;animation:2.2s both pop;position:absolute;top:4px;left:60%}.scene-note{font:13px/1.5 var(--font-serif);color:var(--color-muted);text-align:center;max-width:30ch;margin-top:12px;font-style:italic}.sprite-caption{font:12px var(--font-mono);color:var(--color-muted);text-align:center;margin:12px 0 0}.companion-scene.large .sprite-scene{transform:scale(1)}@keyframes pop{0%{opacity:0;translate:0 6px}12%,80%{opacity:1;translate:0}to{opacity:0}}@keyframes pulse{50%{opacity:.4}}@keyframes arrive{0%{opacity:0;translate:0 8px}}.lab-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.lab-heading p:not(.eyebrow){font:22px/1.5 var(--font-serif);color:var(--color-muted);max-width:40ch;margin:18px 0 32px}.lab-companion{text-align:center;flex:none;justify-items:center;display:grid;position:relative}.lab-companion .scene-note{order:2;margin:0 0 4px;font-size:12px}.sleep-mark{font:14px var(--font-mono);color:var(--color-accent);animation:3s infinite pulse;position:absolute;top:28%;right:6%}.search input{background:var(--color-bg-2);border:1px solid #0000;border-radius:0;width:100%;min-height:48px;padding:13px 18px}.search input::placeholder{color:var(--color-muted)}.search input:focus{border-color:var(--color-accent);outline:none}.filters{flex-wrap:wrap;gap:8px;margin:16px 0 30px;display:flex}.filters button{background:var(--color-bg-2);color:var(--color-muted);border-radius:0;min-height:40px;padding:7px 16px;font-size:14px}.filters button:hover{color:var(--color-ink-strong)}.filters button[aria-pressed=true]{background:var(--color-accent);color:var(--color-bg)}.notebook-search{margin-bottom:20px}.entry{grid-template-columns:130px 1fr;gap:20px;padding:26px 0;display:grid}.entry h2{font-size:28px}.entry h2 a{color:var(--color-ink-strong);text-decoration:none}.entry h2 a:hover{color:var(--color-accent)}.entry p{color:var(--color-muted);max-width:60ch;margin:8px 0}.entry .tags,.tags{font:12px var(--font-mono);color:var(--color-peach)}.project-entry{grid-template-columns:1fr;padding:34px 0 10px}.project-entry h2{margin:6px 0 10px;font-size:clamp(32px,5vw,46px)}.project-entry+.project-entry{margin-top:10px}.tag-list{font:12px var(--font-mono);color:var(--color-peach);flex-wrap:wrap;gap:6px 14px;display:flex}.tag-list span:before{content:"#";opacity:.6}.empty{text-align:center;color:var(--color-muted);padding:40px 0}.empty button,.print-button,.owner-actions button,.article-controls button{background:var(--color-bg-2);color:var(--color-ink);border-radius:0;min-height:44px;padding:8px 18px}.local-drafts .draft-label{font:11px var(--font-mono);color:var(--color-peach)}.project-mark{display:none}.achievement-collection{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.achievement-collection li{background:var(--color-bg-2);border-radius:0;gap:14px;padding:18px 20px;transition:translate .2s;display:flex}.achievement-collection li:hover{translate:0 -3px}.achievement-collection h2{font:500 18px/1.35 var(--font-serif)}.achievement-collection h2 a{color:var(--color-ink-strong);text-decoration:none}.credential-symbol{color:var(--color-accent);font-size:20px}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.career-section h2,.resume-section h2,.resume-section .section-head h2{margin:56px 0 24px}.company-group{grid-template-columns:220px 1fr;gap:12px 32px;margin-bottom:40px;display:grid}.company-group h3{font-size:24px}.role-timeline{border-left:2px solid var(--color-faint);gap:28px;margin:0;padding:0 0 0 22px;list-style:none;display:grid}.role-timeline li{position:relative}.role-timeline li:before{content:"";background:var(--color-faint);border-radius:0;width:10px;height:10px;position:absolute;top:9px;left:-29px}.role-timeline li.current-role:before{background:var(--color-green)}.role-heading{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.role-heading h4{font-size:20px}.current-label{font:11px var(--font-mono);color:var(--color-bg);background:var(--color-green);border-radius:0;padding:1px 9px}.role-summary{color:var(--color-ink);margin:8px 0}.role-details summary{color:var(--color-sky);align-items:center;min-height:36px;font-size:14px;display:flex}.role-details ul{color:var(--color-muted);padding-left:20px}.education-entry{flex-wrap:wrap;justify-content:space-between;gap:20px;padding:14px 0;display:flex}.education-entry p{margin:4px 0}.featured-credentials{gap:10px;padding:0;list-style:none;display:grid}.featured-credentials span{color:var(--color-muted);font-size:14px;display:block}.skills{gap:14px;margin:0;display:grid}.skills dt{font:12px var(--font-mono);color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em}.skills dd{color:var(--color-muted);margin:2px 0 0}.about-grid{grid-template-columns:minmax(0,46rem);align-items:start;gap:56px;margin-top:24px;display:grid}.about-grid .prose{font:21px/1.65 var(--font-serif)}.about-grid .prose p:first-child:first-letter{float:left;color:var(--color-accent);padding:6px 10px 0 0;font-size:3.6em;line-height:.85}.read-progress{background:var(--color-accent);transform-origin:0;z-index:60;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.article-crumb a{color:inherit;text-decoration:none}.article-crumb a:hover{text-decoration:underline}.article-crumb span{opacity:.5;margin:0 4px}.article-title{letter-spacing:-.015em;max-width:18ch;font-size:clamp(38px,6vw,60px)}.article-meta{font:12px var(--font-mono);color:var(--color-muted);flex-wrap:wrap;gap:4px 0;margin:20px 0 10px;display:flex}.article-meta>*+:before{content:"·";opacity:.6;margin:0 10px}.article-tags{margin-bottom:4px}.article-lead{font:22px/1.55 var(--font-serif);color:var(--color-muted);border-bottom:1px dashed var(--color-faint);max-width:44ch;margin:22px 0 44px;padding-bottom:36px}.article-grid{grid-template-columns:minmax(0, var(--container-measure)) 210px;justify-content:space-between;gap:64px;display:grid}.toc{border-left:2px solid var(--color-faint);align-self:start;gap:2px;padding-left:14px;font-size:14px;display:grid;position:sticky;top:32px}.toc>span{font:11px var(--font-mono);color:var(--color-accent);letter-spacing:.1em;margin-bottom:8px}.toc a,.mobile-toc a{color:var(--color-muted);padding:3px 0;line-height:1.4;text-decoration:none}.toc a:hover{color:var(--color-ink-strong)}.toc a[aria-current]{color:var(--color-ink-strong);box-shadow:-16px 0 0 -14px var(--color-accent)}.toc a[aria-current]:before{content:"";background:var(--color-accent);width:2px;height:1em;margin-top:4px;margin-left:-16px;position:absolute}.subheading{padding-left:14px;font-size:13px}.mobile-toc{margin-bottom:32px;padding:4px 16px;display:none}.mobile-toc summary{min-height:44px;font:12px var(--font-mono);color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;align-items:center;display:flex}.mobile-toc a{padding:8px 0;display:block}.mobile-toc a[aria-current]{color:var(--color-ink-strong)}.prose{max-width:var(--container-measure);min-width:0;font:19.5px/1.75 var(--font-serif);color:var(--color-ink)}.prose>div>*+*{margin-top:1.1em}.prose p{margin:0}.prose strong{color:var(--color-ink-strong);font-weight:600}.prose h2{scroll-margin-top:24px;font-size:31px;position:relative;margin:2.4em 0 .5em!important}.prose h2:before{content:"";background:var(--color-accent);width:28px;height:3px;margin-bottom:18px;display:block}.prose h3{scroll-margin-top:24px;font-size:23px;margin:1.9em 0 .4em!important}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.35em}.prose ul>li{list-style:none;position:relative}.prose ul>li:before{content:"";background:var(--color-accent);width:6px;height:6px;position:absolute;top:.72em;left:-1.05em}.prose ol>li::marker{font:.8em var(--font-mono);color:var(--color-accent)}.prose img{border:2px solid var(--color-faint);max-width:100%;height:auto;box-shadow:6px 6px 0 var(--color-faint);margin:1.6em auto;display:block}.prose img[src^="/sprites/"]{image-rendering:pixelated;width:min(100%,420px)}.prose blockquote{border-left:3px solid var(--color-accent);color:var(--color-ink-strong);font:italic 22px/1.55 var(--font-serif);margin:1.8em 0;padding:4px 0 4px 22px}.prose hr{background:repeating-linear-gradient(90deg, var(--color-faint) 0 6px, transparent 6px 12px);border:0;width:40%;height:2px;margin:2.4em auto}.prose :not(pre)>code{font:.8em var(--font-mono);color:var(--color-accent);background:#9ed6b41a}@supports (color:color-mix(in lab, red, red)){.prose :not(pre)>code{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.prose :not(pre)>code{border:1px solid #9ed6b438;padding:1px 6px}@supports (color:color-mix(in lab, red, red)){.prose :not(pre)>code{border:1px solid color-mix(in srgb, var(--color-accent) 22%, transparent)}}.prose :not(pre)>code{overflow-wrap:anywhere}.prose a code{color:inherit}.prose figure[data-rehype-pretty-code-figure]{border:2px solid var(--color-faint);box-shadow:6px 6px 0 var(--color-faint);background:var(--color-code-bg);margin:1.8em 0}.code-head{border-bottom:1px solid var(--color-faint);font:11px var(--font-mono);color:var(--color-muted);text-transform:lowercase;letter-spacing:.06em;justify-content:space-between;align-items:center;padding:6px 8px 6px 16px;display:flex}.copy-code{font:11px var(--font-mono);color:var(--color-muted);border:1px solid #0000;min-height:30px;padding:4px 10px}.copy-code:hover{color:var(--color-ink-strong);border-color:var(--color-faint)}.prose pre{font:14px/1.65 var(--font-mono);box-shadow:none;-webkit-overflow-scrolling:touch;tab-size:2;border:0;margin:0;padding:16px 0;overflow-x:auto;background:0 0!important}.prose pre code{font:inherit;color:var(--color-ink);overflow-wrap:normal;background:0 0;border:0;padding:0;display:grid}.prose pre code>[data-line]{padding:0 20px}.prose pre code>[data-highlighted-line]{background:#9ed6b41f}@supports (color:color-mix(in lab, red, red)){.prose pre code>[data-highlighted-line]{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.prose pre code>[data-highlighted-line]{box-shadow:inset 3px 0 0 var(--color-accent)}.prose pre:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}:root:not([data-theme=light]) .prose pre code span{color:var(--shiki-dark)}:root[data-theme=light] .prose pre code span{color:var(--shiki-light)}.table-wrap{border:2px solid var(--color-faint);max-width:100%;margin:1.8em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font:15px/1.5 var(--font-sans)}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-faint);white-space:nowrap;padding:10px 16px}.prose td:not(:first-child){white-space:normal;min-width:14ch}.prose th{background:var(--color-bg-2);color:var(--color-accent);font:11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-weight:400}.prose tbody tr:nth-child(2n) td{background:#1a1d298c}@supports (color:color-mix(in lab, red, red)){.prose tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-bg-2) 55%, transparent)}}.prose tbody tr:last-child td{border-bottom:0}.prose td:first-child{color:var(--color-ink-strong)}.flow-diagram{margin:1.8em 0}.flow-diagram ol{counter-reset:step;flex-wrap:wrap;align-items:center;gap:10px 0;margin:0;padding:0;list-style:none;display:flex}.flow-diagram li{counter-increment:step;font:13px var(--font-mono);color:var(--color-ink-strong);align-items:center;display:flex;margin:0!important}.flow-diagram li:before{content:counter(step);color:var(--color-accent);margin-right:8px;font-size:10px}.flow-diagram li{border:2px solid var(--color-faint);background:var(--color-bg);box-shadow:3px 3px 0 var(--color-faint);padding:8px 12px}.flow-diagram li+li{position:relative;margin-left:30px!important}.flow-diagram li+li:after{content:"";background:var(--color-accent);width:18px;height:2px;position:absolute;top:50%;left:-26px}.prose .flow-diagram ul>li:before{display:none}.callout{margin-bottom:24px;padding:14px 18px;font-size:14px}.callout.draft{border-color:var(--color-accent)}.article-end{border-top:1px dashed var(--color-faint);font:13px var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:64px;padding-top:22px;display:flex}.article-end .tags{color:var(--color-peach)}.project-facts{margin:28px 0}.project-facts h2{font-size:14px;font-family:var(--font-mono);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em}.project-facts dl{gap:8px;margin:12px 0 0;display:grid}.project-facts dt{font:12px var(--font-mono);color:var(--color-muted)}.project-facts dd{margin:0}.text-links{flex-wrap:wrap;gap:4px 22px;margin:18px 0;display:flex}.calendar-status{color:var(--color-muted);font:13px var(--font-mono)}.calendar-next{margin-bottom:36px}.calendar-next ol{grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.calendar-next li{border:2px solid var(--color-faint);font:11px var(--font-mono);color:var(--color-muted);justify-items:center;gap:2px;padding:8px 2px;display:grid}.calendar-next .n{font:20px/1 var(--font-serif);color:var(--color-ink-strong)}.calendar-next .s{font-size:14px}.calendar-toolbar{align-items:center;gap:10px;margin:0 0 18px;display:flex}.calendar-toolbar h2{text-align:center;min-width:9.5em;font-size:28px}.calendar-toolbar button{border:2px solid var(--color-faint);min-width:44px;min-height:44px;color:var(--color-ink);font:14px var(--font-mono)}.calendar-toolbar button:hover{border-color:var(--color-accent);box-shadow:3px 3px 0 var(--color-faint)}.calendar-today{margin-left:auto;padding:0 16px}.calendar-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.calendar-summary>div{border:2px solid var(--color-faint);padding:10px 14px}.calendar-summary dt{font:11px var(--font-mono);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.calendar-summary dd{font:30px/1.1 var(--font-serif);color:var(--color-ink-strong);margin:2px 0 0}.calendar-grid{border-collapse:separate;border-spacing:6px;table-layout:fixed;width:100%;margin:0 -6px}.calendar-grid th{font:11px var(--font-mono);color:var(--color-muted);text-align:left;padding:0 4px;font-weight:400}.calendar-grid td{vertical-align:top;border:2px solid var(--color-faint);height:86px;padding:8px;position:relative}.calendar-grid td.calendar-blank{border-color:#0000}.calendar-grid time{font:16px var(--font-mono);color:var(--color-ink-strong)}.calendar-grid .chip{font:11px var(--font-mono);padding:2px 7px;position:absolute;bottom:8px;left:8px}.calendar-grid td.shift-off time{color:var(--color-muted)}.shift-night .chip,.calendar-next li.shift-night,.calendar-summary .shift-night{color:#dfe2ff;background:#2b2f6b;border-color:#3d4290}.shift-night .chip{background:#3d4290}.shift-day .chip,.calendar-next li.shift-day,.calendar-summary .shift-day{color:#4a3417;background:#f6dfae;border-color:#e3c27f}.shift-day .chip{background:#e9bf6a}.calendar-summary .shift-night dt,.calendar-summary .shift-night dd{color:#dfe2ff}.calendar-summary .shift-day dt,.calendar-summary .shift-day dd{color:#4a3417}.calendar-next li.shift-night .n,.calendar-next li.shift-night .d{color:#dfe2ff}.calendar-next li.shift-day .n,.calendar-next li.shift-day .d{color:#4a3417}.calendar-grid td.shift-night{background:#3d429047}.calendar-grid td.shift-day{background:#e9bf6a29}.calendar-grid td.is-today,.calendar-next li.is-today{outline:2px solid var(--color-ink-strong);outline-offset:2px}.calendar-note{color:var(--color-muted);font:12px/1.6 var(--font-mono)}@media (max-width:760px){.calendar-next ol{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{border-spacing:3px;margin:0 -3px}.calendar-grid td{height:58px;padding:4px}.calendar-grid time{font-size:13px}.calendar-grid .chip{text-align:center;padding:1px 2px;font-size:0;bottom:3px;left:3px;right:3px}.calendar-grid .chip .pixel-icon{width:14px;height:14px;margin:0}.calendar-toolbar h2{flex:1;min-width:0;font-size:22px}}.owner-form,.owner-auth,.achievement-manager,.document-record{gap:12px;margin:20px 0;display:grid}.owner-form input,.owner-form select,.owner-form textarea{background:var(--color-bg-2);border:1px solid var(--color-faint);border-radius:0;padding:10px 14px}.owner-form button,.owner-auth button{background:var(--color-accent);color:var(--color-bg);border-radius:0;min-height:44px;padding:10px 20px}@media (max-width:860px){.article-grid{grid-template-columns:minmax(0,1fr)}.toc{display:none}.mobile-toc{display:block}.company-group{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:32px}}@media (max-width:760px){body{font-size:16px}.wrap{padding:0 20px}.header-end{gap:10px}.desktop-nav{display:none}.menu-trigger{align-items:center;display:inline-flex}main{padding-top:20px}.hero{grid-template-columns:1fr;gap:28px;padding-top:20px}.hero .companion-scene{order:-1;justify-self:start}.lede{font-size:22px}.block{margin-top:64px}.plain-list li,.showcase li{grid-template-columns:1fr;gap:0}.showcase .num{padding:0 0 4px}.entry{grid-template-columns:1fr;gap:6px;padding:20px 0}.lab-heading{flex-direction:column;align-items:flex-start;gap:0}.lab-companion{align-self:flex-end;margin-top:-20px}.prose{font-size:18px}.prose blockquote{font-size:19px}.flow-diagram li+li{margin-left:22px!important}.flow-diagram li+li:after{width:12px;left:-19px}.page-intro,.opening,.article-lead{font-size:19px}.achievement-collection{grid-template-columns:1fr}}@media print{body{color:#000;background:#fff}.site-header,.site-footer,.print-button{display:none}a,h1,h2,h3,h4{color:#000}}.sprite-scene{z-index:1;justify-content:center;align-items:flex-end;max-width:100%;display:flex;position:relative}.sprite{width:var(--sprite-size,128px);height:var(--sprite-size,128px);background-image:var(--sprite-sheet);image-rendering:pixelated;background-repeat:no-repeat;background-size:calc(var(--sprite-size,128px) * var(--n,2)) var(--sprite-size,128px);animation:sprite-play calc(var(--n,2) * var(--ms,.4s)) steps(var(--n,2)) infinite;flex:none;display:inline-block}@keyframes sprite-play{to{background-position:calc(-1 * var(--n,2) * var(--sprite-size,128px)) 0}}html[data-visibility=hidden] *,html[data-visibility=hidden] :before,html[data-visibility=hidden] :after{animation-play-state:paused!important}html[data-motion=paused] *,html[data-motion=paused] :before,html[data-motion=paused] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.ambient-layer{will-change:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.motion-control{display:none}}.lab-entry{grid-template-columns:1fr}@media (max-width:420px){.sprite-scene>.sprite{--sprite-size:200px!important}.sprite-scene .storm-btn .sprite{--sprite-size:100px!important}.hero h1{font-size:56px}}.room-wrap{margin:0}.room{--u:calc(100cqw / 384);aspect-ratio:384/216;touch-action:manipulation;contain:paint;background:#0a0e2c;width:100%;position:relative;overflow:hidden;container-type:inline-size}.layer{image-rendering:pixelated;pointer-events:none;background-size:100% 100%;transition:opacity .7s steps(6,end);position:absolute;inset:0}.room[data-sky=day] :is(.layer-sky-night,.layer-stars-a,.layer-stars-b,.layer-night,.layer-dark),.room[data-sky=night] :is(.layer-sky-day,.layer-clouds,.layer-sunbeam),.room[data-lamp=on] .layer-dark,.room[data-lamp=off] :is(.layer-night,.layer-glow,.layer-bulb){opacity:0}.room[data-sky=day] .layer-glow{opacity:.45}.layer-stars-a{animation:3.2s steps(2,end) infinite twinkle}.layer-stars-b{animation:2.6s steps(2,end) infinite reverse twinkle}.layer-clouds{will-change:transform;width:100%;animation:60s linear infinite drift;inset:0 auto 0 0}@keyframes drift{to{transform:translateX(calc(var(--u) * -96))}}@keyframes twinkle{50%{opacity:.25}}.fx{pointer-events:none;position:absolute}.fx-led{box-shadow:0 0 calc(var(--u) * 2) #f38ba8;background:#f38ba8;animation:1.1s step-end infinite blink}.fx-router{background:#a6e3a1;animation:.7s step-end infinite blink}.fx-router.b{animation-duration:1.3s}.fx-router.c{background:#f9e2af;animation-duration:.45s}.fx-steam{opacity:0;background:#ffffffb3;animation:2.6s steps(6,end) infinite steam}.fx-steam.two{animation-delay:-1.3s}.room[data-lamp=off][data-sky=night] .fx-steam{display:none}@keyframes blink{50%{opacity:.1}}@keyframes steam{0%{opacity:0;transform:translateY(0)}30%{opacity:.8}to{opacity:0;transform:translateY(calc(var(--u) * -8)) translateX(calc(var(--u) * 1))}}.spot{--hl:#fff2d2;--c:calc(var(--u) * 4);--t:max(2px, calc(var(--u) * .9));cursor:pointer;z-index:5;opacity:0;background:linear-gradient(var(--hl), var(--hl)) left top / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) left top / var(--t) var(--c) no-repeat, linear-gradient(var(--hl), var(--hl)) right top / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) right top / var(--t) var(--c) no-repeat, linear-gradient(var(--hl), var(--hl)) left bottom / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) left bottom / var(--t) var(--c) no-repeat, linear-gradient(var(--hl), var(--hl)) right bottom / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) right bottom / var(--t) var(--c) no-repeat;filter:drop-shadow(0 0 calc(var(--u) * 1.5) #ffdca08c);outline:none;transition:opacity .15s steps(2,end);display:block;position:absolute}.spot:hover,.spot:focus-visible{opacity:1}.spot:after{content:attr(data-label);white-space:nowrap;font:12px var(--font-mono);color:#fff2d2;filter:none;pointer-events:none;z-index:6;background:#1b1d33;border:1px solid #fff2d259;padding:4px 9px;position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50%}.spot.below:after{top:calc(100% + 8px);bottom:auto}.actor{pointer-events:none;position:absolute}.actor.asad{left:calc(var(--u) * 66);top:calc(var(--u) * 78)}.actor.asad .sprite{--sprite-size:calc(var(--u) * 128)!important}.actor.storm{--x:230;--flip:1;left:0;top:calc(var(--u) * 146);translate:calc(var(--u) * 198) 0;z-index:2;will-change:translate}.actor.storm .sprite{transform:scaleX(var(--flip));display:block;--sprite-size:calc(var(--u) * 64)!important}.actor.storm button{pointer-events:auto;cursor:pointer;display:block;position:relative}.storm-shadow{left:calc(var(--u) * 12);top:calc(var(--u) * 55);width:calc(var(--u) * 40);height:calc(var(--u) * 4);clip-path:polygon(15% 0,85% 0,100% 40%,100% 60%,85% 100%,15% 100%,0 60%,0 40%);background:#140c1e59;position:absolute}.zzz{font:12px var(--font-mono);color:var(--color-accent);animation:2.4s ease-in-out infinite pop;position:absolute;top:0;left:60%}.room .storm-says{z-index:4;top:-16%;left:40%}.room-caption{font:12px var(--font-mono);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:4px 20px;margin-top:14px;display:flex}.room-caption .hint{color:var(--color-accent)}@media (max-width:760px){.hero{grid-template-columns:1fr;gap:12px;padding-bottom:20px}.room{width:calc(100% + 40px);margin-inline:-20px}.room .spot:after{display:none}.room .spot{filter:none}.layer{transition:none}.layer-stars-b,.fx-steam.two{animation:none}.room-caption .hint{display:none}}.search input{border:2px solid var(--color-faint);background:0 0}.search input:focus{border-color:var(--color-accent);box-shadow:4px 4px 0 var(--color-faint)}.filters button,.empty button,.print-button,.owner-actions button,.article-controls button{border:2px solid var(--color-faint);color:var(--color-ink);background:0 0;transition:transform .1s,box-shadow .1s,background .15s}.filters button:hover,.empty button:hover,.print-button:hover{box-shadow:3px 3px 0 var(--color-faint);transform:translate(-1px,-1px)}.filters button[aria-pressed=true]{border-color:var(--color-accent);box-shadow:3px 3px 0 var(--color-accent)}.achievement-collection li{border:2px solid var(--color-faint);box-shadow:4px 4px 0 var(--color-faint);background:0 0}.achievement-collection li:hover{box-shadow:6px 6px 0 var(--color-accent);border-color:var(--color-accent);translate:-2px -2px}.now,.callout,.mobile-toc,.menu-trigger{border:2px solid var(--color-faint);background:0 0}.menu-trigger{min-height:44px}.storm-says{border-radius:0;box-shadow:3px 3px #00000059}.room{box-shadow:0 0 0 3px var(--color-faint), 8px 8px 0 3px #00000059!important}:root[data-theme=light] .room{box-shadow:0 0 0 3px var(--color-faint), 8px 8px 0 3px #3c2d1e33!important}.spot:after{border-radius:0;box-shadow:2px 2px #00000059}.current-label{border-radius:0}:root[data-theme=light] .current-label{color:#fff}.cursor{pointer-events:none;z-index:100;position:fixed;inset:0}.cursor-ring,.cursor-dot{will-change:transform;position:fixed;top:0;left:0}.cursor-ring svg{width:26px;height:26px;fill:var(--color-accent);opacity:.9;filter:drop-shadow(0 0 3px #00000059);transition:transform .16s steps(3,end),opacity .2s;position:absolute;top:-13px;left:-13px}.cursor-dot span{background:var(--color-ink-strong);width:4px;height:4px;transition:transform .12s steps(2,end),background .12s;display:block;position:absolute;top:-2px;left:-2px;box-shadow:0 0 0 1px #00000059}html:not(.has-cursor) .cursor{display:none}html.has-cursor,html.has-cursor *{cursor:none!important}html.has-cursor input,html.has-cursor textarea{cursor:text!important}html[data-cursor=link] .cursor-ring svg{opacity:1;transform:scale(1.35)}html[data-cursor=link] .cursor-dot span{background:var(--color-accent);transform:scale(1.5)}html[data-press] .cursor-ring svg{transform:scale(.75)}html[data-cursor=text] .cursor,html[data-cursor=out] .cursor{opacity:0}.cursor-box{opacity:0;--c:7px;--t:2px;--hl:var(--color-accent);background:linear-gradient(var(--hl), var(--hl)) left top / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) left top / var(--t) var(--c) no-repeat, linear-gradient(var(--hl), var(--hl)) right top / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) right top / var(--t) var(--c) no-repeat, linear-gradient(var(--hl), var(--hl)) left bottom / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) left bottom / var(--t) var(--c) no-repeat, linear-gradient(var(--hl), var(--hl)) right bottom / var(--c) var(--t) no-repeat, linear-gradient(var(--hl), var(--hl)) right bottom / var(--t) var(--c) no-repeat;width:0;height:0;transition:left .14s ease-out,top .14s ease-out,width .14s ease-out,height .14s ease-out,opacity .12s;position:fixed;top:0;left:0}html[data-cursor=box] .cursor-box{opacity:1}html[data-cursor=box] .cursor-ring svg{opacity:0;transform:scale(.5)}html[data-cursor=box] .cursor-dot span{background:var(--color-accent)}.vignette{width:100%;aspect-ratio:var(--cw) / var(--ch);box-shadow:0 0 0 3px var(--color-faint), 8px 8px 0 3px #0000004d;background:#0a0e2c;margin:4px 0 40px;position:relative;overflow:hidden;container-type:inline-size}.vignette-room{--u:calc(100cqw / var(--cw));width:calc(var(--u) * 384);height:calc(var(--u) * 216);left:calc(var(--u) * var(--cx) * -1);top:calc(var(--u) * var(--cy) * -1);position:absolute}:root:not([data-theme=light]) .vignette :is(.layer-sky-day,.layer-sunbeam),:root[data-theme=light] .vignette :is(.layer-sky-night,.layer-night,.layer-glow,.layer-bulb){opacity:0}.vignette-at{left:calc(var(--u) * var(--x));top:calc(var(--u) * var(--y));position:absolute}.vignette .storm{position:relative}.vignette .storm .sprite{display:block;--sprite-size:calc(var(--u) * 64)!important}.vignette .storm .sprite.storm-nap{--sprite-size:calc(var(--u) * 40)!important}.vignette .asad .sprite{display:block;--sprite-size:calc(var(--u) * 128)!important}.vignette .robot .sprite{display:block;--sprite-size:calc(var(--u) * 48)!important}.vignette .sleep-mark{font:12px var(--font-mono);color:var(--color-accent);animation:3s infinite pulse;position:absolute;top:40%;right:18%}@media (max-width:760px){.vignette{width:calc(100% + 40px);box-shadow:none;margin-inline:-20px}}.actor.robot{left:calc(var(--u) * 286);top:calc(var(--u) * 80);animation:16s ease-in-out infinite robot-drive}.actor.robot .sprite{display:block;--sprite-size:calc(var(--u) * 48)!important}@keyframes robot-drive{0%,20%{translate:0}45%,60%{translate:calc(var(--u) * 14) 0}85%,to{translate:0}}.room[data-lamp=off][data-sky=night] .actor.robot{animation-play-state:paused}.pixel-icon{fill:currentColor;vertical-align:-.2em;shape-rendering:crispedges;flex:none;width:1.15em;height:1.15em;margin-right:.3em}.pixel-icon.after{margin:0 0 0 .3em}.calendar-toolbar button .pixel-icon,.mobile-menu-head button .pixel-icon{width:20px;height:20px;margin:0}.pixel-icon.ext{vertical-align:0;opacity:.7;width:.85em;height:.85em;margin:0 0 0 .15em}.closing-links a,.mobile-menu-links a{align-items:center;gap:.1em;text-decoration:none;display:inline-flex}.closing-links{gap:4px 28px;max-width:none!important}.mermaid-diagram{border:2px solid var(--color-faint);box-shadow:6px 6px 0 var(--color-faint);text-align:center;margin:1.8em 0;padding:20px;overflow-x:auto}.mermaid-diagram .mermaid-src{font:13px/1.5 var(--font-mono);color:var(--color-muted);text-align:left;white-space:pre-wrap;margin:0}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-diagram.is-error:before{content:"Diagram could not be rendered";font:11px var(--font-mono);color:var(--color-peach);margin-bottom:8px;display:block}.admin-locked{border:2px solid var(--color-faint);max-width:34rem;box-shadow:6px 6px 0 var(--color-faint);padding:28px}.admin-locked h1{margin:4px 0 10px;font-size:2rem}.admin-status{color:var(--color-muted);font:12px/1.6 var(--font-mono)}.admin-locked input,.console input:not([type=checkbox]):not([type=radio]),.console textarea{background:var(--color-bg);width:100%;color:var(--color-ink-strong);border:2px solid var(--color-faint);font:16px/1.5 var(--font-sans);border-radius:0;padding:10px 12px}.console textarea{resize:vertical}.console input:focus,.console textarea:focus{border-color:var(--color-accent);box-shadow:4px 4px 0 var(--color-faint);outline:none}.admin-locked button{border:2px solid var(--color-accent);background:var(--color-accent);min-height:40px;color:var(--color-bg);font:600 13px var(--font-mono);padding:8px 16px}body:has(.console) :is(.site-header,.site-footer,.skip+.wrap>.site-header){display:none}body:has(.console) .wrap{max-width:none;padding:0}body:has(.console) main{min-height:100vh;padding:0;animation:none}.console{grid-template-columns:232px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s;display:grid}.console.is-collapsed{grid-template-columns:68px minmax(0,1fr)}.console-side{background:var(--color-bg-2);border-right:2px solid var(--color-faint);flex-direction:column;gap:6px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.console-side-head{justify-content:space-between;align-items:center;gap:6px;min-height:44px;display:flex}.console-side .brand{padding:0 10px}.console-collapse{width:36px;height:36px;color:var(--color-muted);border:2px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.console-collapse:hover{color:var(--color-ink-strong);border-color:var(--color-faint)}.console-collapse .pixel-icon{width:18px;height:18px;margin:0}.console-label{font:10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:22px 10px 4px}.console-side nav{gap:2px;display:grid}.console-side nav a{min-height:44px;color:var(--color-muted);font:13px var(--font-mono);border:2px solid #0000;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.console-side nav a .pixel-icon{width:18px;height:18px;margin:0}.console-side nav a:hover{color:var(--color-ink-strong);border-color:var(--color-faint)}.console-side nav a[aria-current=page]{color:var(--color-ink-strong);background:var(--color-bg);border-color:var(--color-faint);box-shadow:inset 3px 0 0 var(--color-accent)}.console-side-foot{font:12px var(--font-mono);gap:6px;margin-top:auto;display:grid}.console-site{min-height:40px;color:var(--color-muted);border:2px solid #0000;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.console-site:hover{color:var(--color-ink-strong);border-color:var(--color-faint)}.console-site .pixel-icon{width:18px;height:18px;margin:0}.console-profile{border-top:2px solid var(--color-faint);padding-top:10px;position:relative}.console-profile-btn{text-align:left;width:44px;height:44px;color:var(--color-ink);border:2px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.console-profile-btn:hover,.console-profile-btn[aria-expanded=true]{border-color:var(--color-faint);background:var(--color-bg)}.console-avatar{background:var(--color-accent);width:28px;height:28px;color:var(--color-bg);flex:none;justify-content:center;align-items:center;display:inline-flex}.console-avatar .pixel-icon{width:18px;height:18px;margin:0}.console-menu{z-index:10;background:var(--color-bg);border:2px solid var(--color-faint);min-width:220px;box-shadow:4px 4px 0 var(--color-faint);position:absolute;bottom:calc(100% - 6px);left:0}.console-menu-who{font:11px/1.5 var(--font-mono);color:var(--color-muted);border-bottom:2px solid var(--color-faint);overflow-wrap:anywhere;margin:0;padding:10px 12px}.console-menu-who strong{color:var(--color-ink-strong);font-weight:500}.console-menu button{width:100%;min-height:44px;font:13px var(--font-mono);color:var(--color-ink);align-items:center;gap:8px;padding:0 12px;display:flex}.console-menu button:hover{background:var(--color-bg-2);color:var(--color-ink-strong)}.console-menu .pixel-icon{width:16px;height:16px;margin:0}.is-collapsed .console-side{padding-inline:10px}.is-collapsed .console-side-head{flex-direction:column;align-items:center}.is-collapsed .console-side .brand{padding:0}.is-collapsed :is(.console-label,.console-text){display:none}.is-collapsed :is(.console-side nav a,.console-site,.console-profile-btn){justify-content:center;padding:0}.is-collapsed .console-menu{left:0}.console-main{flex-direction:column;min-width:0;display:flex}.console-bar{z-index:5;background:var(--color-bg);border-bottom:2px solid var(--color-faint);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:14px 32px;display:flex;position:sticky;top:0}.console-title h1{margin:0;font-size:1.6rem;line-height:1.2}.console-title p{font:12px var(--font-mono);color:var(--color-muted);margin:0}.console-tools{align-items:center;gap:12px;min-width:0;display:flex}.console-body{flex:1;width:100%;max-width:1280px;padding:28px 32px 0}.admin-form fieldset,.admin-editor{gap:14px;margin:0 0 24px;display:grid}.admin-form fieldset{border:2px solid var(--color-faint);background:var(--color-bg-2);min-width:0;padding:20px 22px 22px}.admin-editor{border:0;padding:0}.admin-form legend{font:11px var(--font-mono);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;padding:0 8px}.admin-form label,.admin-editor label{gap:6px;display:grid}.admin-form label>span,.admin-editor label>span,.admin-preview>span{font:11px var(--font-mono);color:var(--color-muted)}.admin-form{max-width:860px}.console label.markdown textarea,.admin-form label.markdown textarea{font:14px/1.6 var(--font-mono)}.admin-actions{z-index:4;background:var(--color-bg);border-top:2px solid var(--color-faint);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0;display:flex;position:sticky;bottom:0}.admin-actions button,.admin-new button{border:2px solid var(--color-faint);min-height:40px;color:var(--color-ink);font:13px var(--font-mono);padding:8px 16px}.admin-actions button:hover,.admin-new button:hover:not(:disabled){border-color:var(--color-accent)}.admin-actions .primary,.admin-new button{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);font-weight:600}.admin-actions button:disabled,.admin-new button:disabled{opacity:.5;cursor:not-allowed}.admin-actions .danger{color:#e58f8f;margin-left:auto}:root[data-theme=light] .admin-actions .danger{color:#a63b3b}.admin-actions .admin-status{flex:14rem}.admin-writing{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:28px;display:grid}.admin-list{align-content:start;gap:14px;max-height:calc(100vh - 124px);display:grid;position:sticky;top:104px;overflow:auto}.admin-new{border:2px solid var(--color-faint);background:var(--color-bg-2)}.admin-new summary{min-height:44px;font:13px var(--font-mono);color:var(--color-ink-strong);align-items:center;gap:8px;padding:0 14px;list-style:none;display:flex}.admin-new summary::-webkit-details-marker{display:none}.admin-new summary .pixel-icon{width:16px;height:16px;color:var(--color-accent);margin:0}.admin-new form{gap:8px;padding:0 14px 14px;display:grid}.admin-new input{padding:8px 10px!important;font-size:14px!important}.admin-new small{font:11px var(--font-mono);color:var(--color-muted);overflow-wrap:anywhere;min-height:1em}.admin-filter{border:2px solid var(--color-faint);display:flex}.admin-filter button{min-height:40px;font:12px var(--font-mono);color:var(--color-muted);flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.admin-filter button+button{border-left:2px solid var(--color-faint)}.admin-filter button[aria-pressed=true]{background:var(--color-bg-2);color:var(--color-ink-strong);box-shadow:inset 0 -3px 0 var(--color-accent)}.admin-filter small{font:10px var(--font-mono);opacity:.8}.admin-list ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.admin-list li button{text-align:left;border:2px solid #0000;gap:6px;width:100%;padding:10px 12px;display:grid}.admin-list li button:hover,.admin-list li button.is-open{border-color:var(--color-faint)}.admin-list li button.is-open{background:var(--color-bg-2);box-shadow:inset 3px 0 0 var(--color-accent)}.admin-list strong{font:500 15px/1.3 var(--font-serif);color:var(--color-ink-strong)}.admin-list-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-list small{font:11px var(--font-mono);color:var(--color-muted)}.badge{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--color-faint);color:var(--color-muted);justify-self:start;padding:1px 6px}.badge.published{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.wardrobe{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.wardrobe-item{border:2px solid var(--color-faint);background:var(--color-bg);cursor:pointer;align-content:start;gap:6px;padding:14px;display:grid;position:relative}.wardrobe-item:hover{border-color:var(--color-muted)}.wardrobe-item.is-picked{border-color:var(--color-accent);box-shadow:4px 4px 0 var(--color-faint)}.wardrobe-item:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.wardrobe-item input{opacity:0;pointer-events:none;position:absolute}.wardrobe-item img{width:128px;height:152px;image-rendering:pixelated;background:var(--color-faint);justify-self:start}.wardrobe-item strong{font:500 16px/1.3 var(--font-serif);color:var(--color-ink-strong)}.wardrobe-item small{font:11px/1.5 var(--font-mono);color:var(--color-muted)}.wardrobe-tags{gap:6px;min-height:18px;display:flex}.admin-row{align-items:end;gap:14px;display:flex}.admin-row .grow{flex:1}.admin-editor label.check{align-items:center;gap:8px;min-height:46px;display:flex}.admin-editor label.check input{width:auto;accent-color:var(--color-accent)}.admin-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.admin-body:has(>:only-child){grid-template-columns:minmax(0,1fr)}.admin-preview{border:2px solid var(--color-faint);gap:8px;max-height:70vh;padding:16px 20px;display:grid;overflow:auto}.admin-preview .prose{font-size:17px}.admin-empty{border:2px dashed var(--color-faint);color:var(--color-muted);text-align:center;padding:56px 40px}@media (max-width:860px){.console{grid-template-columns:minmax(0,1fr)}.console-side{border-right:0;border-bottom:2px solid var(--color-faint);flex-flow:wrap;align-items:center;gap:8px 16px;height:auto;padding:12px 16px;position:static}.console-side .brand{padding:0}.console-label,.console-site{display:none}.console-side-foot{margin-left:auto}.console-profile{border-top:0;padding-top:0}.console-menu{inset:calc(100% + 6px) 0 auto auto}.console-collapse{display:none}.console.is-collapsed{grid-template-columns:minmax(0,1fr)}.is-collapsed .console-text{display:inline}.is-collapsed .console-side nav a{justify-content:flex-start;padding:0 10px}.is-collapsed .console-side-head{flex-direction:row}.console-side nav{gap:4px;display:flex;overflow-x:auto}.console-bar{flex-wrap:wrap;padding:14px 16px;position:static}.console-body{padding:20px 16px 0}.admin-writing,.admin-body{grid-template-columns:minmax(0,1fr)}.admin-list{max-height:none;position:static}.admin-row{flex-wrap:wrap}}[data-island]{display:contents}.sprite:not([data-playing]){animation-play-state:paused}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.\!ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Departure;src:url(/fonts/DepartureMono-Regular.woff2)format("woff2");font-display:swap}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
