:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#20283f;--ink-soft:#526079;--ink-faint:#626e83;--paper:#fff;--paper-sunk:#f5f6fa;--paper-raised:#fff;--line:#e0e5ee;--line-strong:#b9c3d5;--brand:#3048a5;--brand-deep:#22377e;--brand-tint:#eef1fc;--accent:#b74527;--accent-tint:#fff2e9;--ok:#1a7a4c;--ok-tint:#e6f5ec;--ng:#b3261e;--ng-tint:#fdeceb;--warn:#8a6100;--warn-tint:#fdf5e2;--radius-s:6px;--radius-m:10px;--radius-l:16px;--shadow-s:0 1px 2px #16202c0f, 0 1px 3px #16202c0a;--shadow-m:0 2px 6px #16202c12, 0 8px 20px #16202c0f;--shadow-l:0 10px 40px #16202c1f;--font-ui:system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Roboto Mono", "Noto Sans Mono", monospace;--wrap:820px;--wrap-wide:1160px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{color:var(--ink);font-family:var(--font-ui);text-rendering:optimizelegibility;background:#f8f9fc;margin:0;font-size:16px;line-height:1.85}a,button,summary,select,[role=button],label[for]{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--brand-deep)}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:3px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px}.wrap-wide{max-width:var(--wrap-wide)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--brand);color:#fff;z-index:100;padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.site-header{z-index:40;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(10px);backdrop-filter:saturate(1.6)blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header__inner{align-items:center;gap:16px;height:60px;display:flex}.logo{letter-spacing:.02em;color:var(--ink);white-space:nowrap;flex-shrink:0;align-items:center;gap:9px;font-size:1.06rem;font-weight:800;text-decoration:none;display:inline-flex}.site-nav{gap:6px;margin-left:auto;font-size:.92rem;display:flex}.site-nav a{color:var(--ink-soft);border-radius:var(--radius-s);white-space:nowrap;padding:7px 11px;text-decoration:none;transition:background .15s,color .15s}.site-nav a:hover{background:var(--paper-sunk);color:var(--ink)}@media (max-width:380px){.site-header__inner{gap:8px}.logo{gap:6px;font-size:1rem}.site-header .site-nav{font-size:.81rem}.site-header .site-nav a{padding-inline:5px}}.article{padding-block:32px 64px}.breadcrumb{color:var(--ink-faint);margin-bottom:14px;font-size:.82rem}.breadcrumb ol{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";color:var(--line-strong);margin-right:6px}.breadcrumb a{color:var(--ink-faint);text-decoration:none}.breadcrumb a:hover{color:var(--brand)}h1{letter-spacing:.005em;margin:0 0 12px;font-size:clamp(1.6rem,1.15rem + 1.9vw,2.2rem);font-weight:800;line-height:1.36}h2{border-bottom:2px solid var(--line);margin:64px 0 18px;padding:0 0 12px 16px;scroll-margin-top:76px;font-size:clamp(1.24rem,1.05rem + .8vw,1.5rem);font-weight:700;line-height:1.45;position:relative}h2:before{content:"";background:linear-gradient(180deg, var(--brand), var(--brand-deep));border-radius:3px;width:5px;position:absolute;top:4px;bottom:14px;left:0}h3{margin:32px 0 10px;scroll-margin-top:76px;font-size:1.08rem;font-weight:700}p{margin:0 0 18px}.meta-row{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:26px;font-size:.8rem;display:flex}.chip{border:1px solid var(--line);background:var(--paper-sunk);color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.76rem;display:inline-flex}.answer-card{border-radius:var(--radius-l);background:linear-gradient(180deg, var(--brand-tint), color-mix(in srgb, var(--brand-tint) 45%, var(--paper)));border:1px solid color-mix(in srgb, var(--brand) 26%, var(--line));box-shadow:var(--shadow-s);margin:0 0 34px;padding:24px 26px 22px;position:relative;overflow:hidden}.answer-card:before{content:"";background:linear-gradient(180deg, var(--brand), var(--brand-deep));width:5px;position:absolute;inset:0 auto 0 0}.answer-card__label{letter-spacing:.14em;color:var(--brand-deep);align-items:center;gap:6px;margin-bottom:9px;font-size:.72rem;font-weight:800;display:inline-flex}.answer-card__label:before{content:"⚡";letter-spacing:0;font-size:.9rem}.answer-card p{margin:0;font-size:1.06rem;font-weight:600;line-height:1.75}.ui{border:1px solid var(--line-strong);background:var(--paper-raised);box-shadow:0 1px 0 var(--line-strong);white-space:nowrap;border-radius:5px;margin-inline:1px;padding:1px 7px;font-size:.9em;font-weight:600;display:inline-block}kbd{border:1px solid var(--line-strong);background:var(--paper-raised);font-family:var(--font-ui);white-space:nowrap;border-bottom-width:2px;border-radius:6px;padding:2px 8px;font-size:.86em;font-weight:700;display:inline-block}.steps{counter-reset:step;gap:10px;margin:0 0 26px;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-radius:var(--radius-m);background:var(--paper-sunk);border:1px solid var(--line);padding:15px 18px 15px 56px;transition:border-color .15s,background .15s;position:relative}.steps li:hover{border-color:color-mix(in srgb, var(--brand) 32%, var(--line));background:color-mix(in srgb, var(--brand-tint) 40%, var(--paper-sunk))}.steps li:not(:last-child):after{content:"";background:linear-gradient(180deg, var(--line-strong), transparent);width:2px;position:absolute;top:40px;bottom:-11px;left:26px}.steps li:before{content:counter(step);z-index:1;background:var(--brand);color:#fff;width:26px;height:26px;box-shadow:0 0 0 3px var(--paper-sunk);border-radius:50%;place-items:center;font-size:.82rem;font-weight:800;line-height:1;display:grid;position:absolute;top:14px;left:14px}.table-scroll{border-radius:var(--radius-m);border:1px solid var(--line);margin:0 0 26px;overflow-x:auto}table{border-collapse:collapse;background:var(--paper);width:100%;font-size:.94rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 14px}thead th{background:var(--paper-sunk);color:var(--ink-soft);white-space:nowrap;font-size:.84rem;font-weight:700}tbody tr:last-child td{border-bottom:none}code{font-family:var(--font-mono);background:var(--paper-sunk);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.9em}pre{border-radius:var(--radius-m);background:var(--paper-sunk);border:1px solid var(--line);margin:0 0 24px;padding:16px 18px;overflow-x:auto}pre code{background:0 0;border:none;padding:0;font-size:.95rem}.note{border-radius:var(--radius-m);border-left:4px solid var(--line-strong);background:var(--paper-sunk);margin:0 0 26px;padding:16px 18px;font-size:.95rem}.note>:last-child{margin-bottom:0}.note--warn{border-left-color:var(--warn);background:var(--warn-tint)}.note--tip{border-left-color:var(--brand);background:var(--brand-tint)}.note__title{margin-bottom:6px;font-weight:700}.fail-list{gap:12px;margin:0 0 26px;padding:0;list-style:none;display:grid}.fail-list li{border-radius:var(--radius-m);border:1px solid var(--line);border-left:4px solid color-mix(in srgb, var(--ng) 55%, var(--line));background:var(--paper);box-shadow:var(--shadow-s);padding:15px 18px 15px 52px;transition:box-shadow .15s,transform .15s;position:relative}.fail-list li:hover{box-shadow:var(--shadow-m);transform:translateY(-1px)}.fail-list li:before{content:"✕";background:var(--ng-tint);width:22px;height:22px;color:var(--ng);border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:16px;left:15px}.fail-list__q{color:var(--ng);margin-bottom:5px;font-weight:700}.fail-list p{margin:0;font-size:.95rem}.link-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0 0 26px;padding:0;list-style:none;display:grid}.link-card{border-radius:var(--radius-m);border:1px solid var(--line);background:var(--paper);color:inherit;box-shadow:var(--shadow-s);padding:15px 17px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:block}.link-card:hover{box-shadow:var(--shadow-m);border-color:color-mix(in srgb, var(--brand) 40%, var(--line));transform:translateY(-2px)}.link-card__role{letter-spacing:.1em;color:var(--brand);margin-bottom:3px;font-size:.72rem;font-weight:800;display:block}.link-card__title{font-size:.98rem;font-weight:700}.site-footer{border-top:1px solid var(--line);background:var(--paper-sunk);color:var(--ink-soft);margin-top:72px;padding-block:34px 44px;font-size:.86rem}.site-footer nav{flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;display:flex}.site-footer a{color:var(--ink-soft)}.legal{color:var(--ink-faint);font-size:.78rem;line-height:1.7}.legal p{margin:0 0 6px}@media (max-width:560px){body{font-size:15.5px}.site-nav{gap:0;font-size:.86rem}.site-nav a{padding:7px 8px}}.toc{border-radius:var(--radius-l);border:1px solid var(--line);background:var(--paper-sunk);margin:0 0 36px;padding:18px 22px 20px}.toc__title{letter-spacing:.12em;color:var(--ink-soft);align-items:center;gap:8px;margin-bottom:12px;font-size:.74rem;font-weight:800;display:flex}.toc__title:before{content:"☰";background:var(--brand);color:#fff;letter-spacing:0;border-radius:5px;place-items:center;width:20px;height:20px;font-size:.68rem;display:grid}.toc ol{counter-reset:toc;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc li{counter-increment:toc}.toc a{border-radius:var(--radius-s);color:var(--ink-soft);align-items:baseline;gap:9px;padding:7px 10px;font-size:.92rem;line-height:1.5;text-decoration:none;transition:background .15s,color .15s;display:flex}.toc a:before{content:counter(toc, decimal-leading-zero);color:var(--brand);font-variant-numeric:tabular-nums;flex:none;font-size:.72rem;font-weight:800}.toc a:hover{background:var(--paper-raised);color:var(--ink)}mark{background:linear-gradient(transparent 58%, color-mix(in srgb, var(--brand) 26%, transparent) 58%);color:inherit;padding:0 2px;font-weight:600}.formula{border-radius:var(--radius-m);border:1px solid var(--line);border-left:4px solid var(--brand);background:var(--paper-sunk);font-family:var(--font-mono);white-space:nowrap;margin:0 0 24px;padding:18px 20px;font-size:1.02rem;font-weight:600;display:block;overflow-x:auto}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;box-shadow:0 2px 12px #20283f04}.site-header__inner{gap:24px;height:76px}.logo{letter-spacing:-.02em;gap:10px;font-size:1.22rem}.logo__image{border-radius:9px;flex:none;width:38px;height:38px;display:block}.logo__text{flex-direction:column;line-height:1.35;display:flex}.logo__tagline{letter-spacing:.02em;color:var(--ink-soft);font-size:.64rem;font-weight:500}.site-nav{align-items:center;gap:8px;font-size:.88rem;font-weight:600}.site-nav a{border-radius:8px;padding:9px 15px}.site-nav .site-nav__search{background:var(--brand-tint);color:var(--brand-deep)}.site-nav .site-nav__search:hover{background:#dfe5fb}.search-glyph{vertical-align:-1px;border:1.8px solid;border-radius:50%;width:13px;height:13px;margin-right:9px;display:inline-block;position:relative}.search-glyph:after{content:"";background:currentColor;width:6px;height:2px;position:absolute;bottom:-3px;right:-4px;transform:rotate(45deg)}.article{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:28px;padding:38px 40px 48px;font-size:1.02rem;line-height:1.95}.article>h1{letter-spacing:-.025em;text-wrap:balance;margin-bottom:20px;font-size:clamp(1.7rem,1.2rem + 1.5vw,2.25rem)}.article p{margin-bottom:22px}.breadcrumb{margin-bottom:24px;font-size:.78rem;line-height:1.6}.breadcrumb a{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px}.meta-row{gap:8px;margin-bottom:28px;line-height:1.6}.chip{white-space:normal;border-radius:6px;padding:5px 9px;font-size:.74rem}.answer-card{box-shadow:none;background:#f2f5ff;border:1px solid #d9e0f6;padding:24px 26px}.answer-card__label{letter-spacing:.04em;font-size:.78rem}.answer-card__label:before{content:none}.answer-card p{margin:0;font-weight:600;line-height:1.9}h2{border-bottom:1px solid var(--line);letter-spacing:-.015em;margin-top:58px;padding:0 0 14px;scroll-margin-top:96px}h2:before{content:none}h3{scroll-margin-top:96px}.toc{border:1px solid var(--line);background:#fff;padding:22px}.toc__title{letter-spacing:.02em;color:var(--ink);font-size:.8rem}.toc__title:before{background:var(--brand-tint);color:var(--brand)}.toc a{padding-block:9px}.steps li{background:#f7f8fc;padding-block:18px}.steps,.fail-list{grid-template-columns:minmax(0,1fr)}.steps li,.fail-list li{min-width:0}.article code{overflow-wrap:anywhere}.article .ui{white-space:normal;overflow-wrap:anywhere;max-width:100%}.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.link-card{box-shadow:none;padding:20px}.link-card__title{line-height:1.6}.link-card__role{letter-spacing:.025em;margin-bottom:6px}.page-heading{margin:40px 0 28px}.page-heading h1{letter-spacing:-.04em;font-size:clamp(2rem,1.5rem + 2vw,2.8rem)}.page-heading p{max-width:42em;color:var(--ink-soft);line-height:1.85}.page-kicker{color:var(--brand);letter-spacing:.04em;margin-bottom:12px;font-size:.78rem;font-weight:750;display:block}.search-page{padding-top:28px;padding-bottom:48px}.search-page .breadcrumb{margin-bottom:0}.search-page .page-heading{margin-block:20px 22px}.search-page .page-kicker{margin-bottom:6px}.search-page .page-heading h1{margin-bottom:8px;font-size:2.5rem}.search-page .page-heading p{margin-bottom:0;font-size:.95rem}.hub-page{background:0 0;border:0;padding-top:0}.hub-page>h1{font-size:clamp(2rem,1.5rem + 2vw,2.8rem)}.hub-page .answer-card{max-width:820px}.hub-page .link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-page .link-card{flex-direction:column;justify-content:center;min-height:125px;display:flex}.site-footer{background:#fff;margin-top:64px;padding-block:42px 28px}.site-footer__top{justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:28px;display:flex}.site-footer__intro{color:var(--ink-soft);margin:12px 0 0;font-size:.83rem}.site-footer nav{gap:12px 20px;max-width:400px;margin:0;padding-top:5px}.site-footer nav a{font-weight:600;text-decoration:none}.site-footer nav a:hover{text-decoration:underline}.site-footer .legal{border-top:1px solid var(--line);padding-top:20px}@media (max-width:900px){.hub-page .link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.wrap{padding-inline:18px}.site-header__inner{gap:12px;height:64px}.logo{gap:7px;font-size:1rem}.logo__image{width:30px;height:30px}.logo__tagline{display:none}.site-nav{gap:0;font-size:.8rem}.site-nav a{padding:8px 7px}.search-glyph{display:none}.article{border:0;border-radius:0;margin-top:0;padding:28px 20px 36px}.article>h1{font-size:1.8rem}.answer-card{padding:20px}.article .answer-card p{font-size:1rem}.toc{padding:18px 14px}.toc ol,.link-grid{grid-template-columns:1fr}.hub-page{padding-top:28px}.hub-page .link-grid{grid-template-columns:1fr}.search-page{padding-top:20px}.search-page .page-heading h1{font-size:2rem}.page-heading{margin-block:24px}.page-heading h1{font-size:2rem}.site-footer{margin-top:36px;padding-top:30px}.site-footer__top{flex-direction:column;gap:22px}}@media (max-width:360px){.site-header__inner{gap:8px;padding-inline:12px}.site-header .site-nav a{padding-inline:5px}}.template-page{max-width:980px}.template-download h2{margin-top:0}.template-download .btn{border-radius:var(--radius-m);background:var(--brand);color:#fff;text-align:center;justify-content:center;align-items:center;max-width:100%;min-height:48px;padding:12px 20px;font-weight:750;line-height:1.6;text-decoration:none;display:inline-flex}.template-download .btn:hover{background:var(--brand-deep);color:#fff}.template-file-info{color:var(--ink-soft);font-size:.85rem}.template-table{overflow-x:auto}.template-table table{width:100%;min-width:560px}.template-table th,.template-table td{vertical-align:top;text-align:left;padding:12px}.template-hash{overflow-wrap:anywhere;font-size:.85rem}.template-page .link-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
