:root{--ink:#fff9f0;--surface:#fff;--surface-2:#fff1dc;--line:#5c402424;--line-strong:#5c402442;--text:#2b2420;--muted:#554c45;--dim:#7a6f65;--accent:#e2672a;--accent-soft:#b4501a;--teal:#247b83;--shadow:0 10px 30px -14px #5c402447;--paper:#fffaf3;--paper-card:#fff;--paper-line:#e8dfd2;--paper-text:#16181c;--paper-body:#2c3138;--paper-muted:#6b717a;--paper-accent:#2f5fd0;--sans:"Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", sans-serif;--display:"Zen Maru Gothic", var(--sans);--wrap:1152px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;background:var(--ink);color:var(--text);margin:0}body.theme-paper{background:var(--paper);color:var(--paper-text)}a{color:inherit;text-decoration:none}.wrap{width:min(var(--wrap), calc(100% - 96px));margin-inline:auto}.site-header{z-index:20;backdrop-filter:saturate(140%)blur(12px);border-bottom:1px solid var(--line);background:#fff9f0f0;position:sticky;top:0}.site-header__inner{align-items:center;gap:36px;height:72px;display:flex}.brand{white-space:nowrap;font-family:var(--display);color:var(--text);align-items:center;gap:10px;font-size:19px;font-weight:900;display:flex}.brand svg{flex-shrink:0}.brand img{object-fit:contain;border-radius:50%;flex-shrink:0;width:34px;height:34px}.header-search{border:1px solid var(--line-strong);background:var(--surface);min-width:44px;min-height:44px;color:var(--muted);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.header-search:hover,.header-search[aria-expanded=true]{border-color:var(--accent-soft);color:var(--accent-soft)}.header-search:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.site-nav{flex-grow:1;gap:30px;font-size:15px;font-weight:700;display:flex}.site-nav a{color:var(--muted);white-space:nowrap}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.site-nav{align-self:stretch;align-items:center}.nav-item{align-self:stretch;align-items:center;display:flex;position:relative}.nav-item__link{align-items:center;gap:5px;display:inline-flex}.nav-item__link svg{opacity:.6;transition:transform .2s}.nav-item:hover .nav-item__link,.nav-item:focus-within .nav-item__link{color:var(--text)}.nav-item:hover .nav-item__link svg,.nav-item:focus-within .nav-item__link svg{transform:rotate(180deg)}.nav-menu{z-index:30;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility 0s .18s;position:absolute;top:100%;left:-24px;transform:translateY(6px)}.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{opacity:1;visibility:visible;transition:opacity .18s,transform .18s;transform:none}@media (width>=721px) and (hover:hover){.site-nav:hover .nav-item:not(:hover) .nav-menu{opacity:0;visibility:hidden}}.nav-menu__inner{border:1px solid var(--line);background:#fff;border-radius:18px;width:max-content;max-width:min(860px,100vw - 40px);padding:22px 24px 18px;box-shadow:0 24px 60px -18px #5c402459}.nav-menu__lead{color:var(--dim);letter-spacing:.06em;margin:0 0 16px;font-size:12px;font-weight:700}.nav-menu__groups{grid-template-columns:repeat(3,minmax(180px,auto));gap:18px 28px;display:grid}.nav-menu__group p{color:var(--accent-soft);letter-spacing:.08em;margin:0 0 8px;font-size:12px;font-weight:700}.nav-menu__group ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.site-nav .nav-menu__group a{color:var(--text);border-radius:10px;align-items:center;gap:10px;margin-inline:-10px;padding:8px 10px;font-size:14px;display:flex}.site-nav .nav-menu__group a:hover,.site-nav .nav-menu__group a:focus-visible{background:#fff1dc;outline:none}.nav-menu__group img{flex-shrink:0;width:22px;height:22px}.nav-menu__group small{color:var(--dim);margin-left:auto;padding-left:12px;font-size:11px}.site-nav .nav-menu__all{border-top:1px solid var(--line);width:100%;color:var(--accent-soft);gap:6px;margin-top:14px;padding-top:14px;font-size:13px;font-weight:700;display:inline-flex}.site-nav .nav-menu__all:hover{color:var(--text)}@media (width>=721px){.site-header__inner{position:relative}.nav-item{position:static}.nav-menu{width:max-content;max-width:min(860px,100%);margin-inline:auto;left:0;right:0}.nav-menu__inner{overscroll-behavior-y:contain;max-width:100%;max-height:calc(100dvh - 84px);overflow-y:auto}.nav-menu__groups{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-menu__group{min-width:0}.site-nav .nav-menu__group a{white-space:normal}.nav-menu__group a span{overflow-wrap:anywhere;min-width:0}.nav-menu__group small{flex-shrink:0}}.nav-toggle{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--text);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;display:none}.nav-toggle:hover{color:var(--text);border-color:var(--accent)}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{background:currentColor;border-radius:2px;width:16px;height:1.5px;transition:transform .18s,opacity .18s;display:block}.nav-toggle__bars{position:relative}.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";position:absolute;left:0}.nav-toggle__bars:before{top:-5px}.nav-toggle__bars:after{top:5px}.nav-toggle[aria-expanded=true] .nav-toggle__bars{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle__bars:before{transform:translateY(5px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars:after{transform:translateY(-5px)rotate(-45deg)}.hero{border-bottom:1px solid var(--line);padding:104px 0 88px}.eyebrow{color:var(--accent);letter-spacing:.08em;align-items:center;gap:10px;margin-bottom:30px;font-size:13px;font-weight:500;display:flex}.eyebrow:before{content:"";background:var(--accent);width:22px;height:1px}.hero h1{font-family:var(--display);letter-spacing:-.015em;margin:0 0 30px;font-size:clamp(40px,5vw,72px);font-weight:900;line-height:1.16}.hero p{max-width:640px;color:var(--muted);margin:0 0 40px;font-size:18px;line-height:1.85}.actions{flex-wrap:wrap;gap:14px;display:flex}.btn{border-radius:999px;align-items:center;height:52px;padding:0 28px;font-size:15px;font-weight:700;display:inline-flex}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:#c95520}.btn--ghost{border:1px solid var(--line-strong);color:var(--text);font-weight:500}.btn--ghost:hover{border-color:var(--accent)}.section{padding:72px 0 0}.section__head{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.section__head h2{font-family:var(--display);margin:0;font-size:28px;font-weight:700}.section__head a{color:var(--accent-soft);font-size:14px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:14px;padding:24px;display:flex}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card{transition:border-color .18s,transform .18s}.card__media img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.card__cat{color:var(--accent-soft);font-size:12px;font-weight:700}.card h3{margin:0;font-size:17px;font-weight:700;line-height:1.55}.card__date{color:var(--dim);font-size:12px}.card--more{color:var(--muted);background:0 0;border-style:dashed;justify-content:center;align-items:center;gap:12px}.site-footer{border-top:1px solid var(--line);margin-top:96px;padding:56px 0 44px}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.site-footer strong{font-family:var(--display);margin-bottom:10px;font-size:17px;font-weight:900;display:block}.site-footer small{color:var(--dim);font-size:13px}.site-footer nav{gap:26px;font-size:13px;display:flex}.site-footer nav a{color:var(--muted)}.site-footer nav .footer-button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.site-footer nav .footer-button:hover{color:var(--text)}body.theme-paper .site-footer{border-top-color:var(--paper-line)}body.theme-paper .site-footer small,body.theme-paper .site-footer nav a,body.theme-paper .site-footer nav .footer-button{color:var(--paper-muted)}.analytics-consent{z-index:50;border:1px solid var(--line);width:min(480px,100% - 48px);color:var(--text);background:#fff;border-radius:14px;padding:22px;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 48px #5c402440}.analytics-consent[hidden]{display:none}.analytics-consent p{margin:0;font-size:14px;line-height:1.8}.analytics-consent a{color:var(--accent-soft);text-underline-offset:3px;text-decoration:underline}.analytics-consent__actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.analytics-consent__actions button{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:9px 16px;font-size:13px}.analytics-consent__actions button[hidden]{display:none}.analytics-consent__actions button[data-analytics-consent=grant]{border-color:var(--accent);background:var(--accent);color:#fff}.analytics-consent__actions button:focus-visible,.footer-button:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}.category-intro{border:1px solid var(--line);border-top:4px solid var(--category-intro-accent);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:minmax(240px,340px) minmax(0,1fr);align-items:center;gap:28px;margin:0 0 40px;padding:34px 38px 36px;display:grid}.category-intro__image{border-radius:12px;display:block;overflow:hidden}.category-intro__body{min-width:0;max-width:780px}.category-intro__label{color:var(--accent-soft);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.category-intro h2{font-family:var(--display);margin:0 0 14px;font-size:clamp(23px,3vw,32px);line-height:1.45}.category-intro h2 a:hover{color:var(--accent-soft)}.category-intro p{color:var(--muted);margin:0 0 22px;font-size:16px;line-height:1.9}.category-intro__more{color:var(--accent-soft);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.category-intro__more:hover{color:var(--text)}.category-intro a:focus-visible{outline:2px solid var(--accent-soft);outline-offset:4px;border-radius:2px}.result-head{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;padding-bottom:14px;font-size:13px;display:flex}.row{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:28px;margin:16px 0;padding:20px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.row:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.row__media{flex-shrink:0;align-self:flex-start;width:264px}.row__media img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.row .row__title{margin:9px 0;font-size:21px;font-weight:700}.row p{color:var(--muted);margin:0 0 9px;font-size:15px;line-height:1.85}.row__meta{color:var(--dim);font-size:13px}.section-group{padding-top:36px}.section-group__title{font-family:var(--display);color:var(--text);align-items:center;gap:10px;margin:0 0 6px;font-size:23px;font-weight:700;display:flex}.section-group__title:before{content:"";background:var(--accent);border-radius:4px;width:8px;height:26px}.section-group__desc{color:var(--muted);margin:0;padding-bottom:6px;font-size:15px;line-height:1.85}.reading-entry{scroll-margin-top:96px}.row--planned{background:#f7f8f9;border-color:#d8dce0}.row--planned:hover{box-shadow:none;border-color:#d8dce0;transform:none}.row--planned .card__cat{color:#5b6169}.planned-cover{aspect-ratio:1200/630;background:#dfe2e5;border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.planned-cover__image{filter:grayscale();opacity:.27;position:absolute;inset:0}.row__media.planned-cover .eyecatch{aspect-ratio:auto;background:#dfe2e5;width:100%;height:100%}.planned-cover__label{z-index:1;color:#3e454e;letter-spacing:.08em;background:#f5f6f7;border:1px solid #929aa3;border-radius:999px;padding:9px 18px;font-size:16px;font-weight:700;position:relative}.environment-tabs__selector{margin-top:14px}.environment-tabs__label{color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:700}.environment-tabs__list{flex-wrap:nowrap;gap:8px;display:flex}.environment-tabs:not([data-ready]) .environment-tabs__selector{display:none}.environment-tabs__list button{appearance:none;white-space:nowrap;border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;flex-shrink:0;padding:10px 16px;font-size:14px;font-weight:700}.environment-tabs__list button:hover{border-color:var(--accent)}.environment-tabs__list button[aria-selected=true]{color:#fff;background:#a94724;border-color:#a94724}.environment-tabs__list button:focus-visible,.environment-tabs__panel:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.environment-tabs__panel[hidden]{display:none}.environment-tabs__fallback-title{margin:20px 0 8px}.environment-tabs[data-ready] .environment-tabs__fallback-title{display:none}@media (width<=560px){.environment-tabs__list{gap:4px}.environment-tabs__list button{padding:8px 4px;font-size:clamp(10px,2.9vw,13px)}}.empty{color:var(--muted);padding:48px 0;font-size:15px}.article-grid{grid-template-columns:minmax(0,760px) 272px;gap:64px;padding:44px 0 0;display:grid}.crumbs{color:var(--paper-muted);gap:8px;margin-bottom:22px;font-size:13px;display:flex}.crumbs a:hover{color:var(--paper-accent)}.article-title{font-family:var(--display);letter-spacing:-.01em;margin:0 0 22px;font-size:42px;font-weight:900;line-height:1.34}.byline{color:var(--paper-muted);align-items:center;gap:14px;margin-bottom:22px;font-size:13px;display:flex}.prose{color:var(--paper-body);font-size:16px;line-height:2}.prose h2{font-family:var(--display);color:var(--paper-text);margin:48px 0 20px;scroll-margin-top:96px;font-size:26px;font-weight:700}.prose h3{font-family:var(--display);color:var(--paper-text);margin:32px 0 16px;font-size:20px;font-weight:700}.prose p{margin:0 0 20px}.prose strong{color:var(--paper-text);font-weight:700}.prose a{color:var(--paper-accent);text-underline-offset:3px;text-decoration:underline}.prose img{border:1px solid var(--paper-line);border-radius:12px;width:100%;height:auto;margin:8px auto 28px;display:block}.prose .sourced-example{border:1px solid var(--paper-line);background:var(--paper-card);border-radius:16px;margin:16px 0 36px;padding:18px}.prose .sourced-example img{object-fit:contain;border:0;border-radius:8px;width:auto;max-width:100%;max-height:480px;margin:0 auto}.prose .sourced-example figcaption{border-top:1px solid var(--paper-line);color:var(--paper-muted);margin-top:14px;padding-top:12px;font-size:13px;line-height:1.8}.prose .product-overview{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:24px;margin:8px 0 28px;display:grid}.prose .product-overview img{border:0;width:112px;margin:0}.prose .product-overview p{margin:0}.prose .image-highlight{width:100%;max-width:100%;margin:8px auto 28px;line-height:0;display:block;position:relative;container-type:inline-size}.prose .image-highlight>img{width:100%;height:auto;margin:0}.prose .image-highlight__box{box-sizing:border-box;pointer-events:none;border:2px solid #b01936;border-radius:4px;position:absolute}.prose .image-highlight__box[data-step]:before{content:attr(data-step);box-sizing:border-box;color:#fff;background:#b01936;border-radius:4px 4px 0 0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 3px;font:700 12px/1 system-ui,sans-serif;display:flex;position:absolute;bottom:calc(100% + 2px);left:-2px}.prose .image-highlight__box[data-step-position=right]:before{border-radius:0 4px 4px 0;top:-2px;bottom:auto;left:calc(100% + 3px)}.prose .image-highlight__box[data-step-position=left]:before{border-radius:4px 0 0 4px;inset:-2px calc(100% + 3px) auto auto}.prose .image-highlight__box[data-step-position=below]:before{border-radius:0 0 4px 4px;top:calc(100% + 2px);bottom:auto}.prose .image-highlight__arrow{pointer-events:none;border-top:2px solid #b01936;height:0;position:absolute}.prose .image-highlight__arrow:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #b01936;position:absolute;top:-6px;right:-1px}.prose .image-highlight__arrow[data-direction=down]{border-top:0;border-left:2px solid #b01936;width:0}.prose .image-highlight__arrow[data-direction=down]:after{border:5px solid #0000;border-top:8px solid #b01936;border-bottom:0;inset:auto auto -1px -6px}.prose .image-highlight__arrow[data-step]:before{content:attr(data-step);box-sizing:border-box;color:#fff;background:#b01936;border-radius:4px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 3px;font:700 12px/1 system-ui,sans-serif;display:flex;position:absolute;top:-26px;left:-9px}.prose .prompt-example{background:#fff5f6;border-left:3px solid #b01936;border-radius:0 10px 10px 0;margin:20px 0 28px;padding:16px 20px}.prose .prompt-example>strong{color:#8e112b;margin-bottom:8px;font-size:14px;line-height:1.5;display:block}.prose .prompt-example>p{margin:0;font-size:15px;line-height:1.8}.prose .smartphone-images{align-items:flex-start;gap:16px;margin:8px 0 28px;display:flex}.prose .smartphone-images>img,.prose .smartphone-images>.image-highlight{flex:0 calc(50% - 8px);width:calc(50% - 8px);min-width:0;margin:0}.prose .smartphone-images .image-highlight>img{width:100%}.prose blockquote{border:0;border-left:3px solid var(--paper-accent);background:#ecf1fb;border-radius:0 10px 10px 0;margin:28px 0;padding:20px 24px}.prose blockquote p{margin:0 0 8px;font-size:14px;line-height:1.9}.prose blockquote p:last-child{margin-bottom:0}.prose blockquote strong{color:#1e42a0}.prose .x-embed{margin:28px 0}.prose .x-embed>blockquote{margin:0}.prose .x-embed__actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;display:flex}.prose .x-embed__button{border:1px solid var(--paper-accent);background:var(--paper-card);color:var(--paper-accent);font:inherit;cursor:pointer;border-radius:999px;padding:7px 16px;font-size:14px}.prose .x-embed__button:hover{background:#ecf1fb}.prose .x-embed__button:disabled{cursor:progress;opacity:.7}.prose .x-embed__note{color:#6a7078;margin:0;font-size:12px}.prose .x-embed__post .twitter-tweet{margin:0!important}.prose ul,.prose ol{margin:0 0 20px;padding-left:1.4em}.prose li{margin-bottom:8px}.prose table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:14px}.prose th,.prose td{border:1px solid var(--paper-line);text-align:left;padding:10px 14px}.prose th{background:#efece6;font-weight:700}@media (width<=720px){.prose .product-overview{grid-template-columns:80px minmax(0,1fr);gap:16px}.prose .product-overview img{width:80px}.prose table:has(th:nth-child(4)){max-width:100%;display:block;overflow-x:auto}.prose table:has(th:nth-child(4)) th,.prose table:has(th:nth-child(4)) td{min-width:118px}.prose table:has(th:nth-child(4)) th:first-child,.prose table:has(th:nth-child(4)) td:first-child{z-index:1;background:var(--paper-card);min-width:164px;position:sticky;left:0}.prose table:has(th:nth-child(4)) th:first-child{background:#efece6}}.prose code{background:#ece9e2;border-radius:5px;padding:2px 6px;font-size:.92em}.prose pre{border:1px solid var(--paper-line);border-radius:12px;padding:18px 20px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{border:0;border-top:1px solid var(--paper-line);margin:40px 0}.env-box{border:1px solid var(--paper-line);background:var(--paper-card);border-radius:12px;margin-bottom:28px;padding:20px 24px}.env-box__label{letter-spacing:.04em;font-size:12px;font-weight:700;display:block}.env-box pre{font-family:var(--sans);color:#4a5058;white-space:pre-wrap;background:0 0;border:0;border-radius:0;margin:10px 0 0;padding:0;font-size:13px;line-height:1.9}.aside-card{border:1px solid var(--paper-line);background:var(--paper-card);border-radius:12px;margin-bottom:14px;padding:20px}.aside-card strong{margin-bottom:10px;font-size:13px;display:block}.aside-card p{color:#4a5058;margin:0 0 10px;font-size:13px;line-height:1.8}.aside-card a{color:var(--paper-accent);font-size:14px;line-height:1.7}.aside-sticky{position:sticky;top:96px}.aside-toc ol{max-height:calc(100vh - 360px);margin:0;padding:0;list-style:none;overflow-y:auto}.aside-toc li{margin:0}.aside-toc a{border-left:2px solid var(--paper-line);color:var(--paper-muted);padding:5px 0 5px 12px;font-size:13px;line-height:1.6;text-decoration:none;display:block}.aside-toc a:hover{color:var(--paper-text)}.aside-toc a.is-current{border-left-color:var(--paper-accent);color:var(--paper-accent);font-weight:700}.prose .toc-inline{border:1px solid var(--paper-line);background:var(--paper-card);border-radius:12px;margin:32px 0 8px;padding:20px 24px}.prose .toc-inline__label{letter-spacing:.06em;color:var(--paper-text);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.prose .toc-inline ol{margin:0;padding-left:1.4em}.prose .toc-inline li{margin:4px 0;font-size:15px;line-height:1.8}.prose .toc-inline a{text-decoration:none}.prose .toc-inline a:hover{text-decoration:underline}.article-end{border-top:1px solid var(--paper-line);justify-content:space-between;align-items:center;margin:56px 0 0;padding-top:28px;font-size:14px;display:flex}.article-end span{color:var(--paper-muted);font-size:13px}.article-end a{color:var(--paper-accent);font-weight:500}body.theme-paper .eyecatch__tool{color:var(--paper-muted)}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.tile{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;padding:26px 24px;transition:border-color .18s,transform .18s;display:flex}.tile:hover{border-color:var(--accent);transform:translateY(-2px)}.tile__top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tile__top h3{font-family:var(--display);margin:0;font-size:19px;font-weight:700}.tile__count{color:var(--dim);font-size:12px}.tile p{color:var(--muted);flex-grow:1;margin:0;font-size:13px;line-height:1.85}.tile__go{color:var(--accent-soft);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.tools-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.tool-chip{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:16px;transition:border-color .18s,transform .18s;display:flex}.tool-chip:hover{border-color:var(--accent);transform:translateY(-2px)}.tool-chip__count{color:var(--dim);text-align:center;font-size:12px}.about{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:48px}.about h2{font-family:var(--display);margin:0 0 16px;font-size:26px;font-weight:700}.about p{max-width:720px;color:var(--muted);margin:0;font-size:15px;line-height:1.95}.taxonomy-head{padding:56px 0 32px}.taxonomy-head :is(h1,h2){font-family:var(--display);margin:0 0 12px;font-size:40px;font-weight:900}.taxonomy-head p{color:var(--muted);max-width:640px;margin:0;font-size:15px;line-height:1.9}.taxonomy-head__title{grid-template-columns:96px minmax(0,1fr);align-items:center;column-gap:18px;display:grid}.taxonomy-head__title :is(h1,h2){grid-column:2;align-self:end}.taxonomy-head__title p{grid-column:2;align-self:start}.taxonomy-head__icon{grid-area:1/1/3;align-self:start;width:96px}.crumbs--ink{color:var(--dim);margin-bottom:20px}.crumbs--ink a:hover{color:var(--accent-soft)}.row__body{flex-direction:column;min-width:0;display:flex}.row__media .eyecatch{width:100%;height:auto}.article-cover{aspect-ratio:1200/630;object-fit:contain;width:100%;height:auto;display:block}.row__media .article-cover{object-fit:contain;border-radius:10px;height:auto}.article-cover-hero{background:#fff8eb;border-radius:14px;margin:0 0 30px;overflow:hidden}.article-tags{gap:10px;margin-bottom:28px;display:flex}.article-tags a{border:1px solid var(--paper-line);background:var(--paper-card);color:var(--paper-body);border-radius:999px;padding:6px 14px;font-size:13px}.article-tags a:hover{border-color:var(--paper-accent);color:var(--paper-accent)}.eyecatch{aspect-ratio:5/2;background:var(--surface-2);border:1px solid color-mix(in srgb, var(--brand,#5b8cff) 24%, var(--line));border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:relative;overflow:hidden}.eyecatch:before{content:"";background:var(--brand,#5b8cff);width:100%;height:3px;position:absolute;inset:0 auto auto 0}.eyecatch__icon{width:36px;height:36px;display:block}.eyecatch--row .eyecatch__icon{width:32px;height:32px}.eyecatch__mark{background:color-mix(in srgb, var(--brand,#5b8cff) 18%, transparent);width:44px;height:44px;color:var(--brand,#5b8cff);font-family:var(--display);border-radius:12px;justify-content:center;align-items:center;font-size:22px;font-weight:900;line-height:1;display:flex}.eyecatch__tool{text-align:center;max-width:100%;color:var(--text);letter-spacing:.02em;padding-inline:6px;font-size:13px;font-weight:700;line-height:1.35}.eyecatch__cat{color:var(--dim);font-size:11px;font-weight:700;position:absolute;top:12px;left:14px}.eyecatch--row{aspect-ratio:16/11;gap:8px}.eyecatch--row .eyecatch__icon{width:32px;height:32px;display:block}.eyecatch--head .eyecatch__icon{width:40px;height:40px}.eyecatch__mark{border-radius:10px;width:34px;height:34px;font-size:17px}.eyecatch--row .eyecatch__tool{font-size:11px}.eyecatch--head{aspect-ratio:1;border-radius:14px}.eyecatch--head .eyecatch__mark{border-radius:13px;width:48px;height:48px;font-size:24px}.about-body{flex-direction:column;gap:40px;max-width:760px;padding-bottom:24px;display:flex}.about-body section{flex-direction:column;gap:16px;display:flex}.about-body h2{font-family:var(--display);margin:0;font-size:22px;font-weight:700}.about-body p{color:var(--muted);margin:0;font-size:15px;line-height:2}.about-body strong{color:var(--text);font-weight:700}.about-body a{color:var(--accent-soft);text-underline-offset:3px;text-decoration:underline}.about-updated{color:var(--dim);font-size:13px}.section__tools{align-items:center;gap:18px;display:flex}.scroller{width:min(var(--wrap), calc(100% - 96px));margin-inline:auto;position:relative}.scroller__track{--gap:24px;--cols:3;gap:var(--gap);scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-block:4px 16px;display:flex;overflow-x:auto}.scroller__track::-webkit-scrollbar{display:none}.scroller__track:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:16px}.scroller__track>*{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));scroll-snap-align:start}.scroller--narrow .scroller__track{--cols:4}.scroller__nav{gap:8px;display:flex}.scroller__btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:flex}.scroller__btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.scroller__btn:disabled{opacity:.32;cursor:default}.scroller__btn.is-hidden{display:none}.scroller__track{align-items:stretch}.scroller .tile,.scroller .card,.scroller .tool-chip{height:auto}.creed{flex-direction:column;gap:20px;max-width:720px;padding:56px 0 8px;display:flex}.creed__lead{font-family:var(--display);color:var(--text);margin:0;font-size:26px;font-weight:700;line-height:1.6}.creed p{color:var(--muted);margin:0;font-size:15px;line-height:2}.creed strong{color:var(--text);font-weight:700}.creed__link{color:var(--accent-soft);align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.home-hero{border-bottom:1px solid var(--line);background:linear-gradient(180deg, #fff3df 0%, var(--ink) 100%);align-items:center;display:flex;position:relative;overflow:hidden}.home-hero__inner{padding-block:56px 48px;position:relative}.home-hero h1{max-width:1120px;font-family:var(--display);letter-spacing:0;margin:0 0 30px;font-size:clamp(40px,5.6vw,76px);font-weight:900;line-height:1.2}.home-hero__inner>p:not(.eyebrow){max-width:600px;color:var(--muted);margin:0 0 28px;font-size:18px;line-height:1.9}.home-hero{--p:0;isolation:isolate}.home-hero__technology{z-index:-1;pointer-events:none;background:url(/assets/home/technology-background.svg) 50%/cover no-repeat;position:absolute;inset:0}.hero-aurora{z-index:-1;filter:blur(60px);height:120%;opacity:calc(.75 - var(--p) * .5);transform:translateY(calc(var(--p) * -80px));pointer-events:none;position:absolute;inset:-20% -10% auto}.hero-aurora span{border-radius:50%;position:absolute}.hero-aurora span:first-child{background:radial-gradient(circle,#ffb75e8c,#0000 65%);width:46vw;height:46vw;animation:18s ease-in-out infinite alternate aurora-a;top:0;left:48%}.hero-aurora span:nth-child(2){background:radial-gradient(circle,#ffd66673,#0000 65%);width:38vw;height:38vw;animation:22s ease-in-out infinite alternate aurora-b;top:26%;left:66%}.hero-aurora span:nth-child(3){background:radial-gradient(circle,#5ec4be59,#0000 65%);width:30vw;height:30vw;animation:26s ease-in-out infinite alternate aurora-c;top:40%;left:30%}@keyframes aurora-a{to{transform:translate(-14vw,10vh)scale(1.15)}}@keyframes aurora-b{to{transform:translate(-22vw,-8vh)scale(.9)}}@keyframes aurora-c{to{transform:translate(18vw,-12vh)scale(1.2)}}.home-hero__layout{grid-template-columns:minmax(0,1fr) minmax(220px,340px);align-items:center;gap:32px;display:grid}.home-hero__mascot{justify-self:center;width:100%;max-width:340px;position:relative}.home-hero__mascot img{width:100%;height:auto;animation:5s ease-in-out infinite mascot-float;display:block}.home-hero__bubble{border:2px solid var(--teal);max-width:210px;color:var(--text);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:12px 16px;font-size:14px;font-weight:700;line-height:1.6;position:absolute;top:4%;left:-12px}@keyframes mascot-float{50%{transform:translateY(-10px)}}.home-hero__points{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.home-hero__points li{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:700;display:inline-flex}.home-hero__points li:before{content:"✓";background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.home-hero__inner{transform:translateY(calc(var(--p) * 90px)) scale(calc(1 - var(--p) * .06));opacity:calc(1 - var(--p) * 1.1);transform-origin:top}.hero-reveal{animation:.9s cubic-bezier(.2,.7,.2,1) both hero-reveal;animation-delay:calc(var(--d,0) * 90ms + 50ms);display:inline-block}p.hero-reveal,.home-hero__mascot.hero-reveal{display:block}ul.hero-reveal,.eyebrow.hero-reveal{display:flex}@keyframes hero-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(28px)}}.hero-title__phrase{white-space:nowrap}.hero-title__shine{background:linear-gradient(100deg,#e2672a 30%,#f2a33a 45%,#247b83 55%,#e2672a 70%) 0 0/250% 100%;color:#0000;animation:.9s cubic-bezier(.2,.7,.2,1) both hero-reveal,7s ease-in-out 1.2s infinite title-shine;animation-delay:calc(var(--d,0) * 90ms + 50ms), 1.2s;-webkit-background-clip:text;background-clip:text}@keyframes title-shine{0%,to{background-position:100% 0}50%{background-position:0 0}}.kind-switch-dock{z-index:18;justify-content:center;height:0;display:flex;position:sticky;top:84px}.kind-switch{border:1px solid var(--line);backdrop-filter:saturate(160%)blur(18px);background:#ffffffe6;border-radius:999px;gap:4px;height:fit-content;margin-top:16px;padding:5px;display:inline-flex;position:relative;box-shadow:0 12px 34px -14px #5c402466}.kind-switch__thumb{background:linear-gradient(120deg,#e2672a,#f2a33a);border-radius:999px;width:0;transition:transform .45s cubic-bezier(.3,1.3,.4,1),width .45s cubic-bezier(.3,1.3,.4,1),background .45s,box-shadow .45s;position:absolute;top:5px;bottom:5px;left:0;box-shadow:0 6px 18px -6px #e2672a}.kind-switch[data-current=concepts] .kind-switch__thumb{background:linear-gradient(120deg,#247b83,#4aa3df);box-shadow:0 6px 18px -6px #247b83}.kind-switch button{z-index:1;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:10px;padding:9px 20px;font-size:15px;font-weight:700;transition:color .3s;display:inline-flex;position:relative}.kind-switch button span{background:#5c402414;border-radius:999px;padding:1px 8px;font-size:12px;transition:background .3s}.kind-switch button:hover{color:var(--text)}.kind-switch button[aria-selected=true]{color:#fff}.kind-switch button[aria-selected=true] span{background:#ffffff40}.kind-switch button:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}.kind-panel[hidden]{display:none}.kind-panel.is-entering{animation:.6s cubic-bezier(.2,.7,.2,1) panel-enter}@keyframes panel-enter{0%{opacity:0;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){.home-hero__mascot img,.hero-aurora span,.hero-reveal,.hero-title__shine,.kind-panel.is-entering{animation:none!important}.home-hero__inner{transform:none!important}}.home-browse{padding:96px 0 0}.home-browse .orbit{margin-top:0}[data-category-content][hidden]{display:none}.taxonomy-kicker{letter-spacing:.08em;font-weight:700;color:var(--accent-soft)!important;margin-bottom:8px!important;font-size:12px!important}@media (width<=1100px){.scroller__track{--cols:2}.scroller--narrow .scroller__track{--cols:3}.tiles,.tools-row,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid{grid-template-columns:minmax(0,1fr);gap:40px}.aside-sticky{position:static}.aside-toc{display:none}}@media (width<=860px){.site-header__inner{gap:20px}.site-nav{gap:20px;font-size:13px}}@media (width<=720px){.wrap{width:calc(100% - 40px)}.site-header__inner{gap:14px;height:64px}.brand{gap:8px;font-size:16px}.brand svg{width:20px;height:20px}.nav-toggle{display:flex}.header-search{width:44px;padding:0}.header-search span{display:none}.brand{flex-grow:1}.site-nav{background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:4px 20px 10px;display:none;position:absolute;top:100%;left:0;right:0}.site-nav[data-open]{display:flex}.site-nav{overscroll-behavior-x:none;align-items:stretch;max-height:calc(100svh - 64px);overflow:hidden auto}.site-nav>a,.nav-item__link{border-top:1px solid var(--line);padding:15px 0;font-size:15px}.site-nav>:first-child,.site-nav>:first-child .nav-item__link{border-top:0}.nav-item{flex-direction:column;align-items:stretch}.nav-item__link svg{display:none}.nav-menu{opacity:1;visibility:visible;transition:none;position:static;transform:none}.nav-menu__inner{width:auto;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 0 14px}.nav-menu__lead,.site-nav .nav-menu__all{display:none}.nav-menu__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.nav-menu__group{min-width:0}.site-nav .nav-menu__group a{white-space:normal;padding:7px 10px;font-size:13px}.nav-menu__group a span{overflow-wrap:anywhere;min-width:0}.nav-menu__group small{display:none}.scroller{width:calc(100% - 40px)}.scroller__track{--gap:14px;--cols:1.12;padding-block:4px 12px}.scroller--narrow .scroller__track{--cols:2.3}.scroller__nav{display:none}.hero{padding:60px 0 48px}.hero h1{margin-bottom:22px;font-size:34px}.hero p{margin-bottom:28px;font-size:16px}.eyebrow{margin-bottom:20px;font-size:12px}.btn{height:48px;padding:0 22px;font-size:14px}.home-hero__inner{padding-block:28px 36px}.home-hero__technology{opacity:.65;background-position:68% 0}.home-hero__layout{grid-template-columns:minmax(0,1fr);gap:8px}.home-hero__mascot{order:-1;justify-self:start;max-width:170px}.home-hero__bubble{white-space:nowrap;max-width:none;padding:10px 14px;font-size:13px;top:30%;left:100%}.home-hero__points{margin-bottom:0}.home-hero__points li{font-size:13px}.home-hero h1{margin-bottom:24px;font-size:clamp(30px,9.6vw,62px);line-height:1.15}.home-hero__inner>p:not(.eyebrow){margin-bottom:30px;font-size:15px}.kind-switch-dock{top:74px}.kind-switch button{padding:8px 14px;font-size:13px}.section{padding:52px 0 0}.section__head{margin-bottom:18px}.section__head h2{font-size:21px}.tiles,.tools-row,.cards{grid-template-columns:minmax(0,1fr)}.row{gap:14px;padding:14px}.category-intro{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:30px;padding:22px 20px 24px}.category-intro h2{font-size:22px}.category-intro p{font-size:14px}.row__media{width:clamp(128px,32vw,216px)}.row .row__title{margin:6px 0;font-size:16px}.row p{display:none}.row__media .article-cover{border-radius:8px}.eyecatch--row .eyecatch__icon{width:22px;height:22px}.eyecatch--row .eyecatch__tool{font-size:9px}.taxonomy-head{padding:40px 0 24px}.taxonomy-head :is(h1,h2){font-size:28px}.taxonomy-head__title{grid-template-columns:64px minmax(0,1fr);row-gap:16px}.taxonomy-head__title :is(h1,h2){align-self:center;margin-bottom:0}.taxonomy-head__title p{grid-column:1/-1}.taxonomy-head__icon{grid-row:1;align-self:center;width:64px}.eyecatch--head .eyecatch__mark{width:40px;height:40px;font-size:20px}.article-grid{gap:32px;padding-top:32px}.article-title{font-size:27px;line-height:1.45}.byline{flex-wrap:wrap;gap:10px}.article-tags{flex-wrap:wrap}.prose{font-size:15px;line-height:1.95}.prose h2{margin:36px 0 16px;font-size:20px}.prose img{border-radius:8px;margin-bottom:20px}.prose blockquote,.env-box{padding:16px 18px}.env-box pre{font-size:12px}.creed{gap:16px;padding:44px 0 0}.creed__lead{font-size:20px}.creed p{font-size:14px}.about-body{gap:32px}.about-body h2{font-size:19px}.about-body p{font-size:14px}.site-footer{margin-top:64px;padding:40px 0 36px}.site-footer__inner{flex-direction:column;align-items:flex-start;gap:18px}.site-footer nav{flex-wrap:wrap;gap:16px}}@media (width<=560px){.row{flex-direction:column;gap:12px}.row__media,.row__body{width:100%}.row .row__title{font-size:18px}}:where(img[src$="/icons/github.svg"]){box-sizing:border-box;background:#24292f;border-radius:50%;padding:3px}.site-search[data-astro-cid-7yy3665x]{inset:auto;top:var(--search-top,80px);width:min(420px,100vw - 32px);max-height:calc(100svh - var(--search-top,80px) - 16px);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-family:var(--sans);border-radius:16px;margin:0;padding:18px;position:fixed;right:16px;overflow-y:auto;box-shadow:0 16px 50px #3e2b1b33}.site-search__heading[data-astro-cid-7yy3665x]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:15px;display:flex}.site-search__close[data-astro-cid-7yy3665x]{background:var(--surface-2);width:32px;height:32px;color:var(--muted);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:24px;display:grid}.site-search__label[data-astro-cid-7yy3665x]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.site-search__row[data-astro-cid-7yy3665x]{gap:8px;display:flex}.site-search[data-astro-cid-7yy3665x] input[data-astro-cid-7yy3665x]{border:1px solid var(--line-strong);min-width:0;color:var(--text);font:inherit;background:#fff;border-radius:9px;flex:1;padding:11px 12px;font-size:16px}.site-search[data-astro-cid-7yy3665x] button[data-astro-cid-7yy3665x][type=submit]{background:var(--accent-soft);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:9px;flex-shrink:0;padding-inline:16px;font-size:14px;font-weight:700}.site-search[data-astro-cid-7yy3665x] [data-astro-cid-7yy3665x]:is(input,button):focus-visible{outline:2px solid var(--teal);outline-offset:2px}.site-search__hint[data-astro-cid-7yy3665x]{color:var(--dim);margin:10px 0 0;font-size:11px;line-height:1.7}.site-search__status[data-astro-cid-7yy3665x]{color:var(--muted);overflow-wrap:anywhere;margin:14px 0 0;font-size:12px;line-height:1.7}.site-search__results[data-astro-cid-7yy3665x]{max-height:min(300px, calc(100svh - var(--search-top,80px) - 210px));overscroll-behavior:contain;margin:10px -6px 0;padding:0 6px;list-style:none;overflow-y:auto}.site-search__results[data-astro-cid-7yy3665x]:empty{margin:0}.site-search__results[data-astro-cid-7yy3665x] li+li{border-top:1px solid var(--line)}.site-search__results[data-astro-cid-7yy3665x] a{border-radius:8px;padding:12px 8px;display:block}.site-search__results[data-astro-cid-7yy3665x] a:hover,.site-search__results[data-astro-cid-7yy3665x] a:focus-visible{background:var(--surface-2)}.site-search__results[data-astro-cid-7yy3665x] a:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.site-search__results[data-astro-cid-7yy3665x] span{color:var(--accent-soft);margin-bottom:5px;font-size:11px;display:block}.site-search__results[data-astro-cid-7yy3665x] strong{overflow-wrap:anywhere;font-size:14px;line-height:1.65;display:block}
