@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--ink:#17201b;--ink-soft:#26342b;--forest:#18251d;--forest-raised:#24362a;--cream:#f6ead5;--cream-strong:#fff7e8;--paper:#eee0c8;--paper-deep:#d8c6aa;--moss:#9cc56d;--moss-bright:#c7f36b;--clay:#d85d35;--gold:#e7b95f;--sky:#8fc5c2;--danger:#d5634c;--shadow:#080f0b7a;--system-bg:#10221a;--system-surface:#172c20;--system-panel:#0d1b15;--system-text:#f6ead5;--system-muted:#b4c2b1;--system-border:#36513f;--system-identity:#c7f36b;--system-operation:#ffd36e;--system-control:#79f3ff;--system-billing:#ffb24a;--system-safety:#c9b8ff;--pixel:"Press Start 2P", ui-monospace, monospace;--body:"Source Sans 3", system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--forest);color:var(--cream);font-family:var(--body);min-width:320px}body{min-height:100vh;margin:0;overflow:hidden}:is(body:has(.fallback-portfolio.active),body:has(.fallback-portfolio:target:not(.returning-to-world))){overflow:auto}:is(body:has(.fallback-portfolio:target:not(.returning-to-world)) .world-shell,body:has(.fallback-portfolio:target:not(.returning-to-world)) .loading-screen){display:none}body:has(.blog-article-page){overflow:auto}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.not-found{text-align:center;background:radial-gradient(circle at 50% 38%, #9cc56d33, transparent 28%), var(--forest);place-content:center;min-height:100vh;padding:32px;display:grid}.not-found h1{max-width:18ch;font-family:var(--pixel);margin:0 auto 18px;font-size:clamp(1.45rem,5vw,3.2rem);line-height:1.35}.not-found p:not(.modal-kicker){color:#f6ead5bd;max-width:52ch;margin:0 auto 28px;font-size:1.05rem;line-height:1.6}.not-found .primary-button{justify-self:center}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--moss-bright);outline-offset:3px}.visually-hidden{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:500;background:var(--cream-strong);color:var(--ink);padding:12px 16px;font-weight:800;transition:transform .18s ease-out;position:fixed;top:12px;left:20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.world-shell,.world-root,.world-vignette,.grain{position:fixed;inset:0}.world-shell{background:var(--forest);isolation:isolate}.world-root canvas{touch-action:none;width:100%;height:100%;display:block}.world-vignette{pointer-events:none;z-index:1;box-shadow:inset 0 0 140px 25px #050b078a}.grain{pointer-events:none;z-index:2;border:8px solid #f6ead50d;box-shadow:inset 0 0 0 1px #f6ead517}.eyebrow,.modal-kicker,.loading-brand,.world-nav-label{font-family:var(--pixel);letter-spacing:.08em;text-transform:uppercase}.identity-card{z-index:10;width:min(410px,100vw - 190px);color:var(--cream-strong);border:1px solid #f6ead538;border-left:5px solid var(--moss-bright);box-shadow:0 18px 44px var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#17201be0;padding:19px 22px 18px;position:fixed;top:24px;left:96px}.identity-card .eyebrow{color:var(--moss-bright);margin:0 0 10px;font-size:.58rem}.identity-card h1{font-family:var(--pixel);margin:0;font-size:clamp(1.15rem,2.4vw,1.65rem);line-height:1.35}.snake-title{color:var(--gold);font-family:var(--pixel);margin:7px 0 0;font-size:.62rem;line-height:1.6}.identity-copy{color:#f6ead5c7;max-width:52ch;margin:12px 0 0;font-size:.94rem;line-height:1.45}.identity-status{color:var(--cream);align-items:center;gap:8px;margin-top:14px;font-size:.78rem;font-weight:700;display:flex}.status-dot{background:var(--moss-bright);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #c7f36b1f}.world-nav{z-index:20;gap:6px;display:grid;position:fixed;top:50%;left:18px;transform:translateY(-50%)}.world-nav-label{color:#f6ead59e;margin:0 0 3px 4px;font-size:.48rem}.world-nav-item{width:50px;min-height:47px;color:var(--cream);background:#17201be6;border:1px solid #f6ead52e;grid-template-columns:38px 0fr;align-items:center;padding:4px;transition:width .18s ease-out,border-color .18s ease-out,background-color .18s ease-out;display:grid;position:relative;overflow:hidden;box-shadow:0 9px 22px #080f0b33}.world-nav:hover .world-nav-item,.world-nav:focus-within .world-nav-item{grid-template-columns:38px 1fr;width:182px}.world-nav-item:hover,.world-nav-item:focus-visible{border-color:var(--landmark-color);background:var(--ink)}.nav-code{width:38px;height:37px;color:var(--landmark-color);font-family:var(--pixel);place-items:center;font-size:.58rem;display:grid}.nav-name{white-space:nowrap;font-size:.85rem;font-weight:700;overflow:hidden}.nav-visited{color:var(--landmark-color);font-family:var(--pixel);font-size:.35rem;display:none;position:absolute;bottom:3px;right:6px}.world-nav-item.visited{border-left:3px solid var(--landmark-color)}.world-nav-item.visited .nav-visited{display:block}.round-control{width:48px;height:48px;color:var(--cream);box-shadow:0 10px 26px var(--shadow);font-family:var(--pixel);background:#17201beb;border:1px solid #f6ead53d;place-items:center;padding:0;font-size:.54rem;display:grid}.round-control:hover{color:var(--ink);background:var(--moss-bright)}.settings-wrap{z-index:24;align-items:flex-start;gap:8px;display:flex;position:fixed;top:24px;right:24px}.settings-bar{width:240px;color:var(--cream);box-shadow:0 18px 44px var(--shadow);background:#17201bf5;border:1px solid #f6ead53d;padding:14px;display:none}.settings-wrap:hover .settings-bar,.settings-wrap:focus-within .settings-bar,.settings-wrap.open .settings-bar{gap:10px;display:grid}.settings-bar fieldset{border:0;border-bottom:1px solid #f6ead529;gap:8px;margin:0;padding:0 0 10px;display:flex}.settings-bar legend{width:100%;color:var(--gold);font-family:var(--pixel);margin-bottom:8px;font-size:.48rem}.settings-bar label{flex:1}.settings-bar input{opacity:0;position:absolute}.settings-bar label span{text-align:center;background:var(--ink-soft);border:1px solid #0000;place-items:center;min-height:44px;padding:8px 10px;font-weight:700;display:grid}.settings-bar input:checked+span{color:var(--ink);background:var(--moss-bright);border-color:var(--moss-bright)}.settings-bar input:focus-visible+span{outline:3px solid var(--moss-bright);outline-offset:3px}.volume-control{color:var(--cream);border-bottom:1px solid #f6ead529;gap:7px;padding-bottom:10px;font-size:.72rem;font-weight:700;display:grid}.volume-control input{width:100%;accent-color:var(--moss-bright);opacity:1;position:static}.settings-action{min-height:42px;color:var(--cream);text-align:left;background:0 0;border:1px solid #f6ead529;padding:9px 11px}.settings-action:hover{border-color:var(--gold)}.settings-action.danger{color:#ffb9a9}.help-trigger{z-index:20;font-size:1rem;position:fixed;bottom:20px;left:20px}.control-hint{z-index:8;color:#f6ead5cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#17201bb8;border:1px solid #f6ead524;align-items:center;gap:10px;padding:9px 13px;font-size:.78rem;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.control-key{color:var(--moss-bright);font-family:var(--pixel);font-size:.44rem}.control-separator{color:#f6ead56b}.touch-joystick{z-index:15;opacity:0;pointer-events:none;background:#17201b47;border:1px solid #f6ead57a;border-radius:50%;width:112px;height:112px;transition:opacity .12s ease-out,transform .12s ease-out;display:none;position:fixed;transform:translate(-50%,-50%)scale(.72);box-shadow:0 12px 28px #050b073d,inset 0 0 0 8px #f6ead50d}.touch-joystick:before{content:"";border:1px dashed #f6ead547;border-radius:50%;position:absolute;inset:17px}.touch-joystick.is-active{opacity:1;transform:translate(-50%,-50%)scale(1)}.touch-joystick-knob{border:2px solid var(--cream-strong);background:#7eae65d6;border-radius:50%;width:46px;height:46px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 16px #050b0752,inset 0 -4px #17201b33}@media (pointer:coarse) and (max-width:900px){.touch-joystick{display:block}}.fire-control{z-index:20;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:56px;height:56px;color:var(--cream-strong);background:var(--clay);border:2px solid var(--cream-strong);box-shadow:0 10px 26px var(--shadow), inset 0 -4px 0 #17201b38;font-family:var(--pixel);touch-action:manipulation;-webkit-user-select:none;user-select:none;place-items:center;padding:0;font-size:.52rem;transition:color .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out,opacity .16s ease-out,transform .1s ease-out;display:grid;position:fixed}.fire-control:hover:not(:disabled){color:var(--ink);background:var(--gold)}.fire-control:active:not(:disabled){box-shadow:0 4px 12px var(--shadow);transform:translateY(2px)scale(.96)}.fire-control:disabled{cursor:not-allowed;opacity:.42;filter:saturate(.45);box-shadow:0 5px 14px #080f0b47}.quality-badge{z-index:8;right:calc(88px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));color:#f6ead5ad;font-family:var(--pixel);white-space:nowrap;background:#17201bb3;border:1px solid #f6ead524;padding:8px 10px;font-size:.42rem;position:fixed}.fallback-trigger{z-index:9;color:var(--cream);background:#17201bad;border:1px solid #f6ead52e;padding:9px 13px;font-size:.78rem;position:fixed;top:28px;left:50%;transform:translate(-50%)}.fallback-trigger:hover{border-color:var(--moss-bright)}.loading-screen{--loading-accent:#c8f36a;--loading-accent-soft:#93b65c;--loading-cream:#f3efd2;--loading-surface:#040b08e6;z-index:1000;isolation:isolate;min-height:100dvh;color:var(--loading-cream);background:#020604;transition:opacity .52s ease-out,visibility .52s ease-out;position:fixed;inset:0;overflow:hidden}.loading-screen.finished{visibility:hidden;opacity:0;pointer-events:none}.loading-scene,.loading-scene img,.loading-scene-shade,.loading-scanlines{position:absolute;inset:0}.loading-scene{z-index:-4}.loading-scene img{object-fit:cover;object-position:center;width:100%;height:100%}.loading-scene-shade{z-index:-3;pointer-events:none;background:radial-gradient(at 15% 12%,#010503d1,#0000 38%),radial-gradient(at 84% 82%,#010503a3,#0000 43%),linear-gradient(#0105033d,#0000 44%,#0105036b)}.loading-scanlines{z-index:0;pointer-events:none;mix-blend-mode:multiply;opacity:.42;background:repeating-linear-gradient(0deg,#0000001f 0 1px,#0000 1px 4px)}.loading-header{z-index:3;top:max(calc(34px + 10dvh), calc(env(safe-area-inset-top) + 22px + 10dvh));text-align:center;text-shadow:3px 3px #020604,0 0 24px #9ac7532e;width:min(680px,100vw - 56px);max-width:min(620px,100vw - 56px);position:absolute;left:50%;transform:translate(-50%)}.loading-system-tag,.loading-version,.loading-title{font-family:var(--pixel);text-transform:uppercase;margin:0}.loading-system-tag{color:var(--loading-accent-soft);letter-spacing:.16em;font-size:clamp(.48rem,.9vw,.62rem)}.loading-title{color:var(--loading-cream);letter-spacing:.045em;margin-block:13px 12px;font-size:clamp(1.7rem,4.2vw,3.9rem);line-height:1.05}.loading-title span{color:var(--loading-accent)}.loading-version{color:#f3efd29e;letter-spacing:.12em;font-size:clamp(.44rem,.75vw,.54rem)}.firebugs{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.firebug-path{left:var(--bug-x);top:var(--bug-y);width:1px;height:1px;animation:firebug-drift var(--bug-duration) var(--bug-delay) ease-in-out infinite alternate;will-change:transform;position:absolute}.firebug{width:5px;height:5px;transform:scale(var(--bug-scale));animation:firebug-pulse 2.4s var(--bug-delay) ease-in-out infinite;background:#fff5a1;border-radius:50%;display:block;box-shadow:0 0 5px 2px #ffef77f5,0 0 15px 7px #cbe95f70,0 0 34px 12px #7ec94f21}.loading-status{z-index:4;width:min(680px,100vw - 56px);color:var(--loading-cream);background:linear-gradient(180deg, #09150fed, var(--loading-surface));clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);border:1px solid #c8f36a73;border-top-color:#c8f36ad1;gap:8px;padding:14px 18px 13px;display:grid;position:absolute;top:71dvh;bottom:auto;left:50%;transform:translate(-50%);box-shadow:6px 6px #0000008a,0 22px 56px #00000061,inset 0 0 0 1px #f3efd209}.loading-console-head,.loading-meter-head{font-family:var(--pixel);text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;display:flex}.loading-console-head{color:var(--loading-accent);letter-spacing:.08em;border-bottom:1px solid #c8f36a38;padding-bottom:6px;font-size:.5rem}.loading-console-head span{align-items:center;gap:8px;display:inline-flex}.loading-console-head>span:last-child{color:#f3efd285}.loading-console-head i{background:var(--loading-accent);width:7px;height:7px;animation:1.4s steps(2,end) infinite loading-signal-pulse;box-shadow:0 0 12px #c8f36acc}.loading-log{align-content:start;gap:0;min-height:1.75rem;margin:0;padding:0;list-style:none;display:grid}.loading-log-line{color:#c8f36ab8;font-family:var(--pixel);letter-spacing:.015em;text-shadow:2px 2px #000000e6;font-size:clamp(.58rem,1.05vw,.68rem);line-height:1.5}.loading-log-line:before{color:var(--loading-accent);content:">";margin-right:9px}.loading-log-line.typing{color:var(--loading-cream)}.loading-log-line.typing:after{vertical-align:-.12em;content:"";background:var(--loading-accent);width:.56em;height:1em;margin-left:6px;animation:.7s steps(2,end) infinite loading-cursor-blink;display:inline-block}.loading-log-line.complete{animation:.18s steps(2,end) both loading-line-settle}.loading-meter-head{color:#f3efd2b8;letter-spacing:.08em;font-size:.48rem}.loading-meter-head>span:last-child{color:var(--loading-cream);font-size:.56rem}.loading-track{background:#010603f5;border:1px solid #f3efd29e;width:100%;height:13px;padding:2px;overflow:hidden;box-shadow:inset 0 0 0 1px #040c07e0}.loading-track span{background:repeating-linear-gradient(90deg, transparent 0 13px, #040c0761 13px 15px), linear-gradient(90deg, #70993a, var(--loading-accent) 72%, #f0f9a6);transform-origin:0;will-change:transform;width:100%;height:100%;transition:transform .24s ease-out;display:block;transform:scaleX(0);box-shadow:0 0 13px #c8f36a75}.loading-mode-select{text-align:center;border-top:1px solid #c8f36a2e;gap:4px;padding-top:3px;display:grid}.loading-choice-label,.loading-mode-prompt{margin:0}.loading-choice-label{color:var(--loading-cream);font-family:var(--pixel);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(.52rem,.85vw,.62rem);line-height:1.55}.loading-mode-prompt{color:#f3efd2b8;font-size:.82rem;line-height:1.4}.loading-mode-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:3px;display:grid}.mode-choice{min-height:68px;font:inherit;text-align:center;cursor:pointer;place-content:center;gap:5px;padding:13px 14px 10px;line-height:1.35;text-decoration:none;transition:color .18s ease-out,border-color .18s ease-out,background-color .18s ease-out,box-shadow .18s ease-out;display:grid;position:relative}.mode-choice-title{font-family:var(--pixel);text-transform:uppercase;font-size:clamp(.56rem,.9vw,.68rem);line-height:1.5}.mode-choice-copy{letter-spacing:.02em;font-size:.76rem}.mode-choice-primary{color:#071006;background:linear-gradient(180deg, #e8f9a2, var(--loading-accent));border:2px solid #f6f6cf;box-shadow:4px 4px #2b4719e6,0 0 24px #c8f36a3d}.mode-choice-primary:disabled{color:#071006b8;cursor:wait;filter:saturate(.56)brightness(.76)}.mode-choice-secondary{color:var(--loading-cream);background:#0d1d14e0;border:2px solid #f3efd2b8;box-shadow:4px 4px #0000008c}.mode-recommended{color:#071006;font-family:var(--pixel);letter-spacing:.05em;text-transform:uppercase;background:#f5ffa9;border:1px solid #071006;padding:5px 7px 4px;font-size:.4rem;line-height:1;animation:1.25s steps(2,end) infinite recommended-flicker;position:absolute;top:-11px;right:10px;box-shadow:2px 2px #000000b3}.mode-choice-primary:not(:disabled):hover,.mode-choice-primary:not(:disabled):focus-visible{color:#020702;background:#f4ffbd;border-color:#fff;box-shadow:4px 4px #2b4719e6,0 0 34px #c8f36a9e}.mode-choice-secondary:hover,.mode-choice-secondary:focus-visible{color:#071006;background:var(--loading-cream);border-color:#fff}.mode-choice:focus-visible{outline:3px solid var(--loading-accent);outline-offset:4px}.ready-to-enter .loading-console-head>span:last-child{color:var(--loading-accent);text-shadow:0 0 12px #c8f36a8c}.mode-selected .loading-mode-actions{pointer-events:none}.loading-slow .loading-console-head>span:last-child{color:#e6bd63}@keyframes loading-signal-pulse{50%{opacity:.35}}@keyframes recommended-flicker{0%,42%,70%,to{opacity:1}46%,64%{opacity:.36}}@keyframes loading-cursor-blink{50%{opacity:0}}@keyframes loading-line-settle{0%{opacity:.55}}@keyframes firebug-drift{0%,12%{transform:translate(0,0)}48%{transform:translate3d(var(--bug-dx), var(--bug-dy), 0)}to{transform:translate(-2vw,-5vh)}}@keyframes firebug-pulse{0%,to{opacity:.25;transform:scale(var(--bug-scale,1))}42%{opacity:1;transform:scale(var(--bug-scale,1))}}@media (orientation:portrait){.loading-scene img{object-position:center;transform:translateY(-8%)scale(1.08)}.loading-scene-shade{background:radial-gradient(at 50% 8%,#010503b8,#0000 35%),radial-gradient(at 50% 31%,#01050385,#0000 42%),linear-gradient(#0105034d,#0000 42%,#0105032e)}.loading-header{top:max(calc(28px + 10dvh), calc(env(safe-area-inset-top) + 18px + 10dvh));text-align:center;width:calc(100vw - 32px);left:50%;transform:translate(-50%)}.loading-title{margin-block:11px 10px;font-size:clamp(1.55rem,8vw,2.5rem)}.loading-status{top:auto;right:auto;bottom:max(10px, calc(env(safe-area-inset-bottom) + 6px));gap:6px;width:min(540px,100vw - 28px);padding:10px 12px 9px;left:50%;transform:translate(-50%)}.loading-log{min-height:1.55rem}.loading-mode-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.loading-mode-prompt,.mode-choice-copy{display:none}.mode-choice{width:100%;min-height:60px;padding:12px 6px 9px}.mode-recommended{padding-block:4px 3px;font-size:.36rem;top:-8px;right:5px}.firebug-path:nth-child(n+9){display:none}}@media (max-height:700px) and (orientation:landscape){.loading-scene img{transform:translateY(-8%)scale(1.08)}.loading-header{text-align:left;width:auto;top:calc(22px + 10dvh);left:24px;transform:none}.loading-system-tag,.loading-version{display:none}.loading-title{margin:0;font-size:clamp(1.35rem,3.6vw,2.25rem)}.loading-status{gap:4px;width:min(640px,100vw - 32px);padding:8px 12px 7px;top:50.5dvh;bottom:auto;left:50%;transform:translate(-50%)}.loading-console-head{display:none}.loading-log{gap:0;min-height:1.35rem}.loading-log-line{font-size:clamp(.5rem,1vw,.6rem);line-height:1.45}.loading-mode-select{gap:3px;padding-top:3px}.loading-mode-prompt,.mode-choice-copy{display:none}.loading-mode-actions{gap:10px;margin-top:2px}.mode-choice{min-height:48px;padding:9px 10px 7px}.mode-recommended{padding-block:4px 3px;font-size:.36rem;top:-8px}}@media (max-height:500px) and (orientation:landscape){.loading-status{top:auto;bottom:10px}}@media (orientation:portrait) and (min-width:600px){.loading-mode-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}dialog{color:var(--ink);background:var(--cream-strong);border:0;box-shadow:0 34px 110px #040a06a8}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#080f0bb8}.tutorial-dialog,.completion-dialog{border-top:8px solid var(--moss);width:min(680px,100vw - 32px);padding:clamp(28px,5vw,54px)}.tutorial-dialog h2,.completion-dialog h2,.modal-article h2,.fallback-section h2{color:var(--ink);font-family:var(--pixel);margin:0;font-size:clamp(1.3rem,3vw,2.25rem);line-height:1.45}.dialog-close{width:46px;height:46px;color:var(--ink);background:0 0;border:1px solid #17201b38;place-items:center;padding:0;font-size:1.7rem;line-height:1;display:grid;position:absolute;top:14px;right:14px}.dialog-close:hover{background:var(--ink);color:var(--cream)}.modal-kicker{color:#647e49;margin:0 0 16px;font-size:.54rem;line-height:1.6}.tutorial-boat{width:156px;height:92px;margin:28px 0 34px;position:relative}.tutorial-boat span{display:block;position:absolute}.tutorial-boat-mast{background:var(--ink);border-radius:3px;width:5px;height:62px;top:4px;left:74px}.tutorial-boat-sail{border:3px solid var(--ink);clip-path:polygon(0 0,100% 87%,0 100%);background:#f5d399;width:54px;height:48px;top:8px;left:80px}.tutorial-boat-hull{border:3px solid var(--ink);clip-path:polygon(0 0,100% 0,83% 100%,17% 100%);background:#a86842;width:102px;height:32px;bottom:15px;left:40px}.tutorial-boat-wake{border-bottom:5px solid #8fcdd2;border-radius:50%;width:135px;height:15px;bottom:0;left:14px}.tutorial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.tutorial-grid article,.principle-grid article,.architecture-notes article{background:var(--paper);border:1px solid var(--paper-deep);padding:19px}.tutorial-number,.principle-grid span,.architecture-notes span{color:#647e49;font-family:var(--pixel);font-size:.54rem}.tutorial-grid h3,.principle-grid h3,.architecture-notes h4{margin:13px 0 7px}.tutorial-grid p,.principle-grid p,.architecture-notes p{margin:0;line-height:1.55}.tutorial-actions,.project-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.primary-button,.secondary-button{border:2px solid var(--ink);justify-content:center;align-items:center;min-height:48px;padding:12px 18px;font-weight:800;text-decoration:none;display:inline-flex}.primary-button{color:var(--cream-strong);background:var(--ink)}.primary-button:hover{color:var(--ink);background:var(--moss-bright)}.secondary-button{color:var(--ink);background:0 0}.secondary-button:hover{background:var(--paper)}.content-dialog{border-top:8px solid var(--gold);width:min(1080px,100vw - 48px);max-height:min(88vh,920px);padding:0;overflow:auto}.content-dialog.projects-mode{width:min(1260px,100vw - 48px)}.content-dialog>.dialog-close{z-index:10;background:#fff8ebf5}#dialog-content,#component-dialog-content{min-height:300px}.component-dialog{border-top:8px solid var(--gold);scrollbar-color:#36513f #10221a;background:#10221a;width:calc(100vw - 24px);max-width:1560px;max-height:calc(100dvh - 24px);padding:0;overflow:auto}.component-dialog .dialog-close{z-index:20;color:var(--cream-strong);background:#10221af0;border-color:#f6ead561}.component-dialog .dialog-close:hover,.component-dialog .dialog-close:focus-visible{color:var(--ink);background:var(--system-identity,var(--moss-bright))}.screenshot-dialog{width:min(1200px,100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);color:var(--cream-strong);background:var(--ink);border-top:8px solid var(--gold);padding:clamp(24px,4vw,42px);overflow:auto}.screenshot-dialog .dialog-close{z-index:2;color:var(--cream-strong);background:#17201bf0;border-color:#f6ead561}.screenshot-dialog .dialog-close:hover,.screenshot-dialog .dialog-close:focus-visible{color:var(--ink);background:var(--gold)}.screenshot-dialog h2{color:var(--cream-strong);font-family:var(--pixel);margin:0 58px 22px 0;font-size:clamp(1rem,2.5vw,1.65rem);line-height:1.5}.screenshot-dialog-figure{margin:0}.screenshot-dialog-figure img{object-fit:contain;background:var(--system-panel);width:100%;max-width:100%;height:auto;max-height:min(72dvh,720px);display:block}.screenshot-dialog-figure figcaption{color:var(--system-muted);margin:14px 0 0;line-height:1.55}.modal-article{padding:clamp(28px,5vw,58px)}.modal-lede,.fallback-lede{color:#4a554d;max-width:68ch;font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.55}.project-heading{grid-template-columns:1fr auto;align-items:start;gap:30px;display:grid}.project-showcase{grid-template-columns:128px minmax(0,1fr);align-items:start;gap:clamp(22px,3vw,42px);display:grid}.project-tabs{z-index:4;align-self:start;gap:10px;display:grid;position:sticky;top:22px}.project-tab{width:100%;min-height:112px;color:var(--ink);text-align:left;background:var(--paper);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--paper-deep);cursor:pointer;touch-action:manipulation;gap:7px;padding:14px 12px;transition:color .18s ease-out,background-color .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out;display:grid;position:relative;overflow:hidden}.project-tab:before{content:"";background:var(--clay);width:5px;position:absolute;top:0;bottom:0;left:0}.project-tab span,.project-tab small{font-family:var(--pixel);text-transform:uppercase;padding-left:5px;font-size:.46rem;line-height:1.55}.project-tab strong{padding-left:5px;font-size:.88rem;line-height:1.25}.project-tab small{color:#687168}.project-tab:hover,.project-tab:focus-visible{border-color:#59753e;box-shadow:5px 5px #b9c79c}.project-tab:focus-visible{outline:4px solid var(--gold);outline-offset:3px}.project-tab[aria-selected=true]{color:var(--cream-strong);background:var(--ink);border-color:var(--ink);box-shadow:6px 6px 0 var(--gold)}.project-tab[aria-selected=true]:before{background:var(--moss-bright)}.project-tab[aria-selected=true] small{color:#d6dfcf}.project-panels,.project-panel{min-width:0}.project-panel[hidden]{display:none}.project-mark{aspect-ratio:1;width:104px;color:var(--cream-strong);background:var(--clay);border:7px solid var(--ink);font-family:var(--pixel);place-items:center;font-size:1rem;display:grid;transform:rotate(3deg)}.project-mark-social{background:#6e63bd;transform:rotate(-3deg)}.project-meta{flex-wrap:wrap;gap:8px;margin:22px 0;display:flex}.project-meta span{color:var(--ink);background:var(--paper);border:1px solid var(--paper-deep);padding:8px 10px;font-size:.83rem;font-weight:800}.kageflow-capture{border:8px solid var(--ink);box-shadow:12px 12px 0 var(--paper-deep);background:#1f2b24;margin:22px 0;position:relative;overflow:hidden}.kageflow-capture img{width:100%;height:auto;display:block}.project-capture-placeholder{aspect-ratio:16/9;color:var(--cream-strong);background:linear-gradient(#f6ead50f 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#f6ead50f 1px,#0000 1px) 0 0/28px 28px,radial-gradient(circle at 78% 28%,#c9b8ff3d,#0000 28%),#172c20}.project-placeholder-grid{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) repeat(3,minmax(54px,.22fr));align-items:end;gap:clamp(10px,2vw,22px);min-height:100%;padding:clamp(24px,5vw,64px);display:grid}.project-placeholder-code{color:var(--moss-bright);font-family:var(--pixel);letter-spacing:.08em;grid-column:1/-1;font-size:clamp(.52rem,1vw,.72rem)}.project-placeholder-grid strong{font-family:var(--pixel);grid-area:2/1;align-self:center;font-size:clamp(1.1rem,3.6vw,2.8rem);line-height:1.4}.project-placeholder-grid small{color:#b4c2b1;font-family:var(--pixel);grid-area:3/1;font-size:clamp(.42rem,.9vw,.58rem);line-height:1.6}.project-placeholder-grid i{background:#f6ead514;border:1px solid #f6ead53d;grid-row:2/4;align-self:stretch;min-height:112px;box-shadow:inset 0 5px #c7f36b80}.project-placeholder-grid i:first-of-type{grid-column:2}.project-placeholder-grid i:nth-of-type(2){grid-column:3;box-shadow:inset 0 5px #ffd36e8c}.project-placeholder-grid i:nth-of-type(3){grid-column:4;box-shadow:inset 0 5px #c9b8ff99}.screenshot-trigger{width:100%;color:inherit;text-align:left;cursor:zoom-in;touch-action:manipulation;background:0 0;border:0;margin:0;padding:0;display:block}.screenshot-trigger:hover img{filter:brightness(1.06)}.screenshot-trigger:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}@media (max-height:480px){.screenshot-dialog{padding:12px}.screenshot-dialog .modal-kicker,.screenshot-dialog h2,.screenshot-dialog-figure figcaption{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screenshot-dialog-figure img{max-height:calc(100dvh - 48px)}}.kageflow-capture figcaption{pointer-events:none;color:var(--cream-strong);font-family:var(--pixel);background:#0e2a20e6;padding:7px 9px;font-size:.45rem;line-height:1.5;position:absolute;bottom:14px;right:18px}.kageflow-gallery-shell{border:2px solid var(--ink);background:#f0e5cc7a;margin:30px 0;overflow:hidden;container:kageflow-gallery/inline-size}.kageflow-gallery-disclosure{margin:0}.kageflow-gallery-disclosure>summary{width:100%;min-height:48px;color:var(--cream-strong);text-align:left;background:var(--ink);cursor:pointer;touch-action:manipulation;border:0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding:14px 52px 14px 16px;list-style:none;display:flex;position:relative}.kageflow-gallery-disclosure>summary::-webkit-details-marker{display:none}.kageflow-gallery-disclosure>summary:after{content:"+";font-family:var(--pixel);font-size:1rem;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.kageflow-gallery-disclosure[open]>summary:after{content:"−"}.kageflow-gallery-disclosure>summary:focus-visible{outline:4px solid var(--gold);outline-offset:-6px}.kageflow-gallery-disclosure>summary span{font-family:var(--pixel);font-size:clamp(.58rem,1.4vw,.76rem);line-height:1.6}.kageflow-gallery-disclosure>summary strong{color:var(--gold);font-size:.82rem}.kageflow-gallery-intro{color:#4a554d;max-width:72ch;margin:0;padding:18px 18px 0;line-height:1.55}.kageflow-gallery-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;min-width:0;padding:18px;display:grid}.kageflow-gallery-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.kageflow-gallery-disclosure[open]+.kageflow-gallery-preview{display:none}@container kageflow-gallery (width<=760px){.kageflow-gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.kageflow-gallery-preview .kageflow-gallery-card:nth-child(n+3){display:none}}@container kageflow-gallery (width<=460px){.kageflow-gallery-preview{grid-template-columns:minmax(0,1fr)}.kageflow-gallery-preview .kageflow-gallery-card:nth-child(n+2){display:none}}.kageflow-gallery-card{border:4px solid var(--ink);min-width:0;box-shadow:6px 6px 0 var(--paper-deep);background:#1f2b24;margin:0;overflow:hidden}.kageflow-gallery-card img{background:#d7e5e1;width:100%;height:auto;display:block}.kageflow-gallery-card figcaption{color:var(--cream-strong);background:var(--ink);font-family:var(--pixel);padding:10px 12px;font-size:.48rem;line-height:1.55}.section-heading{border-top:1px solid var(--paper-deep);justify-content:space-between;align-items:end;gap:24px;margin:48px 0 18px;padding-top:30px;display:flex}.section-heading h3{font-family:var(--pixel);margin:0;font-size:1.15rem}.section-heading>p{color:#687168;text-align:right;max-width:34ch}.component-grid,.skill-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.component-card,.skill-card,.blog-card{color:var(--ink);text-align:left;background:var(--paper);border:1px solid var(--paper-deep);padding:22px;text-decoration:none}button.component-card{width:100%}.component-card:hover,.blog-card:hover{border-color:#647e49;transform:translate(-2px,-2px);box-shadow:6px 6px #b9c79c}.component-card>span,.education-grid article>span{color:#647e49;font-family:var(--pixel);font-size:.5rem}.component-card h3,.skill-card h3,.blog-card h3{margin:14px 0 9px;font-size:1.15rem}.component-card p,.skill-card p,.blog-card p,.blog-card>span{color:#566158;margin:0;line-height:1.5}.component-card strong,.blog-card strong{color:#59753e;margin-top:18px;display:block}.component-card.static ul{padding-left:18px}.component-detail{color:var(--cream);background:var(--ink);border-left:7px solid var(--moss-bright);padding:26px;position:relative}.component-detail-system{background:0 0;border-left:0;padding:0;overflow:hidden}.component-system{--system-bg:#10221a;--system-surface:#172c20;--system-panel:#0d1b15;--system-text:#f6ead5;--system-muted:#b4c2b1;--system-border:#36513f;--system-identity:#c7f36b;--system-operation:#ffd36e;--system-control:#79f3ff;--system-billing:#ffb24a;--system-safety:#c9b8ff;color:var(--system-text);background:var(--system-bg);padding:66px 34px 34px}.system-back{min-height:44px;color:var(--system-muted);background:0 0;border:0;align-items:center;gap:9px;margin:-34px 0 24px;padding:8px 0;font-weight:700;display:inline-flex}.system-back:hover,.system-back:focus-visible{color:var(--system-identity)}.system-back span{font-size:1.3rem}.system-hero{grid-template-columns:minmax(0,1fr) minmax(210px,260px);align-items:start;gap:28px;padding:12px 0 28px;display:grid}.system-kicker,.system-section-label,.system-inspector-topline,.system-inspector-note>span,.system-section-heading>span{color:var(--system-identity);font-family:var(--pixel);letter-spacing:.08em;font-size:.45rem;line-height:1.6}.system-hero h2{max-width:18ch;color:var(--system-text);font-family:var(--pixel);margin:14px 0 12px;font-size:clamp(1.25rem,3vw,2.2rem);line-height:1.45}.system-hero p:last-child{max-width:72ch;color:var(--system-muted);margin:0;line-height:1.65}.system-status{background:var(--system-surface);border:1px solid var(--system-border);gap:7px;padding:18px;display:grid}.system-status span{color:var(--system-control);font-family:var(--pixel);align-items:center;gap:8px;font-size:.44rem;line-height:1.5;display:flex}.system-status span i{background:var(--system-control);width:8px;height:8px;box-shadow:0 0 12px var(--system-control);border-radius:50%}.system-status strong{color:var(--system-text);margin-top:8px;font-size:.9rem}.system-status small{color:var(--system-muted);line-height:1.45}.system-highlights{background:var(--system-border);border:1px solid var(--system-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.system-highlights article{background:var(--system-panel);align-content:start;min-height:136px;padding:18px;display:grid}.system-highlights strong{color:var(--system-operation);font-family:var(--pixel);font-size:clamp(.82rem,2vw,1.25rem);line-height:1.4}.system-highlights span{color:var(--system-text);margin-top:15px;font-weight:800}.system-highlights small{color:var(--system-muted);margin-top:5px;line-height:1.45}.system-view-bar{background:var(--system-surface);border:1px solid var(--system-border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;margin:20px 0;padding:12px;display:grid}.system-view-controls{flex-wrap:wrap;gap:8px;display:flex}.system-view-controls button{min-height:44px;color:var(--system-muted);background:var(--system-panel);border:1px solid var(--system-border);touch-action:manipulation;padding:10px 13px;font-size:.76rem;font-weight:800;transition:color .18s,background .18s,border-color .18s,transform .18s}.system-view-controls button:hover,.system-view-controls button:focus-visible,.system-view-controls button[aria-pressed=true]{color:var(--system-bg);background:var(--system-identity);border-color:var(--system-identity)}.system-view-controls button:active{transform:scale(.97)}.system-view-summary{border-left:1px solid var(--system-border);gap:4px;min-width:0;padding-left:20px;display:grid}.system-view-summary strong{color:var(--system-text)}.system-view-summary span{color:var(--system-muted);line-height:1.5}.system-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,330px);gap:16px;display:grid}.system-map-card,.system-inspector{background:var(--system-panel);border:1px solid var(--system-border);min-width:0}.system-map-heading{border-bottom:1px solid var(--system-border);justify-content:space-between;align-items:end;gap:18px;padding:18px 20px;display:flex}.system-map-heading h3,.system-inspector h4,.system-section-heading h4{color:var(--system-text);font-family:var(--pixel);margin:8px 0 0;font-size:1rem;line-height:1.5}.system-map-heading small{color:var(--system-muted);font-size:.72rem;font-weight:700}.system-map{background:linear-gradient(#f6ead506 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#f6ead506 1px,#0000 1px) 0 0/28px 28px,radial-gradient(circle at 50% 48%,#79f3ff14,#0000 42%),#0a1711;min-height:640px;position:relative;overflow:hidden}.system-lane-label{z-index:2;color:#b4c2b194;font-family:var(--pixel);letter-spacing:.08em;font-size:.4rem;position:absolute;left:18px}.system-lane-top{top:16px}.system-lane-bottom{bottom:16px}.system-connections{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.system-edge{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 10;marker-start:none;marker-mid:none;marker-end:none;vector-effect:non-scaling-stroke;transition:opacity .18s,stroke-width .18s;animation:8s linear infinite system-flow}.system-edge.identity{stroke:var(--system-identity)}.system-edge.operation{stroke:var(--system-operation)}.system-edge.control{stroke:var(--system-control)}.system-edge.account,.system-edge.billing{stroke:var(--system-billing)}.system-edge.safety{stroke:var(--system-safety)}.system-edge[data-muted=true]{opacity:.035;animation:none}@keyframes system-flow{to{stroke-dashoffset:-180px}}.system-node{z-index:3;top:var(--node-y);left:var(--node-x);width:clamp(132px,16%,164px);min-height:72px;color:var(--system-text);text-align:left;touch-action:manipulation;background:#14291f;border:1px solid #4a6a50;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:10px;transition:opacity .18s,border-color .18s,background .18s,transform .18s,box-shadow .18s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 9px 20px #0000003d}.system-node:hover,.system-node:focus-visible,.system-node[aria-pressed=true]{z-index:5;border-color:var(--system-control);background:#203d2d;transform:translate(-50%,calc(-50% - 3px));box-shadow:0 0 0 3px #79f3ff21,0 12px 26px #0000005c}.system-node[aria-pressed=true]:after{content:"";background:var(--system-control);width:6px;height:6px;box-shadow:0 0 10px var(--system-control);border-radius:50%;position:absolute;top:8px;right:8px}.system-node[data-muted=true]{opacity:.24}.system-node[data-muted=true]:hover,.system-node[data-muted=true]:focus-visible{opacity:1}.system-icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.system-node-icon{width:30px;height:30px;color:var(--system-control);fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.system-node span:last-child{min-width:0;display:grid}.system-node small{color:var(--system-muted);font-family:var(--pixel);font-size:.34rem;line-height:1.5}.system-node strong{overflow-wrap:normal;word-break:normal;margin-top:4px;font-size:.78rem;line-height:1.2}.system-legend{color:var(--system-muted);border-top:1px solid var(--system-border);flex-wrap:wrap;gap:10px 18px;padding:13px 18px;font-size:.875rem;line-height:1.4;display:flex}.system-legend span{align-items:center;gap:8px;display:inline-flex}.system-legend svg,.infra-legend svg{flex:0 0 30px;width:30px;height:4px;overflow:visible}.system-legend line,.infra-legend line{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:8 10;vector-effect:non-scaling-stroke}.system-legend svg.identity{color:var(--system-identity)}.system-legend svg.operation{color:var(--system-operation)}.system-legend svg.control{color:var(--system-control)}.system-legend svg.account,.system-legend svg.billing{color:var(--system-billing)}.system-legend svg.safety{color:var(--system-safety)}.system-inspector{align-self:start;padding:22px}.system-inspector-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.system-inspector-topline>i{color:var(--system-bg);background:var(--system-control);padding:5px 7px;font-size:.67rem;font-style:normal;font-weight:800}.system-inspector h4{margin-top:26px;font-size:1.06rem}.system-inspector>p{color:var(--system-muted);line-height:1.55}.system-inspector .system-inspector-summary{color:var(--system-text);font-size:1rem;font-weight:700}.system-inspector dl{background:var(--system-border);border:1px solid var(--system-border);gap:1px;margin:22px 0;display:grid;overflow:hidden}.system-inspector dl div{background:var(--system-surface);padding:12px}.system-inspector dt{color:var(--system-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800}.system-inspector dd{color:var(--system-text);margin:5px 0 0;line-height:1.45}.system-inspector-note{border-top:1px solid var(--system-border);padding-top:18px}.system-inspector-note p{color:var(--system-muted);margin:8px 0 0;font-size:.82rem;line-height:1.5}.system-decisions{border-top:1px solid var(--system-border);margin-top:28px;padding-top:26px}.system-section-heading{margin-bottom:16px}.system-section-heading h4{font-size:1.08rem}.system-decision-grid{background:var(--system-border);border:1px solid var(--system-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.system-decision-grid article{background:var(--system-panel);min-height:184px;padding:20px}.system-decision-grid article>span{color:var(--system-operation);font-family:var(--pixel);font-size:.4rem;line-height:1.5}.system-decision-grid h5{color:var(--system-text);margin:20px 0 10px;font-size:1rem}.system-decision-grid p{color:var(--system-muted);margin:0;line-height:1.55}.component-detail h3{color:var(--cream-strong);font-family:var(--pixel);margin:0;font-size:1.2rem}.component-detail .modal-lede{color:#f6ead5bd}.component-detail ul{gap:10px;padding-left:20px;line-height:1.5;display:grid}.detail-close{float:right;color:var(--cream);background:0 0;border:1px solid #f6ead54d;padding:8px 10px}.tag-list{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.tag-list span{color:var(--ink);background:var(--moss-bright);padding:7px 9px;font-size:.78rem;font-weight:800}.architecture-panel{background:#d9e0ca;border:1px solid #aeba97;margin-top:30px;padding:30px}.architecture-panel h3{max-width:26ch;font-family:var(--pixel);margin:0;font-size:1.25rem;line-height:1.5}.architecture-panel>p:not(.modal-kicker){max-width:78ch;margin:14px 0 0;line-height:1.6}.architecture-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.architecture-path{background:#f6ead594;border:1px solid #aeba97;padding:16px}.architecture-path h4{color:var(--ink);margin:0;font-size:.95rem}.architecture-flow{flex-wrap:wrap;align-items:center;gap:9px;margin:26px 0;display:flex}.architecture-flow span{color:var(--cream-strong);background:var(--ink);padding:11px 13px;font-weight:800}.architecture-flow b{color:#607744}.architecture-notes,.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.component-dialog.infrastructure-mode{background:var(--system-bg);scrollbar-color:var(--system-border) var(--system-bg)}.architecture-path .architecture-flow{margin:14px 0 0}.component-dialog.infrastructure-mode .dialog-close{color:var(--system-text);background:#0d1b15f0;border-color:#f6ead561}.component-dialog.infrastructure-mode .dialog-close:hover,.component-dialog.infrastructure-mode .dialog-close:focus-visible{color:var(--system-bg);background:var(--system-identity)}.infra-dashboard{--infra-bg:var(--system-bg);--infra-panel:var(--system-surface);--infra-panel-raised:#1f3a2a;--infra-border:var(--system-border);--infra-text:var(--system-text);--infra-muted:var(--system-muted);--infra-accent:var(--system-identity);--infra-status:var(--system-identity);--infra-release:var(--system-operation);--infra-runtime:var(--system-control);--infra-recovery:var(--system-safety);min-height:100%;color:var(--infra-text);background:radial-gradient(circle at 12% 0%, #c7f36b1c, transparent 27%), radial-gradient(circle at 90% 18%, #ffd36e14, transparent 25%), linear-gradient(#f6ead509 1px, transparent 1px), linear-gradient(90deg, #f6ead509 1px, transparent 1px), var(--infra-bg);background-size:auto,auto,34px 34px,34px 34px,auto;padding:clamp(28px,4vw,58px)}.infra-icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.infra-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(28px,5vw,72px);max-width:1380px;margin:0 auto;display:grid}.infra-back{min-height:44px;color:var(--infra-muted);background:0 0;border:0;align-items:center;gap:9px;margin:-10px 0 30px;padding:8px 0;font-weight:700;display:inline-flex}.infra-back:hover{color:var(--infra-accent)}.infra-back span{font-size:1.3rem}.infra-eyebrow,.infra-map-heading span,.infra-inspector-topline>span,.infra-release-contract>span,.infra-section-heading>span{color:var(--infra-accent);font-family:var(--pixel);letter-spacing:.08em;margin:0;font-size:.5rem;line-height:1.7}.infra-hero h2{max-width:20ch;color:var(--infra-text);font-family:var(--pixel);letter-spacing:-.055em;margin:18px 0;font-size:clamp(1.7rem,3vw,3.2rem);line-height:1.28}.infra-hero h2:focus-visible{outline:2px solid var(--infra-accent);outline-offset:7px}.infra-hero>div:first-child>p:not(.infra-eyebrow){max-width:72ch;color:var(--infra-muted);margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.infra-hero>div:first-child>.infra-scope-note{border-left:3px solid var(--infra-runtime);margin-top:12px;padding-left:12px;font-size:.95rem}.infra-status{background:var(--infra-panel);border:1px solid var(--infra-border);min-width:230px;box-shadow:8px 8px 0 var(--system-panel);padding:24px;display:grid}.infra-status span{color:var(--infra-status);font-family:var(--pixel);align-items:center;gap:8px;font-size:.5rem;display:flex}.infra-status span i{background:var(--infra-status);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #c7f36b24}.infra-status strong{color:var(--infra-text);margin-top:20px;font-size:1.05rem}.infra-status small{color:var(--infra-muted);margin-top:4px;font-size:.8rem}.infra-highlights{background:var(--infra-border);border:1px solid var(--infra-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;max-width:1380px;margin:44px auto 0;display:grid;overflow:hidden}.infra-highlights article{background:var(--infra-panel);align-content:start;min-height:150px;padding:24px;display:grid}.infra-highlights strong{color:var(--infra-accent);font-family:var(--pixel);font-size:clamp(1rem,2vw,1.7rem);line-height:1.3}.infra-highlights span{color:var(--infra-text);margin-top:17px;font-weight:800}.infra-highlights small{color:var(--infra-muted);margin-top:4px;line-height:1.45}.infra-view-bar{background:var(--infra-panel);border:1px solid var(--infra-border);grid-template-columns:auto minmax(260px,1fr);align-items:center;gap:22px;max-width:1380px;margin:24px auto;padding:14px;display:grid}.infra-view-controls{flex-wrap:wrap;gap:8px;display:flex}.infra-view-controls button{min-height:44px;color:var(--infra-muted);background:var(--infra-panel-raised);border:1px solid var(--infra-border);padding:10px 14px;font-weight:800;transition:color .16s,background .16s,border-color .16s}.infra-view-controls button:hover,.infra-view-controls button[aria-pressed=true]{color:var(--system-bg);background:var(--infra-accent);border-color:var(--infra-accent)}.infra-view-summary{border-left:1px solid var(--infra-border);gap:3px;padding-left:22px;display:grid}.infra-view-summary strong{color:var(--infra-text)}.infra-view-summary span{color:var(--infra-muted);line-height:1.45}.infra-workspace{grid-template-columns:minmax(0,1fr) minmax(285px,330px);gap:18px;max-width:1380px;margin:0 auto;display:grid}.infra-map-card,.infra-inspector{background:var(--infra-panel);border:1px solid var(--infra-border)}.infra-map-heading{border-bottom:1px solid var(--infra-border);justify-content:space-between;align-items:end;gap:18px;padding:18px 20px;display:flex}.infra-map-heading h3,.infra-inspector h3,.infra-section-heading h3{color:var(--infra-text);margin:7px 0 0;font-size:1rem}.infra-map-heading h3{font-family:var(--pixel);line-height:1.5}.infra-map-heading>small{color:var(--infra-muted);font-weight:700}.infra-map{background:radial-gradient(circle at 55% 57%, #79f3ff14, transparent 31%), linear-gradient(#f6ead50b 1px, transparent 1px), linear-gradient(90deg, #f6ead50b 1px, transparent 1px), var(--infra-bg);background-size:auto,28px 28px,28px 28px,auto;min-height:640px;position:relative;overflow:hidden}.infra-lane-label{z-index:3;color:var(--infra-muted);font-family:var(--pixel);letter-spacing:.08em;font-size:.4rem;position:absolute;left:20px}.infra-lane-label-delivery{top:18px}.infra-lane-label-runtime{top:28%}.infra-runtime-boundary{z-index:0;background:#79f3ff0b;border:1px dashed #79f3ff73;position:absolute;inset:31% 9% 4% 18%}.infra-runtime-boundary b{color:var(--infra-runtime);background:var(--infra-bg);font-family:var(--pixel);letter-spacing:.06em;padding:4px 7px;font-size:.4rem;position:absolute;top:-11px;left:16px}.infra-connections{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.infra-edge{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 10;marker-start:none;marker-mid:none;marker-end:none;vector-effect:non-scaling-stroke;transition:opacity .18s,stroke-width .18s;animation:8s linear infinite infra-flow}.infra-edge.release{stroke:var(--infra-release)}.infra-edge.runtime{stroke:var(--infra-runtime)}.infra-edge.recovery{stroke:var(--infra-recovery)}.infra-edge[data-muted=true]{opacity:.035;animation:none}@keyframes infra-flow{to{stroke-dashoffset:-180px}}.infra-node{z-index:4;top:var(--node-y);left:var(--node-x);width:clamp(132px,16%,164px);min-height:72px;color:var(--infra-text);text-align:left;background:var(--infra-panel-raised);border:1px solid var(--infra-border);touch-action:manipulation;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:10px;transition:opacity .18s,border-color .18s,background .18s,transform .18s,box-shadow .18s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 9px 20px #0000003d}.infra-node:hover,.infra-node:focus-visible,.infra-node[aria-pressed=true]{z-index:6;background:var(--infra-panel);border-color:var(--infra-runtime);transform:translate(-50%,calc(-50% - 3px));box-shadow:0 0 0 3px #79f3ff24,0 12px 26px #0000005c}.infra-node[aria-pressed=true]:after{content:"";background:var(--infra-runtime);width:6px;height:6px;box-shadow:0 0 10px var(--infra-runtime);border-radius:50%;position:absolute;top:8px;right:8px}.infra-node[data-muted=true]{opacity:.23}.infra-node[data-muted=true]:hover,.infra-node[data-muted=true]:focus-visible{opacity:1}.infra-node>svg{width:30px;height:30px;color:var(--infra-runtime);fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.infra-node span{min-width:0;display:grid}.infra-node small{color:var(--infra-muted);font-family:var(--pixel);font-size:.34rem;line-height:1.5}.infra-node strong{overflow-wrap:anywhere;margin-top:4px;font-size:.78rem;line-height:1.2}.infra-legend{color:var(--infra-muted);border-top:1px solid var(--infra-border);flex-wrap:wrap;gap:12px 22px;padding:14px 20px;font-size:.875rem;line-height:1.4;display:flex}.infra-legend span{align-items:center;gap:8px;display:inline-flex}.infra-legend svg.release{color:var(--infra-release)}.infra-legend svg.runtime{color:var(--infra-runtime)}.infra-legend svg.recovery{color:var(--infra-recovery)}.infra-inspector{align-self:start;padding:24px;position:sticky;top:14px}.infra-inspector-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.infra-inspector-topline i{color:var(--system-bg);background:var(--system-operation);padding:5px 7px;font-size:.7rem;font-style:normal;font-weight:800}.infra-inspector h3{font-family:var(--pixel);margin-top:28px;font-size:1rem;line-height:1.5}.infra-inspector>p{color:var(--infra-muted);line-height:1.55}.infra-inspector .infra-inspector-summary{color:var(--infra-text);font-size:1.05rem;font-weight:700}.infra-inspector dl{background:var(--infra-border);border:1px solid var(--infra-border);gap:1px;margin:24px 0;display:grid;overflow:hidden}.infra-inspector dl div{background:var(--infra-panel-raised);padding:12px}.infra-inspector dt{color:var(--infra-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:800}.infra-inspector dd{color:var(--infra-text);margin:5px 0 0;line-height:1.4}.infra-release-contract{border-top:1px solid var(--infra-border);padding-top:22px}.infra-release-contract ol{gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.infra-release-contract li{grid-template-columns:30px 1fr;align-items:start;gap:10px;display:grid}.infra-release-contract li>b{color:var(--infra-accent);font-family:var(--pixel);font-size:.42rem;line-height:1.8}.infra-release-contract li span{display:grid}.infra-release-contract li small{color:var(--infra-muted);margin-top:2px;line-height:1.35}.infra-decisions{border-top:1px solid var(--infra-border);max-width:1380px;margin:52px auto 0;padding-top:32px}.infra-section-heading{margin-bottom:20px}.infra-decisions>div:last-child{background:var(--infra-border);border:1px solid var(--infra-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.infra-decisions article{background:var(--infra-panel);min-height:210px;padding:24px}.infra-decisions article>span{color:var(--infra-accent);font-family:var(--pixel);font-size:.4rem;line-height:1.6}.infra-decisions h4{color:var(--infra-text);margin:22px 0 10px;font-size:1.05rem}.infra-decisions p{color:var(--infra-muted);margin:0;line-height:1.55}.skill-grid{margin-top:28px}.skill-card>p{color:#647e49;font-weight:700}.prose-section>p:not(.modal-kicker,.modal-lede){color:#49534a;max-width:68ch;font-size:1.05rem;line-height:1.7}.principle-grid{margin-top:28px}.timeline{gap:0;margin:30px 0 0;padding:0;list-style:none;display:grid}.timeline li{border-top:1px solid var(--paper-deep);grid-template-columns:70px 1fr;gap:18px;padding:22px 0;display:grid}.timeline li>span{width:58px;height:58px;color:var(--cream-strong);background:var(--ink);font-family:var(--pixel);place-items:center;font-size:.54rem;display:grid}.timeline small{color:#7a806f;font-family:var(--pixel);font-size:.44rem}.timeline h3{margin:8px 0 5px}.timeline p{color:#556057;margin:0}.education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.education-grid article{background:var(--paper);border:1px solid var(--paper-deep);min-height:220px;padding:26px}.education-grid article p{color:#687168}.education-grid article h3{font-family:var(--pixel);font-size:1rem;line-height:1.55}.education-grid article strong{color:#59753e}.resume-sheet{max-width:800px;box-shadow:10px 10px 0 var(--paper-deep);background:#fffdf8;border:1px solid #d8d2c6;margin-top:26px;padding:clamp(24px,4vw,44px)}.resume-sheet header{border-bottom:4px solid var(--ink);justify-content:space-between;gap:20px;padding-bottom:20px;display:flex}.resume-sheet h3{font-family:var(--pixel);margin:0}.resume-sheet header p{margin:7px 0 0}.resume-sheet section{border-bottom:1px solid #ded8cb;grid-template-columns:150px 1fr;gap:16px;padding:18px 0;display:grid}.resume-sheet h4,.resume-sheet h5,.resume-sheet p{margin:0}.resume-sheet h4{font-family:var(--pixel);font-size:.56rem}.resume-sheet h5{font-size:1rem}.as-link{text-decoration:none}.blog-grid{margin-top:28px}.blog-card>p:first-child{color:#647e49;font-size:.82rem;font-weight:800}.contact-tabs{gap:8px;margin:28px 0 22px;display:flex}.contact-tabs button{min-height:48px;color:var(--ink);border:2px solid var(--ink);background:0 0;padding:10px 16px;font-weight:800}.contact-tabs button[aria-selected=true]{color:var(--cream-strong);background:var(--ink)}.email-display{color:var(--ink);background:var(--paper);border-left:7px solid var(--moss);font-family:var(--pixel);padding:22px;font-size:clamp(.72rem,2vw,1.1rem);line-height:1.5;text-decoration:none;display:block}.contact-links{flex-wrap:wrap;gap:10px;margin-top:15px;display:flex}.contact-links a,.contact-links button{min-height:44px;color:var(--ink);background:0 0;border:1px solid #17201b4d;padding:10px 13px;font-weight:800;text-decoration:none}.contact-form{gap:15px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.contact-form label{gap:7px;font-weight:800;display:grid}.contact-form input,.contact-form textarea{width:100%;min-height:48px;color:var(--ink);background:#fffdf8;border:2px solid #b9b19f;padding:11px 12px}.contact-form textarea{resize:vertical}.toast{z-index:1200;max-width:min(440px,100vw - 32px);color:var(--cream-strong);background:var(--ink);border:1px solid var(--moss-bright);box-shadow:0 12px 32px var(--shadow);opacity:0;pointer-events:none;padding:12px 16px;transition:opacity .18s ease-out,transform .18s ease-out;position:fixed;bottom:28px;left:50%;transform:translate(-50%,18px)}.toast.visible{opacity:1;transform:translate(-50%)}.fallback-portfolio{min-height:100vh;color:var(--ink);background:var(--cream-strong);display:none}.fallback-portfolio.active,.fallback-portfolio:target:not(.returning-to-world){display:block}.fallback-header,.fallback-nav,.fallback-section{width:min(1160px,100% - 40px);margin-inline:auto}.fallback-header{border-bottom:6px solid var(--ink);justify-content:space-between;align-items:end;gap:30px;padding:64px 0 34px;display:flex}.fallback-header h1{font-family:var(--pixel);margin:0;font-size:clamp(1.5rem,4vw,3rem)}.fallback-header p:last-child{color:#566158;margin-bottom:0;font-size:1.1rem}.fallback-nav{border-bottom:1px solid var(--paper-deep);flex-wrap:wrap;gap:8px;padding:18px 0;display:flex}.fallback-nav a{border:1px solid var(--paper-deep);padding:8px 10px;font-weight:700;text-decoration:none}.fallback-section{border-bottom:1px solid var(--paper-deep);padding-block:clamp(54px,8vw,100px)}.fallback-section .component-grid,.fallback-section .skill-grid,.fallback-section .blog-grid{margin-top:28px}.fallback-section.contact-classic{padding-bottom:120px}.blog-article-page{min-height:100vh;color:var(--ink);background:linear-gradient(#d8c6aa38 1px, transparent 1px), var(--cream-strong);background-size:100% 32px}.article-site-header,.article-shell,.article-footer{width:min(100% - 40px,1160px);margin-inline:auto}.article-site-header{border-bottom:1px solid var(--paper-deep);justify-content:space-between;align-items:center;gap:28px;padding-block:24px;display:flex}.article-home-link{gap:5px;text-decoration:none;display:grid}.article-home-link span{font-family:var(--pixel);font-size:.7rem}.article-home-link strong{color:#59705f;font-size:.9rem}.article-site-header nav{flex-wrap:wrap;gap:8px;display:flex}.article-site-header nav a,.article-footer a{color:#435a37;text-underline-offset:4px;padding:9px 11px;font-weight:800}.article-shell{padding-block:clamp(54px,8vw,104px)}.blog-article{background:var(--cream-strong);border:1px solid var(--paper-deep);width:min(100%,760px);margin-inline:auto;padding:clamp(28px,6vw,72px);box-shadow:12px 12px #d8c6aa99}.article-header{border-bottom:6px solid var(--ink);padding-bottom:clamp(32px,6vw,56px)}.article-header h1{max-width:20ch;font-family:var(--pixel);text-wrap:balance;margin:18px 0 22px;font-size:clamp(1.55rem,5vw,3rem);line-height:1.3}.article-deck{color:#455247;max-width:56ch;margin:0;font-size:clamp(1.1rem,2.4vw,1.35rem);line-height:1.55}.article-read-time{color:#59753e;margin:20px 0 0;font-weight:800}.article-tag-list{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.article-tag-list li{color:#34462d;background:#e5edcf;border:1px solid #9caf78;padding:6px 9px;font-size:.82rem;font-weight:800;line-height:1.35}.article-body{color:#303b33;padding-top:clamp(30px,6vw,56px);font-size:1.08rem;line-height:1.75}.article-body section{padding-top:24px}.article-body h2{color:var(--ink);text-wrap:balance;margin:42px 0 18px;font-size:clamp(1.45rem,3.4vw,2rem);line-height:1.25}.article-body p,.article-body ul,.article-body blockquote,.article-body pre{margin-block:0 22px}.article-body ul{padding-left:1.35em}.article-body li+li{margin-top:7px}.article-body blockquote{color:#34462d;border-left:5px solid #799650;padding:2px 0 2px 22px;font-size:1.12rem;font-weight:700}.article-body blockquote p{margin:0}.article-body pre{max-width:100%;color:var(--cream-strong);background:var(--ink);white-space:pre;scrollbar-color:var(--moss) var(--ink-soft);border:1px solid #405248;padding:22px;font-size:clamp(.78rem,2vw,.95rem);line-height:1.65;overflow-x:auto}.article-body code{font-family:ui-monospace,Cascadia Code,SFMono-Regular,Consolas,monospace}.article-footer{border-top:1px solid var(--paper-deep);justify-content:space-between;align-items:center;gap:24px;padding-block:28px 44px;display:flex}.article-footer p{color:#687168;margin:0}.article-blog-dialog{width:min(900px,100vw - 32px);max-height:min(760px,100dvh - 32px);color:var(--ink);background:var(--cream-strong);border:2px solid var(--ink);padding:0;box-shadow:12px 12px #242d2680}.article-blog-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#141a16b8}.article-blog-dialog-shell{max-height:min(756px,100dvh - 36px);padding:clamp(24px,5vw,48px);overflow-y:auto}.article-blog-dialog-header{border-bottom:5px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.article-blog-dialog-header h2{font-family:var(--pixel);margin:10px 0 0;font-size:clamp(1.45rem,4vw,2.4rem);line-height:1.25}.article-blog-dialog-close{width:44px;height:44px;color:var(--cream-strong);background:var(--ink);border:2px solid var(--ink);cursor:pointer;flex:0 0 44px;place-items:center;padding:0;font:700 1.65rem/1 sans-serif;transition:color .18s,background-color .18s;display:grid}.article-blog-dialog-close:hover,.article-blog-dialog-close:focus-visible{color:var(--ink);background:#b9dc78}.article-blog-dialog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:24px;display:grid}.article-blog-preview{border:1px solid var(--paper-deep);background:#f4ead8;flex-direction:column;min-width:0;padding:20px;display:flex}.article-blog-preview>p:first-child{color:#59753e;font-family:var(--pixel);margin:0 0 12px;font-size:.62rem;line-height:1.6}.article-blog-preview h3{margin:0 0 14px;font-size:1.15rem;line-height:1.35}.article-blog-preview h3+p{color:#455247;flex:1;margin:0 0 22px;line-height:1.55}.article-blog-preview a{color:#435a37;text-underline-offset:4px;align-self:flex-start;min-height:44px;padding:11px 0;font-weight:800}@media (max-width:760px){.article-blog-dialog-grid{grid-template-columns:1fr}.article-blog-dialog-shell{padding:22px 18px}}@media (max-width:1180px){.infra-workspace{grid-template-columns:1fr}.infra-inspector{position:static}.infra-decisions>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.identity-card{width:min(390px,100vw - 150px);left:78px}.identity-copy,.identity-status{display:none}.world-nav{left:14px}.content-dialog,.component-dialog{width:calc(100vw - 30px);max-height:calc(100dvh - 30px)}.architecture-notes,.principle-grid,.architecture-paths,.component-grid,.skill-grid,.blog-grid{grid-template-columns:1fr}.infra-hero{grid-template-columns:1fr;align-items:start}.infra-status{min-width:0}.infra-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-view-bar{grid-template-columns:1fr}.infra-view-summary{border-top:1px solid var(--infra-border);border-left:0;padding:14px 0 0}.infra-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;padding:18px;display:grid}.infra-connections,.infra-lane-label,.infra-runtime-boundary{display:none}.infra-node{width:100%;min-height:76px;position:relative;top:auto;left:auto;transform:none}.infra-node:hover,.infra-node:focus-visible,.infra-node[aria-pressed=true]{transform:translateY(-2px)}.infra-node[data-muted=true]{opacity:.48}}@media (max-width:640px){.identity-card{width:138px;box-shadow:0 10px 24px var(--shadow);border-left-width:3px;padding:10px 10px 9px;top:12px;left:12px}.identity-card .eyebrow,.identity-copy{display:none}.identity-card h1{white-space:nowrap;font-size:.72rem;line-height:1.25}.snake-title{white-space:nowrap;margin-top:4px;font-size:.4rem;line-height:1.35}.identity-status{gap:5px;margin-top:6px;font-size:.55rem}.identity-status span:last-child{display:none}.settings-wrap{top:14px;right:14px}.settings-bar{width:min(260px,100vw - 28px);position:fixed;top:70px;right:14px}.world-nav{top:auto;left:14px;right:14px;bottom:calc(76px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;max-width:none;display:grid;overflow:visible;transform:none}.world-nav-label,.nav-name,.nav-visited{display:none!important}.world-nav-item,.world-nav:hover .world-nav-item,.world-nav:focus-within .world-nav-item{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;padding-inline:1px}.nav-code{width:100%}.help-trigger{left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}.fire-control{right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}.quality-badge{right:calc(82px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}.control-hint,.fallback-trigger{display:none}.tutorial-dialog,.completion-dialog{padding:28px 22px}.tutorial-grid,.education-grid,.form-grid{grid-template-columns:1fr}.content-dialog,.component-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}.modal-article{padding:30px 20px}.project-heading{grid-template-columns:1fr}.project-mark{grid-row:1;width:72px}.kageflow-capture{box-shadow:7px 7px 0 var(--paper-deep);border-width:5px}.kageflow-capture figcaption{bottom:8px;right:8px}.section-heading{display:block}.section-heading>p{text-align:left}.architecture-panel{padding:20px}.architecture-flow b{transform:rotate(90deg)}.infra-dashboard{padding:26px 16px 36px}.infra-back{margin-bottom:22px}.infra-hero h2{font-size:clamp(1.45rem,8vw,2.4rem)}.infra-highlights{grid-template-columns:1fr}.infra-highlights article{min-height:128px}.infra-view-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.infra-map-heading{align-items:start}.infra-map-heading>small{display:none}.infra-map{grid-template-columns:1fr;padding:12px}.infra-node{grid-template-columns:38px minmax(0,1fr);min-height:70px}.infra-node>svg{width:34px;height:34px}.infra-inspector{padding:20px}.infra-inspector-topline{align-items:start}.infra-decisions>div:last-child{grid-template-columns:1fr}.infra-decisions article{min-height:0}.timeline li{grid-template-columns:54px 1fr}.timeline li>span{width:46px;height:46px}.resume-sheet header,.fallback-header{display:grid}.resume-sheet section{grid-template-columns:1fr}.fallback-header,.fallback-nav,.fallback-section,.article-site-header,.article-shell,.article-footer{width:min(100% - 28px,1160px)}.article-site-header{align-items:flex-start}.article-site-header nav{justify-content:flex-end}.article-site-header nav a{padding:6px}.blog-article{padding:28px 20px;box-shadow:7px 7px #d8c6aa99}.article-header h1{font-size:clamp(1.35rem,7vw,2rem)}.article-body{font-size:1rem}.article-body pre{margin-inline:-8px;padding:18px 16px}}@media (prefers-reduced-motion:reduce){.loading-screen,.loading-track span,.loading-log-line,.loading-log-line.typing:after,.loading-console-head i,.mode-recommended,.toast,.world-nav-item,.fire-control{transition-duration:1ms;animation-duration:1ms;animation-iteration-count:1}.infra-edge{animation:none}}@media (max-width:1180px){.system-workspace{grid-template-columns:1fr}.system-inspector{position:static}}@media (max-width:900px){.component-system{padding:64px 20px 34px}.system-hero{grid-template-columns:1fr}.system-status{max-width:360px}.system-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.system-view-bar{grid-template-columns:1fr}.system-view-summary{border-top:1px solid var(--system-border);border-left:0;padding:14px 0 0}.system-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;padding:18px;display:grid}.system-connections,.system-lane-label{display:none}.system-node{width:100%;min-height:76px;position:relative;top:auto;left:auto;transform:none}.system-node-icon{width:34px;height:34px}.system-node:hover,.system-node:focus-visible,.system-node[aria-pressed=true]{transform:translateY(-3px)}.system-node[data-muted=true]{opacity:.46}}@media (max-width:640px){.component-system{padding:62px 16px 30px}.system-hero{padding-top:28px}.system-hero h2{max-width:15ch;font-size:1.35rem}.system-highlights{grid-template-columns:1fr}.system-highlights article{min-height:112px}.system-view-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.system-map{grid-template-columns:1fr;padding:12px}.system-map-heading{align-items:start}.system-map-heading small{display:none}.system-inspector{padding:18px}.system-decision-grid{grid-template-columns:1fr}.system-decision-grid article{min-height:0}}@media (max-width:900px){.project-showcase{grid-template-columns:108px minmax(0,1fr);gap:20px}.project-tab{min-height:102px;padding-inline:10px}}@media (max-width:760px){.project-showcase-modal{padding-top:36px}.project-showcase{grid-template-columns:minmax(0,1fr);gap:24px}.project-tabs{border-bottom:1px solid var(--paper-deep);background:#f6ead5f5;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-4px -4px 0;padding:4px;top:0}.project-tab{min-height:72px;box-shadow:3px 3px 0 var(--paper-deep);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);column-gap:8px;padding:10px 9px}.project-tab span{grid-row:1/3;align-self:center}.project-tab strong,.project-tab small{padding-left:0}.project-tab strong{font-size:.78rem}.project-placeholder-grid{grid-template-columns:minmax(0,1fr) repeat(2,minmax(42px,.3fr));padding:24px}.project-placeholder-grid i:nth-of-type(3){display:none}}@media (max-width:480px){.project-tab small{display:none}.project-tab strong{align-self:center}.project-placeholder-grid{grid-template-columns:minmax(0,1fr) 64px}.project-placeholder-grid i:nth-of-type(2){display:none}}@media (prefers-reduced-motion:reduce){.system-edge,.system-node,.system-view-controls button,.project-tab{transition:none;animation:none}}
