@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');
:root{color-scheme:dark;--bg:#151c21;--ink:#dfdfd5;--muted:#91a1a9;--line:#344149;--geometry:#29383f;--accent:#c5a596;--dialog:#1d282f}html[data-theme=light]{color-scheme:light;--bg:#eae9e3;--ink:#31454d;--muted:#667c84;--line:#c8d1ce;--geometry:#d7dcd3;--accent:#9e7064;--dialog:#f1f0e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background .45s,color .45s}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.page-width{width:calc(100% - 128px);max-width:1180px;margin:auto}.page-decoration{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;color:var(--geometry)}.page-decoration svg{position:absolute;width:1300px;height:2100px;left:50%;translate:-50% 0;top:0}.page-decoration g{stroke-width:1.1}.site-mark{color:var(--muted)}header{height:115px;display:flex;align-items:center;justify-content:space-between}.theme-toggle{display:flex;align-items:center;gap:10px;border:none;background:none;padding:10px 0 10px 10px;cursor:pointer;font-size:11px;color:var(--muted)}.theme-toggle svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.2;fill:none}.theme-toggle:hover{color:var(--ink)}.introduction{padding:39px 0 63px}h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(75px,8.5vw,116px);line-height:.95;letter-spacing:-3px;margin:0}h1 span{color:var(--accent)}.collection{display:grid;grid-template-columns:1.36fr 1fr;gap:66px;align-items:start}.left-column,.right-column{display:flex;flex-direction:column;min-width:0}.right-column{padding-top:105px}.landscape{display:block;position:relative;isolation:isolate;overflow:hidden;border:1px solid #ffffff0d;border-radius:2px;background:#34464f;color:#f4ecde;text-align:left;padding:0;width:100%;box-shadow:0 7px 30px #0000000b}.landscape::after{content:'';position:absolute;inset:40% 0 0;z-index:0;pointer-events:none;background:linear-gradient(transparent,#10222e8a)}.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:-1;transition:transform 1.2s cubic-bezier(.2,.6,.3,1)}.card-content{position:absolute;bottom:31px;left:33px;right:28px;z-index:1;display:block}h2,.card-title{font-family:'Instrument Serif',Georgia,serif;font-size:48px;font-weight:400;letter-spacing:-.7px;line-height:1.1;margin:0;display:block}.card-content p{font-size:11px;line-height:1.8;color:#dedfd4;margin:13px 0 0;max-width:220px}.work{height:440px;cursor:pointer}.work .scene{object-position:64% center}.about{height:465px}.about .scene{object-position:62% center}.notes{margin-top:78px;height:310px;width:83%;align-self:flex-end}.notes .card-content{left:28px;bottom:27px}.notes h2{font-size:40px}.notes .scene{object-position:39% center}.experiments{margin-top:67px;height:345px;cursor:pointer}.experiments .scene{object-position:50% center}.experiments .card-content{left:28px;bottom:27px}.experiments .card-title{font-size:40px}button.landscape:hover .scene{transform:scale(1.025)}button.landscape:hover .card-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.contact{width:76%;height:255px;margin:76px 0 0 6%}.contact .scene{object-position:center 27%}.contact::after{background:linear-gradient(transparent,#1a2e3c66)}.contact .card-content{bottom:30px}.contact h2{font-size:44px}.contact p{max-width:none}footer{display:flex;justify-content:space-between;padding-top:85px;padding-bottom:35px;font-size:10px;color:var(--muted)}.skip{position:fixed;top:-90px;left:20px;padding:15px;z-index:100;background:var(--ink);color:var(--bg)}.skip:focus{top:15px}dialog{border:1px solid var(--line);border-radius:3px;background:var(--dialog);color:var(--ink);padding:42px;width:530px;max-width:calc(100% - 32px);max-height:90vh;box-shadow:0 30px 100px #0004}dialog::backdrop{background:#08151fc2;backdrop-filter:blur(8px)}dialog h2{font-size:50px;margin:8px 0 18px}#close-dialog{position:absolute;right:17px;top:13px;border:0;background:none;color:var(--muted);font-size:26px;cursor:pointer;width:30px;height:30px}dialog p{font-size:13px;line-height:1.85;color:var(--muted)}.project-outline{border-top:1px solid var(--line);margin-top:25px;padding-top:5px}.project-outline h3{font-size:13px;font-weight:500;margin:22px 0 7px}.project-outline p{margin:0 0 20px}
@media(min-width:1500px){.introduction{padding-top:55px;padding-bottom:75px}.collection{gap:85px}.work{height:480px}.about{height:520px}.experiments{height:370px}.notes{height:340px}.contact{height:280px}}@media(max-width:1000px){.page-width{width:calc(100% - 80px)}.collection{gap:38px}.work{height:390px}.about{height:430px}.notes{width:90%;height:290px}.experiments{height:320px}.card-content{left:25px;bottom:28px}h2,.card-title{font-size:43px}.experiments .card-title{font-size:36px}.contact{width:85%;margin-left:0}}@media(max-width:650px){.page-width{width:calc(100% - 40px)}header{height:84px}.theme-toggle{font-size:10px}.introduction{padding:35px 0 44px}h1{font-size:76px;letter-spacing:-2px}.collection{display:flex;flex-direction:column;gap:28px}.left-column,.right-column{display:contents}.work{order:1;height:360px}.about{order:2;height:400px;width:86%;margin-left:auto}.notes{order:3;height:290px;width:92%;margin:0;align-self:flex-start}.experiments{order:4;height:320px;width:100%;margin:0}.card-content{left:25px;bottom:27px;right:22px}h2,.card-title{font-size:44px}.card-content p{font-size:11px}.notes .card-content,.experiments .card-content{left:24px;bottom:25px}.notes h2,.experiments .card-title{font-size:40px}.contact{height:260px;width:92%;margin:28px 0 0 auto}.contact h2{font-size:42px}.contact .scene{object-position:73% center}.contact .card-content{left:24px;bottom:27px}.page-decoration svg{width:900px;height:1600px;top:0;left:48%}.page-decoration{height:2700px}footer{padding-top:50px;padding-bottom:30px;font-size:9px}dialog{padding:36px 27px}dialog h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Personal details and a quieter, painted charcoal backdrop. */
:root{--bg:#252627;--ink:#e0ded6;--muted:#a7aba9;--line:#484b4b;--geometry:#454846;--dialog:#2c3031}html[data-theme=light]{--bg:#e7e5df;--ink:#343d3d;--muted:#687474;--line:#c3c9c3;--geometry:#c9cec5;--dialog:#f0eee7}body{background-image:url('scenes/paint.svg?v=2');background-size:1400px 1800px;background-repeat:repeat-y;background-position:center top}.page-decoration svg{height:3000px}.page-decoration g{stroke-width:1}.landscape::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url('scenes/paint.svg?v=2');background-size:850px 1100px;mix-blend-mode:soft-light;opacity:.5}.gaming{height:355px;margin-top:74px;cursor:pointer}.achievements{height:320px;margin-top:70px;cursor:pointer}.gaming .card-title,.achievements .card-title{font-size:42px}.achievements .card-content{left:27px}.contact{height:290px}.contact .card-content{left:33px;right:28px}.social-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:23px}.social-icon{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;min-height:51px;width:48px;background:none;border:none;color:#f1ece0;text-decoration:none;cursor:pointer;padding:0;transition:color .2s,translate .2s}.social-icon svg{width:23px;height:23px;flex-shrink:0}.profile-name{font-size:8px;font-family:'DM Sans',sans-serif;white-space:nowrap;line-height:1}.social-icon:hover{color:#ecd0aa;translate:0 -3px}.placeholder-icon{opacity:.62}.placeholder-icon:hover{opacity:1}.dialog-close{position:absolute;right:17px;top:13px;border:0;background:none;color:var(--muted);font-size:26px;cursor:pointer;width:30px;height:30px}.email-list{margin-top:28px;border-top:1px solid var(--line)}.email-list a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:14px;text-decoration:none;overflow-wrap:anywhere}.email-list a:hover{color:var(--accent)}.email-list a span{font-size:18px;color:var(--muted)}.detail-section{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.detail-section h3{font-size:13px;font-weight:500;margin:0 0 8px}.detail-section p{margin:0}.project-outline .detail-section:first-child{border-top:none;margin-top:0}#detail-content{padding-top:16px}
@media(max-width:1000px){.gaming{height:325px}.achievements{height:300px}.gaming .card-title,.achievements .card-title{font-size:37px}.social-links{gap:12px}.social-icon{width:43px}.email-list a{font-size:13px}}
@media(max-width:650px){h1{font-size:clamp(49px,14vw,76px);letter-spacing:-1.5px}.introduction{padding-bottom:42px}.gaming{order:5;height:330px;width:92%;align-self:flex-start;margin:0}.achievements{order:6;height:300px;width:94%;margin:0 0 0 auto}.gaming .card-title,.achievements .card-title{font-size:40px}.gaming .card-content,.achievements .card-content{left:24px;bottom:25px}.contact{height:315px;width:100%;margin-top:28px}.contact .card-content{left:24px;right:24px;bottom:28px}.social-links{display:grid;grid-template-columns:repeat(4,1fr);gap:19px 12px;margin-top:25px}.social-icon{width:100%;gap:8px;min-height:49px}.social-icon svg{width:22px;height:22px}.profile-name{font-size:8px}.page-decoration{height:4000px}.page-decoration svg{height:3600px;width:1050px;left:48%}.email-list a{font-size:12px;gap:10px}#email-dialog{padding-left:25px;padding-right:25px}}
body{position:relative;isolation:isolate}.page-decoration{height:100%;inset:0}
.detail-image{display:block;max-width:100%;height:auto;margin:18px 0;border-radius:3px}.detail-link{color:var(--ink);font-size:13px;text-underline-offset:4px}.detail-section p{white-space:pre-wrap}.custom-card{height:340px;margin-top:70px;cursor:pointer}.wide-card:not(.contact){width:90%;margin:76px auto 0}.card-content p{white-space:pre-wrap}@media(max-width:650px){.custom-card{order:7;height:320px;margin:0}.wide-card:not(.contact){width:100%;margin:28px 0 0}}
/* User-editable design. Fixed layers cover every viewport width and page length. */
html{min-height:100%;background:var(--bg)}body{min-height:100vh;background-image:none;font-family:var(--body-font,'DM Sans',Arial,sans-serif);font-size:var(--body-size,14px)}
body::before,body::after{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none}
body::before{background-image:var(--back-image,none);background-size:cover;background-position:var(--back-position,50%) center}
body::after{z-index:-1;background-image:url('/scenes/paint.svg?v=2');background-size:1400px 1800px;background-repeat:repeat;opacity:var(--paint-opacity,.35)}
.page-decoration{position:fixed;inset:0;width:100%;height:100%;opacity:var(--ring-opacity,.6);z-index:-1}.page-decoration svg{width:max(100%,1300px);height:max(100vh,3000px);left:50%;top:0}
.page-width{max-width:var(--page-max,1180px)}h1,h2,.card-title{font-family:var(--heading-font,'Instrument Serif',Georgia,serif)}h1{font-size:clamp(48px,8.5vw,var(--heading-size,116px));overflow-wrap:anywhere}.intro-copy{max-width:650px;line-height:1.8;color:var(--muted);white-space:pre-wrap}
h2,.card-title,.notes h2,.experiments .card-title,.gaming .card-title,.achievements .card-title,.contact h2{font-size:var(--local-title,var(--title-size,48px))}
.collection{gap:var(--card-gap,66px)}.right-column{padding-top:var(--stagger,105px)}.left-column>.landscape~.landscape,.right-column>.landscape~.landscape{margin-top:var(--card-space,70px)}
.landscape{border-radius:var(--card-radius,2px);color:var(--card-ink,#f4ecde)}.landscape::after{inset:0;background:linear-gradient(transparent,rgba(5,13,20,var(--card-overlay,.4)))}.landscape .card-content p,.social-icon{color:inherit}.card-content p{font-size:1em;line-height:1.6;max-width:100%}
button.card-title{background:none;border:0;text-align:left;padding:0;cursor:pointer;color:inherit}.interactive-card{cursor:pointer}.interactive-card:hover .scene{transform:scale(1.025)}.interactive-card:hover .card-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.card-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}.custom-link{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;min-height:36px}.custom-link:hover{text-decoration:underline}.custom-link img,.custom-link svg{width:24px;height:24px;object-fit:contain}.link-symbol{font-size:25px;line-height:1}.link-label{font:inherit;font-size:.85em}.social-links .custom-link{flex-direction:column;gap:9px;font-size:10px}.profile-name{font-family:var(--body-font,sans-serif)}
html[data-layout=grid] .right-column,html[data-layout=single] .right-column{padding-top:0}html[data-layout=grid] .collection{grid-template-columns:1fr 1fr}html[data-layout=grid] .collection .landscape{width:100%;align-self:auto}
html[data-layout=single] .collection{display:flex;flex-direction:column}html[data-layout=single] .left-column,html[data-layout=single] .right-column{display:contents}html[data-layout=single] .collection .landscape{width:100%;margin:0}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{transition:none!important;animation:none!important}html[data-motion=off] .scene{transform:none!important}[hidden]{display:none!important}
@media(max-width:650px){.collection{gap:var(--card-space,28px)}.left-column>.landscape~.landscape,.right-column>.landscape~.landscape{margin-top:0}.card-content{left:22px!important;right:22px!important}.card-links{gap:10px}.custom-link{font-size:12px}.contact{height:auto;min-height:350px}.contact .card-content{position:relative;left:auto!important;right:auto!important;bottom:auto;padding:120px 22px 28px}h1{font-size:clamp(42px,12vw,var(--heading-size,116px))}}
.social-icon img{width:24px;height:24px;object-fit:contain}
.pages-nav{display:flex;gap:24px;flex-wrap:wrap;padding-bottom:25px}.pages-nav a{color:var(--muted);text-decoration:none;font-size:14px}.pages-nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}.pages-nav a:hover{color:var(--accent)}body::before{position:var(--back-attachment,fixed);background-position:var(--back-position,50%) var(--back-y,50%);background-size:var(--back-fit,cover);transform:scale(var(--back-scale,1));transform-origin:var(--back-position,50%) var(--back-y,50%)}.landscape .card-content{left:var(--content-x,33px)!important;bottom:var(--content-y,31px)!important}.card-title{overflow-wrap:anywhere}.social-links,.card-links{gap:var(--icon-gap,14px);justify-content:var(--icon-align,start);translate:var(--icon-x,0px) var(--icon-y,0px)}.social-links .custom-link svg,.social-links .custom-link img,.social-icon svg,.social-icon img,.custom-link svg,.custom-link img{width:var(--icon-size,24px);height:var(--icon-size,24px)}.link-symbol{font-size:var(--icon-size,24px)}
html[data-layout=canvas] .canvas-board{position:relative;display:block;gap:0}html[data-layout=canvas] .canvas-board .left-column,html[data-layout=canvas] .canvas-board .right-column{display:contents}html[data-layout=canvas] .canvas-board>.landscape{position:absolute!important;margin:0!important;max-width:100%;min-height:0;cursor:pointer}.builder-handle{display:none}.visual-editor .canvas-board{background-image:radial-gradient(#a8b0b344 1px,transparent 1px);background-size:20px 20px;outline:1px dashed #d5c1a566}.visual-editor .builder-handle{display:block;position:absolute;z-index:5;color:#152329;background:#d5c1a5;border:1px solid #fff8;border-radius:3px;touch-action:none;font:12px system-ui;cursor:grab;padding:6px 9px}.builder-move{top:8px;left:8px}.builder-resize{bottom:4px;right:4px;cursor:nwse-resize!important}.visual-editor .landscape{outline:1px dashed #e7dac066}.builder-selected{outline:3px solid #d5c1a5!important}.visual-editor [data-link-group]{touch-action:none;cursor:move}.builder-background{position:fixed;inset:0;z-index:9999;border:3px dashed #d5c1a5;background:#d5c1a512;color:var(--ink);padding:20px;font:18px system-ui;cursor:move;touch-action:none}.visual-editor .card-title{pointer-events:none}
@media(max-width:650px){html[data-layout=canvas] .canvas-board{display:flex;flex-direction:column;height:auto!important;gap:25px}html[data-layout=canvas] .canvas-board>.landscape{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:340px!important;margin:0!important}.pages-nav{gap:15px}.landscape .card-content{left:min(var(--content-x,24px),60px)!important;bottom:min(var(--content-y,28px),100px)!important}}
.icon-snap-overlay{position:fixed;z-index:9990;pointer-events:none;overflow:hidden;border:1px dashed #e7d7b088;background-image:radial-gradient(#e7d7b088 1px,transparent 1px);background-size:var(--snap-step,16px) var(--snap-step,16px);background-position:8px 8px}.icon-snap-overlay.free-position{background-image:none}.icon-snap-guide{position:absolute;background:#ffdc83;box-shadow:0 0 3px #111b}.icon-snap-guide.horizontal{left:0;right:0;height:1px}.icon-snap-guide.vertical{top:0;bottom:0;width:1px}.icon-snap-caption{position:absolute;top:8px;right:8px;background:#202829ed;color:#f8e4b9;padding:5px 8px;border-radius:3px;font:12px system-ui}.icon-dragging{outline:1px solid #ffdc83!important;outline-offset:5px}
/* Direct manipulation inside the editor. */
.visual-editor .landscape{cursor:grab;touch-action:none;user-select:none;outline:1px solid transparent}.visual-editor .landscape:hover{outline:2px solid #86a6ff}.visual-editor .scene{pointer-events:none}.visual-editor .builder-handle{opacity:0;min-width:30px;min-height:30px;background:#fff;color:#315bd4;border:1px solid #315bd4;font:12px system-ui;box-shadow:0 2px 6px #0002}.visual-editor .landscape:hover .builder-handle,.visual-editor .builder-selected .builder-handle,.visual-editor .builder-handle:focus{opacity:1}.visual-editor .builder-selected{outline:2px solid #7195ff!important}.dragging-card .landscape{cursor:grabbing}.visual-editor .builder-move{top:5px;left:5px}.visual-editor .builder-resize{bottom:4px;right:4px}

.code-block{max-width:100%;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:6px;white-space:pre;font:13px/1.6 ui-monospace,monospace;background:#0002}.code-language{color:var(--muted)}

.detail-media{display:block;width:100%;max-height:65vh;margin:16px 0}.media-embed{display:block;width:100%;border:0;max-width:100%;margin:16px 0}

.cover-controls{position:absolute;right:12px;top:12px;z-index:4;display:flex;gap:5px;align-items:center;padding:4px;border-radius:5px;background:#15202a9c;color:#fff;backdrop-filter:blur(8px);font:11px system-ui}.cover-controls button{min-width:28px;min-height:28px;padding:4px 7px;background:transparent;color:inherit;border:1px solid #ffffff42;border-radius:3px;cursor:pointer}.cover-controls button:hover{background:#ffffff24}.carousel-count{padding:0 3px;font-variant-numeric:tabular-nums}.carousel-slide{opacity:0;transition:opacity .65s ease!important}.carousel-slide.active{opacity:1}.card-video{pointer-events:none}.visual-editor .cover-controls{right:12px;top:44px}.page-decoration circle{transform-box:fill-box;transform-origin:center;animation:ring-ripple 12s ease-in-out infinite;animation-delay:calc(var(--ring-index,0) * -.8s)}
@keyframes ring-ripple{0%,100%{transform:scale(.96);opacity:.45}50%{transform:scale(1.055);opacity:1}}
@media(prefers-reduced-motion:reduce){.page-decoration circle{animation:none}.carousel-slide{transition:none!important}}
/* Seamless full-viewport paint layers: never tile the large strokes. */
body{isolation:isolate}body::before{background-repeat:no-repeat}body::after{background-size:cover;background-repeat:no-repeat;background-position:center}.landscape::before{background-size:cover;background-repeat:no-repeat;background-position:center}
.canvas-text{position:relative;grid-column:1/-1;min-width:0;padding:12px;color:var(--ink);background:none;border:0;isolation:isolate;overflow:visible}.free-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;letter-spacing:normal}.canvas-text h1,.canvas-text h2,.canvas-text h3{font-size:inherit;line-height:1.3;letter-spacing:normal}.canvas-text .free-text[contenteditable=true]{outline:2px solid #86a6ff;cursor:text;user-select:text;touch-action:auto;min-height:1.3em}.visual-editor .canvas-text{outline:1px dashed #8eacf288;cursor:grab;touch-action:none;user-select:none}.visual-editor .canvas-text .builder-handle{opacity:0}.visual-editor .canvas-text:hover .builder-handle,.visual-editor .canvas-text.builder-selected .builder-handle{opacity:1}.visual-editor .canvas-text.builder-selected{outline:2px solid #86a6ff!important}.visual-editor .canvas-text .builder-move{top:-32px;left:0}html[data-layout=canvas] .canvas-board>.canvas-text{position:absolute;margin:0;min-height:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.typed-character{opacity:0;animation:typed-letter 1ms steps(1,end) forwards}@keyframes typed-letter{to{opacity:1}}
@media(max-width:650px){html[data-layout=canvas] .canvas-board>.canvas-text{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:120px}.canvas-text .free-text{max-width:100%}}
@media(prefers-reduced-motion:reduce){.typed-character{opacity:1;animation:none}}
.standalone{padding:0;display:flex;flex-direction:column;gap:12px;overflow:hidden;min-height:120px}.standalone>h2{font:600 26px/1.2 var(--body-font,'DM Sans',Arial,sans-serif);letter-spacing:0;margin:0}.standalone>p{margin:0;white-space:pre-wrap;line-height:1.5}.standalone>img,.standalone>video,.standalone>iframe,.standalone-slideshow{display:block;width:100%;min-height:0;flex:1;object-fit:var(--media-fit,contain);border:0}.standalone>audio{width:100%;margin:auto 0}.standalone>pre{margin:0;overflow:auto;padding:18px;background:var(--dialog);border:1px solid var(--line);font-size:14px;white-space:pre;flex:1}.standalone-slideshow{position:relative;isolation:isolate;overflow:hidden;min-height:180px}.standalone-slideshow .scene{object-fit:var(--media-fit,contain)}.standalone-list{margin:0;padding-left:24px;overflow:auto;flex:1}.standalone-list li{margin-bottom:18px;line-height:1.5}.standalone-list li>div{min-width:0;flex:1}.standalone-list img{max-width:180px;width:28%;height:100px;object-fit:cover}.standalone-list p{font-size:14px;line-height:1.5;margin:5px 0 0;white-space:pre-wrap}.standalone-list a{color:inherit}.list-ranked,.list-plain{list-style:none;padding:0}.list-ranked li{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:var(--dialog);padding:24px;margin-bottom:24px;min-height:155px}.list-ranked li>span{font-weight:700;font-size:20px}.list-ranked strong,.list-ranked a{font-size:22px;font-weight:700}.component-list{overflow:visible}.custom-logo{display:flex;align-items:center;white-space:pre-wrap;line-height:1.1;flex-shrink:0}.custom-logo img{width:100%;height:100%;object-fit:contain}.inline-navigation{gap:24px}.inline-navigation .pages-nav{margin:0 0 0 auto;padding:0;width:auto;display:flex;flex-wrap:wrap;gap:24px}.inline-navigation .pages-nav[hidden]{display:none}#particle-backdrop{position:fixed;inset:0;pointer-events:none;z-index:-1}#particle-backdrop.particles-edges{mask-image:linear-gradient(to right,#000 0,transparent 22%,transparent 78%,#000 100%)}#particle-backdrop canvas{display:block}.visual-editor .standalone-slideshow .cover-controls{pointer-events:auto}
@media(max-width:650px){.inline-navigation{height:auto!important;min-height:70px;flex-wrap:wrap;padding:12px 0;gap:12px}.inline-navigation .pages-nav{order:3;flex-basis:100%;justify-content:center;gap:16px}body>header{translate:0 0!important;width:calc(100% - 40px)!important}.custom-logo,.site-mark,.introduction{translate:0 0!important}.custom-logo{max-width:65%!important}.standalone-list img{max-width:100px;height:65px}.list-ranked li{gap:10px;padding:14px;min-height:120px}.list-ranked strong,.list-ranked a{font-size:17px}.standalone>img,.standalone>video{max-height:500px}.standalone>iframe{height:300px;flex:auto}.standalone-slideshow{height:280px;flex:auto}.component-list .standalone-list{overflow:visible}.standalone>pre{max-height:400px}}
body>header .theme-toggle{margin-left:auto}.animated-text-unit{display:inline-block;white-space:pre;transform-origin:center bottom}.typing-cursor{display:inline;animation:typing-caret 4s steps(1,end) forwards}@keyframes typing-caret{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{opacity:1}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%,100%{opacity:0}}#particle-backdrop.particles-top{mask-image:linear-gradient(#000,transparent 65%)}#particle-backdrop.particles-bottom{mask-image:linear-gradient(transparent 35%,#000)}
/* Real page sections contain their own content boards and stack in page order. */
.collection.sectioned-collection{display:flex!important;flex-direction:column;gap:36px;position:relative;height:auto!important}.sectioned-collection>.left-column,.sectioned-collection>.right-column{display:none!important}.page-section{width:100%;min-width:0;position:relative;padding:var(--section-padding,32px);background-size:cover;background-position:center;border-radius:var(--card-radius,2px)}.section-title{font:500 clamp(28px,4vw,44px)/1.15 var(--heading-font,Georgia,serif);letter-spacing:normal;margin:0 0 20px}.section-description{white-space:pre-wrap;margin:0 0 24px;line-height:1.6}.section-board{position:relative;min-width:0;display:grid;gap:var(--section-gap,28px);grid-template-columns:repeat(var(--section-columns,2),minmax(0,1fr));align-items:start}.section-board[data-section-layout=single]{grid-template-columns:minmax(0,1fr)}.section-board[data-section-layout=canvas]{display:block}.section-board>.landscape,.section-board>.canvas-text{width:100%;margin:0;max-width:100%;align-self:stretch}.section-board>.landscape{min-height:250px}.section-board[data-section-layout=canvas]>.landscape,.section-board[data-section-layout=canvas]>.canvas-text{position:absolute!important;min-height:0;margin:0!important}.section-board .wide-card{grid-column:1/-1}.section-empty{grid-column:1/-1;padding:25px;border:1px dashed #8999af;line-height:1.5;font:14px/1.5 system-ui}.visual-editor .page-section{outline:1px dashed #8499b977}.visual-editor .page-section:before{content:attr(aria-label);display:block;font:11px system-ui;color:var(--muted);margin-bottom:8px}.page-section .canvas-text{color:inherit}.page-section .component-list .standalone-list{color:inherit}
@media(max-width:650px){.page-section{padding:min(var(--section-padding,32px),22px);min-height:0!important}.section-board{display:flex!important;flex-direction:column;gap:22px;height:auto!important}.section-board>.landscape,.section-board>.canvas-text,.section-board[data-section-layout=canvas]>.landscape,.section-board[data-section-layout=canvas]>.canvas-text{position:relative!important;top:auto!important;left:auto!important;width:100%!important;height:auto!important;min-height:180px;margin:0!important;flex-shrink:0}.section-board>.landscape,.section-board[data-section-layout=canvas]>.landscape{height:330px!important}.section-board .canvas-text .free-text{max-width:100%}.section-title{font-size:32px}}
.section-board>.canvas-text{grid-column:auto}.visual-editor .page-section:not([aria-label]):before{display:none}
/* Sections are full-bleed page bands, independent of the centered content column. */
main.has-page-sections{width:100%;max-width:none;margin-inline:0;--section-page-gutter:64px}main.has-page-sections>.introduction{width:calc(100% - 2 * var(--section-page-gutter));max-width:var(--page-max,1180px);margin-inline:auto}.collection.sectioned-collection{width:100%;max-width:none;gap:0!important;align-items:stretch}.sectioned-collection>.page-section{width:100%;max-width:none;border-radius:0;padding:var(--section-padding,32px) 0;height:auto;flex-shrink:0}.section-inner{width:calc(100% - 2 * var(--section-page-gutter,64px));max-width:var(--page-max,1180px);min-width:0;margin-inline:auto;padding-inline:var(--section-padding,32px)}.page-section[data-content-width=full]>.section-inner{width:100%;max-width:none}.page-section .section-board{max-height:none}.page-section .canvas-text.component-text{overflow:visible}
@media(max-width:1000px){main.has-page-sections{--section-page-gutter:40px}}@media(max-width:650px){main.has-page-sections{--section-page-gutter:20px}.sectioned-collection>.page-section{padding:min(var(--section-padding,32px),22px) 0;min-height:0}.section-inner{padding-inline:min(var(--section-padding,32px),22px)}}
