@layer tokens,reset,base,layout,components,utilities,overrides;@layer tokens{:root{color-scheme:light dark;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--space-10:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-soft:0 1px 0 rgba(0, 0, 0, 0.03) inset,
      0 8px 24px rgba(0, 0, 0, 0.08);--shadow-soft-dark:0 1px 0 rgba(255, 255, 255, 0.03) inset,
      0 8px 20px rgba(0, 0, 0, 0.35);--dur-1:0.12s;--dur-2:0.18s;--dur-3:0.24s;--ease:ease;--fs-xs:clamp(12px, 0.78rem + 0.1vw, 13px);--fs-sm:clamp(13px, 0.85rem + 0.2vw, 14px);--fs-md:clamp(15px, 0.95rem + 0.2vw, 16px);--fs-lg:clamp(18px, 1.05rem + 0.5vw, 20px);--fs-xl:clamp(22px, 1.2rem + 0.8vw, 26px);--fs-xxl:clamp(28px, 1.6rem + 1vw, 34px);--lh-tight:1.25;--lh-base:1.6;--lh-loose:1.9;--ansi-fg:oklch(86% 0.045 160);--ansi-bg:oklch(16% 0.02 200);--ansi-black:oklch(20% 0 0);--ansi-red:oklch(65% 0.17 30);--ansi-green:oklch(85% 0.14 160);--ansi-yellow:oklch(80% 0.16 95);--ansi-blue:oklch(70% 0.12 250);--ansi-magenta:oklch(70% 0.14 330);--ansi-cyan:oklch(82% 0.1 210);--ansi-white:oklch(95% 0.01 0);--accent:var(--ansi-green);--accent-dim:oklch(65% 0.09 160);--content-w:74ch;--narrow-w:60ch}:root[data-theme=light]{--bg:oklch(98% 0 0);--surface:oklch(100% 0 0);--text:oklch(18% 0.02 240);--muted:oklch(48% 0.02 240);--border:oklch(92% 0 0);--link:oklch(52% 0.1 150);--link-vis:oklch(45% 0.1 150);--shadow:var(--shadow-soft)}:root[data-theme=dark]{--bg:var(--ansi-bg);--surface:oklch(22% 0.02 200);--text:var(--ansi-fg);--muted:oklch(70% 0.03 160);--border:oklch(30% 0.02 200);--link:var(--accent);--link-vis:oklch(70% 0.1 160);--shadow:var(--shadow-soft-dark)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:var(--ansi-bg);--surface:oklch(22% 0.02 200);--text:var(--ansi-fg);--muted:oklch(70% 0.03 160);--border:oklch(30% 0.02 200);--link:var(--accent);--link-vis:oklch(70% 0.1 160);--shadow:var(--shadow-soft-dark)}}}@layer reset{:where(*,*::before,*::after){box-sizing:border-box}:where(html,body){height:100%}:where(body){margin:0;font:var(--fs-md)/var(--lh-base)ui-sans-serif,system-ui,-apple-system,segoe ui,noto sans jp,hiragino kaku gothic pron,Meiryo,helvetica neue,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block;max-inline-size:100%}:where(button,input,select,textarea){font:inherit;color:inherit}:where(a){color:var(--link);text-decoration-color:color-mix(in oklab,var(--link) 55%,transparent)}:where(a:visited){color:var(--link-vis)}:where(a:hover){text-decoration-color:initial}:where(code,kbd,pre,samp){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,liberation mono,cica,monospace}:where(table){border-collapse:collapse;width:100%}:where(:focus-visible){outline:2px dashed var(--ansi-yellow);outline-offset:2px}}@layer base{.t-body{line-height:var(--lh-base)}p{margin-block:var(--space-4)}h1,h2,h3,h4{line-height:var(--lh-tight);margin-block:var(--space-6)var(--space-3)}h1{font-size:var(--fs-xxl);letter-spacing:.02em}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}small,.t-small{font-size:var(--fs-sm);color:var(--muted)}.t-glow{text-shadow:0 0 6px color-mix(in oklab,var(--accent) 18%,transparent)}.t-link{border-bottom:1px dotted color-mix(in oklab,var(--link) 45%,transparent);text-underline-offset:2px}.t-link:hover{border-bottom-style:solid}ul,ol{padding-inline-start:1.25rem;margin-block:var(--space-4)}li{margin-block:var(--space-2)}pre{margin:var(--space-4)0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow-x:auto}code{background:color-mix(in oklab,var(--surface) 80%,transparent);padding:0 .25em;border-radius:3px}}@layer layout{.l-container{max-inline-size:var(--content-w);margin-inline:auto;padding-inline:var(--space-4)}.l-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);container-type:inline-size}@container(width >= 720px){.l-grid--2 {
      grid-template-columns: 2fr 1fr;
    }
    .l-grid--3 {
      grid-template-columns: 2fr 1fr 1fr;
    }
  }.site-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(6px);background:color-mix(in oklab,var(--bg) 80%,transparent);border-bottom:1px solid var(--border)}.site-header__row{display:flex;align-items:center;gap:var(--space-4);min-height:56px}.site-header__brand{font-weight:700;letter-spacing:.02em}.site-header__brand a{color:var(--text);text-decoration:none}.site-header__nav{margin-inline-start:auto;display:flex;gap:var(--space-4);align-items:center}.site-header__link{text-decoration:none;color:var(--muted);padding-block:var(--space-2)}.site-header__link--current{color:var(--text);border-bottom:2px solid var(--accent)}.site-footer{margin-top:var(--space-10);border-top:1px solid var(--border);padding-block:var(--space-6);color:var(--muted)}}@layer components{.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow);transition:transform var(--dur-2)var(--ease),box-shadow var(--dur-2)var(--ease),border-color var(--dur-2)var(--ease)}.card:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--accent) 35%,var(--border));box-shadow:0 1px rgba(255,255,255,6%)inset,0 12px 26px rgba(0,0,0,.28)}.card__title{margin:0 0 var(--space-2);font-size:var(--fs-lg)}.card__meta{color:var(--muted);margin-bottom:var(--space-3);font-size:var(--fs-sm)}.btn{--btn-bg:color-mix(in oklab, var(--accent) 35%, transparent);--btn-brd:color-mix(in oklab, var(--accent) 40%, var(--border));display:inline-flex;align-items:center;gap:.6ch;padding:.55rem .95rem;background:linear-gradient(180deg,var(--btn-bg),transparent);color:oklch(20% .04 160);border:1px solid var(--btn-brd);border-radius:var(--radius-md);text-decoration:none;font-weight:700;letter-spacing:.02em;box-shadow:0 1px rgba(255,255,255,8%)inset,0 4px 10px rgba(0,0,0,.25);transition:transform var(--dur-1)var(--ease),box-shadow var(--dur-1)var(--ease),background var(--dur-1)var(--ease),border-color var(--dur-1)var(--ease);position:relative;overflow:hidden}.btn:hover{transform:translateY(-1px);box-shadow:0 2px rgba(255,255,255,8%)inset,0 10px 20px rgba(0,0,0,.3)}.btn:active{transform:translateY(0)}.btn::after{content:"";position:absolute;inset:0;background:radial-gradient( 20% 20% at var(--x,50%) var(--y,50%),color-mix(in oklab,var(--accent) 35%,transparent),transparent 60% );opacity:0;transition:opacity var(--dur-3)var(--ease)}.btn:hover::after{opacity:.6}.btn--ghost{--btn-bg:transparent;--btn-brd:var(--border);background:0 0;color:var(--text)}.btn--amber{--btn-bg:color-mix(in oklab, var(--ansi-yellow) 45%, transparent);--btn-brd:color-mix(in oklab, var(--ansi-yellow) 40%, var(--border))}.theme-toggle__icon{display:inline-block;transition:transform var(--dur-1)var(--ease),filter var(--dur-1)var(--ease);filter:drop-shadow( 0 0 6px color-mix(in oklab,var(--accent) 40%,transparent) );line-height:1}.theme-toggle:hover .theme-toggle__icon{transform:rotate(-8deg)scale(1.05)}.post{display:block}.post__title{margin:0 0 var(--space-2);font-size:var(--fs-xl)}.post__meta{color:var(--muted);font-size:var(--fs-sm);margin-bottom:var(--space-4)}.post__content{line-height:var(--lh-loose)}.post__content :is(h2,h3,h4){scroll-margin-top:80px}.post__content img{border:1px solid var(--border);border-radius:var(--radius-sm)}.post__content table{margin-block:var(--space-4)}.post__content th,.post__content td{border:1px solid var(--border);padding:.6rem .8rem}.post__nav{display:flex;justify-content:space-between;margin-top:var(--space-6);gap:var(--space-4)}.post-list{display:grid;gap:var(--space-4)}.post-list__item{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in oklab,var(--surface) 90%,transparent);transition:border-color var(--dur-2)var(--ease),transform var(--dur-2)var(--ease)}.post-list__item:hover{border-color:color-mix(in oklab,var(--accent) 25%,var(--border));transform:translateY(-1px)}.label{display:inline-flex;align-items:center;gap:.5ch;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted)}.label--accent{color:oklch(23% .05 160);border-color:color-mix(in oklab,var(--accent) 50%,var(--border));background:color-mix(in oklab,var(--accent) 18%,transparent)}.pills{display:flex;gap:.5rem;flex-wrap:wrap}.pills__item{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);text-decoration:none;transition:transform var(--dur-1)var(--ease),border-color var(--dur-1)var(--ease)}.pills__item:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent) 30%,var(--border))}.pills__item--active{color:var(--text);border-color:color-mix(in oklab,var(--accent) 40%,var(--border))}.notice{padding:var(--space-4);border:1px dashed color-mix(in oklab,var(--ansi-yellow) 50%,var(--border));background:color-mix(in oklab,var(--ansi-yellow) 15%,transparent);border-radius:var(--radius-md)}}@layer utilities{.u-max{max-inline-size:var(--content-w)}.u-narrow{max-inline-size:var(--narrow-w)}.u-center{margin-inline:auto}.u-stack>*+*{margin-top:var(--space-4)}.u-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.u-muted{color:var(--muted)}.u-vh{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.u-hr{height:1px;background:var(--border);border:0}.u-mt-0{margin-top:0 !important}.u-mt-4{margin-top:var(--space-4) !important}.u-mt-6{margin-top:var(--space-6) !important}.u-mb-0{margin-bottom:0 !important}.u-mb-4{margin-bottom:var(--space-4) !important}.u-mb-6{margin-bottom:var(--space-6) !important}.u-p-0{padding:0 !important}.u-p-4{padding:var(--space-4) !important}.u-p-5{padding:var(--space-5) !important}.u-cols{display:grid;gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr))}.u-col-span-12{grid-column:span 12}@media(width >= 720px){.u-col-span-8{grid-column:span 8}.u-col-span-4{grid-column:span 4}}@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}.u-accent-amber{--accent:var(--ansi-yellow)}}@layer overrides{.site-header__nav:has(a[aria-current=page]) a[aria-current=page]{color:var(--text);border-bottom:2px solid var(--accent)}.post-content{line-height:var(--lh-loose)}.post-title{line-height:var(--lh-tight);font-size:var(--fs-xl)}.t-serif{font-family:new york,times new roman,hiragino mincho pron,yu mincho,serif}}