/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-6{gap:calc(var(--spacing) * 6)}.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,)}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--paper:#f7f4ee;--ink:#14161a;--ink-2:#3e4148;--ink-3:#8a8d93;--ink-4:#c9cbd0;--seal:#9e2b25;--card:#fbf9f3;--cover:#ece5d8;--cover-mix:62%;--heat-0:#e7e3d7;--heat-1:#cfd9c6;--heat-2:#a6bb9b;--heat-3:#74906a;--heat-4:#47603f;--page-max:1700px;--gutter:clamp(20px, 4vw, 72px);--inset-x:calc(6vw + var(--gutter));--prose-max:34rem;--card-radius:6px;--section-h:100svh;--nav-h:64px;--ease:cubic-bezier(.22, .61, .36, 1);--t:.16s;--t-seal:.26s ease-out;--font-kai:"LXGW WenKai", "霞鹜文楷", KaiTi, "楷体", serif;--font-song:"Source Han Serif SC", "思源宋体", "Noto Serif SC", SimSun, serif;--font-mono:"LXGW WenKai Mono", "霞鹜文楷等宽", ui-monospace, monospace}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper) url(/noise.webp) repeat;color:var(--ink);font-family:var(--font-song);scroll-snap-type:y proximity;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.75}::selection{background:#9e2b252e}h1,h2,h3{font-family:var(--font-kai);margin:0;font-weight:700}section{min-height:var(--section-h);scroll-snap-align:start;padding:calc(var(--nav-h) + 6vh) 6vw 8vh;scroll-margin-top:calc(var(--nav-h) + 8px);position:relative}.site-foot{scroll-margin-top:calc(var(--nav-h) + 8px)}.site-foot.as-section{min-height:var(--section-h);scroll-snap-align:start}.section-full{min-height:var(--section-h)}.section-auto{min-height:auto}.shell{max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.page-main{max-width:var(--page-max);padding-inline:var(--inset-x);margin-inline:auto}@media (min-width:1700px){body:before,body:after{content:"";width:calc((100vw - var(--page-max)) / 2);z-index:15;pointer-events:none;background:linear-gradient(90deg,#14161a0d,#14161a04 55%,#14161a0d),url(/noise.webp);position:fixed;top:0;bottom:0}body:before{border-right:1px solid var(--ink-4);left:0}@supports (color:color-mix(in lab, red, red)){body:before{border-right:1px solid color-mix(in srgb, var(--ink-4) 60%, transparent)}}body:after{border-left:1px solid var(--ink-4);right:0}@supports (color:color-mix(in lab, red, red)){body:after{border-left:1px solid color-mix(in srgb, var(--ink-4) 60%, transparent)}}.side-tabs{right:max(18px, calc((100vw - var(--page-max)) / 2 + 14px))}}#root:not(:empty)~#prerender{display:none}.skip-link{z-index:30;background:var(--card);color:var(--ink);border:1px solid var(--seal);border-radius:var(--card-radius);font-family:var(--font-kai);letter-spacing:.08em;padding:8px 14px;font-size:14px;text-decoration:none;position:absolute;top:8px;left:-9999px}.skip-link:focus-visible{outline:2px solid var(--seal);outline-offset:2px;left:12px}.topbar{height:var(--nav-h);z-index:20;background:var(--paper);align-items:center;gap:clamp(20px,4vw,56px);padding:0 clamp(16px,4vw,48px);display:flex;position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--paper) 86%, transparent)}}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-4)}.topbar .brand-wrap{align-items:center;gap:clamp(20px,4vw,56px);display:flex}.topbar .brand{color:var(--ink);align-items:center;line-height:0;text-decoration:none;display:inline-flex}.badge-seal{width:clamp(34px,2.6vw,42px);height:auto;transition:transform var(--t) var(--ease);display:block;transform:rotate(-3deg)}.brand:hover .badge-seal{transform:rotate(0)scale(1.05)}.brand:active .badge-seal{transform:rotate(0)scale(.96)}.brand:focus-visible{outline:2px solid var(--seal);outline-offset:4px;border-radius:2px}.topbar nav{gap:clamp(16px,3vw,36px);margin-left:auto;list-style:none;display:flex}.topbar nav a{color:var(--ink-3);letter-spacing:.2em;transition:color var(--t) var(--ease), transform var(--t) var(--ease);padding:8px 2px;font-size:15px;text-decoration:none;display:inline-block;position:relative}.topbar nav a:after{content:"";background:var(--ink);width:0;height:2px;transition:width .2s var(--ease);position:absolute;bottom:0;left:0}.topbar nav a:hover{color:var(--ink-2);transform:translateY(-1px)}.topbar nav a:hover:after{width:60%}.topbar nav a.on{color:var(--ink);font-weight:700}.topbar nav a.on:after{background:var(--seal);width:100%;height:2px;left:0;transform:none}.topbar nav a.on:before{content:"";background:var(--seal);border-radius:50%;width:5px;height:5px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.side-tabs{z-index:20;flex-direction:column;align-items:center;gap:clamp(18px,3.2vh,30px);padding:16px 9px;display:flex;position:fixed;top:50%;right:clamp(10px,2.2vw,28px);transform:translateY(-50%)}.side-tabs i.dot{background:var(--seal);width:6px;height:6px;transition:top var(--t) var(--ease);z-index:2;pointer-events:none;border-radius:50%;position:absolute;left:50%;transform:translate(-50%)}.side-tabs a{writing-mode:vertical-rl;color:var(--ink-2);opacity:.78;font-family:var(--font-kai);letter-spacing:.34em;transition:all var(--t) var(--ease);text-shadow:0 0 5px #f7f4eed9,0 0 10px #f7f4ee8c;padding:8px 3px;font-size:clamp(15px,1.1vw,17px);text-decoration:none}.side-tabs a:hover{opacity:1;color:var(--ink);transform:translate(-2px)}.side-tabs a.on{opacity:1;color:var(--ink);font-weight:700}@media (max-width:640px){.side-tabs{display:none}}#home{padding:0;display:block;overflow-x:clip}#ink{mix-blend-mode:multiply;--fade-y:linear-gradient(to bottom, #000 0 30%, #000000c7 48%, #0000006b 64%, #00000024 76%, transparent 88%);--fade-x:linear-gradient(to right, #00000042 0 14%, #0009 38%, #000 66%);width:100%;height:100%;-webkit-mask-image:var(--fade-y), var(--fade-x);-webkit-mask-image:var(--fade-y), var(--fade-x);-webkit-mask-image:var(--fade-y), var(--fade-x);-webkit-mask-image:var(--fade-y), var(--fade-x);mask-image:var(--fade-y), var(--fade-x);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;display:block;position:absolute;inset:0;-webkit-mask-composite:source-in;mask-composite:intersect}@media (max-width:640px){#ink{--fade-y:linear-gradient(to bottom, #000 0 16%, #0000009e 30%, #00000047 44%, #0000000f 56%, transparent 66%);-webkit-mask-image:var(--fade-y);-webkit-mask-image:var(--fade-y);-webkit-mask-image:var(--fade-y);-webkit-mask-image:var(--fade-y);mask-image:var(--fade-y)}}.mist{pointer-events:none;will-change:transform, opacity;background:url(/mist-a.png) 50%/100% 100% no-repeat;width:120%;height:26%;position:absolute;left:-10%}.mist.a{animation:64s linear infinite alternate drift,8s ease-in-out infinite alternate breathe;bottom:12%}.mist.b{background-image:url(/mist-b.png);animation:92s linear infinite alternate-reverse drift,8s ease-in-out infinite alternate-reverse breathe;bottom:2%}@keyframes drift{0%{transform:translate(-3%)}to{transform:translate(3%)}}@keyframes breathe{0%{opacity:.06}to{opacity:.12}}@media (prefers-reduced-motion:reduce){.mist{opacity:.09;animation:none}}.hero-copy{z-index:5;max-width:var(--prose-max);position:absolute;top:clamp(210px,36vh,470px);left:clamp(36px,9vw,150px)}.hero-copy h1{font-family:var(--font-kai);color:var(--ink);letter-spacing:.14em;font-size:clamp(48px,7.5vw,104px);font-weight:700;line-height:1.18}.hero-copy .hero-line{white-space:nowrap;display:block}.hero-cta{flex-wrap:wrap;gap:16px;margin-top:clamp(56px,12vh,140px);display:flex}.seal-btn{color:var(--ink);border:1.5px solid var(--ink-2);letter-spacing:.2em;white-space:nowrap;max-width:100%;transition:background var(--t-seal), border-color var(--t-seal), color var(--t-seal);--chip:radial-gradient(circle 3.5px at 0% 0%, transparent 96%, #000 100%), radial-gradient(circle 3px at 46% -1px, transparent 96%, #000 100%), radial-gradient(circle 4px at 100% 100%, transparent 96%, #000 100%), radial-gradient(circle 2.5px at 0% 68%, transparent 96%, #000 100%);-webkit-mask-image:var(--chip);-webkit-mask-image:var(--chip);-webkit-mask-image:var(--chip);-webkit-mask-image:var(--chip);mask-image:var(--chip);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;background:0 0;border-radius:12px;align-items:center;gap:6px;padding:9px 18px;font-size:14px;text-decoration:none;display:inline-flex;-webkit-mask-composite:source-in;mask-composite:intersect}.seal-btn.chip-a{border-color:var(--ink);letter-spacing:.24em;--chip:radial-gradient(circle 5px at 0% 0%, transparent 96%, #000 100%), radial-gradient(circle 3.5px at 34% -1px, transparent 96%, #000 100%), radial-gradient(circle 4px at 100% 22%, transparent 96%, #000 100%), radial-gradient(circle 5.5px at 100% 100%, transparent 96%, #000 100%), radial-gradient(circle 3px at 62% calc(100% + 1px), transparent 96%, #000 100%), radial-gradient(circle 2.5px at 0% 66%, transparent 96%, #000 100%);border-radius:2px 5px 3px 6px/5px 2px 6px 3px;padding:9px 20px}.seal-btn.chip-b{border-color:var(--ink);letter-spacing:.24em;--chip:radial-gradient(circle 4px at 20% 0%, transparent 96%, #000 100%), radial-gradient(circle 5px at 100% 0%, transparent 96%, #000 100%), radial-gradient(circle 2.5px at 100% 74%, transparent 96%, #000 100%), radial-gradient(circle 4.5px at 0% 100%, transparent 96%, #000 100%), radial-gradient(circle 3px at 55% calc(100% + 1px), transparent 96%, #000 100%), radial-gradient(circle 2px at 0% 30%, transparent 96%, #000 100%);border-radius:2px 5px 3px 6px/5px 2px 6px 3px;padding:9px 20px}.seal-btn:hover{border-color:var(--ink);background:#ede5d6}.seal-btn:active{background:#e5dcc9}.seal-btn:focus-visible{outline:2px solid var(--seal);outline-offset:3px;border-radius:12px}.seal-btn.head-act{align-self:center;margin-left:auto}.foot-cta{--chip:radial-gradient(circle 4px at 0% 0%, transparent 96%, #000 100%), radial-gradient(circle 3px at 58% -1px, transparent 96%, #000 100%), radial-gradient(circle 4.5px at 100% 100%, transparent 96%, #000 100%), radial-gradient(circle 2.5px at 0% 72%, transparent 96%, #000 100%);margin-top:22px;padding:11px 24px;font-size:15px}.heading{flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:5vh;display:flex}.heading h2{font-family:var(--font-kai);letter-spacing:.14em;font-size:clamp(26px,3.4vw,44px)}.heading small{color:var(--ink-3);letter-spacing:.3em;font-size:12px}.sec-intro{color:var(--ink-3);letter-spacing:.15em;margin:-3vh 0 4vh;font-size:13px}.portfolio{grid-template-columns:1fr;gap:clamp(14px,2vw,28px);display:grid}@media (min-width:1024px){.portfolio{grid-template-columns:repeat(2,1fr)}}.portfolio.is-masonry{grid-auto-rows:8px;align-items:start}.card{background:var(--card);color:inherit;transition:transform var(--t) var(--ease);text-decoration:none;display:block}.card:hover{transform:translateY(-4px)}.portfolio-list .card{animation:rise-in .56s var(--ease) backwards;animation-delay:calc(var(--i,0) * 50ms)}@media (prefers-reduced-motion:reduce){.portfolio-list .card{animation:none}}.cover{aspect-ratio:16/9;background:var(--cover);color:var(--ink-3);letter-spacing:.2em;border-bottom:1px solid #14161a14;justify-content:center;align-items:center;font-size:13px;display:flex;overflow:hidden}.cover img,.cover video{object-fit:cover;width:100%;height:100%;display:block}.portfolio-detail>.cover{margin-bottom:2.2rem}.card h3{font-family:var(--font-song);letter-spacing:.12em;margin:14px 16px 2px;font-size:clamp(17px,1.7vw,22px)}.card p{color:var(--ink-3);margin:0 16px 16px;font-size:13px;line-height:1.7}.portfolio .card:nth-child(2n) .cover{aspect-ratio:4/3}.portfolio-page{gap:clamp(20px,2.6vw,44px)}.fade-carousel{--fc-fade:.5s;aspect-ratio:16/9;background:var(--cover);position:relative;overflow:hidden}.fc-stage{width:100%;height:100%;position:relative}.fc-slide{opacity:0;pointer-events:none;transition:opacity var(--fc-fade) var(--ease);text-decoration:none;position:absolute;inset:0}.fc-slide.on{opacity:1;pointer-events:auto}.fc-img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.fade-carousel.has-photo .fc-arrow{color:var(--paper);text-shadow:0 1px 6px #14161a8c}.fade-carousel.has-photo .fc-arrow:hover{color:var(--paper)}.fade-carousel.has-photo .fc-dot{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.fade-carousel.has-photo .fc-dot{background:color-mix(in srgb, var(--paper) 72%, transparent)}}.fade-carousel.has-photo .fc-dot{opacity:1}.fade-carousel.has-photo .fc-dot.on{background:var(--paper)}.fc-arrow{z-index:2;cursor:pointer;font-family:var(--font-song);color:var(--ink-4);transition:color var(--t) var(--ease);background:0 0;border:0;padding:8px 14px;font-size:34px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.fc-arrow.prev{left:8px}.fc-arrow.next{right:8px}.fc-arrow:hover{color:var(--ink-2)}.fc-arrow:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:2px}.fc-dots{z-index:2;justify-content:center;gap:10px;display:flex;position:absolute;bottom:18px;left:0;right:0}.fc-dot{background:var(--ink-4);cursor:pointer;opacity:.6;width:8px;height:8px;transition:background var(--t) var(--ease), opacity var(--t) var(--ease);border:0;border-radius:50%;padding:0}.fc-dot.on{background:var(--ink-2);opacity:1}.fc-dot:focus-visible{outline:2px solid var(--seal);outline-offset:3px}.portfolio-carousel{margin:0 0 clamp(48px,9vh,110px)}@media (max-width:640px){.fc-arrow{font-size:26px}}[data-tier=mastered]{color:var(--paper);background:#14161ad1}[data-tier=skilled]{color:var(--paper);background:#14161a8c}[data-tier=basic]{color:var(--ink-2);background:#14161a38}[data-tier=drybrush]{border:1px dashed var(--ink-3);color:var(--ink-3)}#footer{padding:calc(var(--nav-h) + 8vh) 6vw 8vh;align-items:center;display:flex}.foot{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);flex-direction:column;margin-inline:auto;display:flex}.foot-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(18px,3vw,44px);margin-bottom:clamp(20px,3.2vh,36px);display:flex}.foot-head h2{letter-spacing:.1em;font-size:clamp(30px,4.6vw,58px);line-height:1.22}.foot-head small{color:var(--ink-3);letter-spacing:.3em;margin:0 0 12px;font-size:13px;font-weight:400;display:block}.head-acts{flex-wrap:wrap;align-self:center;align-items:center;gap:12px;margin-left:auto;display:flex}.head-acts .foot-cta{margin-top:0}.foot-head .head-acts{margin-top:22px}.foot-cols{grid-template-columns:1.5fr repeat(var(--foot-rest,2), 1fr) 1.25fr;gap:clamp(26px,3.6vh,38px) clamp(18px,2.2vw,36px);display:grid}.fcol h3{font-family:var(--font-kai);letter-spacing:.24em;color:var(--ink-2);border-bottom:1px solid var(--ink-4);margin:0 0 16px;padding-bottom:9px;font-size:17px;font-weight:700}.fcol ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.fcol a,.fcol .soon{color:var(--ink-2);letter-spacing:.08em;transition:color var(--t-seal), transform var(--t-seal);font-size:15.5px;text-decoration:none}.fcol a:hover{color:var(--ink);transform:translate(2px)}.fcol a:focus-visible{outline:2px solid var(--seal);outline-offset:3px;border-radius:2px}.fcol .soon{color:var(--ink-3)}.foot-brand{align-items:center;gap:14px;line-height:0;display:inline-flex}.big-seal{cursor:pointer;flex:none;width:96px;height:96px;transform:rotate(-4deg)}.big-seal:active{transform:rotate(-4deg)scale(.94)}.foot-bio{color:var(--ink-2);letter-spacing:.04em;max-width:var(--prose-max);margin:18px 0 0;font-size:15.5px;line-height:1.6}.foot-bar{border-top:1px solid var(--ink-4);color:var(--ink-3);letter-spacing:.14em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-top:clamp(36px,6.4vh,76px);padding:clamp(18px,3vh,28px) 0 0;font-size:12px;display:flex}@media (max-width:1023px){.foot-cols{grid-template-columns:repeat(2,1fr);row-gap:clamp(28px,4vh,42px)}}@media (max-width:640px){.foot-cols{grid-template-columns:1fr;row-gap:30px}.foot-head{flex-direction:column;align-items:flex-start}.foot-cta{align-self:flex-start;margin-top:0}.foot-brand{justify-content:center}.foot-bar{flex-direction:column;gap:6px}.heading{gap:10px}.head-act,.head-acts .seal-btn{letter-spacing:.16em;padding:7px 14px;font-size:13px}.foot-head .head-acts{margin-top:0}.topbar{gap:clamp(12px,3vw,24px)}.hero-copy{left:6vw;right:6vw}}.scroll-prog{top:var(--nav-h);background:var(--ink-2);transform-origin:0;z-index:30;height:2px;display:none;position:fixed;left:0;right:0;transform:scaleX(0)}@media (max-width:640px){.scroll-prog{animation:linear both prog;animation-timeline:scroll();display:block}}@keyframes prog{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@supports not (animation-timeline:scroll()){.scroll-prog{display:none}}.page-pad{padding-top:calc(var(--nav-h) + 8vh);padding-bottom:8vh}.prose{max-width:var(--prose-max);line-height:2}.prose p{margin:0 0 16px}.prose ul,.prose ol{margin:0 0 16px;padding-left:1.6em}.prose ul{list-style:circle}.prose ol{list-style:decimal}.prose li{margin:4px 0}.prose li::marker{color:var(--ink-3)}.prose>:last-child{margin-bottom:0}.prose img{border-radius:var(--card-radius);max-width:100%;margin:1.5em auto;display:block}.prose h2{letter-spacing:.04em;margin:2.2em 0 .9em;font-size:22px;line-height:1.4}.prose h3{letter-spacing:.04em;margin:2em 0 .8em;font-size:19px;line-height:1.45}.prose p,.prose li{color:var(--ink-2)}.prose table{border-collapse:collapse}.prose th,.prose td{border:1px solid var(--ink-4);padding:6px 12px;font-size:14px}.ph{color:var(--ink-3);border:1px dashed var(--ink-3);letter-spacing:.05em;border-radius:4px;padding:0 6px;font-size:.86em}.portfolio-detail .meta-bar{color:var(--ink-2);flex-wrap:wrap;gap:8px 26px;padding:0;font-size:14px;list-style:none;display:flex}.portfolio-detail h1{letter-spacing:.08em;margin-bottom:.45em;font-size:clamp(28px,4vw,44px);line-height:1.35}.portfolio-detail .case-lead{color:var(--ink-2);margin-block:0 1.5em;font-size:17px;line-height:1.9}.embeds{max-width:var(--prose-max);margin-top:34px}.embeds h2{margin:0 0 .8em;font-size:22px}.embeds ul{gap:16px;margin:0;padding:0;list-style:none;display:grid}.embeds iframe{aspect-ratio:16/9;background:var(--cover);border:0;width:100%;display:block}.ext-links{margin-block:1.8em 0;padding-left:1.2em;line-height:2;list-style:circle}.ext-links li::marker{color:var(--ink-3)}.heat{scroll-snap-align:none;--heat-cell:16px;--heat-gap:4px;--heat-cols:53;--heat-label-w:18px;--heat-label-gap:6px;--heat-radius:4px;--heat-grid-w:calc(var(--heat-cols) * var(--heat-cell) + (var(--heat-cols) - 1) * var(--heat-gap));--heat-total-w:calc(var(--heat-label-w) + var(--heat-label-gap) + var(--heat-grid-w));min-height:auto;margin:0 auto clamp(56px,7vh,80px);padding:0}.heat[data-cols="54"]{--heat-cols:54}.heat-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px clamp(14px,2.4vw,28px);margin-bottom:clamp(24px,3.2vh,34px);display:flex}.heat-title{font-family:var(--font-kai);letter-spacing:.08em;color:var(--ink);margin:0;font-size:clamp(19px,2.2vw,25px);font-weight:400}.heat-years{flex-wrap:wrap;gap:6px;display:flex}.heat-year{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink);cursor:pointer;transition:color var(--t) var(--ease), background-color var(--t) var(--ease), border-color var(--t) var(--ease);background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 9px;font-size:13px;line-height:1.6}.heat-year:hover{background:var(--card);border-color:var(--ink-4)}@supports (color:color-mix(in lab, red, red)){.heat-year:hover{border-color:color-mix(in srgb, var(--ink-4) 70%, transparent)}}.heat-year.on{color:var(--paper);background:var(--ink);border-color:var(--ink)}.heat-year:focus-visible{outline:2px solid var(--seal);outline-offset:2px}.heat-body{padding-top:6px;position:relative}.heat-scroll{scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent;padding-bottom:4px;overflow:auto hidden}@supports (color:color-mix(in lab, red, red)){.heat-scroll{scrollbar-color:color-mix(in srgb, var(--ink-4) 75%, transparent) transparent}}.heat-inner{width:max-content;margin-inline:auto;padding-right:4px}.heat-months{grid-auto-flow:column;grid-auto-columns:var(--heat-cell);column-gap:var(--heat-gap);margin-left:calc(var(--heat-label-w) + var(--heat-label-gap));height:20px;margin-bottom:6px;display:grid}.heat-month{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);white-space:nowrap;font-size:14px;line-height:20px}.heat-main{gap:var(--heat-label-gap);display:flex}.heat-weekdays{width:var(--heat-label-w);grid-template-rows:repeat(7, var(--heat-cell));row-gap:var(--heat-gap);flex:none;display:grid}.heat-weekday{font-family:var(--font-mono);font-size:14px;line-height:calc(var(--heat-cell) + var(--heat-gap));color:var(--ink);text-align:right}.heat-grid{grid-auto-flow:column;grid-template-rows:repeat(7, var(--heat-cell));grid-auto-columns:var(--heat-cell);gap:var(--heat-gap);display:grid}.heat-cell{width:var(--heat-cell);height:var(--heat-cell);border-radius:var(--heat-radius);background:var(--heat-0);box-shadow:inset 0 0 0 1px var(--ink-4)}@supports (color:color-mix(in lab, red, red)){.heat-cell{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink-4) 45%, transparent)}}.heat-cell[data-level="1"]{background:var(--heat-1);box-shadow:none}.heat-cell[data-level="2"]{background:var(--heat-2);box-shadow:none}.heat-cell[data-level="3"]{background:var(--heat-3);box-shadow:none}.heat-cell[data-level="4"]{background:var(--heat-4);box-shadow:none}.heat-cell[data-state=future]{opacity:.45}.heat-cell[data-state=out]{box-shadow:none;background:0 0}.heat-tip{z-index:3;background:var(--ink);color:var(--paper);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;pointer-events:none;border-radius:3px;padding:4px 10px;font-size:13px;line-height:1.6;position:absolute;top:0;left:0;transform:translate(-50%,calc(-100% - 6px))}.heat-foot{padding-right:max(0px, calc((100% - var(--heat-total-w)) / 2));justify-content:flex-end;margin-top:clamp(12px,1.8vh,18px);display:flex}.heat-legend{color:var(--ink);letter-spacing:.12em;align-items:center;gap:4px;font-size:14px;display:flex}.heat-legend-cap{padding:0 4px}.heat-legend-cell{display:block}@media (max-width:640px){.heat-legend{letter-spacing:.06em}}.archive{--arc-w:100%;--arc-gap:clamp(14px, 1.5vw, 20px);--arc-pad:clamp(12px, 1.3vw, 16px);max-width:var(--arc-w);margin-inline:auto}.arc-grid{gap:var(--arc-gap);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.arc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.arc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.arc-grid>li{display:flex}.arc-card{background:var(--card);border:1px solid var(--ink-4);flex-direction:column;flex:1;display:flex}@supports (color:color-mix(in lab, red, red)){.arc-card{border:1px solid color-mix(in srgb, var(--ink-4) 55%, transparent)}}.arc-card{border-radius:var(--card-radius);color:inherit;transition:transform var(--t) var(--ease), border-color var(--t) var(--ease);text-decoration:none;overflow:hidden}.arc-card:hover{border-color:var(--ink-3);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.arc-card:hover{border-color:color-mix(in srgb, var(--ink-3) 70%, transparent)}}.arc-card:focus-visible{outline:2px solid var(--seal);outline-offset:2px}.blog-list .arc-card{animation:rise-in .56s var(--ease) backwards;animation-delay:calc(var(--i,0) * 50ms)}@media (prefers-reduced-motion:reduce){.blog-list .arc-card{animation:none}}.cover-ph{background-color:var(--ink-3);justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.cover-ph{background-color:color-mix(in srgb, var(--ink-3) var(--cover-mix), transparent)}}.cover-ph{background-image:url(/noise.webp);background-repeat:repeat}.cover-seal{opacity:1;width:clamp(56px,28%,128px);height:clamp(56px,28%,128px);transform:rotate(-4deg)}.cover-ph[data-tone="0"]{background-color:#41586b}@supports (color:color-mix(in lab, red, red)){.cover-ph[data-tone="0"]{background-color:color-mix(in srgb, #41586b var(--cover-mix), transparent)}}.cover-ph[data-tone="1"]{background-color:#6f7f5c}@supports (color:color-mix(in lab, red, red)){.cover-ph[data-tone="1"]{background-color:color-mix(in srgb, #6f7f5c var(--cover-mix), transparent)}}.cover-ph[data-tone="2"]{background-color:#9a6f4e}@supports (color:color-mix(in lab, red, red)){.cover-ph[data-tone="2"]{background-color:color-mix(in srgb, #9a6f4e var(--cover-mix), transparent)}}.cover-ph[data-tone="3"]{background-color:var(--ink-2)}@supports (color:color-mix(in lab, red, red)){.cover-ph[data-tone="3"]{background-color:color-mix(in srgb, var(--ink-2) var(--cover-mix), transparent)}}.cover-ph[data-tone="4"]{background-color:#5f7d78}@supports (color:color-mix(in lab, red, red)){.cover-ph[data-tone="4"]{background-color:color-mix(in srgb, #5f7d78 var(--cover-mix), transparent)}}.arc-cover{aspect-ratio:16/9;flex:none}.arc-cover-img{background-color:var(--cover)}.arc-cover-img img{object-fit:cover;width:100%;height:100%;display:block}.arc-body{min-width:0;padding:var(--arc-pad);flex-direction:column;flex:1;gap:8px;display:flex}.arc-title{font-family:var(--font-song);letter-spacing:.05em;color:var(--ink);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:clamp(15px,1.5vw,19px);font-weight:700;line-height:1.5;display:-webkit-box;overflow:hidden}.arc-tags{flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none;display:flex}.arc-tags li{letter-spacing:.1em;color:var(--ink-2);background:var(--ink-4);font-size:12px}@supports (color:color-mix(in lab, red, red)){.arc-tags li{background:color-mix(in srgb, var(--ink-4) 45%, var(--paper))}}.arc-tags li{border:1px solid var(--ink-4)}@supports (color:color-mix(in lab, red, red)){.arc-tags li{border:1px solid color-mix(in srgb, var(--ink-4) 70%, transparent)}}.arc-tags li{border-radius:2px;padding:1px 9px}.arc-date{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink-3);margin-top:auto;font-size:12px}.blog-detail h1{letter-spacing:.06em;margin-bottom:.5em;font-size:clamp(26px,3.6vw,42px);line-height:1.35}.bd-meta{color:var(--ink-3);letter-spacing:.12em;flex-wrap:wrap;gap:8px 32px;margin:0 0 2.4em;padding:0;font-size:13px;list-style:none;display:flex}.notfound{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:34px;min-height:100svh;display:flex}.notfound h1{letter-spacing:.2em;font-size:clamp(24px,4vw,40px)}.bd-hero{margin:0 0 2.2em}.bd-hero img{aspect-ratio:21/9;object-fit:cover;border-radius:var(--card-radius);width:100%;display:block}.bd-layout{grid-template-columns:minmax(0,1fr);display:grid}.bd-main{min-width:0}.bd-main .prose{max-width:none;margin-top:1.3em}@media (min-width:1024px){.bd-layout[data-aside=true]{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:48px}}.bd-rule{background:var(--ink-3);border:0;height:2px}@supports (color:color-mix(in lab, red, red)){.bd-rule{background:color-mix(in srgb, var(--ink-3) 45%, transparent)}}.bd-rule{margin:1.5em 0 1.3em}.post-toc{border-left:2px solid var(--post-accent,var(--seal));background:var(--card);margin:0 0 2.4em;padding:16px 20px}@supports (color:color-mix(in lab, red, red)){.post-toc{background:color-mix(in srgb, var(--card) 72%, transparent)}}.post-toc{border-radius:0 var(--card-radius) var(--card-radius) 0}.post-toc[data-variant=aside]{margin:1.8em 0 0;padding:12px 14px}.post-toc-list{counter-reset:toc;margin:0;padding:0;list-style:none}.post-toc-list ol{counter-reset:toc;margin:0;padding:0 0 0 1.1em;list-style:none}.post-toc-item{counter-increment:toc}.post-toc-item>a{text-indent:-2em;color:var(--ink-2);letter-spacing:.04em;transition:color var(--t) var(--ease);padding:5px 0 5px 2em;font-size:13px;line-height:1.6;text-decoration:none;display:block;position:relative}.post-toc-item+.post-toc-item{margin-top:3px}.post-toc-item>a:hover{color:var(--post-accent,var(--seal))}.post-toc[data-number=true] .post-toc-item>a:before{content:counters(toc, ".") ". ";color:var(--ink-3)}.post-toc[data-simple=true] .post-toc-list{padding-left:0}.post-toc-item>a:after{content:"";background:var(--post-accent,var(--seal));opacity:0;width:6px;height:6px;transition:opacity var(--t) var(--ease);border-radius:50%;position:absolute;top:12px;left:-12px}.post-toc-item>a[aria-current],.post-toc[data-number=true] .post-toc-item>a[aria-current]:before{color:var(--post-accent,var(--seal))}.post-toc-item>a[aria-current]:after{opacity:1}[data-toc-number=true] .prose{counter-reset:prose-h2}[data-toc-number=true] .prose h2{counter-increment:prose-h2;counter-reset:prose-h3}[data-toc-number=true] .prose h2:before{content:counter(prose-h2) ". ";color:var(--ink-3)}[data-toc-number=true] .prose h3{counter-increment:prose-h3}[data-toc-number=true] .prose h3:before{content:counter(prose-h2) "." counter(prose-h3) " ";color:var(--ink-3)}.prose :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:calc(var(--nav-h) + 16px)}.blog-detail .prose a,.post-copyright a{color:var(--post-accent,var(--seal))}.prose blockquote{border-left:2px solid var(--post-accent,var(--seal));color:var(--ink-3);margin:1.2em 0;padding:0 1.1em}.prose pre{background:var(--ink);margin:1.5em 0}@supports (color:color-mix(in lab, red, red)){.prose pre{background:color-mix(in srgb, var(--ink) 92%, transparent)}}.prose pre{color:var(--paper);border-radius:var(--card-radius);font-family:var(--font-mono);padding:14px 16px;font-size:13px;line-height:1.7;overflow:auto}.prose code{font-family:var(--font-mono);font-size:.92em}.prose :not(pre)>code{background:var(--ink-4)}@supports (color:color-mix(in lab, red, red)){.prose :not(pre)>code{background:color-mix(in srgb, var(--ink-4) 45%, var(--paper))}}.prose :not(pre)>code{border-radius:3px;padding:1px 5px}.prose>.cs-wrap{margin:1.5em 0}.prose>.cs-wrap>pre{margin:0}.cs-wrap{position:relative}.prose[data-shrink=true] .cs-wrap:not(.cs-open) pre{max-height:20rem;overflow:hidden}.cs-btn{font:inherit;letter-spacing:.08em;color:var(--paper);background:var(--ink);font-size:12px;position:absolute;bottom:10px;right:10px}@supports (color:color-mix(in lab, red, red)){.cs-btn{background:color-mix(in srgb, var(--ink) 70%, transparent)}}.cs-btn{border:1px solid var(--paper)}@supports (color:color-mix(in lab, red, red)){.cs-btn{border:1px solid color-mix(in srgb, var(--paper) 40%, transparent)}}.cs-btn{cursor:pointer;border-radius:999px;padding:3px 12px}.cs-btn:hover{background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.cs-btn:hover{background:color-mix(in srgb, var(--ink) 88%, transparent)}}.post-aside{font-size:13px}.pa-author{font-family:var(--font-song);letter-spacing:.08em;color:var(--ink);margin:0 0 14px;font-size:16px}.pa-rows{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pa-rows li{color:var(--ink-2);gap:10px;display:flex}.pa-rows b{color:var(--ink-3);letter-spacing:.1em;flex:none;font-weight:400}.pa-tags{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.pa-tags li{color:var(--ink-2);background:var(--ink-4);font-size:12px}@supports (color:color-mix(in lab, red, red)){.pa-tags li{background:color-mix(in srgb, var(--ink-4) 45%, var(--paper))}}.pa-tags li{border:1px solid var(--ink-4)}@supports (color:color-mix(in lab, red, red)){.pa-tags li{border:1px solid color-mix(in srgb, var(--ink-4) 70%, transparent)}}.pa-tags li{border-radius:2px;padding:1px 9px}@media (min-width:1024px){.post-aside{top:calc(var(--nav-h) + 24px);max-height:calc(100svh - var(--nav-h) - 48px);flex-direction:column;display:flex;position:sticky}.post-aside-inner{flex-direction:column;min-height:0;display:flex}.post-aside-inner>:not(.post-toc){flex:none}.post-aside-inner>.post-toc{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ink-4) transparent;flex:0 auto;min-height:0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.post-aside-inner>.post-toc{scrollbar-color:color-mix(in srgb, var(--ink-4) 75%, transparent) transparent}}}.post-copyright,.post-comments{scroll-snap-align:none;min-height:auto}.post-comments{padding:0}.post-copyright{border:1px solid var(--ink-4);margin-top:3.4em;padding:18px 20px}@supports (color:color-mix(in lab, red, red)){.post-copyright{border:1px solid color-mix(in srgb, var(--ink-4) 60%, transparent)}}.post-copyright{border-radius:var(--card-radius);background:var(--card)}@supports (color:color-mix(in lab, red, red)){.post-copyright{background:color-mix(in srgb, var(--card) 60%, transparent)}}.post-copyright h2{letter-spacing:.18em;color:var(--ink-3);margin:0 0 12px;font-size:14px}.pc-rows{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.pc-rows li{flex-wrap:wrap;gap:10px;display:flex}.pc-rows b{color:var(--ink-3);letter-spacing:.1em;flex:none;font-weight:400}.pc-rows a{word-break:break-all}.pc-info{color:var(--ink-2);margin:12px 0 0;font-size:13px}.pc-info b{color:var(--ink-3);letter-spacing:.1em;margin-right:8px;font-weight:400}.post-comments{margin-top:2.6em}.bento-grid{scroll-snap-align:none;min-height:auto;padding:0}.bento-hero{text-align:center;animation:rise-in .56s var(--ease) both;flex-direction:column;align-items:center;gap:18px;padding-block:clamp(6px,2vh,24px) clamp(10px,2.4vh,26px);display:flex}.bento-hero-top{justify-content:center;align-items:center;gap:clamp(14px,3vw,40px);width:100%;display:flex}.about-preview .bento-hero{padding-block-start:0}.bento-tags{flex-wrap:wrap;flex:1 1 0;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bento-tags-left{justify-content:flex-end}.bento-tags-right{justify-content:flex-start}.bento-tag{color:var(--ink-2);letter-spacing:.08em;white-space:nowrap;transition:background-color var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease);background:#14161a0f;border:1px solid #14161a0d;border-radius:999px;padding:4px 13px;font-size:12.5px}.bento-tag:hover{background:var(--seal);border-color:var(--seal);color:var(--paper)}.bento-seal-slot{transform-origin:50%;transition:transform var(--t-seal);flex:none;line-height:0}.bento-seal-slot:hover{transform:scale(1.02)}.about-seal{flex:none;width:118px;height:118px}.bento-hero-title{font-family:var(--font-kai);letter-spacing:.2em;text-indent:.2em;margin:0;font-size:clamp(26px,4vw,46px);line-height:1.2}.bento-card{transition:border-color var(--t) var(--ease), background-color var(--t) var(--ease), box-shadow var(--t) var(--ease);animation:rise-in .56s var(--ease) both;background:#ffffff80;border:1px solid #14161a17;border-radius:4px;flex-direction:column;padding:clamp(18px,2.2vw,26px);display:flex;position:relative;box-shadow:0 1px 2px #14161a08,0 10px 26px -16px #14161a24}.bento-card:nth-child(2){animation-delay:.1s}.bento-card:nth-child(3){animation-delay:.2s}.bento-card:nth-child(4){animation-delay:.3s}.bento-card:nth-child(5){animation-delay:.4s}.bento-card:nth-child(6){animation-delay:.5s}.bento-card:nth-child(7){animation-delay:.6s}.bento-card:hover{border-color:var(--seal)}@supports (color:color-mix(in lab, red, red)){.bento-card:hover{border-color:color-mix(in srgb, var(--seal) 40%, transparent)}}.bento-card:hover{background:#ffffffa8;box-shadow:0 4px 20px #14161a0a}.bento-label{color:var(--ink-3);letter-spacing:.18em;margin-bottom:10px;font-size:11.5px;display:block}.bento-card-title{font-family:var(--font-kai);letter-spacing:.14em;margin:0 0 clamp(14px,1.8vw,20px);font-size:clamp(20px,2.2vw,28px)}.bento-intro-card{background:var(--ink);min-height:clamp(178px,21vh,228px);color:var(--paper);border-color:#0000;justify-content:center}.bento-intro-card .bento-label{color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.bento-intro-card .bento-label{color:color-mix(in srgb, var(--paper) 62%, transparent)}}.bento-intro-card:hover{background:var(--ink);border-color:var(--seal)}@supports (color:color-mix(in lab, red, red)){.bento-intro-card:hover{border-color:color-mix(in srgb, var(--seal) 55%, transparent)}}.bento-intro-card:hover{box-shadow:0 4px 20px #14161a2e}.bento-intro-name{font-family:var(--font-kai);letter-spacing:.06em;margin:0;font-size:clamp(26px,3.4vw,44px);line-height:1.25}.bento-intro-name b{font-weight:inherit}.bento-intro-sub{color:var(--paper);margin:12px 0 0}@supports (color:color-mix(in lab, red, red)){.bento-intro-sub{color:color-mix(in srgb, var(--paper) 78%, transparent)}}.bento-intro-sub{letter-spacing:.04em;font-size:14px;line-height:1.75}.bento-pursuit{background:var(--card);justify-content:center}.bento-pursuit-title{font-family:var(--font-kai);letter-spacing:.08em;margin:0;font-size:clamp(23px,2.7vw,34px);line-height:1.35}.bento-pursuit-title em{color:var(--seal);margin-top:4px;font-style:normal;display:block}.bento-skill-groups{flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(14px,1.8vw,22px);margin:0;padding:0;list-style:none;display:grid}.bento-skill-group{border-left:2px solid var(--ink);padding-left:12px}@supports (color:color-mix(in lab, red, red)){.bento-skill-group{border-left:2px solid color-mix(in srgb, var(--ink) 16%, transparent)}}.bento-skill-name{font-family:var(--font-kai);letter-spacing:.1em;align-items:center;gap:8px;margin:0 0 5px;font-size:15.5px;display:flex}.bento-skill-icon{border-radius:3px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.bento-skill-desc{color:var(--ink-3);letter-spacing:.05em;margin:0 0 9px;font-size:11.5px;line-height:1.7}.bento-pills{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.bento-pill{color:var(--ink-2);letter-spacing:.05em;transition:all var(--t) var(--ease);background:#14161a0d;border:1px solid #14161a0f;border-radius:999px;padding:4px 12px;font-size:12px}.bento-pill:hover{background:var(--seal);border-color:var(--seal);color:var(--paper)}.bento-timeline{--tl-gap:20px;row-gap:var(--tl-gap);flex:auto;grid-auto-rows:1fr;margin:4px 0 0;padding:0 0 0 26px;list-style:none;display:grid;position:relative}.bento-node{position:relative}.bento-node:only-child{align-self:center}.bento-node:after{content:"";width:1px;height:calc(100% + var(--tl-gap) - 11px);background:var(--ink-4);position:absolute;top:17px;left:-21px}@supports (color:color-mix(in lab, red, red)){.bento-node:after{background:color-mix(in srgb, var(--ink-4) 80%, transparent)}}.bento-node:last-child:after{content:none}.bento-node-dot{background:var(--seal);border-radius:50%;width:11px;height:11px;animation:2.8s ease-in-out infinite bento-breath;position:absolute;top:6px;left:-26px}@keyframes bento-breath{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--seal) 36%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--seal) 0%, transparent)}}.bento-node-period{color:var(--ink);font-family:var(--font-mono);letter-spacing:.12em;font-size:12px;display:block}.bento-node-text{color:var(--ink-2);margin-top:3px;font-size:13.5px;line-height:1.7;display:block}.bento-game-grid{flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(10px,1.4vw,16px);margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.bento-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.bento-game{border:1px solid var(--ink-4);flex-direction:column;justify-content:center;gap:3px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.bento-game{border:1px solid color-mix(in srgb, var(--ink-4) 60%, transparent)}}.bento-game{background:var(--paper);border-radius:3px}@supports (color:color-mix(in lab, red, red)){.bento-game{background:color-mix(in srgb, var(--paper) 55%, transparent)}}.bento-game-hours{color:var(--ink);font-family:var(--font-kai);font-variant-numeric:tabular-nums;font-size:clamp(23px,2.5vw,31px);line-height:1.05}.bento-game-hours i{color:var(--ink-3);font-family:var(--font-mono);margin-left:2px;font-size:11px;font-style:normal}.bento-game-name{color:var(--ink);letter-spacing:.06em;font-size:13.5px}.bento-game-insight{min-height:1.6em;color:var(--ink-3);letter-spacing:.04em;font-size:11px;line-height:1.6}.bento-city-slot{flex:auto;justify-content:center;align-items:flex-end;min-height:0;margin:2px 0 14px;display:flex}.bento-city{fill:none;width:100%;height:auto;max-height:100%;stroke:var(--ink);display:block}@supports (color:color-mix(in lab, red, red)){.bento-city{stroke:color-mix(in srgb, var(--ink) 52%, transparent)}}.bento-city{stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.bento-city-mist{stroke:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bento-city-mist{stroke:color-mix(in srgb, var(--ink) 26%, transparent)}}.bento-city-mist{stroke-width:1.1px}.bento-place-meta{margin:0}.bento-place-note{color:var(--ink-2);align-items:flex-start;gap:6px;margin:0;font-size:13px;line-height:1.75;display:flex}.bento-place-note svg{color:var(--seal);flex:none;margin-top:3px}.bento-place-avail{color:var(--ink-3);margin:4px 0 0;padding-left:19px;font-size:12px;line-height:1.7}.bento-place-coord{color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.14em;margin:6px 0 0;font-size:11px}@media (max-width:639px){.bento-hero-top{flex-direction:column;gap:16px}.bento-tags-left,.bento-tags-right{justify-content:center}.about-seal{width:92px;height:92px}.bento-skill-groups{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.bento-hero,.bento-card,.bento-node-dot{animation:none}.bento-seal-slot:hover{transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
