:root{--color-bg: #fbf9f4;--color-page: #f4f0e6;--color-surface: #f7f3ea;--color-surface-muted: #ece6d8;--color-card: #fffdf8;--color-text: #1d1e22;--color-text-muted: #5a574f;--color-border: #e2dccd;--color-border-strong: #85806f;--color-rule: #1d1e22;--color-ink: #17181c;--color-ink-2: #2c2e35;--color-ink-3: #c8381e;--color-on-ink: #f1ede4;--color-on-ink-muted: #bdb7aa;--grad-brand: linear-gradient(120deg, #17181c, #2c2e35);--color-accent: #1f4a96;--color-accent-soft: #163a78;--color-cta: #b9331a;--color-cta-deep: #a42c15;--grad-cta: linear-gradient(180deg, #c8401f, #b9331a);--color-up: #b9331a;--tool-cc: #a84a24;--tool-cc-soft: #f6e6dc;--tool-gpt: #17695f;--tool-gpt-soft: #dcefe9;--color-sec-learn: #2b4a8b;--color-sec-practice: #1f6e50;--color-sec-mechanism: #8a5509;--color-sec-glossary: #6b4fa0;--color-sec-books: #8e3b46;--color-sec-materials: #1b6b7a;--badge-ok-bg: #e5f1e6;--badge-ok-fg: #1d6b38;--badge-ok-bd: #bcdcc3;--badge-src-bg: #e6edf8;--badge-src-fg: #1f4a96;--badge-src-bd: #c2d1ea;--badge-lv-bg: #efe9f7;--badge-lv-fg: #5f4594;--badge-lv-bd: #d8cdec;--badge-fig-bg: #f8ebdc;--badge-fig-fg: #96500f;--badge-fig-bd: #ecd2b4;--font-sans: "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", Meiryo, system-ui, sans-serif;--font-display: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-num: "JetBrains Mono", ui-monospace, Consolas, var(--font-sans);--maxw: 720px;--maxw-wide: 1160px;--radius: 6px;--radius-s: 3px;--shadow-card: 0 1px 0 rgba(29, 30, 34, .04), 0 1px 2px rgba(29, 30, 34, .05);--shadow-float: 0 18px 40px -18px rgba(23, 24, 28, .45);--ease: cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:1rem}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.85;font-size:16px;letter-spacing:.02em;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;text-rendering:optimizeLegibility}::selection{background:#f2c9bd;color:var(--color-text)}a{color:var(--color-accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-accent-soft);text-decoration-thickness:2px}h1,h2,h3{line-height:1.45;font-feature-settings:"palt";letter-spacing:.02em}h1,h2{font-family:var(--font-display);font-weight:700}code{background:var(--color-surface-muted);padding:.15em .4em;border-radius:3px;font-size:.88em;font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--color-cta);outline-offset:3px;border-radius:2px}img{max-width:100%}.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-mono);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .6rem}.eyebrow:before{content:"";width:1.6em;height:1px;background:currentColor}.masu{display:flex;flex-wrap:wrap;gap:3px;padding:0;margin:0;list-style:none}.masu>i{width:12px;height:12px;border:1px solid var(--color-border-strong);background:var(--color-card);border-radius:1px;display:block}.masu>i.done{background:var(--color-cta);border-color:var(--color-cta)}.masu>i.here{box-shadow:0 0 0 2px var(--color-bg),0 0 0 3px var(--color-text)}.stamp{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.72rem;line-height:1;color:var(--color-cta);border:1.5px solid var(--color-cta);border-radius:3px;padding:.22em .3em;transform:rotate(-6deg);letter-spacing:0}.stamp[hidden]{display:none}[data-read-legend] .stamp{font-size:.86rem;padding:.25em .35em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.7rem 1.4rem;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;letter-spacing:.04em;transition:transform .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}.btn-ink{background:var(--color-text);color:var(--color-bg)}.btn-ink:hover{background:var(--color-cta);color:#fff}.btn-line{border:1px solid var(--color-text);color:var(--color-text);background:transparent}.btn-line:hover{background:var(--color-text);color:var(--color-bg)}.btn .arr{transition:transform .2s var(--ease)}.btn:hover .arr{transform:translate(3px)}.tool-tag{display:inline-block;font-family:var(--font-mono);font-size:.74rem;font-weight:700;letter-spacing:.02em;padding:.1em .55em;border-radius:var(--radius-s);border:1px solid currentColor;line-height:1.6;white-space:nowrap}.tool-tag.t-cc{color:var(--tool-cc);background:var(--tool-cc-soft)}.tool-tag.t-gpt{color:var(--tool-gpt);background:var(--tool-gpt-soft)}[hidden]{display:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.skip[data-astro-cid-5hce7sga]{position:absolute;left:.5rem;top:-3rem;z-index:10;background:var(--color-text);color:var(--color-bg);padding:.5rem 1rem;border-radius:var(--radius);text-decoration:none;font-weight:700}.skip[data-astro-cid-5hce7sga]:focus{top:.5rem}.site-head[data-astro-cid-5hce7sga]{background:var(--color-bg);border-bottom:1px solid var(--color-text)}.site-head-inner[data-astro-cid-5hce7sga]{max-width:var(--maxw-wide);margin:0 auto;padding:.9rem 1.25rem .7rem;display:flex;gap:1.4rem;align-items:center}.brand[data-astro-cid-5hce7sga]{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;color:var(--color-text);text-decoration:none;white-space:nowrap}.brand-mark[data-astro-cid-5hce7sga]{width:34px;height:34px;border-radius:4px;flex-shrink:0;background:var(--color-cta);color:var(--color-bg);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.15rem;font-weight:700;box-shadow:inset 0 0 0 2px var(--color-cta),inset 0 0 0 3px #fbf9f48c}.brand-word[data-astro-cid-5hce7sga]{font-family:var(--font-display);font-weight:700;font-size:1.32rem;letter-spacing:.06em}.brand-read[data-astro-cid-5hce7sga]{font-family:var(--font-mono);font-size:.62rem;font-weight:700;color:var(--color-text-muted);letter-spacing:.2em;padding-top:.35rem}.brand-tag[data-astro-cid-5hce7sga]{margin:0;font-size:.74rem;line-height:1.55;color:var(--color-text-muted);border-left:1px solid var(--color-border-strong);padding-left:1rem}.head-search[data-astro-cid-5hce7sga]{margin-left:auto;display:flex;align-items:center;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-card);padding:0 .3rem 0 1rem;min-width:280px;transition:border-color .2s}.head-search[data-astro-cid-5hce7sga]:focus-within{border-color:var(--color-text)}.head-search[data-astro-cid-5hce7sga] input[data-astro-cid-5hce7sga]{border:0;background:transparent;font:inherit;font-size:.88rem;color:var(--color-text);padding:.55rem 0;flex:1;min-width:0;outline:none}.head-search[data-astro-cid-5hce7sga] input[data-astro-cid-5hce7sga]::placeholder{color:var(--color-text-muted)}.head-search[data-astro-cid-5hce7sga] button[data-astro-cid-5hce7sga]{width:36px;height:36px;border-radius:50%;border:0;background:var(--color-text);color:var(--color-bg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.head-search[data-astro-cid-5hce7sga] button[data-astro-cid-5hce7sga]:hover{background:var(--color-cta)}@media (max-width: 1020px){.brand-tag[data-astro-cid-5hce7sga]{display:none}}@media (max-width: 760px){.head-search[data-astro-cid-5hce7sga],.brand-read[data-astro-cid-5hce7sga]{display:none}.site-head-inner[data-astro-cid-5hce7sga]{padding:.6rem 1rem .5rem}}.tabs[data-astro-cid-5hce7sga]{background:var(--color-bg);border-top:1px solid var(--color-border)}.tabs-inner[data-astro-cid-5hce7sga]{max-width:var(--maxw-wide);margin:0 auto;padding:0 1.25rem;display:flex;flex-wrap:wrap;gap:0 .2rem}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{position:relative;color:var(--color-text);font-weight:700;font-size:.88rem;padding:.6rem .85rem;white-space:nowrap;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:-1px;height:3px;background:var(--color-cta);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{color:var(--color-text)}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover:after{transform:scaleX(.5)}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga].on:after{transform:scaleX(1)}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:first-child{padding-left:0}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:first-child:after{left:0}.t-short[data-astro-cid-5hce7sga]{display:none}.sp-only[data-astro-cid-5hce7sga]{display:none!important}@media (max-width: 760px){.tabs-inner[data-astro-cid-5hce7sga]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:0}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga],.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:first-child{padding:.5rem .2rem;font-size:.78rem;letter-spacing:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);white-space:normal;text-align:center;line-height:1.35}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:nth-child(4n){border-right:0}.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:after,.tabs[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:first-child:after{left:0;right:0;bottom:-1px}.t-long[data-astro-cid-5hce7sga]{display:none}.t-short[data-astro-cid-5hce7sga]{display:inline}.sp-only[data-astro-cid-5hce7sga]{display:inline-flex!important}}main[data-astro-cid-5hce7sga]{display:block}.site-foot[data-astro-cid-5hce7sga]{background:var(--color-ink);color:var(--color-on-ink-muted);margin-top:5rem}.site-foot-inner[data-astro-cid-5hce7sga]{max-width:var(--maxw-wide);margin:0 auto;padding:3.5rem 1.25rem 2rem}.foot-hero[data-astro-cid-5hce7sga]{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.4rem;align-items:center;padding-bottom:2.4rem;border-bottom:1px solid #3a3c44}.foot-mark[data-astro-cid-5hce7sga]{grid-row:span 2;margin:0;width:64px;height:64px;border-radius:6px;background:var(--color-cta);color:var(--color-bg);font-family:var(--font-display);font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 3px var(--color-cta),inset 0 0 0 4.5px #fbf9f480}.foot-copyline[data-astro-cid-5hce7sga]{margin:0;font-family:var(--font-display);font-weight:700;color:var(--color-on-ink);font-size:clamp(1.5rem,3.2vw,2.2rem);line-height:1.35;letter-spacing:.06em}.foot-lead[data-astro-cid-5hce7sga]{margin:0;font-size:.84rem;line-height:1.8;max-width:40em}.foot-cols[data-astro-cid-5hce7sga]{display:grid;grid-template-columns:1fr 1fr 2fr 1fr;gap:1.6rem 2rem;padding:2.2rem 0}.foot-col[data-astro-cid-5hce7sga]{display:flex;flex-direction:column}.foot-col-wide[data-astro-cid-5hce7sga]{display:grid;grid-template-columns:1fr 1fr;column-gap:1.4rem;align-content:start}.foot-col-wide[data-astro-cid-5hce7sga] .foot-h[data-astro-cid-5hce7sga]{grid-column:1 / -1}.foot-h[data-astro-cid-5hce7sga]{margin:0 0 .6rem;padding-bottom:.5rem;border-bottom:1px solid #3a3c44;font-family:var(--font-mono);font-size:.76rem;font-weight:700;letter-spacing:.16em;color:var(--color-on-ink-muted)}.foot-col[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{color:var(--color-on-ink);text-decoration:none;font-size:.9rem;font-weight:700;min-height:44px;display:inline-flex;align-items:center;line-height:1.5}.foot-col[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--color-cta)}@media (max-width: 860px){.foot-cols[data-astro-cid-5hce7sga]{grid-template-columns:1fr 1fr}.foot-col-wide[data-astro-cid-5hce7sga]{grid-column:1 / -1;grid-row:2}}.foot-disclaimer[data-astro-cid-5hce7sga]{margin:0;font-size:.72rem;line-height:1.85;border-top:1px solid #3a3c44;padding-top:1.2rem}.foot-copy[data-astro-cid-5hce7sga]{margin:.9rem 0 0;font-size:.72rem;color:var(--color-on-ink-muted);font-family:var(--font-num)}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.container-wide{max-width:var(--maxw-wide);margin:0 auto;padding:0 1.25rem}body.has-pagebg{background:var(--color-page)}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
