:root{--dur-press:.1s;--dur-hover:.18s;--ease-out:cubic-bezier(.2,.7,.3,1);--ease-spring:linear(0, .3132 3.6%, .578 7.4%, .779 11.6%, .9104 16.4%, .9808 22%, 1.0074 29.2%, 1.0092 38.6%, 1 100%)}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:400 599;src:local(HiraKakuProN-W3),local(Hiragino Kaku Gothic ProN W3),local(Hiragino Sans W3);unicode-range:U+2010-203F,U+30??,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF;font-feature-settings:"kern" 0;ascent-override:116%;descent-override:28.8%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:600 900;src:local(HiraKakuProN-W6),local(Hiragino Kaku Gothic ProN W6),local(Hiragino Sans W6);unicode-range:U+2010-203F,U+30??,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF;font-feature-settings:"kern" 0;ascent-override:116%;descent-override:28.8%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:400 599;src:local(Helvetica Neue),local(HelveticaNeue),local(Arial),local(ArialMT);unicode-range:U+30-39;size-adjust:83.9%;ascent-override:138.26%;descent-override:34.33%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:400 599;src:local(Helvetica Neue),local(HelveticaNeue),local(Arial),local(ArialMT);unicode-range:U+41-5A;size-adjust:93.5%;ascent-override:124.06%;descent-override:30.8%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:400 599;src:local(Helvetica Neue),local(HelveticaNeue),local(Arial),local(ArialMT);unicode-range:U+61-7A;size-adjust:97.7%;ascent-override:118.73%;descent-override:29.48%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:400 599;src:local(Helvetica Neue),local(HelveticaNeue),local(Arial),local(ArialMT);unicode-range:U+2?,U+3A-40,U+5B-60,U+7B-FF;size-adjust:109.8%;ascent-override:105.65%;descent-override:26.23%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:600 900;src:local(Helvetica Neue Bold),local(HelveticaNeue-Bold),local(Arial Bold),local(Arial-BoldMT);unicode-range:U+30-39;size-adjust:84.6%;ascent-override:137.12%;descent-override:34.04%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:600 900;src:local(Helvetica Neue Bold),local(HelveticaNeue-Bold),local(Arial Bold),local(Arial-BoldMT);unicode-range:U+41-5A;size-adjust:92%;ascent-override:126.09%;descent-override:31.3%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:600 900;src:local(Helvetica Neue Bold),local(HelveticaNeue-Bold),local(Arial Bold),local(Arial-BoldMT);unicode-range:U+61-7A;size-adjust:91.3%;ascent-override:127.05%;descent-override:31.54%;line-gap-override:0%}@font-face{font-family:ZKG Fallback;font-style:normal;font-weight:600 900;src:local(Helvetica Neue Bold),local(HelveticaNeue-Bold),local(Arial Bold),local(Arial-BoldMT);unicode-range:U+2?,U+3A-40,U+5B-60,U+7B-FF;size-adjust:107.1%;ascent-override:108.31%;descent-override:26.89%;line-gap-override:0%}@font-face{font-family:SMB1 Fallback;font-style:normal;font-weight:400 599;src:local(HiraMinProN-W3),local(Hiragino Mincho ProN W3);font-feature-settings:"kern" 0;ascent-override:116%;descent-override:28.8%;line-gap-override:0%}@font-face{font-family:SMB1 Fallback;font-style:normal;font-weight:600 900;src:local(HiraMinProN-W6),local(Hiragino Mincho ProN W6);font-feature-settings:"kern" 0;ascent-override:116%;descent-override:28.8%;line-gap-override:0%}@font-face{font-family:SM Fallback;font-style:normal;font-weight:400 599;src:local(HiraMinProN-W3),local(Hiragino Mincho ProN W3);font-feature-settings:"kern" 0;ascent-override:90%;descent-override:25%;line-gap-override:0%}@font-face{font-family:SM Fallback;font-style:normal;font-weight:600 900;src:local(HiraMinProN-W6),local(Hiragino Mincho ProN W6);font-feature-settings:"kern" 0;ascent-override:90%;descent-override:25%;line-gap-override:0%}@font-face{font-family:RM Fallback;font-style:normal;font-weight:400 599;src:local(Menlo),local(Courier New);unicode-range:U+20-FF;size-adjust:99.7%;ascent-override:105.12%;descent-override:27.18%;line-gap-override:0%}@font-face{font-family:RM Fallback;font-style:normal;font-weight:600 900;src:local(Menlo Bold),local(Menlo-Bold),local(Courier New Bold);unicode-range:U+20-FF;size-adjust:99.7%;ascent-override:105.12%;descent-override:27.18%;line-gap-override:0%}:root{--bg:#fbf8f1;--bg2:#f4eee1;--surf-a:#fff;--surf-b:#fcfaf4;--surf2-a:#faf6ec;--surf2-b:#f4eee1;--ink:#2c2a26;--muted:#6b655b;--faint:#6c665e;--amber:#ba7517;--amber-deep:#8f5910;--amber-soft:#f3e7cf;--line:#e8e0d0;--line-strong:#d6cbb5;--up:#2e7d52;--down:#c0492f;--radius:20px;--radius-sm:14px;--shadow:0 1px 2px #2c2a260a, 0 8px 28px -12px #2c2a2624}:root[data-theme=dark]{--bg:#171511;--bg2:#1e1b16;--surf-a:#211e18;--surf-b:#1b1813;--surf2-a:#231f18;--surf2-b:#1c1914;--ink:#f0eadc;--muted:#b0a795;--faint:#988f7e;--amber:#e0a94b;--amber-deep:#f0c575;--amber-soft:#33291699;--line:#332e25;--line-strong:#48402f;--up:#5fb783;--down:#e08866;--shadow:0 1px 2px #0000004d, 0 10px 30px -14px #00000080}*{box-sizing:border-box}html{text-spacing-trim:space-all;scroll-behavior:smooth;color-scheme:light;scroll-padding-top:calc(var(--hdr-h,63px) + 14px)}:root[data-theme=dark]{color-scheme:dark}body{color:var(--ink);background:linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);-webkit-font-smoothing:antialiased;font-feature-settings:normal;background-attachment:fixed;margin:0;font-family:Zen Kaku Gothic New,ZKG Fallback,system-ui,sans-serif;line-height:1.85}html{overflow-x:clip}@supports not (overflow:clip){html{overflow-x:hidden}}.mono{font-feature-settings:normal;font-family:Roboto Mono,RM Fallback,monospace}.wrap{max-width:1060px;margin:0 auto;padding:0 22px}a{color:inherit}:focus-visible{outline:2.5px solid var(--amber);outline-offset:3px;border-radius:4px}.skip-link{z-index:200;width:1px;height:1px;position:absolute;top:0;left:-9999px;overflow:hidden}.skip-link:focus{background:var(--surf-a);width:auto;height:auto;color:var(--amber-deep);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:10px;padding:10px 18px;font-size:.86rem;font-weight:700;position:fixed;top:14px;left:14px;overflow:visible}:root[data-theme=dark] .skip-link:focus{color:var(--amber)}header{z-index:50;background:linear-gradient(180deg, color-mix(in srgb,var(--bg) 94%,transparent), color-mix(in srgb,var(--bg) 80%,transparent));backdrop-filter:blur(12px);border-bottom:1px solid #0000;transition:border-color .25s;position:sticky;top:0}header:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(to bottom, color-mix(in srgb, var(--ink) 8%, transparent), transparent);height:10px;transition:opacity .25s;position:absolute;top:100%;left:0;right:0}html[data-scrolled] header{border-bottom-color:var(--line)}html[data-scrolled] header:after{opacity:1}.hbar{justify-content:space-between;align-items:center;height:62px;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:11px;font-weight:700;display:flex}.brand .mk{color:var(--ink);font-family:Shippori Mincho B1,SMB1 Fallback,serif;font-size:1.06rem}.brand .tk{letter-spacing:.06em;color:var(--amber-deep);background:var(--amber-soft);border-radius:999px;padding:3px 8px;font-size:.66rem;font-weight:700}:root[data-theme=dark] .brand .tk{color:var(--amber)}.hnav{align-items:center;gap:18px;display:flex}.hnav a{color:var(--muted);font-size:.82rem;font-weight:500;text-decoration:none}.hnav a:hover{color:var(--ink)}.tg{border:1px solid var(--line);background:linear-gradient(160deg,var(--surf-a),var(--surf-b));cursor:pointer;width:40px;height:40px;color:var(--muted);transition:transform var(--dur-press) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.tg svg{width:18px;height:18px}.tg .sun{display:none}:root[data-theme=dark] .tg .sun{display:block}:root[data-theme=dark] .tg .moon{display:none}@media (width<=560px){.hnav .hl{display:none}}@media (width<=440px){.brand .tk{display:none}.hbar{height:auto;min-height:62px;padding-top:6px;padding-bottom:6px}}@media (width<=380px){.hnav{gap:8px}.hnav .ruby-toggle{padding:0 9px}}.hero{padding:54px 0 26px}.eyebrow{letter-spacing:.04em;color:var(--amber-deep);align-items:center;gap:8px;margin-bottom:18px;font-size:.78rem;font-weight:700;display:inline-flex}:root[data-theme=dark] .eyebrow{color:var(--amber)}.eyebrow:before{content:"";background:var(--amber);width:8px;height:8px;box-shadow:0 0 0 4px var(--amber-soft);border-radius:50%}h1{letter-spacing:0;margin:0 0 20px;font-family:Shippori Mincho B1,SMB1 Fallback,serif;font-size:clamp(2.1rem,7.2vw,3.5rem);font-weight:800;line-height:1.24}.lede{color:var(--muted);max-width:42em;margin:0;font-size:clamp(1rem,2.4vw,1.12rem)}.lede b{color:var(--ink);font-weight:700}.hero-cta{margin:22px 0 0}.hero-go{background:var(--amber-deep);color:#fff;box-shadow:var(--shadow);transition:transform var(--dur-hover) var(--ease-out);border-radius:999px;padding:12px 30px;font-size:1.02rem;font-weight:700;line-height:1.6;text-decoration:none;display:inline-block}:root[data-theme=dark] .hero-go{color:var(--bg)}.hero-go:focus-visible{outline-offset:4px}@media (width>=561px){.hero-cta{display:none}}.tldr{border-radius:var(--radius-sm);background:linear-gradient(165deg,var(--amber-soft),color-mix(in srgb,var(--amber-soft) 60%,var(--surf-b)));border:1px solid color-mix(in srgb,var(--amber) 24%,var(--line));align-items:flex-start;gap:10px;max-width:40em;margin-top:24px;padding:13px 17px;display:inline-flex}.tldr svg{width:19px;height:19px;color:var(--amber-deep);flex:none;margin-top:2px}:root[data-theme=dark] .tldr svg{color:var(--amber)}.tldr p{color:var(--ink);margin:0;font-size:.9rem}.tldr b{color:var(--amber-deep)}:root[data-theme=dark] .tldr b{color:var(--amber)}section{padding:30px 0}.shead{margin-bottom:22px}.snum{letter-spacing:.08em;color:var(--amber-deep);margin-bottom:8px;font-family:Roboto Mono,RM Fallback,monospace;font-size:.74rem;font-weight:700;display:block}:root[data-theme=dark] .snum{color:var(--amber)}.shead h2{margin:0 0 10px;font-family:Shippori Mincho B1,SMB1 Fallback,serif;font-size:clamp(1.45rem,4vw,1.95rem);font-weight:700;line-height:1.4}.shead p{color:var(--muted);max-width:44em;margin:0;font-size:.96rem}.shead p b{color:var(--ink)}.intro{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=680px){.intro{grid-template-columns:1fr}}.icard{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(168deg,var(--surf-a),var(--surf-b));box-shadow:var(--shadow);padding:20px}.icard h3{margin:0 0 8px;font-family:Shippori Mincho B1,SMB1 Fallback,serif;font-size:1.05rem;font-weight:700}.icard p{color:var(--muted);margin:0;font-size:.92rem}.icard p b{color:var(--ink)}.icard .ic{background:var(--amber-soft);width:34px;height:34px;color:var(--amber-deep);border-radius:10px;place-items:center;margin-bottom:12px;display:grid}:root[data-theme=dark] .icard .ic{color:var(--amber)}.icard .ic svg{width:19px;height:19px}.guide{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=760px){.guide{grid-template-columns:repeat(2,1fr)}}@media (width<=420px){.guide{grid-template-columns:1fr}}.gcard{border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(168deg,var(--surf2-a),var(--surf2-b));padding:16px}.gcard .gt{color:var(--ink);font-family:Roboto Mono,RM Fallback,monospace;font-size:.96rem;font-weight:700}.gcard .gk{color:var(--faint);margin:2px 0 9px;font-size:.72rem;font-weight:600}.gcard p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.7}.sector{margin-top:30px}.sector:first-child{margin-top:0}.sectlab{align-items:center;gap:12px;margin-bottom:14px;display:flex}.sectlab h3{margin:0;font-family:Shippori Mincho B1,SMB1 Fallback,serif;font-size:1.12rem;font-weight:700}.sectlab .ln{background:var(--line);flex:1;height:1px}.sectlab .cnt{color:var(--faint);font-family:Roboto Mono,RM Fallback,monospace;font-size:.72rem}.cards{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=680px){.cards{grid-template-columns:1fr}}.co{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(168deg,var(--surf-a),var(--surf-b));box-shadow:var(--shadow);transition:transform var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out);padding:20px 20px 18px 23px;text-decoration:none;display:block;position:relative;overflow:hidden}.co:before{content:"";background:var(--accent);width:5px;position:absolute;top:0;bottom:0;left:0}.co.bonus{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}@media (hover:hover){.co:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateY(-3px);box-shadow:0 14px 36px -16px #2c2a264d}:root[data-theme=dark] .co:hover{box-shadow:0 16px 40px -18px #0009}}.co .top{align-items:center;gap:12px;margin-bottom:11px;display:flex}.co .badge{background:color-mix(in srgb,var(--accent) 14%,var(--surf-a));width:42px;height:42px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .co .badge{background:color-mix(in srgb,var(--accent) 22%,var(--surf-a))}.co .badge svg{width:22px;height:22px}.co .nm{color:var(--ink);font-family:Shippori Mincho B1,SMB1 Fallback,serif;font-size:1.18rem;font-weight:700;line-height:1.2}.co .code{color:var(--faint);margin-top:3px;font-family:Roboto Mono,RM Fallback,monospace;font-size:.72rem;font-weight:600}.co .hook{color:var(--muted);min-height:2.6em;margin:0 0 14px;font-size:.9rem}.co .hook b{color:var(--ink)}.co .foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.co .stat{align-items:baseline;gap:7px;display:flex}.co .stat .v{color:var(--accent-light-text,var(--accent));font-family:Roboto Mono,RM Fallback,monospace;font-size:1.12rem;font-weight:700}.co .stat .l{color:var(--faint);font-size:.72rem;font-weight:600}.co .go{color:var(--accent-light-text,var(--accent));align-items:center;gap:5px;font-size:.82rem;font-weight:700;display:inline-flex}.co .go svg{width:15px;height:15px}:root[data-theme=dark] .co .stat .v,:root[data-theme=dark] .co .go{color:var(--accent-dark)}.crosslink{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(168deg,var(--surf2-a),var(--surf2-b));transition:transform var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out);align-items:center;gap:14px;margin-top:30px;padding:18px 22px;text-decoration:none;display:flex}@media (hover:hover){.crosslink:hover{border-color:var(--amber);transform:translateY(-2px)}}.crosslink .cl-ic{background:var(--amber-soft);width:44px;height:44px;color:var(--amber-deep);border-radius:12px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .crosslink .cl-ic{color:var(--amber)}.crosslink .cl-ic svg{width:23px;height:23px}.crosslink>div{min-width:0}.crosslink .cl-t{color:var(--ink);font-family:Shippori Mincho B1,SMB1 Fallback,serif;font-size:1.04rem;font-weight:700}.crosslink .cl-d{color:var(--muted);margin-top:2px;font-size:.82rem}.crosslink .cl-go{color:var(--amber-deep);white-space:nowrap;margin-left:auto;font-size:.85rem;font-weight:700}:root[data-theme=dark] .crosslink .cl-go{color:var(--amber)}@media (width<=480px){.crosslink{flex-wrap:wrap;row-gap:10px}.crosslink .cl-go{text-align:right;flex-basis:100%;margin-left:0}}.co:active{transition-duration:var(--dur-press);transform:translateY(-1px)scale(.985)}.crosslink:active{transition-duration:var(--dur-press);transform:scale(.99)}.tg:active{transform:scale(.92)}.hl:active{opacity:.55}.hero-go:active{transition-duration:var(--dur-press);transform:scale(.97)}a,button{-webkit-tap-highlight-color:transparent}.note{color:var(--faint);margin-top:18px;font-size:.82rem;line-height:1.7}.note b{color:var(--muted)}footer{border-top:1px solid var(--line);background:linear-gradient(180deg,var(--bg),var(--bg2));margin-top:36px;padding:28px 0 46px}.disc{color:var(--faint);max-width:60em;font-size:.78rem;line-height:1.75}.disc b{color:var(--muted)}.fmeta{color:var(--faint);flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-family:Roboto Mono,RM Fallback,monospace;font-size:.74rem;display:flex}.fmeta a{color:var(--amber-deep);text-decoration:none}:root[data-theme=dark] .fmeta a{color:var(--amber)}@media (prefers-reduced-motion:reduce){.co:hover,.crosslink:hover,.co:active,.crosslink:active,.tg:active,.hero-go:active{transform:none}}@media (prefers-reduced-transparency:reduce){header{background:var(--bg);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){html[data-scrolled] header{border-bottom-color:var(--line-strong)}}@media print{.tg,.hero-cta{display:none!important}.defterm-tip{display:none}}.defterm-phantom-rt{visibility:hidden;color:var(--ink)}.defterm{-webkit-appearance:none;appearance:none;border:none;border-bottom:1.5px dotted var(--amber);color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;cursor:help;transition:opacity var(--dur-press) var(--ease-out);background:0 0;padding:0;display:inline;position:relative}.defterm:active{opacity:.65}.defterm:after{content:"?";color:#fff;background:linear-gradient(var(--amber),var(--amber));vertical-align:super;border-radius:999px;margin-left:2px;padding:1px 4px;font-family:Zen Kaku Gothic New,ZKG Fallback,sans-serif;font-size:.62em;font-weight:800;line-height:1}.defterm-tip{background:linear-gradient(var(--surf-a),var(--surf-a));width:min(280px,78vw);color:var(--ink);border:1.5px solid var(--line-strong);letter-spacing:.01em;text-align:left;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;z-index:210;border-radius:12px;padding:12px 15px;font-family:Zen Kaku Gothic New,ZKG Fallback,sans-serif;font-size:.82rem;font-weight:500;line-height:1.7;transition:opacity .18s,visibility .18s,transform .18s;position:fixed;transform:translateY(6px)}.defterm-tip:after{content:"";top:100%;left:var(--tt-arrow,50%);border:6px solid #0000;border-top-color:var(--surf-a);position:absolute;transform:translate(-50%)}.defterm-tip.tt-below{transform:translateY(-6px)}.defterm-tip.tt-below:after{border-top-color:#0000;border-bottom-color:var(--surf-a);top:auto;bottom:100%}.defterm:hover .defterm-tip,.defterm:focus-visible .defterm-tip,.defterm.active .defterm-tip{opacity:1;visibility:visible;transform:translateY(0)}.defterm:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:2px}@media (hover:none){.defterm{background:linear-gradient(var(--amber-soft),var(--amber-soft));border-radius:4px;padding:0 3px 0 1px}}
