/*
! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.table{display:table}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{color-scheme:light;--bg:#f3eee4;--panel:#ebe4d6;--text:#1d1a16;--muted:#5b544a;--accent:#2455ce;--line:#d8cfbd}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth;scroll-padding-top:32px}body{min-height:100vh;margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}::-moz-selection{background:#dbe6ff;color:#282b27}::selection{background:#dbe6ff;color:#282b27}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.wrap{max-width:1248px;width:calc(100% - 112px);margin-inline:auto}.accent,.wordmark span{color:var(--accent)}.muted{color:var(--muted)}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:32px;font-weight:800;letter-spacing:-2px}nav{display:flex;align-items:center;gap:36px;font-size:14px}.site-footer a,.text-link,nav a:not(.nav-contact){transition:color .2s}.site-footer a:hover,.text-link:hover,nav a:hover{color:var(--accent)}.nav-contact{padding:12px 19px;border-radius:4px;display:flex;gap:25px;border:1px solid #d3d8cb}.eyebrow{font-family:Courier New,monospace;font-size:11px;letter-spacing:1.8px;font-weight:500;display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}.hero{padding-top:86px;display:grid;grid-template-columns:1.25fr 1fr;-moz-column-gap:40px;column-gap:40px}.hero-copy{padding:22px 0 30px}h1{font-size:clamp(48px,5.1vw,72px);font-weight:500;letter-spacing:-4px;line-height:1.07;margin:28px 0 25px}.hero-description{color:var(--muted);font-size:17px;line-height:1.8;max-width:400px}.hero-actions{margin-top:35px;display:flex;align-items:center;gap:26px}.button{padding:17px 21px;border-radius:4px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:28px;transition:background .2s,transform .2s;background:#1d43a3;color:#fff}.button:hover{transform:translateY(-2px);background:#47633e}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:12px}.hero-art{min-height:385px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#e0e5d688,transparent 68%)}.art-grid{position:absolute;inset:0;background-size:38px 38px;-webkit-mask-image:radial-gradient(ellipse,black 35%,transparent 72%);mask-image:radial-gradient(ellipse,black 35%,transparent 72%);background-image:linear-gradient(#71885b12 1px,transparent 0),linear-gradient(90deg,#71885b12 1px,transparent 0)}.art-coordinate{position:absolute;top:18px;left:24px;font:9px Courier New,monospace;letter-spacing:2px;color:#7a866f}.orbit{position:absolute;border-radius:50%;left:50%;top:49%;width:86%;height:40%;border:1px solid #9cae8770}.orbit-one{transform:translate(-50%,-50%) rotate(-40deg)}.orbit-two{transform:translate(-50%,-50%) rotate(40deg)}.orbit-one:after{content:"";position:absolute;left:15%;top:9%;width:9px;height:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 22px #cef47766}.code-symbol{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:9px;font:100px Courier New,monospace;font-weight:400;letter-spacing:-12px;transform:rotate(-8deg);color:#2455ce;text-shadow:none}.code-symbol i{font-style:normal;color:#83966c}.art-spark{position:absolute;color:var(--accent);font:20px monospace}.spark-one{top:22%;right:15%}.spark-two{bottom:23%;left:18%;font-size:13px}.art-caption{position:absolute;bottom:18px;left:24px;right:16px;display:flex;align-items:center;gap:8px;font:9px Courier New,monospace;letter-spacing:1px;color:var(--muted)}.art-caption>span:last-child{margin-left:auto}.hero-bottom{grid-column:1/-1;justify-content:space-between;padding:58px 0 29px;font:10px Courier New,monospace;letter-spacing:1px;color:var(--muted)}.hero-bottom,.hero-bottom a{display:flex;align-items:center}.hero-bottom a{gap:22px}.hero-bottom a span{font-size:20px;color:var(--text)}.section{border-top:1px solid var(--line);padding-block:76px}h2{font-size:clamp(32px,3.3vw,46px);font-weight:500;line-height:1.13;letter-spacing:-1.8px;margin:18px 0 0}.about-section{display:grid;grid-template-columns:1fr 2fr;gap:50px}.section-label{align-self:start;margin-top:10px}.about-content h2{margin-top:0}.about-content>p{max-width:590px;font-size:16px;line-height:1.85;color:var(--muted);margin:23px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;gap:24px}.section-heading>.text-link{margin-bottom:5px}.work-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:24px}.project-card{border:1px solid var(--line);border-radius:7px;overflow:hidden;padding-bottom:26px}.project-info{display:flex;justify-content:space-between;align-items:center;margin:26px 25px 0;gap:15px}.project-info .eyebrow{font-size:9px;color:var(--muted)}h3{font-size:21px;font-weight:500;letter-spacing:-.5px;margin:12px 0}.project-description{font-size:13px;line-height:1.75;color:var(--muted);margin:12px 25px 20px}.tags{padding:0;margin:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}.tags li{padding:7px 10px;font:10px Courier New,monospace;border-radius:3px;background:#f0f2ea;border:1px solid #e0e4d7;color:#626d55}.project-card>.tags{margin:0 25px}.section-aside{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stack-card{border:1px solid var(--line);border-radius:5px;padding:27px}.stack-number{font:10px monospace;color:var(--muted)}.stack-card h3{margin-top:26px;font-size:25px}.stack-card p{color:var(--muted);font-size:12px;margin:0 0 26px}.contact-section{padding-bottom:83px}.contact-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-main h2{font-size:clamp(46px,5.5vw,76px);letter-spacing:-3px;margin-top:25px}.contact-main p{color:var(--muted);font-size:14px;margin-top:23px}.contact-arrow{border-radius:50%;width:110px;height:110px;display:grid;place-items:center;font-size:54px;flex-shrink:0;transition:transform .2s;background:#e5ecd9;color:#2455ce}.contact-arrow:hover{transform:rotate(8deg)}.email-link{display:inline-flex;gap:30px;font-size:18px;margin-top:27px;padding-bottom:8px;border-bottom:1px solid;border-color:#adbba0}.email-link:hover{color:var(--accent)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-block:29px}.site-footer .wordmark{font-size:25px}.site-footer p{font-size:10px;color:var(--muted)}.site-footer>div{display:flex;gap:25px;font-size:11px}.site-footer>div a{display:flex;gap:10px}.skip-link{position:fixed;top:10px;left:10px;padding:12px;z-index:10;transform:translateY(-160%);background:#e5ecd9;color:#282b27}.skip-link:focus{transform:translateY(0)}@media(min-width:1500px){.hero{padding-top:105px}.hero-art{min-height:420px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{-moz-column-gap:10px;column-gap:10px;grid-template-columns:1.3fr 1fr}.hero-actions{gap:18px;flex-wrap:wrap}h1{letter-spacing:-2.5px}.stack-card{padding:21px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:87px}nav{gap:20px;font-size:12px}.nav-contact{padding:10px 12px;gap:13px}.wordmark{font-size:28px}.hero{padding-top:45px;grid-template-columns:1fr}.hero-copy{padding-top:10px}h1{font-size:clamp(45px,8.6vw,65px);letter-spacing:-2.7px}.hero-description{font-size:16px;max-width:400px}.hero-art{min-height:295px;max-width:470px;width:100%;margin-inline:auto;margin-top:10px}.code-symbol{font-size:94px}.hero-bottom{padding-top:30px;font-size:8px;letter-spacing:.5px;gap:15px}.hero-bottom a{gap:10px}.section{padding-block:48px}.about-section{grid-template-columns:1fr;gap:20px}.about-content>p{font-size:15px}.work-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}h2{font-size:34px}.section-heading>.text-link{white-space:nowrap;margin-top:7px;font-size:10px}.stack-grid{grid-template-columns:1fr}.stack-card{padding:25px}.stack-card h3{margin-top:16px}.section-aside{display:none}.contact-main h2{font-size:clamp(40px,7.6vw,58px);letter-spacing:-2px}.contact-arrow{width:65px;height:65px;font-size:36px}.contact-main{gap:10px}.contact-main p{max-width:250px;line-height:1.7}.email-link{font-size:15px;gap:15px}.site-footer{flex-wrap:wrap;gap:20px}.site-footer p{margin-left:auto}.site-footer>div{width:100%;justify-content:flex-end}}@media(max-width:380px){nav{gap:12px}.nav-contact{padding:8px;gap:7px}.section-heading{flex-wrap:wrap;gap:10px}.contact-arrow{width:48px;height:48px;font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:25px;border-bottom:1px solid var(--line)}.admin-topbar>div{display:flex;align-items:center;gap:25px;font-size:13px}.admin-topbar button{border:none;background:none;color:var(--muted)}.editor-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:60px;margin-block:50px 90px}.editor-sidebar h2{font-size:18px;letter-spacing:-.4px;margin-block:35px 20px;display:flex;justify-content:space-between}.editor-sidebar h2 span{color:var(--muted)}.editor-sidebar>p{font-size:13px;line-height:1.7}.post-list{list-style:none;margin:0;padding:0}.post-list button{width:100%;text-align:left;border:1px solid transparent;border-bottom:1px solid var(--line);background:transparent;padding:16px 12px;color:var(--text);border-radius:4px}.post-list button.selected{background:#e9efff;border-color:#c3d1f5}.post-list strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.post-list span{display:block;margin-top:7px;font-size:11px;color:var(--muted)}.editor-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.editor-heading h2{font-size:32px}.editor-heading>span{font-size:11px}.editor-form fieldset{padding:0;border:0;min-width:0}.editor-form label,.login-form label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:500;margin-bottom:23px}.editor-form input,.editor-form select,.editor-form textarea,.login-form input{display:block;width:100%;background:#fffefa;color:var(--text);border:1px solid #d7ddcd;border-radius:4px;padding:12px 14px;font-size:14px;line-height:1.6}.editor-form textarea{resize:vertical}.editor-form small{color:var(--muted);font-size:11px;font-weight:400}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.editor-form .checkbox-label{flex-direction:row;align-items:center;gap:10px;margin-block:10px 28px}.checkbox-label input{width:18px;height:18px;accent-color:var(--accent)}.editor-actions{display:flex;justify-content:space-between;gap:20px;align-items:center}.editor-actions button,.editor-sidebar>.button{border:none}.delete-button{background:none;color:#9c4236;font-size:12px}.editor-message{font-size:13px;line-height:1.7}.login-shell{max-width:440px;margin:100px auto;padding:30px}.login-shell h1{font-size:38px;letter-spacing:-1.5px}.login-shell>p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:30px}.login-form .button{border:0}.post-page{max-width:820px;margin:60px auto 100px}.post-page h1{overflow-wrap:anywhere}.post-page .post-lede{color:var(--muted);font-size:20px;line-height:1.7}.post-cover{width:100%;max-height:520px;-o-object-fit:cover;object-fit:cover;border-radius:6px;margin-block:30px}.post-body{margin-block:40px;font-size:17px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.post-links{display:flex;flex-wrap:wrap;gap:25px;align-items:center}.post-image{width:100%;-o-object-fit:cover;object-fit:cover}.post-image,.post-placeholder{height:270px;background:#e7ebdf}.post-placeholder{display:grid;place-items:center;font:64px monospace;color:#6e815d}.post-card-link{display:block}.post-card-link:hover h3{color:var(--accent)}.empty-work{padding:35px;border:1px solid var(--line);border-radius:6px}.empty-work p{color:var(--muted);line-height:1.8;font-size:14px}@media(max-width:900px){.editor-layout{grid-template-columns:210px minmax(0,1fr);gap:30px}.form-columns{grid-template-columns:1fr;gap:0}}@media(max-width:620px){.editor-layout{grid-template-columns:1fr;gap:35px;margin-top:30px}.post-list{max-height:250px;overflow-y:auto}.admin-topbar>div{gap:15px}.editor-heading{align-items:flex-start}.editor-heading h2{font-size:28px}.post-page{margin-top:35px}.post-page h1{font-size:42px}.post-page .post-lede{font-size:17px}}.editor-image-preview{display:block;max-width:100%;max-height:240px;-o-object-fit:contain;object-fit:contain;border-radius:5px;margin-bottom:25px}.project-info>div{min-width:0}.project-description,.project-info h3,.tags li{overflow-wrap:anywhere}.tags li{max-width:100%}.markdown{white-space:normal;overflow-wrap:anywhere;line-height:1.8}.markdown>:first-child{margin-top:0}.markdown p{margin:0 0 1.25em}.markdown h2,.portfolio .markdown h2{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:1.8em 0 .65em}.markdown h3,.portfolio .markdown h3{font-size:1.5rem;line-height:1.3;font-weight:600;margin:1.6em 0 .6em}.markdown h4,.markdown h5,.markdown h6{font-size:1.15rem;font-weight:700;margin:1.4em 0 .5em}.markdown strong{font-weight:700}.markdown em{font-style:italic}.markdown ol,.markdown ul{padding-left:1.5em;margin:1em 0 1.5em}.markdown ul{list-style:disc}.markdown ol{list-style:decimal}.markdown li{padding-left:.2em;margin:.35em 0}.markdown li>p{margin:.3em 0}.markdown li ol,.markdown li ul{margin:.4em 0}.markdown a,.portfolio .markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.markdown blockquote{border-left:3px solid var(--accent);padding:.3em 0 .3em 1.2em;margin:1.5em 0;color:var(--muted)}.markdown blockquote p:last-child{margin-bottom:0}.markdown code{font:.82em/1.6 ui-monospace,Consolas,monospace;background:#e5e9f1;color:#18397d;border-radius:4px;padding:.16em .35em}.markdown pre{overflow-x:auto;max-width:100%;background:#14213b;color:#e4edff;padding:1.2em;border-radius:6px;margin:1.5em 0;white-space:pre}.markdown pre code{background:none;color:inherit;padding:0;white-space:pre;overflow-wrap:normal}.markdown hr{border:0;border-top:1px solid var(--line);margin:2em 0}.markdown img{display:block;max-width:100%;height:auto;border-radius:4px;margin:1.5em 0}.markdown-table{max-width:100%;overflow-x:auto;margin:1.5em 0}.markdown table{border-collapse:collapse;width:100%;font-size:.9em}.markdown td,.markdown th{border:1px solid var(--line);padding:.6em .8em;text-align:left;min-width:100px}.markdown th{font-weight:600;background:#e8ecf3}.markdown .contains-task-list{list-style:none;padding-left:0}.markdown input[type=checkbox]{display:inline-block;width:auto;margin-right:.6em}.markdown-editor{margin-bottom:24px}.markdown-editor>label{margin-bottom:10px;flex-direction:row;align-items:baseline}.markdown-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.markdown-toolbar button{border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--text);padding:7px 10px;font-size:12px}.markdown-toolbar button:hover,.markdown-toolbar button[aria-expanded=true]{background:#e9efff;color:#2455ce}.editor-form .markdown-editor textarea{font:14px/1.7 ui-monospace,Consolas,monospace}.markdown-editor>small{display:block;margin-top:10px;line-height:1.6}.markdown-preview{background:#f3eee4;border:1px solid var(--line);border-radius:6px;padding:clamp(16px,3vw,32px);margin-top:20px;min-width:0;--muted:#5b544a;--line:#d8cfbd}.markdown-preview .markdown{font-family:Fraunces,Georgia,serif;font-size:1.2rem}.markdown-preview-label{font:11px/1.5 ui-monospace,monospace;color:#2455ce;margin-bottom:24px;letter-spacing:.08em}.editor-layout>.editor-form{min-width:0}.portfolio{--paper:#f3eee4;--paper-2:#ebe4d6;--ink:#1d1a16;--ink-2:#5b544a;--line:#d8cfbd;--accent:#2455ce;--dot:#1d1a16;--serif:"Fraunces",Georgia,"Times New Roman",serif;--mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--pad:clamp(20px,5vw,64px);--ease:cubic-bezier(.2,.7,.2,1);box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);scroll-padding-top:env(safe-area-inset-top,0);-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){.portfolio{scroll-behavior:smooth}}.portfolio *,.portfolio :after,.portfolio :before{box-sizing:inherit}.portfolio [hidden]{display:none!important}.portfolio{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(1.0625rem,1rem + .3vw,1.2rem);line-height:1.6;-webkit-font-smoothing:antialiased}.portfolio .wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--pad)}.portfolio a{color:inherit}.portfolio :focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.portfolio .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.portfolio .skip{position:absolute;left:var(--pad);top:-4rem;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:10;font:500 .85rem var(--mono);text-decoration:none}.portfolio .skip:focus{top:.75rem}.portfolio .top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:20px;position:relative;z-index:2}.portfolio .mark{display:inline-flex;align-items:center;gap:.55rem;font:500 .9rem var(--mono);text-decoration:none;letter-spacing:.04em}.portfolio .mark i{width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);display:block;transition:transform .5s var(--ease)}.portfolio .mark:focus-visible i,.portfolio .mark:hover i{transform:scale(1.6)}.portfolio .top ul{display:flex;gap:clamp(.9rem,3vw,1.8rem);list-style:none;margin:0;padding:0}.portfolio .top nav a,.portfolio .ulink{position:relative;font:400 .85rem var(--mono);text-decoration:none;letter-spacing:.03em;padding-block:.3rem;display:inline-block}.portfolio .top nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.portfolio .top nav a:focus-visible:after,.portfolio .top nav a:hover:after{transform:scaleX(1)}.portfolio .hero{position:relative;min-height:min(46rem,88vh);min-height:min(46rem,88svh);display:flex;align-items:flex-end;overflow:hidden;contain:paint;touch-action:pan-y;margin-top:-64px}.portfolio #field{position:absolute;inset:0;width:100%;height:100%;display:block}.portfolio .hero-inner{position:relative;width:100%;padding-bottom:clamp(28px,6vw,64px);padding-top:96px;pointer-events:none}.portfolio .kicker{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 1.4rem;font:500 .78rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}.portfolio .kicker span:first-child:before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent);margin-right:.6rem}.portfolio h1{margin:0;font-weight:330;font-size:clamp(3rem,13vw,9rem);line-height:.92;letter-spacing:-.035em}.portfolio h1 .line{display:block;overflow:hidden;padding:.04em .1em .14em 0;margin-bottom:-.12em}.portfolio h1 .w{display:inline-block}.portfolio h1 em{font-style:italic;font-weight:400;color:var(--accent);letter-spacing:-.02em}@media (min-width:700px){.portfolio h1 .line:nth-child(2){margin-left:clamp(0rem,6vw,5.5rem)}}.portfolio .lede{max-width:30ch;margin:1.6rem 0 0;font-size:clamp(1.2rem,2.6vw,1.6rem);line-height:1.35}.portfolio .hint{display:flex;align-items:center;gap:.6rem;min-height:1.3em;margin:1.4rem 0 0;font:400 .8rem var(--mono);color:var(--ink-2)}.portfolio .hint i{width:.5rem;height:.5rem;border-radius:50%;border:1.5px solid var(--accent);flex:none}@keyframes rise{0%{transform:translateY(105%)}}@keyframes fade{0%{opacity:0;transform:translateY(10px)}}.portfolio h1 .w{animation:rise 1s var(--ease) both}.portfolio h1 .line:nth-child(2) .w{animation-delay:.12s}.portfolio .kicker{animation:fade .8s .05s both}.portfolio .lede{animation:fade .9s .45s both}.portfolio .hint{animation:fade .9s .8s both}.portfolio .sec{border-top:1px solid var(--line);padding-block:clamp(56px,9vw,128px)}.portfolio .sec-head{display:grid;gap:.6rem 2rem;margin-bottom:clamp(28px,5vw,56px)}@media (min-width:760px){.portfolio .sec-head{grid-template-columns:8rem 1fr;align-items:baseline}.portfolio .sec-head .sec-note{grid-column:2}}.portfolio .eyebrow{margin:0;font:500 .8rem/1 var(--mono);letter-spacing:.08em;color:var(--accent)}.portfolio h2{margin:0;font-weight:340;font-size:clamp(2.4rem,7vw,5rem);line-height:1;letter-spacing:-.02em}.portfolio .sec-note{margin:0;max-width:44ch;color:var(--ink-2)}.portfolio .reveal{transition:opacity .7s ease,transform .8s var(--ease)}.portfolio .rv .reveal:not(.in){opacity:0;transform:translateY(16px)}.portfolio .shape{display:inline-block;width:.72em;height:.72em;color:var(--accent);flex:none}.portfolio .s-data{border-radius:50%;background:currentColor}.portfolio .s-ai{border-radius:50%;border:1.6px solid}.portfolio .s-app{border-radius:2px;background:currentColor}.portfolio .s-exp{background:currentColor;transform:rotate(45deg) scale(.82)}.portfolio .legend{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;list-style:none;margin:0 0 2rem;padding:0;font:400 .85rem var(--mono);color:var(--ink-2)}.portfolio .legend li{display:inline-flex;align-items:center;gap:.55em}.portfolio .empty{margin:0;max-width:760px}.portfolio .plot{display:block;width:100%;height:auto}.portfolio .plot .g{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.portfolio .plot .ax{stroke:var(--ink-2);stroke-width:1.2}.portfolio .plot text{font:400 13px var(--mono);fill:var(--ink-2)}.portfolio .plot .ghost{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:4 4}.portfolio .plot .pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.8s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.4}}.portfolio .empty figcaption{margin-top:1rem;max-width:46ch}.portfolio .empty strong{font-weight:600}.portfolio .links,.portfolio .notes,.portfolio .projects{list-style:none;margin:0;padding:0}.portfolio .project-link{display:grid;grid-template-columns:1fr;gap:.4rem 1.5rem;padding:1.5rem 0;border-top:1px solid var(--line);text-decoration:none;color:inherit;align-items:start}@media (min-width:760px){.portfolio .project-link{grid-template-columns:8rem 1fr 2rem}}.portfolio .note:last-child .note-link,.portfolio .project:last-child .project-link{border-bottom:1px solid var(--line)}.portfolio .meta{display:flex;align-items:center;gap:.6em;font:400 .8rem var(--mono);color:var(--ink-2)}.portfolio .project-title{display:block;font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.15;letter-spacing:-.01em;transition:transform .4s var(--ease)}.portfolio .project-sum{display:block;color:var(--ink-2);max-width:56ch;margin-top:.3rem}.portfolio .project-cover{display:block;margin-top:1rem;aspect-ratio:8/5;width:100%;max-width:520px;-o-object-fit:cover;object-fit:cover;background:var(--paper-2)}.portfolio .arrow{color:var(--accent);transition:transform .4s var(--ease);font-size:1.4rem;line-height:1}.portfolio .project-link:focus-visible .project-title{transform:translateX(10px)}.portfolio .project-link:focus-visible .arrow{transform:translate(4px,-4px)}@media (hover:hover){.portfolio .project-link:hover .project-title{transform:translateX(10px)}.portfolio .project-link:hover .arrow{transform:translate(4px,-4px)}}.portfolio .notebook{max-width:640px}.portfolio .ruled{display:flex;align-items:flex-end;height:2.8rem;border-bottom:1px dashed var(--line);font:400 .9rem var(--mono);color:var(--ink-2);padding-bottom:.35rem}.portfolio .caret{width:2px;height:1.15em;margin-left:5px;background:var(--accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.portfolio .empty-note{margin:1.2rem 0 0;max-width:44ch}.portfolio .note-link{display:grid;grid-template-columns:1fr;gap:.3rem 1.5rem;padding:1.25rem 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}@media (min-width:760px){.portfolio .note-link{grid-template-columns:8rem 1fr}}.portfolio .note-title{display:block;font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.25;transition:transform .4s var(--ease)}.portfolio .note-link:focus-visible .note-title{transform:translateX(8px)}@media (hover:hover){.portfolio .note-link:hover .note-title{transform:translateX(8px)}}.portfolio .about-grid{display:grid;gap:2.5rem}@media (min-width:860px){.portfolio .about-grid{grid-template-columns:1fr 1fr;gap:4rem}}.portfolio .big{margin:1.2rem 0 0;font-size:clamp(1.8rem,4.2vw,3rem);line-height:1.12;font-style:italic;font-weight:400;letter-spacing:-.01em;max-width:16ch}.portfolio .big em{color:var(--accent)}.portfolio .about-copy p{margin:0 0 1.1em;max-width:52ch}.portfolio .facts{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.5rem;margin:2rem 0 0;font-size:.95rem}.portfolio .facts dt{font:400 .75rem var(--mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.07em;padding-top:.3em}.portfolio .facts dd{margin:0}.portfolio .age{margin-top:2.2rem;padding-top:1.1rem;border-top:1px dashed var(--line)}.portfolio .age-label{margin:0 0 .45rem;font:500 .74rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.portfolio .age-line{margin:0;font:400 clamp(.78rem,2.7vw,.95rem)/1.75 var(--mono);min-height:3.5em}.portfolio .seg{white-space:nowrap}.portfolio .n{display:inline-block;text-align:right;min-width:var(--nw,2ch);font-variant-numeric:tabular-nums}.portfolio .l{display:inline-block;min-width:var(--lw,6ch);color:var(--ink-2)}.portfolio .age-note{margin:.5rem 0 0;font:400 .75rem var(--mono);color:var(--ink-2)}.portfolio .link{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--line);font-size:clamp(1.5rem,4.4vw,2.6rem);line-height:1.2;letter-spacing:-.01em;text-decoration:none;color:inherit}.portfolio .links li:last-child .link{border-bottom:1px solid var(--line)}.portfolio .link .label{transition:transform .4s var(--ease)}.portfolio .link .arrow{font-size:1.2em}.portfolio .link:focus-visible .label{transform:translateX(10px)}.portfolio .link:focus-visible .arrow{transform:translate(6px,-6px)}@media (hover:hover){.portfolio .link:hover .label{transform:translateX(10px)}.portfolio .link:hover .arrow{transform:translate(6px,-6px)}}.portfolio footer{padding-block:2.5rem 3rem;border-top:1px solid var(--line);font:400 .78rem var(--mono);color:var(--ink-2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem}@media (prefers-reduced-motion:reduce){.portfolio *,.portfolio :after,.portfolio :before{animation:none!important;transition:none!important}.portfolio .rv .reveal:not(.in){opacity:1;transform:none}}.portfolio .about-portrait{margin:2.5rem 0 0;max-width:480px}.portfolio .about-portrait img{display:block;width:100%;height:auto;border-radius:2px}.portfolio .about-portrait figcaption{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;font:400 .72rem/1.5 var(--mono);color:var(--ink-2)}.portfolio .portrait-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);flex:none}.portfolio{--text:var(--ink);--muted:var(--ink-2);--bg:var(--paper);min-height:100vh}.portfolio .hero{padding:0;border:0;gap:0}.portfolio .wrap{width:100%}.portfolio .top nav{gap:0}.portfolio .hero h1{max-width:none}.portfolio .eyebrow{display:block}.portfolio .about-copy{min-width:0}.portfolio .note-title,.portfolio .project-sum,.portfolio .project-title{overflow-wrap:anywhere}.portfolio .project-link>span{min-width:0}.portfolio .project-link .meta{flex-wrap:wrap;line-height:1.8}.portfolio .project-link .tags{margin-top:1rem}.portfolio .project-link .tags li{font:.7rem var(--mono);background:var(--paper-2)}.portfolio .age-line{display:flex;flex-wrap:wrap;gap:0 .6ch}.portfolio .age-line .n{min-width:3ch}.portfolio .age-line .l{min-width:8ch}.portfolio .post-page h1{font-size:clamp(2.7rem,7vw,5.5rem);line-height:1.05}.portfolio .post-page .post-body{font-family:var(--serif);font-size:1.2rem}.portfolio .post-page .tags{margin-block:1.5rem}.portfolio .content-status{font:.85rem/1.7 var(--mono);padding-block:2rem}.portfolio .contact-email{overflow-wrap:anywhere;font-size:clamp(1rem,3.2vw,2rem)}@media(max-width:400px){.portfolio .top{flex-wrap:wrap}.portfolio .top nav{width:100%}.portfolio .top ul{justify-content:space-between;width:100%}.portfolio .hero{margin-top:0}}@media(max-width:600px){.portfolio .hero{min-height:min(42rem,78svh)}.portfolio .hint{font-size:.7rem}}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/portfolio-1.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/portfolio-2.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/portfolio-3.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/portfolio-4.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--field:#fffaf1;--selected:#e2e9fb}html[data-theme=dark]{color-scheme:dark;--bg:#191c23;--panel:#232731;--text:#ede9df;--muted:#b5b6bd;--line:#3b404d;--accent:#93b2ff;--field:#20242d;--selected:#303d59}html[data-theme=dark] .portfolio{--paper:#191c23;--paper-2:#232731;--ink:#ede9df;--ink-2:#b5b6bd;--line:#3b404d;--accent:#93b2ff;--dot:#d7dce6}.portfolio{display:flow-root;min-height:100svh}.portfolio .post-page{margin-bottom:0;padding-bottom:5rem}.portfolio .post-page h1{margin-top:1rem}.portfolio .post-back{margin-bottom:2.5rem}.portfolio .tags li{color:var(--ink-2);background:var(--paper-2);border-color:var(--line)}.portfolio .button{color:var(--paper);background:var(--ink);font:500 .8rem/1.4 var(--mono);border:1px solid var(--ink);border-radius:2px;padding:.9rem 1.2rem}.portfolio .button:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.portfolio .hero-inner{pointer-events:auto}.portfolio .hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.6rem;margin-top:1.5rem}.portfolio .hero{margin-top:0;min-height:min(47rem,88svh)}.portfolio .hero-inner{padding-top:clamp(32px,5vw,64px)}.portfolio .top{flex-wrap:wrap;gap:1rem 1.5rem}.portfolio .mark{white-space:nowrap}.portfolio .mark>span{color:var(--ink-2);margin-left:-.55rem}.preferences{display:flex;gap:.6rem;align-items:center;font:500 .72rem/1.4 ui-monospace,Consolas,monospace}.language-switch{display:flex;border:1px solid var(--line);border-radius:3px;padding:2px}.language-switch button{min-width:34px;min-height:32px;padding:5px 7px;border:0;background:transparent;color:var(--muted);border-radius:2px}.language-switch button[aria-pressed=true]{color:var(--bg);background:var(--text)}.theme-switch select{min-height:38px;padding:6px;border:1px solid var(--line);color:var(--text);background:var(--bg);border-radius:3px;font:inherit;max-width:115px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portfolio .work-toolbar{margin-bottom:1rem}.portfolio .timeline-heading{margin:0 0 1.2rem;font-style:italic;font-size:1.5rem}.portfolio .timeline-heading>span{font:400 .72rem var(--mono);font-style:normal;color:var(--ink-2)}.portfolio .project-filters{display:flex;flex-wrap:wrap;gap:.5rem}.portfolio .project-filters button,.small-button{display:inline-flex;gap:.6rem;align-items:center;padding:.65rem .8rem;font:400 .75rem/1.3 ui-monospace,Consolas,monospace;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:3px;min-height:40px}.portfolio .project-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.portfolio .project-filters button[aria-pressed=true] .shape{color:var(--paper)}.portfolio .timeline{margin:1.5rem 0 3rem;padding:clamp(12px,3vw,28px);background:var(--paper-2);border:1px solid var(--line);border-radius:3px}.portfolio .timeline-scroll{overflow-x:auto}.portfolio .timeline-chart{display:block;width:100%;min-width:680px;height:auto;overflow:visible}.portfolio .timeline-chart text{fill:var(--ink-2);font:400 12px var(--mono)}.portfolio .timeline-chart .lane-label{font-size:13px;fill:var(--ink)}.portfolio .timeline-grid{stroke:var(--line);stroke-dasharray:3 5}.portfolio .timeline-stem{stroke:var(--accent);stroke-width:1;opacity:.13}.portfolio .point-hit{fill:transparent}.portfolio .point-fill{fill:var(--accent)}.portfolio .point-outline{fill:var(--paper-2);stroke:var(--accent);stroke-width:2}.portfolio .point-ring{fill:none;stroke:var(--accent);opacity:0;stroke-width:1}.portfolio .point-ring.active,.portfolio .timeline-point:focus-visible .point-ring,.portfolio .timeline-point:hover .point-ring{opacity:1}.portfolio .timeline-point:focus-visible{outline:none}.portfolio .timeline-detail{padding-top:1.25rem;margin-top:.5rem;border-top:1px solid var(--line);min-height:9rem}.portfolio .timeline-detail>a{display:inline-block;margin:.4rem 0;font-size:1.6rem;line-height:1.25;overflow-wrap:anywhere}.portfolio .timeline-detail>a span{color:var(--accent)}.portfolio .timeline-detail p{margin:0;color:var(--ink-2);max-width:65ch}.portfolio .timeline-help{font:400 .68rem/1.7 var(--mono);color:var(--ink-2);margin:1.3rem 0 0}.portfolio .article-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line);padding-top:2rem;margin-top:4rem}.portfolio .error-page{padding-block:clamp(80px,12vw,160px);max-width:1000px}.portfolio .error-page h1{font-size:clamp(3rem,7vw,6rem);line-height:1.1;margin:1.5rem 0}.portfolio .error-page p{max-width:45ch;margin-block:1.5rem}.portfolio .post-error h1{margin-bottom:1.5rem}.portfolio .privacy-copy h2{font-size:clamp(1.6rem,4vw,2.2rem);margin:2rem 0 1rem}.portfolio .privacy-copy p{margin-bottom:1.5rem}.portfolio .privacy-copy a{overflow-wrap:anywhere}.loading-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:.7rem;animation:loading-pulse 1s infinite alternate}@keyframes loading-pulse{to{opacity:.25}}.new-post-actions{display:flex;flex-direction:column;gap:10px}.admin-topbar{flex-wrap:wrap}.admin-topbar>div{flex-wrap:wrap;max-width:100%}.new-post-actions button{border:0;justify-content:center}.translation-fields{padding:18px;border:1px solid var(--line);margin-block:10px 28px;border-radius:4px}.translation-fields summary{cursor:pointer;font-weight:600;font-size:14px}.translation-fields>p{font-size:13px;color:var(--muted);line-height:1.7;margin-block:16px}.form-error{color:#a22e22;border-left:3px solid;padding-left:12px}html[data-theme=dark] .form-error{color:#ffafa4}.editor-form input,.editor-form select,.editor-form textarea,.login-form input{background:var(--field);border-color:var(--line)}.post-list button.selected{background:var(--selected);border-color:var(--accent)}.markdown-preview{background:var(--bg);color:var(--text);--muted:var(--text);--line:var(--panel)}.markdown-toolbar button:hover,.markdown-toolbar button[aria-expanded=true]{background:var(--selected);color:var(--accent)}.markdown th{background:var(--panel)}.markdown code{background:var(--selected)}.markdown code,.markdown-preview-label{color:var(--accent)}.button{background:#2455ce;border-color:transparent}html[data-theme=dark] .button{color:#191c23;background:#93b2ff}html[data-theme=dark] .portfolio .button{color:var(--paper);background:var(--ink)}@media(max-width:760px){.portfolio .top nav{order:3;width:100%}.portfolio .top nav ul{justify-content:space-between;width:100%}.portfolio .hero{min-height:0}.portfolio .hero-inner{padding-top:30px;padding-bottom:36px}.portfolio .hero h1{font-size:clamp(3rem,12vw,6rem)}.portfolio .hint{margin-top:1rem}.portfolio .timeline{margin-inline:0}.portfolio .timeline-detail{min-height:10rem}.preferences{gap:.4rem}.portfolio .facts{-moz-column-gap:1rem;column-gap:1rem}.portfolio .top .mark{font-size:.8rem}.portfolio .post-page{margin-top:35px;padding-bottom:3rem}}@media(prefers-reduced-motion:reduce){.loading-dot{animation:none}}