:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--color-canvas:#fff;--color-surface:#fff;--color-surface-muted:#f7f7f5;--color-surface-raised:#fbfbfa;--color-text:#1f1f1f;--color-text-soft:#37352f;--color-text-muted:#6b6863;--color-text-faint:#8c8983;--color-border:#e6e4df;--color-border-strong:#cfccc4;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-soft:#eff6ff;--color-success:#15803d;--color-success-soft:#f0fdf4;--color-code-surface:#f6f8fa;--color-selection:#2563eb2e;--shadow-soft:0 10px 30px #0f172a0f;--space-page:clamp(1rem, 4vw, 1.5rem);--width-article:44rem;--width-section:52rem;--width-hero:60rem;--width-header:72rem;--radius-sm:4px;--radius-md:6px;--radius-lg:10px}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#151515;--color-surface:#191919;--color-surface-muted:#202020;--color-surface-raised:#1d1d1d;--color-text:#f1f1ef;--color-text-soft:#e8e6e3;--color-text-muted:#b7b2aa;--color-text-faint:#8d8981;--color-border:#30302e;--color-border-strong:#4a4946;--color-accent:#60a5fa;--color-accent-hover:#93c5fd;--color-accent-soft:#2563eb29;--color-success:#86efac;--color-success-soft:#1665342e;--color-code-surface:#202124;--color-selection:#60a5fa42;--shadow-soft:0 16px 40px #0000003d}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{background:var(--color-canvas);min-height:100%;color:var(--color-text);font-family:var(--font-sans);letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}html.dark body{background:var(--color-canvas)}::selection{background:var(--color-selection)}a{color:inherit;text-decoration:none}img,svg{display:block}img{max-width:100%;height:auto}button{font:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.site-shell{min-height:100vh;position:relative}.site-header{width:min(100%, var(--width-header));padding:1.75rem var(--space-page);justify-content:space-between;align-items:center;margin:0 auto;font-size:.875rem;display:flex}.site-logo{border-radius:var(--radius-sm);align-items:center;width:1.5rem;height:1.5rem;transition:opacity .16s;display:inline-flex}.site-logo:hover{opacity:.78}.site-logo img{width:1.5rem;height:1.5rem}.site-nav{align-items:center;gap:clamp(1rem,4vw,2rem);display:flex}.site-nav a,.text-link{color:var(--color-text-muted);font-weight:500;transition:color .16s,opacity .16s}.site-nav a:hover,.text-link:hover{color:var(--color-text)}.section{width:min(100%, var(--width-section));padding:clamp(3rem, 7vw, 4.5rem) var(--space-page);margin:0 auto}.section-muted{background:color-mix(in srgb, var(--color-surface-muted) 82%, transparent);border-block:1px solid color-mix(in srgb, var(--color-border) 68%, transparent)}.section-title{color:var(--color-text);letter-spacing:0;margin:0;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:650;line-height:1.18}.section-copy,.body-copy{max-width:42rem;color:var(--color-text-muted);margin:.75rem 0 0;font-size:clamp(.9375rem,2vw,1rem);line-height:1.85}.section-mark{width:8rem;height:.5rem;color:color-mix(in srgb, var(--color-text-faint) 48%, transparent);margin-top:.5rem}.hero{width:min(100%, var(--width-hero));padding:clamp(3rem, 8vw, 5rem) var(--space-page) clamp(4rem, 10vw, 7rem);text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex}.hero-avatar{border:1px solid var(--color-border);background:var(--color-surface-muted);width:clamp(9rem,20vw,12rem);height:clamp(9rem,20vw,12rem);box-shadow:var(--shadow-soft);border-radius:999px;margin-bottom:2rem;overflow:hidden}.hero-avatar img{object-fit:cover;width:100%;height:100%}.hero-greeting{color:var(--color-text-soft);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:560;display:flex}.hero-title{max-width:48rem;color:var(--color-text);letter-spacing:0;margin:0;font-size:clamp(3rem,8.5vw,5.75rem);font-weight:720;line-height:1.04}.hero-title-accent{display:inline-block;position:relative}.hero-title-accent svg{z-index:-1;width:100%;height:.22em;color:color-mix(in srgb, var(--color-accent) 28%, transparent);position:absolute;bottom:-.12em;left:0}.hero-subtext{max-width:42rem;color:var(--color-text-muted);margin:2rem 0 0;font-size:clamp(1rem,2.4vw,1.25rem);line-height:1.85}.hero-subtext strong{color:var(--color-text);font-weight:650}.info-grid{gap:1.75rem;margin-top:1.75rem;display:grid}.label-heading{color:var(--color-text-faint);margin:0;font-size:.875rem;font-weight:560}.chip-list{flex-wrap:wrap;gap:.5rem;margin:.625rem 0 0;padding:0;list-style:none;display:flex}.chip,.tag,.status-pill{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:1.5rem;color:var(--color-text-muted);align-items:center;font-size:.75rem;font-weight:520;line-height:1.2;display:inline-flex}.chip{padding:.25rem .5rem}.tag,.status-pill{padding:.18rem .45rem;font-size:.6875rem}.status-pill[data-tone=accent],.tag[data-tone=accent]{border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border));background:var(--color-accent-soft);color:var(--color-accent)}.status-pill[data-tone=success]{border-color:color-mix(in srgb, var(--color-success) 34%, var(--color-border));background:var(--color-success-soft);color:var(--color-success)}.link-list{flex-wrap:wrap;gap:1rem;margin:.625rem 0 0;padding:0;font-size:.9375rem;list-style:none;display:flex}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.surface-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-surface) 88%, transparent);transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:hidden}.surface-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.surface-card[data-tone=success]{background:color-mix(in srgb, var(--color-success-soft) 34%, var(--color-surface))}.surface-card[data-tone=accent]{background:color-mix(in srgb, var(--color-accent-soft) 46%, var(--color-surface))}.surface-card-link,.surface-card-body{padding:1rem;display:block}.item-row{align-items:flex-start;gap:.75rem;display:flex}.item-icon{-webkit-user-select:none;user-select:none;flex:none;font-size:1.35rem;line-height:1}.item-content{flex:auto;min-width:0}.item-heading{color:var(--color-text-soft);margin:0;font-size:1rem;font-weight:590;line-height:1.45}.surface-card:hover .item-heading,.note-card:hover .note-card-title{color:var(--color-accent)}.item-meta{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.4rem;display:flex}.item-description{color:var(--color-text-muted);margin:.35rem 0 0;font-size:.875rem;line-height:1.65}.item-host{color:var(--color-text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.8125rem;overflow:hidden}.timeline{margin-top:2.25rem}.timeline-year{margin-top:2.5rem}.timeline-year:first-child{margin-top:0}.timeline-year-label{color:var(--color-text);font-size:clamp(1.5rem,3vw,1.75rem);font-weight:560;line-height:1.25}.timeline-stack{gap:1.5rem;margin-top:1rem;padding-left:2.25rem;display:grid;position:relative}.timeline-stack:before{border-left:1px dotted var(--color-border-strong);content:"";width:1px;position:absolute;top:.2rem;bottom:.2rem;left:1rem}.timeline-entry{position:relative}.timeline-meta{color:var(--color-text-faint);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.8125rem;line-height:1.45;display:flex}.timeline-icon{-webkit-user-select:none;user-select:none;font-size:.95rem;line-height:1;display:inline-block;transform:translateY(1px)}.timeline-item{margin-top:.35rem}.timeline-link{border-radius:var(--radius-md);background:0 0;padding:.6rem .75rem;transition:background .16s,color .16s;display:block}.timeline-link:hover{background:var(--color-surface-muted)}.timeline-link[data-tone=accent]{background:color-mix(in srgb, var(--color-accent-soft) 42%, transparent)}.timeline-link[data-tone=accent]:hover{background:color-mix(in srgb, var(--color-accent-soft) 72%, transparent)}.timeline-link:hover .item-heading{color:var(--color-accent)}.page-shell,.article-shell,.policy-shell{width:min(100%, var(--width-article));padding:clamp(3rem, 7vw, 4rem) var(--space-page);margin:0 auto}.page-header,.article-header{margin-bottom:2.5rem}.article-header{border-bottom:1px solid var(--color-border);padding-bottom:2rem}.page-title,.article-title,.policy-title{color:var(--color-text);letter-spacing:0;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:650;line-height:1.25}.page-description,.article-description{color:var(--color-text-muted);margin:.75rem 0 0;font-size:clamp(.9375rem,2vw,1rem);line-height:1.8}.article-emoji{margin-bottom:1rem;font-size:2.5rem;line-height:1}.metadata-row{color:var(--color-text-faint);flex-wrap:wrap;align-items:center;gap:.45rem 1rem;margin-top:1rem;font-size:.8125rem;display:flex}.tag-list{flex-wrap:wrap;gap:.375rem;margin-top:.875rem;display:flex}.note-list{gap:.875rem;display:grid}.note-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:1rem;transition:border-color .16s,background .16s;display:block}.note-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-raised)}.note-card-row{align-items:flex-start;gap:.75rem;display:flex}.note-card-emoji{flex:none;font-size:1.5rem;line-height:1.15}.note-card-title{color:var(--color-text-soft);margin:0;font-size:1rem;font-weight:570;line-height:1.45}.note-card-description{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:.8125rem;line-height:1.65;display:-webkit-box;overflow:hidden}.note-card-meta{color:var(--color-text-faint);flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin-top:.7rem;font-size:.75rem;display:flex}.empty-state{color:var(--color-text-faint);text-align:center;padding:4rem 0}.empty-state-icon{margin-bottom:.75rem;font-size:2.5rem}.back-link{color:var(--color-text-muted);align-items:center;gap:.45rem;margin-bottom:2rem;font-size:.875rem;font-weight:520;transition:color .16s;display:inline-flex}.back-link:hover{color:var(--color-text)}.back-link svg{width:1rem;height:1rem;transition:transform .16s}.back-link:hover svg{transform:translate(-2px)}.article-footer{border-top:1px solid var(--color-border);margin-top:3rem;padding-top:2rem}.prose{max-width:none;color:var(--color-text-soft);overflow-wrap:break-word;font-size:1rem;line-height:1.85}.prose>:first-child{margin-top:0}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--color-text);letter-spacing:0;font-weight:650;line-height:1.35}.prose h1{margin:2rem 0 1rem;font-size:1.85rem}.prose h2{border-bottom:1px solid var(--color-border);margin:2.25rem 0 1rem;padding-bottom:.45rem;font-size:1.55rem}.prose h3{margin:1.8rem 0 .8rem;font-size:1.25rem}.prose h4{margin:1.5rem 0 .65rem;font-size:1.1rem}.prose p{margin:1rem 0}.prose a{color:var(--color-accent);text-underline-offset:.18em;overflow-wrap:anywhere;font-weight:520;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{color:var(--color-accent-hover)}.prose ul,.prose ol{margin:1rem 0;padding-left:1.45rem}.prose li{margin:.35rem 0;padding-left:.1rem}.prose blockquote{border-left:3px solid var(--color-border-strong);color:var(--color-text-muted);margin:1.4rem 0;padding:.1rem 0 .1rem 1rem}.prose img{border-radius:var(--radius-lg);margin:2rem 0}.prose hr{border:0;border-top:1px solid var(--color-border);margin:2rem 0}.prose strong{color:var(--color-text);font-weight:650}.prose em{color:var(--color-text-muted)}.prose table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;margin:2rem 0;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.55rem .75rem}.prose th{color:var(--color-text);font-weight:620}.prose :not(pre)>code{border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text);font-family:var(--font-mono);overflow-wrap:anywhere;padding:.12rem .34rem;font-size:.83em;font-weight:560}.code-block-wrapper{margin:1.35rem 0;position:relative}.prose pre{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-code-surface);-webkit-overflow-scrolling:touch;max-width:100%;margin:0;padding:.9rem;position:relative;overflow-x:auto}.prose pre code{color:inherit;font-family:var(--font-mono);background:0 0;font-size:.8125rem;line-height:1.65}.prose pre code .line{line-height:1.65}.prose pre code span{color:var(--shiki-light)}html.dark .prose pre code span{color:var(--shiki-dark)!important}.prose pre code .line:before{width:1rem;color:color-mix(in srgb, var(--color-text-faint) 48%, transparent);text-align:right;content:counter(line);counter-increment:line;margin-right:1.5rem;display:inline-block}.prose pre{counter-reset:line}.copy-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.3rem;font-size:.75rem;font-weight:560;line-height:1.2;transition:background .16s,color .16s,opacity .16s;display:inline-flex}.copy-button:hover{background:var(--color-surface-raised);color:var(--color-text)}.code-block-wrapper .copy-button{z-index:10;opacity:0;padding:.3rem .5rem;position:absolute;top:.5rem;right:.5rem}.code-block-wrapper:hover .copy-button,.code-block-wrapper .copy-button:focus-visible{opacity:1}.copy-button svg{width:.8rem;height:.8rem}.code-block{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin:1.5rem 0;overflow:hidden}.code-block-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .75rem;display:flex}.code-block-title{color:var(--color-text-muted);font-size:.875rem;font-weight:560}.code-block-scroll{position:relative;overflow-x:auto}.code-block .copy-button{padding:.3rem .55rem}.code-block .copy-button.floating{z-index:10;opacity:0;position:absolute;top:.5rem;right:.5rem}.code-block:hover .copy-button.floating,.code-block .copy-button.floating:focus-visible{opacity:1}.code-wrapper pre{overflow-x:auto;background:0 0!important;margin:0!important;padding:1rem!important}.code-wrapper code{font-family:var(--font-mono);font-size:.875rem;line-height:1.7}[data-line]{padding:0 1rem}.policy-shell{gap:1rem;display:grid}.policy-date,.policy-note{color:var(--color-text-faint);margin:0;font-size:.875rem}.policy-shell h2{color:var(--color-text);margin:1.2rem 0 0;font-size:1.25rem;line-height:1.35}.policy-shell p,.policy-shell li{color:var(--color-text-soft)}.policy-shell ul{margin:0;padding-left:1.35rem}.site-footer{width:min(100%, var(--width-article));min-height:12rem;padding:1.5rem var(--space-page);color:var(--color-text-faint);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;font-size:.75rem;display:flex}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.site-footer a{transition:color .16s}.site-footer a:hover{color:var(--color-text)}@media (width<=720px){.site-header{padding-block:1.25rem}.site-nav{gap:1rem}.hero{padding-top:2.25rem}.card-grid{grid-template-columns:1fr}.timeline-stack{padding-left:1.4rem}.timeline-stack:before{left:.55rem}.surface-card-link,.surface-card-body,.timeline-link,.note-card{padding:.9rem}.site-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
