/*! (c) 2025 Kazuki Kawamura (casp.jp). All rights reserved. Unauthorized copying or redistribution of this stylesheet is prohibited. */
body[data-page=thesis]{--t-bg:#0a0a0b;--t-band:#0c0c0e;--t-band-alt:#0c0c0f;--t-code:#101013;--t-heading:#f4f4f6;--t-strong:#e8e8ea;--t-body-strong:#dcdce2;--t-body:#b4b4bd;--t-soft:#a8a8b1;--t-muted:#8b8b93;--t-accent:#5b93f5;--t-accent-soft:#a8c6fb;--t-accent-wash:rgba(91, 147, 245, 0.1);--t-line:rgba(255, 255, 255, 0.07);--t-line-strong:rgba(255, 255, 255, 0.1);--t-line-faint:rgba(255, 255, 255, 0.05);--t-hatch:rgba(255, 255, 255, 0.035);--t-gutter:72px;--t-rail:256px;background:var(--t-bg);--t-bg:var(--bg-primary);--t-heading:var(--text-primary);--t-strong:var(--text-primary);--t-body-strong:var(--text-primary);--t-body:var(--text-primary);--t-soft:var(--text-secondary);--t-muted:var(--text-secondary);--t-accent:var(--primary-color);--t-gutter:0px}.thesis{max-width:var(--container-max-width);margin:0 auto;font-family:var(--font-family-primary);color:var(--t-body)}[data-theme=light] body[data-page=thesis]{--t-bg:#ffffff;--t-band:#f7f7f9;--t-band-alt:#f5f5f7;--t-code:#f4f4f6;--t-heading:#111114;--t-strong:#1d1d1f;--t-body-strong:#26262b;--t-body:#3f3f46;--t-soft:#52525b;--t-muted:#6b6b74;--t-accent:#0a63d8;--t-accent-soft:#0a4fae;--t-accent-wash:rgba(10, 99, 216, 0.07);--t-line:rgba(0, 0, 0, 0.09);--t-line-strong:rgba(0, 0, 0, 0.13);--t-line-faint:rgba(0, 0, 0, 0.06);--t-hatch:rgba(0, 0, 0, 0.045)}body[data-page=thesis] .archive-page{background:var(--t-bg);padding-top:126px}.thesis a{color:inherit;text-decoration:none}.thesis-masthead{border-bottom:1px solid var(--t-line-strong)}.thesis-masthead-inner{padding:64px var(--t-gutter) 56px;display:grid;grid-template-columns:1fr 340px;gap:72px;align-items:end}.thesis-eyebrow{font-family:var(--font-family-mono);color:var(--t-accent)}.thesis-title{font-size:clamp(2rem,4.4vw,48px);font-weight:700;color:var(--t-heading)}.thesis-subtitle{font-size:17px;font-weight:500;line-height:1.8;color:var(--t-body-strong);margin:0 0 32px;max-width:520px}.thesis-actions{display:flex;flex-wrap:wrap}.thesis-action{display:inline-flex;align-items:center;gap:.6em;border:1px solid transparent;font-weight:500;transition:opacity var(--transition-base),border-color var(--transition-base)}.thesis-action--primary{background:var(--t-accent);font-weight:700}[data-theme=light] .thesis-action--primary{color:#fff}.thesis-action--secondary{color:var(--t-body-strong)}.thesis-action:focus-visible,.thesis-action:hover{opacity:.86}.thesis-action--secondary:focus-visible,.thesis-action--secondary:hover{border-color:var(--t-accent);color:var(--t-accent);opacity:1}.thesis-action svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.thesis-author{border-left:1px solid var(--t-line-strong)}.thesis strong,.thesis-author-name{color:var(--t-strong)}.thesis-author-reading,.thesis-rail-list a{color:var(--t-muted)}.thesis-author-affil,.thesis-author-degree{color:var(--t-soft)}.thesis-author-degree{border-top:1px solid var(--t-line)}.thesis-layout{display:grid;grid-template-columns:var(--t-rail) 1fr;align-items:start}.thesis-rail{padding:56px 32px 56px var(--t-gutter);border-right:1px solid var(--t-line);position:sticky;top:calc(var(--nav-height) + 16px)}.thesis-rail-label{font-family:var(--font-family-mono);font-size:10px;letter-spacing:.16em;color:var(--t-muted);margin-bottom:18px}.thesis-rail-list{display:flex;list-style:none;margin:0;padding:0}.thesis-rail-list a{display:flex;gap:10px;transition:color var(--transition-base),background-color var(--transition-base)}.thesis-rail-list a:hover{color:var(--t-body-strong)}.thesis-rail-num{font-family:var(--font-family-mono);color:var(--t-muted)}.thesis-rail-list a.is-current{background:var(--t-accent-wash);color:var(--t-accent-soft)}.thesis-links a:hover .thesis-link-title,.thesis-rail-list a.is-current .thesis-rail-num,.thesis-toc li.is-core .thesis-toc-num{color:var(--t-accent)}.thesis-rail-sub a{padding:5px 10px 5px 42px;font-size:12.5px}.thesis-content{padding:56px var(--t-gutter)0;min-width:0}.thesis-h2{display:flex;align-items:baseline;font-weight:700;color:var(--t-heading)}.thesis-h2-num{font-family:var(--font-family-mono);font-size:11px;font-weight:400;letter-spacing:.1em;color:var(--t-accent)}.thesis-h2--feature{font-size:24px;font-weight:600}.thesis p{color:var(--t-body);margin:0 0 22px;text-wrap:pretty}.thesis strong{font-weight:500}.thesis em{font-style:italic}.thesis .thesis-definition{font-weight:500;color:var(--t-body-strong);margin:0 0 32px;padding-left:20px;border-left:2px solid var(--t-accent)}.thesis-phases{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--t-line-strong);border-bottom:1px solid var(--t-line-strong);padding:0;list-style:none}.thesis-phase{border-right:1px solid var(--t-line)}.thesis-phase:first-child{padding-left:0}.thesis-phase:last-child{padding-right:0;border-right:none}.thesis-phase-step{display:block;font-family:var(--font-family-mono);font-size:10px;letter-spacing:.14em;color:var(--t-muted);margin-bottom:8px}.thesis-phase-name{display:block;font-size:16px;font-weight:600;color:var(--t-accent);margin-bottom:10px}.thesis-phase-desc{display:block;font-size:13px;line-height:1.85;color:var(--t-soft)}.thesis-band{margin:0 calc(-1*var(--t-gutter));padding:64px var(--t-gutter);border-top:1px solid var(--t-line)}.thesis-band--wide{padding:80px var(--t-gutter)}.thesis-system{display:grid;align-items:center}.thesis-system-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin-bottom:20px}.thesis-system-head h3{font-weight:600;letter-spacing:-.02em;color:var(--t-heading);margin:0}.thesis-system-phase{font-size:10px;letter-spacing:.14em;color:var(--t-accent)}.thesis-system-text p{line-height:2.15;margin:0}.thesis-figure img{display:block;width:100%;height:auto;border:1px solid var(--t-line-strong);background:#fff;border:0;border-radius:0}[data-theme=dark] .thesis-figure img{opacity:.92}.thesis-kicker,.thesis-metrics,.thesis-system-phase{font-family:var(--font-family-mono)}.thesis-metrics{margin-top:14px;color:var(--t-muted)}.thesis .thesis-band-copy{margin:0}.thesis .thesis-band-copy+.thesis-band-copy,.thesis .thesis-band-copy--spaced{margin-bottom:40px}.thesis-kicker{font-size:10px;letter-spacing:.2em;color:var(--t-accent);margin-bottom:18px}.thesis-contents{display:grid;align-items:start}.thesis-contents-note{font-size:12.5px;line-height:1.9;color:var(--t-muted);margin:0}.thesis-toc{border-top:1px solid var(--t-line-strong);list-style:none;margin:0;padding:0}.thesis-links a,.thesis-toc li{display:grid;grid-template-columns:32px 1fr 52px;gap:18px;padding:14px 0;border-bottom:1px solid var(--t-line-faint);align-items:baseline}.thesis-toc-num{font-family:var(--font-family-mono);font-size:12px;color:var(--t-muted)}.thesis-toc-title{line-height:1.6;color:var(--t-body-strong)}.thesis-toc-page{font-family:var(--font-family-mono);font-size:11px;color:var(--t-muted);text-align:right}.thesis-links{border-top:1px solid var(--t-line-strong);list-style:none;margin:0 0 64px;padding:0}.thesis-links a{grid-template-columns:1fr auto;gap:24px;align-items:center;padding:20px 0}.thesis-link-title{display:block;font-weight:500;color:var(--t-strong);margin-bottom:6px;transition:color var(--transition-base)}.thesis-link-meta{display:block;font-size:12.5px;color:var(--t-muted);line-height:1.7}.thesis-link-arrow{font-size:13px;color:var(--t-muted)}.thesis-cite code{background:0 0;border:0;padding:0;font:inherit;color:inherit}.thesis-cite{font-family:var(--font-family-mono);font-size:12px;line-height:1.95;color:var(--t-soft);background:var(--t-code);padding:24px;margin:0;overflow-x:auto}@media (max-width:1100px){.thesis{--t-gutter:40px}.thesis-layout{grid-template-columns:1fr}.thesis-rail{position:static;border-right:none;border-bottom:1px solid var(--t-line);padding:32px var(--t-gutter)}.thesis-rail-list{flex-direction:row;flex-wrap:wrap;gap:4px 6px}.thesis-rail-sub{display:none}.thesis-masthead-inner{grid-template-columns:1fr;gap:40px;align-items:start}.thesis-author{border-left:none;border-top:1px solid var(--t-line-strong);padding-left:0;padding-top:24px}}@media (max-width:820px){.thesis{--t-gutter:24px}.thesis-masthead-inner{padding:40px var(--t-gutter) 36px}.thesis-content{padding-top:40px}.thesis-phases{grid-template-columns:1fr}.thesis-phase{padding:20px 0;border-right:none;border-bottom:1px solid var(--t-line)}.thesis-phase:last-child{border-bottom:none}.thesis-contents,.thesis-system{grid-template-columns:1fr;gap:28px}.thesis-system--flip .thesis-system-text{order:0}.thesis-system-head h3{font-size:24px}.thesis-contents{gap:24px}.thesis-toc li{grid-template-columns:24px 1fr 44px;gap:12px}.thesis-actions{flex-direction:column;align-items:stretch}.thesis-action{justify-content:center}}.thesis{max-width:1100px;padding:0 32px 80px}.thesis-masthead{border:0}.thesis-masthead-inner{display:block;padding:0;text-align:center;max-width:1000px;margin:0 auto 48px;container-type:inline-size}.thesis-eyebrow{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.1em;margin-bottom:12px}.thesis-title{font-size:clamp(36px,5vw,56px);line-height:1.1;letter-spacing:-.055em;margin:0 0 20px}.thesis .thesis-subtitle{font-size:min(28px,3.1cqw);line-height:1.5;font-weight:500;max-width:none;margin:0 auto 25px;letter-spacing:-.02em;color:var(--text-primary)}.thesis-subtitle span{display:block;white-space:nowrap}.thesis-author{border:0;padding:0;margin:0 auto 24px}.thesis-author-name{font-size:15px;font-weight:400;margin-bottom:4px}.thesis-author-reading{font-size:12px;margin-bottom:10px}.thesis-author-affil,.thesis-author-degree{font-size:12px;line-height:1.9}.thesis-author-affil br,.thesis-author-degree br{display:none}.thesis-author-affil br::after,.thesis-author-degree br::after{content:" · "}.thesis-author-degree{margin-top:8px;padding-top:0;border:0}.thesis-actions{justify-content:center;gap:10px}.thesis-action{padding:10px 17px;border-radius:7px;font-size:13px}.thesis-action--primary{background:var(--primary-color);color:#fff!important}.thesis-action--secondary{background:var(--bg-secondary);border-color:var(--border-subtle)}.thesis-layout{display:block}.thesis-rail{position:static;max-width:800px;margin:0 auto 48px;padding:18px 0;border:0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.thesis-rail-label{display:none}.thesis-rail-list{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:4px 8px}.thesis-rail-list a{padding:6px 9px;font-size:12px;border-radius:6px}.thesis-rail-sub{display:none}.thesis-content{max-width:800px;margin:0 auto;padding:0;overflow:visible}.thesis-measure{max-width:none}.thesis-h2{font-size:24px;line-height:1.5;letter-spacing:-.025em;gap:12px;margin:0 0 22px}.thesis p{font-size:16px;line-height:2;margin-bottom:22px}.thesis .thesis-definition{font-size:18px;line-height:1.9}.thesis-phases{margin:0 0 52px}.thesis-phase{padding:22px 20px}.thesis-band,.thesis-band--wide{margin:0;padding:48px 0}.thesis-system{grid-template-columns:1fr;gap:28px}.thesis-system--flip .thesis-system-text{order:0}.thesis-system-head h3{font-size:28px}.thesis-figure{max-width:700px;margin:0 auto}.thesis-metrics{font-size:12px;line-height:1.9}.thesis .thesis-band-copy{font-size:16px;line-height:2}.thesis-contents{grid-template-columns:1fr;gap:22px}.thesis-toc-title{font-size:15px}.thesis-link-title{font-size:16px}.thesis-cite{border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.thesis a:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px}.thesis section{scroll-margin-top:100px}@media (max-width:640px){body[data-page=thesis] .archive-page{padding-top:104px}.thesis{padding:0 20px 48px}.thesis-masthead-inner{margin-bottom:32px}.thesis-title{font-size:36px}.thesis .thesis-subtitle{font-size:3.1cqw}.thesis-subtitle.content-ja{font-size:4cqw}.thesis-actions{flex-direction:row}.thesis-action{font-size:12px;padding:9px 13px}.thesis-rail{margin-bottom:36px}.thesis-rail-list{justify-content:flex-start}.thesis-content{padding:0}.thesis-h2{font-size:22px}.thesis .thesis-band-copy,.thesis p{font-size:15px;line-height:1.95}.thesis .thesis-definition{font-size:16px}.thesis-band,.thesis-band--wide{padding:36px 0}.thesis-phase{padding:20px 0}}
