:root{--accent-lift:#ff6b2b;--gutter:clamp(1.25rem, 4vw, 3rem);--sect:clamp(3.5rem, 12vh, 6rem)}html,body{overflow-x:clip}body{font-size:var(--text-base,1rem);line-height:1.7}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:900;line-height:1.1}h1:where(:lang(ja)),h2:where(:lang(ja)),h3:where(:lang(ja)),h4:where(:lang(ja)){letter-spacing:0}a{color:var(--accent-lift)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:0}[lang=ja]{font-feature-settings:"palt" 1;letter-spacing:.03em}body:lang(ja){font-feature-settings:"palt" 1;line-height:1.9}section[id]{scroll-margin-top:5.5rem}.mono{font-family:var(--font-mono);font-size:var(--text-xs,.75rem);letter-spacing:.08em;text-transform:uppercase}.kicker{color:var(--text-dim)}.kicker .sep{color:var(--accent);margin-inline:.6em}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sec-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.8rem;display:flex}.sec-head h2,.sec-head .sec-label{font-family:var(--font-mono);font-size:var(--text-xs,.75rem);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0;font-weight:500}.sec-head h2:before,.sec-head .sec-label:before{content:"/ ";color:var(--accent)}.sec-head .idx{color:var(--text-faint);font-variant-numeric:tabular-nums}.band{border-block:1px solid var(--line)}.band .lane{white-space:nowrap;display:flex;overflow:hidden}.band .lane+.lane{border-top:1px solid var(--line)}.band .seg{flex-shrink:0;align-items:center;min-width:100%;padding-block:.6rem;display:flex}.band .seg>span{padding-right:.65em}.band .dot{color:var(--accent);-webkit-text-stroke:0}.lane-solid .seg{letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(1.6rem,4.5vw,3.4rem);font-weight:850;line-height:1.15}.lane-ghost .seg{text-transform:uppercase;color:#0000;-webkit-text-stroke:1px var(--text-faint);font-size:clamp(1.35rem,3.6vw,2.7rem);font-weight:850;line-height:1.3}.stats{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.stat{border-left:1px solid var(--line);padding:2.2rem clamp(1rem,2.5vw,2rem) 2rem}.stat:first-child{border-left:none}.stat .num{font-family:var(--font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,6vw,5.5rem);font-weight:700;line-height:1}.stat .rule{background:var(--accent);width:2.2rem;height:3px;margin-top:.9rem}.stat .lbl{color:var(--text-dim);margin-top:.7rem}.stat .lbl .u{color:var(--accent);margin-right:.5em}.stats.compact{grid-template-columns:repeat(3,1fr)}.stats.compact .stat{padding:1.4rem clamp(1rem,2.5vw,2rem) 1.3rem}.stats.compact .num{font-size:clamp(1.6rem, 3.2vw, var(--text-xl,2.5rem))}.stats.compact .rule{height:2px;margin-top:.7rem}.stats.compact .lbl{margin-top:.5rem}.pill{font-family:var(--font-mono);font-size:var(--text-xs,.75rem);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--text);border-radius:999px;align-items:center;gap:.5em;padding:.85rem 1.7rem;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.pill:hover{text-decoration:none}.pill.solid{background:var(--accent);border-color:var(--accent);color:var(--bg)}.pill.solid:hover,.pill.solid:focus-visible{background:var(--text);border-color:var(--text);color:var(--bg)}.pill.ghost:hover,.pill.ghost:focus-visible{border-color:var(--accent);color:var(--accent-lift);background:var(--accent-soft)}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:0}.chip{font-family:var(--font-mono);font-size:var(--text-xs,.75rem);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--line);white-space:nowrap;background:0 0;border-radius:999px;align-items:baseline;gap:.4em;padding:.35rem .9rem;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.chip b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.chip.category-badge{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.chip.category-badge .dot{background:var(--bg)}.section-title{font-family:var(--font-mono);font-size:var(--text-xs,.75rem);letter-spacing:.08em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--line);margin:0 0 1.4rem;padding-bottom:.8rem;font-weight:500}.section-title:before{content:"/ ";color:var(--accent)}.case-study .section-title{font-family:var(--font-sans);font-size:clamp(1.5rem, 3vw, var(--text-xl,2.5rem));font-variation-settings:"wght" 900, "wdth" 102;letter-spacing:-.02em;text-transform:uppercase;color:var(--text);border-bottom:none;margin:0 0 .8rem;padding-bottom:0;font-weight:900;line-height:1.05}.case-study .section-title:before{content:none}.case-study .section-title:lang(ja){letter-spacing:0}.case-study .section-title:after{content:".";color:var(--accent)}.evidence-link,.evidence-code{font-family:var(--font-mono);font-size:var(--text-xs,.75rem);color:var(--accent-lift);background:var(--bg-raised);border:1px solid var(--line);border-bottom:1px solid var(--line);word-break:break-all;padding:.25rem .6rem;transition:background .2s,border-color .2s;display:inline-block}.evidence-link:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-lift);text-decoration:none}.evidence-code{color:var(--text-dim)}.timeline .event:before{background:var(--accent);border-color:var(--accent);border-radius:0;width:9px;height:9px;left:1.5px}.timeline:before{border-radius:0;width:1px}.langbars svg{outline:1px solid var(--line);background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(10% - 1px), var(--bg) calc(10% - 1px), var(--bg) 10%);border-radius:0;height:16px}.langbars .legend .dot{border-radius:0}.langbars .legend .pct{color:var(--text)}.span-chart .track,.span-chart .bar{border-radius:0}.foot{margin-top:var(--sect);border-top:1px solid var(--line);padding:1.2rem var(--gutter) 1.4rem;color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;display:flex}.foot .sq{color:var(--accent);margin-right:.5em}.foot a{color:var(--text-dim)}.foot a:hover,.foot a:focus-visible{color:var(--accent-lift);text-decoration:none}@media (prefers-reduced-motion:no-preference){body[data-surface=showcase] .band--kinetic .lane-solid .seg{animation:26s linear infinite kt-mq}body[data-surface=showcase] .band--kinetic .lane-ghost .seg{animation:34s linear infinite reverse kt-mq}body[data-surface=showcase] .band--kinetic .lane:hover .seg,body[data-surface=showcase] .band--kinetic .lane:focus-within .seg{animation-play-state:paused}.kt-rise .word{animation:1s cubic-bezier(.16,1,.3,1) forwards kt-rise;transform:translateY(110%)}.kt-rise .line:nth-child(2) .word{animation-delay:90ms}.kt-fade{opacity:0;animation:.8s .55s forwards kt-fade}}@keyframes kt-rise{to{transform:translateY(0)}}@keyframes kt-fade{to{opacity:1}}@keyframes kt-mq{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (width<=720px){.stats{grid-template-columns:1fr 1fr}.stat{border-top:1px solid var(--line)}.stat:nth-child(-n+2){border-top:none}.stat:nth-child(odd){border-left:none}.stats.compact{grid-template-columns:repeat(3,1fr)}.stats.compact .stat{border-top:none}.stats.compact .stat:nth-child(odd){border-left:1px solid var(--line)}.stats.compact .stat:first-child{border-left:none}.stats.compact .num{font-size:clamp(1.25rem, 5.5vw, var(--text-xl,2.5rem))}}@media print{.band,.stats .rule{display:none!important}.chip,.evidence-link,.evidence-code{color:#333;background:#fff;border-color:#ccc}.section-title,.sec-head h2,.section-title:before,.sec-head h2:before{color:#111}}
