@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Serif+JP:wght@500;700;900&display=swap");*,: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: }
/*
! tailwindcss v3.4.17 | 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]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.table{display:table}.grid{display:grid}.hidden{display:none}.min-h-screen{min-height:100vh}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.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)}:root[data-theme=ink]{color-scheme:dark;--background:#17181b;--secondary-background:#1c1e21;--foreground:#f0efeb;--main-foreground:#ffffff;--main:#ea1646;--main-hover:#cf123c;--border:#36373b;--ring:#ea1646;--overlay:#17181bdd;--chart-1:#25272b;--chart-2:#222428;--chart-3:#322229;--chart-4:#292b2e;--chart-5:#ea1646;--chart-active-dot:#ea1646;--muted:#b4b4b8;--subtle:#b7b7bb;--symbol:#686a70;--art-background:#191a1d;--card-background:#1c1e21;--hover-background:#25272b;--banner-background:#111215;--banner-text:#f0efeb;--banner-accent:#ff426c;--banner-muted:#b4b4b8}:root[data-theme=ink][data-mode=light]{color-scheme:light;--background:#f4f2ed;--secondary-background:#fdfbf7;--foreground:#232429;--main-foreground:#ffffff;--main:#c91c43;--main-hover:#ad1537;--border:#d3d0c8;--ring:#c91c43;--overlay:#232429cc;--chart-1:#e9e5dd;--chart-2:#e8e5de;--chart-3:#f2dce1;--chart-4:#e1ded6;--chart-5:#c91c43;--chart-active-dot:#c91c43;--muted:#606168;--subtle:#62636a;--symbol:#777870;--art-background:#eae7df;--card-background:#fdfbf7;--hover-background:#e8e5de;--banner-background:#e9e5dd;--banner-text:#232429;--banner-accent:#b8173b;--banner-muted:#606168}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--foreground);background:var(--background);font-family:DM Sans,system-ui,sans-serif;font-weight:400}body:after{content:"";pointer-events:none;position:fixed;inset:0;opacity:.055;z-index:50;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Noto Serif JP",serif}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{font-family:inherit}a,button{touch-action:manipulation}:focus-visible{outline:3px solid var(--main);outline-offset:5px}::-moz-selection{background:var(--main);color:var(--main-foreground)}::selection{background:var(--main);color:var(--main-foreground)}.eyebrow,code,pre{font-family:IBM Plex Mono,monospace}.skip-link{position:fixed;left:20px;top:-100px;z-index:60;background:var(--main);color:white;padding:12px}.skip-link:focus{top:15px}.site-header{max-width:1440px;margin:auto;min-height:96px;padding:18px 5%;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border)}.brand,.site-header{display:flex;align-items:center}.brand{gap:13px;font-size:14px;font-weight:700;letter-spacing:.12em}.seal{display:grid;place-items:center;width:44px;height:48px;color:var(--main-foreground);background:var(--main);font:30px "Noto Serif JP",serif;clip-path:polygon(2% 0,96% 3%,100% 96%,0 100%)}.brand-caption{display:block;font:8px IBM Plex Mono,monospace;letter-spacing:.12em;margin-top:6px;color:var(--muted)}.header-nav{display:flex;gap:32px;font-size:12px}.header-link:hover,.header-nav a:hover,.text-link:hover{color:var(--main)}.header-link{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:600;border-bottom:1px solid;padding:8px 0}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto;min-height:690px}.hero-copy{padding:64px 6% 26px 10%;display:flex;flex-direction:column}.eyebrow{font-size:10px;line-height:1.8;letter-spacing:.12em;font-weight:500;color:var(--subtle)}.hero .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:30px;font-size:9px}.hero .eyebrow>span{width:6px;height:6px;background:var(--main);border-radius:50%;box-shadow:0 0 0 4px #d72d2210}.hero h1{font-size:clamp(52px,5.3vw,81px);font-weight:400;line-height:.99;letter-spacing:-.055em;margin-bottom:24px}.hero h1 em{color:var(--main);font-weight:400}.hero-description{max-width:360px;font-size:14px;line-height:1.85;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:14px 0 45px}.neo-button,.neo-button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:600;padding:14px 20px;border:1px solid var(--main);background:var(--main);color:var(--main-foreground);transition:background .2s,transform .2s,box-shadow .2s}.neo-button:hover{background:var(--main-hover);transform:translateY(-2px);box-shadow:0 5px 0 #d72d2215}.neo-button-secondary{background:transparent;color:var(--foreground);border-color:var(--border)}.neo-button-secondary:hover{background:var(--chart-2)}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:11px}.hero-footnote{margin-top:auto;display:flex;justify-content:space-between;gap:12px;font:8px IBM Plex Mono,monospace;letter-spacing:.06em;color:var(--muted);padding-top:22px;border-top:1px solid var(--border)}.hero-art{position:relative;min-height:690px;overflow:hidden;border-left:1px solid var(--border);background:var(--art-background)}.samurai-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;mix-blend-mode:multiply}.art-vertical{position:absolute;top:32px;right:28px;writing-mode:vertical-rl;font:31px "Noto Serif JP",serif;letter-spacing:.35em}.art-caption{position:absolute;bottom:24px;left:25px;font:9px IBM Plex Mono,monospace;letter-spacing:.16em}.art-stamp{position:absolute;right:25px;bottom:28px;padding:7px;border:2px solid var(--main);color:var(--main);font:17px "Noto Serif JP",serif;transform:rotate(-7deg)}.theme-ribbon{background:var(--main);color:var(--main-foreground);padding:16px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px;font:10px IBM Plex Mono,monospace;letter-spacing:.18em}.theme-ribbon span:nth-child(2n){font:20px "Noto Serif JP",serif;opacity:.65}.portfolio-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:190px minmax(0,1fr);gap:70px}.portfolio-content{min-width:0}.chapter-nav{padding-top:65px}.chapter-nav nav{position:sticky;top:32px}.chapter-nav nav>p{margin-bottom:23px}.chapter-nav nav a{display:flex;align-items:center;gap:14px;padding:13px 0;font-size:12px;border-bottom:1px solid var(--border);transition:color .2s}.chapter-nav nav a:hover,.chapter-number{color:var(--main)}.chapter-number{font:9px IBM Plex Mono,monospace}.nav-mark{margin-left:auto;opacity:.5}.side-motto{margin-top:100px;color:var(--muted)}.side-motto>span{font:60px "Noto Serif JP",serif;color:var(--symbol)}.side-motto p{margin-top:20px;font-size:12px;line-height:2}.portfolio-section{padding:65px 0;border-bottom:1px solid var(--border);scroll-margin-top:28px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.section-heading .eyebrow{margin-bottom:12px;color:var(--main)}.section-heading h2{font-size:clamp(30px,3.3vw,44px);font-weight:400;line-height:1.13;letter-spacing:-.035em;margin:0}.section-symbol{flex-shrink:0;color:var(--symbol);font:32px "Noto Serif JP",serif}.section-description{max-width:580px;color:var(--muted);font-size:13px;line-height:1.85;margin-bottom:32px}.profile-layout{display:grid;grid-template-columns:125px 1fr;gap:28px}.profile-seal{background:var(--main);color:var(--main-foreground);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:165px;font:65px "Noto Serif JP",serif;align-self:start}.profile-seal span{font:7px IBM Plex Mono,monospace;letter-spacing:.14em;margin-top:13px}.profile-story h3{font-size:18px;margin-bottom:12px}.profile-story p,.project-content p{font-size:13px;line-height:1.85;color:var(--muted)}.profile-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.profile-tags span{border:1px solid var(--border);padding:4px 8px;font:9px IBM Plex Mono,monospace;color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid var(--border)}.principles>div{padding:23px 12px 0 0}.principles span{color:var(--main);font:10px IBM Plex Mono,monospace}.principles h3{font-size:12px;margin:12px 0 8px}.principles p{font-size:11px;line-height:1.8;color:var(--muted)}.project-list{border-top:1px solid var(--border)}.project-row{display:grid;grid-template-columns:30px minmax(0,1fr) 40px;gap:18px;padding:27px 0;border-bottom:1px solid var(--border);transition:background .2s}.project-row:hover{background:var(--card-background)}.project-index{padding-top:7px;color:var(--main);font:11px IBM Plex Mono,monospace}.project-title{display:flex;gap:16px;align-items:center;margin-bottom:10px}.project-title h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0}.project-title h3 a:hover{color:var(--main)}.live-badge{border:1px solid var(--border);padding:3px 7px;color:var(--muted);font:8px IBM Plex Mono,monospace;text-transform:uppercase}.project-content p{margin-bottom:0}.project-arrow{height:38px;width:38px;border:1px solid var(--border);display:grid;place-items:center;color:var(--main);transition:background .2s,color .2s}.project-arrow:hover{background:var(--main);color:white}.neo-card{border:1px solid var(--border);background:var(--card-background);box-shadow:none}.neo-card h3{font-weight:600}.neo-card .border-2,.portfolio-section .border-2{border-width:1px}.workshop-card-heading{background:var(--chart-2)}.x-embed-shell{background:var(--secondary-background)}.x-embed-shell .twitter-tweet,.x-embed-shell .twitter-tweet-rendered,.x-embed-shell iframe{max-width:100%!important;min-width:0!important}.x-embed-shell iframe{margin-inline:auto!important}.journal-intro{font-family:Georgia,serif;font-size:22px;line-height:1.6;max-width:480px;margin:25px 0 5px;color:var(--muted)}#stack .neo-card{background:transparent;font-size:12px}#changelog .neo-card{border:0;border-left:2px solid var(--main);background:transparent;padding-left:22px}.craft-banner{margin-top:65px;background:var(--banner-background);color:var(--banner-text);padding:55px max(6%,calc((100% - 1120px) / 2));display:flex;align-items:center;gap:35px}.craft-banner>span{font:85px "Noto Serif JP",serif;color:var(--banner-accent)}.craft-banner .eyebrow{color:var(--banner-muted);margin-bottom:12px}.craft-banner div>p:last-child{font:30px/1.4 Georgia,serif;margin:0}.craft-banner em{color:var(--banner-accent)}.craft-banner a{margin-left:auto;font-size:11px;padding-bottom:8px;border-bottom:1px solid var(--banner-muted)}.site-footer{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer p,.site-footer>a:last-child{font-size:10px;color:var(--muted);margin:0}.site-footer .brand{font-size:11px}.site-footer .seal{height:33px;width:31px;font-size:22px}.visitor-count{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font:10px IBM Plex Mono,monospace;white-space:nowrap}.visitor-count>svg{color:var(--main)}.header-actions .visitor-count{font-size:9px}@media (max-width:520px){.header-actions{flex:1 1 100%;justify-content:space-between}}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero-copy>*{animation:enter .7s both}.hero-copy h1{animation-delay:.1s}.hero-description{animation-delay:.2s}.hero-actions{animation-delay:.3s}@media (min-width:1440px){.hero-copy{padding-left:72px}}@media (max-width:1024px){.portfolio-layout{gap:35px;grid-template-columns:150px minmax(0,1fr)}.hero-copy{padding-top:45px}.hero,.hero-art{min-height:640px}.header-nav{gap:20px}.hero h1{font-size:65px}.hero-actions{gap:14px}}@media (max-width:760px){.site-header{min-height:78px;gap:12px}.brand{font-size:11px;gap:9px}.brand-caption{font-size:6px}.seal{width:34px;height:39px;font-size:25px}.header-nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 24px}.hero h1{font-size:clamp(56px,12vw,78px)}.hero h1 br:nth-of-type(2){display:none}.hero h1 em:before{content:" "}.hero-art{min-height:520px;border-left:0;border-top:1px solid var(--border)}.samurai-image{-o-object-position:center 44%;object-position:center 44%}.hero-description{max-width:420px}.hero-actions{margin-bottom:32px}.theme-ribbon{padding:14px 5%;gap:12px;font-size:8px;letter-spacing:.05em}.theme-ribbon span:nth-last-child(-n+2){display:none}.portfolio-layout{display:block;padding:0 6%}.chapter-nav{padding-top:20px}.chapter-nav nav{display:flex;overflow-x:auto;gap:20px;padding-bottom:10px;position:static}.chapter-nav nav>p,.nav-mark,.side-motto{display:none}.chapter-nav nav a{white-space:nowrap;gap:6px;font-size:11px}.portfolio-section{padding:45px 0}.section-symbol{font-size:27px}.section-heading h2{font-size:34px}.craft-banner{padding:35px 6%;gap:20px;flex-wrap:wrap}.craft-banner>span{font-size:65px}.craft-banner div>p:last-child{font-size:25px}.craft-banner a{margin-left:0}.site-footer{flex-wrap:wrap}.site-footer p{order:3;flex-basis:100%}}@media (max-width:420px){.hero-art{min-height:460px}.hero .eyebrow{font-size:8px}.hero-footnote{font-size:7px}.profile-layout{grid-template-columns:1fr}.profile-seal{min-height:90px;flex-direction:row;gap:20px;font-size:50px}.profile-seal span{margin:0}.principles{grid-template-columns:1fr}.principles>div{border-bottom:1px solid var(--border);padding:18px 0}.project-row{grid-template-columns:20px minmax(0,1fr) 30px;gap:10px}.project-arrow{width:30px;height:30px}.section-symbol{font-size:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}.header-actions{display:flex;align-items:center;gap:22px}.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none}.petals span{position:absolute;top:-30px;left:calc(8% + var(--i) * 13%);width:10px;height:16px;background:#efb9c8;border-radius:90% 0 90% 20%;opacity:0;animation:petal-fall calc(13s + var(--i) * 1.5s) linear infinite;animation-delay:calc(var(--i) * -2.8s)}@keyframes petal-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}8%,85%{opacity:.65}to{transform:translate(-80px,760px) rotate(300deg);opacity:0}}@media (max-width:1024px){.header-nav{gap:16px}.header-actions{gap:15px}}@media (max-width:520px){.site-header{flex-wrap:wrap}.site-header>.brand{flex:1 1 160px}.header-actions{gap:12px}.header-actions .header-link{font-size:10px;gap:5px}}@media (max-width:380px){.brand-caption{max-width:130px;line-height:1.7}.site-header>.brand{flex-basis:145px}.header-actions{flex:1 1 100%;justify-content:space-between}}@media (prefers-reduced-motion:reduce){.petals{display:none}}.hero,.hero-art{min-height:540px}.hero-copy{padding-top:46px;min-width:0}.hero h1{font-size:clamp(50px,5vw,72px);line-height:1.03}.hero .eyebrow{margin-bottom:24px}.hero-actions{margin-bottom:30px}.hero-description{max-width:410px}.content-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:40px;padding:16px max(6%,calc((100% - 1080px) / 2));background:var(--secondary-background);border-block:1px solid var(--border)}.content-nav-end,.content-nav-label{color:var(--muted);font:9px IBM Plex Mono,monospace;letter-spacing:.12em}.content-nav>div{display:flex;justify-content:center;gap:35px;flex:1;min-width:0}.content-nav a{display:flex;align-items:center;gap:9px;font-size:12px;padding:5px 0;white-space:nowrap}.content-nav a:hover{color:var(--main)}.content-nav a span{color:var(--main);font:9px IBM Plex Mono,monospace}.content-nav-end{font-family:"Noto Serif JP",serif;font-size:16px}.portfolio-layout{display:block;max-width:1200px;padding:0 5%}.portfolio-section{padding:64px 0;scroll-margin-top:80px}.section-heading{margin-bottom:14px}.section-heading h2{font-size:clamp(30px,3vw,42px)}.section-description{max-width:620px;font-size:14px;margin-bottom:30px}.featured-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.featured-project{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--card-background)}.project-card-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px}.project-card-top .eyebrow{margin:0;font-size:9px}.project-glyph{min-height:148px;display:flex;align-items:center;justify-content:center;gap:7px;border-block:1px solid var(--border);background:var(--chart-2);padding:18px}.project-glyph>span:not(.identity-glyph){width:40px;height:43px;display:grid;place-items:center;border:1px solid var(--main);color:var(--main);font:21px Georgia,serif;transform:rotate(-4deg)}.project-glyph>span:nth-child(2n){background:var(--main);color:var(--main-foreground);transform:rotate(4deg)}.identity-glyph{font:30px IBM Plex Mono,monospace;letter-spacing:-.07em;color:var(--main)}.project-card-body{display:flex;flex-direction:column;flex:1;padding:24px}.project-card-body>.eyebrow{font-size:8px}.project-card-body h3{font:32px Georgia,serif;margin:2px 0 15px}.project-card-body>p:not(.eyebrow),.small-project>p{color:var(--muted);font-size:13px;line-height:1.85}.project-card-body .profile-tags{margin:auto 0 24px;padding-top:12px}.project-visit{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border);font-size:12px;font-weight:600}.project-visit:hover,.small-project h3 a:hover,.writing-card h3 a:hover{color:var(--main)}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin:36px 0 18px;gap:15px}.collection-heading h3{font-size:13px;font-weight:500;margin:0}.collection-heading>span{font:8px IBM Plex Mono,monospace;color:var(--muted)}.small-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.small-project{padding:18px 0;border-top:1px solid var(--border);display:flex;flex-direction:column}.small-project-heading{display:flex;justify-content:space-between;color:var(--main);margin-bottom:15px}.small-project h3{font:23px Georgia,serif;margin-bottom:12px}.small-project>p{font-size:12px}.small-project .profile-tags{margin-top:auto;padding-top:12px}.toolkit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border)}.toolkit-group{padding:24px 20px;border-right:1px solid var(--border)}.toolkit-group:last-child{border-right:0}.toolkit-group h3{margin:13px 0 8px;font-size:15px;font-weight:600}.toolkit-group>p{color:var(--muted);font-size:11px;line-height:1.6;min-height:35px}.toolkit-group ul{list-style:none;padding:16px 0 0;margin:0;border-top:1px solid var(--border);display:grid;gap:12px}.toolkit-group li{font:11px/1.7 IBM Plex Mono,monospace;overflow-wrap:anywhere}.writing-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px;background:var(--chart-2);border:1px solid var(--border)}.writing-intro h3{font:27px Georgia,serif;margin:9px 0 12px}.writing-intro p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.writing-intro>a{flex-shrink:0}.writing-status{color:var(--muted);font-size:13px}.loading-note{display:flex;gap:8px;align-items:center;margin-top:20px}.writing-error{padding:16px;border-left:2px solid var(--main);background:var(--card-background);margin-top:20px}.writing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:28px}.writing-card{border-bottom:1px solid var(--border);display:flex;flex-direction:column;padding:5px 0 22px}.writing-card h3{font:24px/1.4 Georgia,serif;margin:12px 0}.writing-card h3 a{display:flex;justify-content:space-between;align-items:start;gap:15px}.writing-card h3 svg{flex-shrink:0;margin-top:6px}.writing-card>p{color:var(--muted);font-size:13px;line-height:1.85;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.writing-read{color:var(--main);font-size:11px;margin-top:auto;padding-top:10px}.writing-actions{display:flex;gap:15px;margin-top:22px}.writing-actions button:disabled{opacity:.6;cursor:wait}.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}.about-copy p{color:var(--muted);font-size:14px;line-height:1.9}.about-copy .about-lead{font:25px/1.5 Georgia,serif;color:var(--foreground);margin-bottom:20px}.about-facts{margin:0;border-top:1px solid var(--border)}.about-facts>div{border-bottom:1px solid var(--border);padding:17px 0}.about-facts dt{color:var(--main);font:9px IBM Plex Mono,monospace;margin-bottom:8px;letter-spacing:.08em}.about-facts dd{margin:0;font-size:13px;line-height:1.8}.portfolio-extras{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0 50px;align-items:start}.portfolio-disclosure{border:1px solid var(--border);padding:20px;scroll-margin-top:80px}.portfolio-disclosure summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer}.portfolio-disclosure summary::-webkit-details-marker{display:none}.portfolio-disclosure summary strong{display:block;font-size:14px;font-weight:500;margin-top:7px}.portfolio-disclosure summary .eyebrow{font-size:8px}.disclosure-plus{color:var(--main);font-size:24px}.portfolio-disclosure[open] .disclosure-plus{transform:rotate(45deg)}.disclosure-intro{font-size:12px;color:var(--muted);margin-top:20px}.update-links a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding:14px 0;font-size:12px}.update-links a:hover{color:var(--main)}.history-list article{padding-top:18px;margin-top:18px;border-top:1px solid var(--border)}.history-list h3{font-size:13px;margin:8px 0}.history-list p{color:var(--muted);font-size:12px;line-height:1.8}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--banner-background);color:var(--banner-text);padding:55px max(6%,calc((100% - 1080px) / 2));scroll-margin-top:80px}.contact-section .eyebrow{color:var(--banner-muted)}.contact-section h2{font:42px Georgia,serif;margin:18px 0}.contact-section>div>p:last-child{color:var(--banner-muted);font-size:13px;line-height:1.8;max-width:340px}.contact-links a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--banner-muted);font-size:15px}.contact-links a:hover{color:var(--banner-accent)}.contact-links small{display:block;color:var(--banner-muted);margin-top:5px;font-size:11px}@media (max-width:900px){.content-nav{gap:20px;padding-inline:5%}.content-nav>div{gap:22px}.toolkit-grid{grid-template-columns:1fr 1fr}.toolkit-group:nth-child(2){border-right:0}.toolkit-group:nth-child(-n+2){border-bottom:1px solid var(--border)}.small-projects{gap:16px}.about-grid{gap:35px}}@media (max-width:760px){.hero{min-height:0;grid-template-columns:minmax(0,1fr)}.hero-copy{padding:35px 6% 22px}.hero h1{font-size:clamp(48px,10vw,64px)}.hero h1 br,.hero h1 br:nth-of-type(2){display:initial}.hero h1 em:before{content:none}.hero-description{font-size:13px}.hero-art{min-height:280px}.hero-art .samurai-image{-o-object-position:center 45%;object-position:center 45%}.art-vertical{font-size:24px;top:18px;right:20px}.art-caption{font-size:7px;bottom:16px;left:20px}.art-stamp{font-size:13px;bottom:17px;right:20px}.content-nav{padding:10px 6%;gap:0}.content-nav-end,.content-nav-label{display:none}.content-nav>div{gap:22px;justify-content:flex-start;overflow-x:auto}.content-nav a{font-size:11px;gap:6px}.content-nav a span{font-size:8px}.portfolio-layout{padding:0 6%}.portfolio-section{padding:42px 0}.section-heading h2{font-size:33px}.section-description{font-size:13px}.featured-projects{gap:16px}.project-card-body{padding:20px}.project-card-top{padding:14px 20px}.project-card-body h3{font-size:27px}.project-glyph{min-height:115px;gap:4px;padding:12px}.project-glyph>span:not(.identity-glyph){width:27px;height:33px;font-size:16px}.identity-glyph{font-size:24px}.small-projects{grid-template-columns:1fr;gap:0}.small-project{padding:22px 0}.small-project>p{max-width:480px;margin-bottom:0}.small-project-heading{margin-bottom:9px}.writing-intro{padding:22px;flex-direction:column;align-items:start;gap:20px}.about-grid,.contact-section{grid-template-columns:1fr;gap:20px}.contact-section{padding:40px 6%}.contact-section h2{font-size:35px}}@media (max-width:560px){.featured-projects,.portfolio-extras,.writing-grid{grid-template-columns:1fr}.featured-projects{gap:22px}.project-glyph{min-height:130px;gap:7px}.project-glyph>span:not(.identity-glyph){width:35px;height:40px;font-size:20px}.toolkit-group{padding:20px 14px}.toolkit-group h3{font-size:13px}.toolkit-group li{font-size:10px}.writing-grid{gap:20px}.portfolio-extras{gap:15px}.portfolio-disclosure{padding:18px}.hero-footnote{font-size:7px}}.japanese-text{cursor:help;-webkit-tap-highlight-color:transparent}.mode-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 11px;color:var(--foreground);background:var(--secondary-background);border:1px solid var(--border);cursor:pointer;font:10px IBM Plex Mono,monospace;white-space:nowrap}.mode-toggle svg{color:var(--main)}.mode-toggle:hover{border-color:var(--main)}.github-activity{scroll-margin-top:90px}:root[data-theme=ink][data-mode=light] .content-nav{background:#f4f2edf5}:root[data-theme=ink][data-mode=light] .art-vertical{color:#4e5056}:root[data-theme=ink][data-mode=light] .art-caption{color:#e3e5dd}:root[data-theme=ink][data-mode=light] .art-stamp{background:#fdfbf7ed}:root[data-theme=ink][data-mode=light] .art-lettering>span:last-child{border-color:#777870}:root[data-theme=ink][data-mode=light] .section-symbol{color:#777870}.japanese-text:focus-visible{outline:2px solid var(--main);outline-offset:5px}.translation-tooltip{position:fixed;z-index:100;display:flex;flex-direction:column;gap:7px;width:-moz-max-content;width:max-content;max-width:min(260px,calc(100vw - 16px));padding:13px 16px;border:1px solid var(--border);border-top:2px solid var(--main);background:var(--secondary-background);color:var(--foreground);box-shadow:0 8px 28px #00000035;font:12px/1.5 DM Sans,sans-serif;font-weight:400;letter-spacing:0;text-align:left;writing-mode:horizontal-tb;white-space:normal;cursor:default}.translation-original{color:var(--main);font:15px/1.4 "Noto Serif JP",serif;letter-spacing:.1em}.japanese-ink{display:inline-block;animation:ink-reveal .9s cubic-bezier(.16,1,.3,1) both}.art-stamp .japanese-ink{animation:ink-reveal .9s cubic-bezier(.16,1,.3,1) both,ink-breathe 7s ease-in-out 1s infinite}.japanese-character{display:inline-block;animation:ink-breathe 7s ease-in-out infinite;animation-delay:calc(var(--glyph-index) * .24s)}.japanese-text:is(:hover,:focus-visible) .japanese-character{animation:ink-greeting .6s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--glyph-index) * .07s)}@keyframes ink-reveal{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@keyframes ink-breathe{0%,to{opacity:.82;transform:translateY(0)}50%{opacity:1;transform:translateY(-1.5px)}}@keyframes ink-greeting{0%,to{transform:translateY(0);opacity:1}45%{transform:translateY(-4px);opacity:1}}.ink-landscape{position:absolute;inset:0;width:100%;height:100%;--landscape-sky-top:#191a1d;--landscape-sky-bottom:#242529;--landscape-stars:#888880;--landscape-mountain-far:#393a3c;--landscape-mountain-mid:#292b2e;--landscape-mountain-near:#15171a;--landscape-tree:#101215}:root[data-mode=light] .ink-landscape{--landscape-sky-top:#f5f1e7;--landscape-sky-bottom:#eae7df;--landscape-stars:#6b6860;--landscape-mountain-far:#aba99f;--landscape-mountain-mid:#85877f;--landscape-mountain-near:#555c59;--landscape-tree:#252e2b}.landscape-moon{animation:moon-drift 12s ease-in-out infinite}.moon-halo,.moon-orbit{transform-box:fill-box;transform-origin:center}.moon-halo{opacity:.07;animation:moon-glow 6s ease-in-out infinite}.moon-orbit{opacity:.35;animation:moon-orbit 90s linear infinite}.landscape-stars{opacity:.4;animation:star-breathe 9s ease-in-out infinite}@keyframes moon-drift{0%,to{transform:translate(0)}50%{transform:translate(3px,-15px)}}@keyframes moon-glow{0%,to{opacity:.05;transform:scale(.97)}50%{opacity:.14;transform:scale(1.04)}}@keyframes moon-orbit{to{transform:rotate(1turn)}}@keyframes star-breathe{0%,to{opacity:.3}50%{opacity:.65}}.artwork-motion[data-motion=paused] :is(.landscape-moon,.moon-halo,.moon-orbit,.landscape-stars),:root[data-motion=paused] :is(.japanese-ink,.japanese-character){animation-play-state:paused!important}.artwork-motion{--art-x:0;--art-y:0}:root[data-theme=ink] .artwork-motion .samurai-image{transform:perspective(1100px) rotateX(calc(var(--art-y) * -3deg)) rotateY(calc(var(--art-x) * 4deg)) scale(1.055);transition:transform .6s cubic-bezier(.2,.7,.3,1)}.code-object{--cube-size:52px;--cube-depth:26px;position:absolute;top:64px;right:114px;width:var(--cube-size);height:var(--cube-size);perspective:500px;pointer-events:none;animation:code-float 6s ease-in-out infinite}.code-cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:code-turn 22s linear infinite}.code-cube>span{position:absolute;inset:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--main) 65%,transparent);background:color-mix(in srgb,var(--secondary-background) 90%,transparent);color:var(--main);font:15px IBM Plex Mono,monospace;backface-visibility:hidden;box-shadow:inset 0 0 16px color-mix(in srgb,var(--main) 7%,transparent)}.cube-front{transform:translateZ(var(--cube-depth))}.cube-back{transform:rotateY(180deg) translateZ(var(--cube-depth))}.cube-right{transform:rotateY(90deg) translateZ(var(--cube-depth))}.cube-left{transform:rotateY(-90deg) translateZ(var(--cube-depth))}.cube-top{transform:rotateX(90deg) translateZ(var(--cube-depth))}.cube-bottom{transform:rotateX(-90deg) translateZ(var(--cube-depth))}.motion-toggle{position:absolute;bottom:26px;right:82px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--border);background:var(--secondary-background);color:var(--foreground);cursor:pointer}.motion-toggle:hover{border-color:var(--main);color:var(--main)}.artwork-motion[data-motion=paused] .code-cube,.artwork-motion[data-motion=paused] .code-object{animation-play-state:paused}@keyframes code-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes code-turn{0%{transform:rotateX(-20deg) rotateY(-30deg)}to{transform:rotateX(340deg) rotateY(330deg)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.portfolio-section>.section-heading{animation:section-arrive linear both;animation-timeline:view();animation-range:entry 0 entry 80%}@keyframes section-arrive{0%{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}}@media (max-width:760px){.code-object{--cube-size:40px;--cube-depth:20px;top:46px;right:85px}.code-cube>span{font-size:12px}}@media (prefers-reduced-motion:reduce){:root[data-theme=ink] .artwork-motion .samurai-image{transform:none}.code-cube{transform:rotateX(-20deg) rotateY(-30deg)}}.github-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.github-heading .eyebrow{margin-bottom:8px}.github-heading h3{margin:0;font-size:23px;font-weight:500;letter-spacing:-.035em}.github-heading>a{flex-shrink:0}.github-repositories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.github-repo{display:flex;flex-direction:column;padding:22px;min-width:0;border:1px solid var(--border);background:var(--card-background);transition:border-color .2s}.github-repo:hover{border-color:var(--main)}.github-repo-top{display:flex;align-items:center;gap:8px;color:var(--muted);font:10px IBM Plex Mono,monospace}.github-repo-top>svg{color:var(--main)}.repo-stars{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.github-repo h3{margin:24px 0;font-size:18px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.github-repo h3 a{display:flex;align-items:start;justify-content:space-between;gap:12px}.github-repo h3 svg{flex-shrink:0;margin-top:5px;color:var(--main)}.github-repo h3 a:hover,.github-repo-footer a:hover{color:var(--main)}.github-repo>p{font-size:12px;line-height:1.8;color:var(--muted)}.github-repo-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border);font-size:10px}.github-repo-footer>span{color:var(--muted)}.github-repo-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;width:100%}.github-repo-actions .project-website-link{color:var(--main);font-weight:600}.project-website-missing{color:var(--muted)}.github-expand{margin-top:22px;cursor:pointer}.github-activity{margin-top:48px;padding:30px;border:1px solid var(--border);background:var(--card-background)}.github-stats{display:flex;align-items:center;gap:45px;border-block:1px solid var(--border);padding:24px 0;margin-bottom:26px}.github-stats>div{display:flex;flex-direction:column;gap:8px}.github-stats strong{font:30px IBM Plex Mono,monospace;font-weight:400;letter-spacing:-.06em}.github-stats div>span{font-size:10px;color:var(--muted)}.activity-seal{margin-left:auto;writing-mode:vertical-rl;border:1px solid var(--main);padding:8px 5px;color:var(--main);font:20px "Noto Serif JP",serif;letter-spacing:.2em}.contribution-scroll{overflow-x:auto;padding:5px 3px 10px}.contribution-calendar{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:24px 94px;width:calc(26px + var(--weeks) * 14px);min-width:100%}.contribution-months{grid-column:2;display:grid;grid-template-columns:repeat(var(--weeks),minmax(10px,1fr));-moz-column-gap:4px;column-gap:4px;font:9px IBM Plex Mono,monospace;color:var(--muted)}.contribution-months>span:last-child{justify-self:end}.contribution-weekdays{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(7,10px);row-gap:4px;font:8px IBM Plex Mono,monospace;color:var(--muted)}.contribution-weekdays span:first-child{grid-row:2}.contribution-weekdays span:nth-child(2){grid-row:4}.contribution-weekdays span:nth-child(3){grid-row:6}.contribution-grid{grid-column:2;grid-row:2;display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,10px);grid-template-columns:repeat(var(--weeks),minmax(10px,1fr));gap:4px}.contribution-cell{display:block;min-width:10px;height:10px;padding:0;border:1px solid color-mix(in srgb,var(--foreground) 8%,transparent);border-radius:1px;background:var(--chart-2)}button.contribution-cell{cursor:pointer}.contribution-level-1{background:color-mix(in srgb,var(--main) 25%,var(--secondary-background))}.contribution-level-2{background:color-mix(in srgb,var(--main) 50%,var(--secondary-background))}.contribution-level-3{background:color-mix(in srgb,var(--main) 75%,var(--secondary-background))}.contribution-level-4{background:var(--main)}.contribution-cell[aria-pressed=true]{outline:1px solid var(--foreground);outline-offset:2px}.contribution-cell:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.contribution-caption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-top:12px}.contribution-caption p{margin:0;font:10px/1.8 IBM Plex Mono,monospace}.contribution-caption p>span{color:var(--muted)}.contribution-legend{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.contribution-legend>span:first-child{margin-right:5px}.contribution-legend>span:last-child{margin-left:5px}.monthly-heading{display:flex;justify-content:space-between;gap:12px;padding-top:26px;margin-top:26px;border-top:1px solid var(--border)}.monthly-heading>span:last-child{font:8px IBM Plex Mono,monospace;color:var(--muted)}.monthly-chart{display:flex;gap:12px;margin-top:18px}.monthly-column{min-width:0;flex:1;text-align:center}.monthly-value{display:block;color:var(--muted);font:8px IBM Plex Mono,monospace;margin-bottom:8px}.monthly-track{display:flex;align-items:end;height:90px;border-bottom:1px solid var(--border)}.monthly-track>span{display:block;width:100%;background:color-mix(in srgb,var(--main) 70%,var(--secondary-background));border-top:1px solid var(--main);min-height:1px}.monthly-column:hover .monthly-track>span{background:var(--main)}.monthly-label{display:block;color:var(--muted);font:9px IBM Plex Mono,monospace;margin-top:10px}.github-data-note{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.github-data-note p{color:var(--muted);font-size:10px;line-height:1.7;margin:0}@media (max-width:900px){.github-repositories{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.github-repositories{grid-template-columns:minmax(0,1fr)}.github-heading{align-items:start;flex-direction:column;gap:12px}.github-heading h3{font-size:21px}.github-activity{padding:20px 16px}.github-stats{gap:22px}.github-stats strong{font-size:24px}.github-stats div>span{font-size:9px}.activity-seal{font-size:16px;padding:6px 3px}.monthly-chart{gap:4px}.monthly-label,.monthly-value{font-size:7px}.monthly-heading .eyebrow{font-size:8px}}.art-lettering{display:none}:root[data-theme=ink] body:after{opacity:.025}:root[data-theme=ink] .site-header{min-height:100px}:root[data-theme=ink] .seal{clip-path:none;width:38px;height:48px;font-size:26px}:root[data-theme=ink] .brand{letter-spacing:.15em;font-size:12px}:root[data-theme=ink] .brand-caption{font-size:8px;letter-spacing:.14em}:root[data-theme=ink] .hero{grid-template-columns:1.1fr 1fr;min-height:660px}:root[data-theme=ink] .hero-copy{padding:74px 8% 32px 9%}:root[data-theme=ink] .hero h1{font-family:DM Sans,sans-serif;font-size:clamp(46px,4.7vw,70px);font-weight:600;line-height:1.1;letter-spacing:-.055em;margin:4px 0 28px}:root[data-theme=ink] .hero h1 em{font-style:normal;font-weight:500}:root[data-theme=ink] .hero-description{max-width:395px;line-height:1.9}:root[data-theme=ink] .hero .eyebrow{font-size:9px;letter-spacing:.1em}:root[data-theme=ink] .hero-actions{margin-top:20px;margin-bottom:55px}:root[data-theme=ink] .hero-art{min-height:660px;border-left:0}:root[data-theme=ink] .samurai-image{mix-blend-mode:normal;-o-object-position:center bottom;object-position:center bottom}:root[data-theme=ink] .art-lettering{position:absolute;display:flex;gap:20px;left:36px;top:48px}:root[data-theme=ink] .art-lettering>span:first-child{writing-mode:vertical-rl;background:var(--main);color:#121316;padding:12px 7px;font:26px "Noto Serif JP",serif;letter-spacing:.3em}:root[data-theme=ink] .art-lettering>span:last-child{border-left:1px solid #797a7d;padding-left:19px;padding-top:4px;font:12px/2 IBM Plex Mono,monospace;letter-spacing:.23em}:root[data-theme=ink] .art-vertical{font-size:18px;top:48px;right:30px;color:#b4b4b8}:root[data-theme=ink] .art-caption{bottom:30px;left:30px;font-size:8px;color:#b4b4b8}:root[data-theme=ink] .art-stamp{font-size:16px;padding:4px 8px;transform:none;bottom:30px}:root[data-theme=ink] .content-nav{background:#17181bf5;backdrop-filter:blur(12px)}:root[data-theme=ink] .content-nav a{font-size:11px}:root[data-theme=ink] .portfolio-section{padding-block:76px}:root[data-theme=ink] .contact-section h2,:root[data-theme=ink] .section-heading h2{font-family:DM Sans,sans-serif;font-weight:500;letter-spacing:-.045em}:root[data-theme=ink] .section-heading h2{font-size:clamp(29px,3.3vw,43px)}:root[data-theme=ink] .section-symbol{color:#8b8c91}:root[data-theme=ink] .section-description{max-width:580px;line-height:1.9}:root[data-theme=ink] .featured-project{transition:border-color .2s,transform .2s}:root[data-theme=ink] .featured-project:hover{border-color:#77787e;transform:translateY(-3px)}:root[data-theme=ink] .project-glyph{min-height:165px;background:#202226}:root[data-theme=ink] .project-glyph>span:not(.identity-glyph){transform:none;font-family:IBM Plex Mono,monospace;border-color:#686a70;color:var(--foreground)}:root[data-theme=ink] .project-glyph>span:nth-child(2n){background:var(--main);border-color:var(--main)}:root[data-theme=ink] .project-card-body h3,:root[data-theme=ink] .small-project h3,:root[data-theme=ink] .writing-card h3,:root[data-theme=ink] .writing-intro h3{font-family:DM Sans,sans-serif;letter-spacing:-.035em;font-weight:500}:root[data-theme=ink] .project-card-body h3{font-size:30px}:root[data-theme=ink] .live-badge{color:#d0d0d2;display:inline-flex;align-items:center;gap:6px}:root[data-theme=ink] .live-badge:before{content:"";width:4px;height:4px;background:var(--main);border-radius:50%}:root[data-theme=ink] .profile-tags span{background:transparent;color:var(--muted);border-color:var(--border)}:root[data-theme=ink] .writing-intro{background:var(--card-background);padding:32px}:root[data-theme=ink] .about-copy .about-lead{font-family:DM Sans,sans-serif;font-size:27px;letter-spacing:-.03em}:root[data-theme=ink] .contact-section{padding-block:65px;border-top:1px solid var(--border)}:root[data-theme=ink] .contact-section h2{max-width:400px;font-size:45px}:root[data-theme=ink] .site-footer .seal{height:33px;width:28px;font-size:21px}@media (max-width:1000px) and (min-width:761px){:root[data-theme=ink] .hero h1{font-size:48px}:root[data-theme=ink] .hero-copy{padding-left:10%;padding-right:5%}:root[data-theme=ink] .hero-actions{gap:16px}}@media (max-width:760px){:root[data-theme=ink] .site-header{min-height:84px}:root[data-theme=ink] .brand{font-size:10px}:root[data-theme=ink] .brand-caption{font-size:6px}:root[data-theme=ink] .hero{grid-template-columns:minmax(0,1fr);min-height:0}:root[data-theme=ink] .hero-copy{padding:48px 6% 24px}:root[data-theme=ink] .hero h1{font-size:clamp(43px,8vw,64px)}:root[data-theme=ink] .hero-actions{margin-bottom:35px}:root[data-theme=ink] .hero-art{min-height:410px}:root[data-theme=ink] .samurai-image{-o-object-position:center 62%;object-position:center 62%}:root[data-theme=ink] .art-lettering{top:25px;left:6%}:root[data-theme=ink] .art-lettering>span:first-child{font-size:20px}:root[data-theme=ink] .art-lettering>span:last-child{font-size:10px}:root[data-theme=ink] .art-vertical{top:25px;font-size:16px}:root[data-theme=ink] .portfolio-section{padding-block:48px}:root[data-theme=ink] .writing-intro{padding:24px}:root[data-theme=ink] .contact-section h2{font-size:36px}}