:root{--paper:#f7f4ec;--paper-2:#efeadd;--surface:#fffdf8;--ink:#1b2130;--muted:#535a67;--line:#dcd5c6;--edge:#1b2130;--link:#1d4f9a;--pop:#ffcc33;--on-pop:#1b2130;--stage:#1b2130;--stage-ink:#f2efe6;--stage-muted:#b4bac6;--bezel:#0d1119;--dot:rgba(27, 33, 48, 0.10);--track:#e4dece;--soft-machi:#dcefd9;--soft-ie:#fbe3cc;--soft-joho:#e6defa;--soft-shizen:#d9e9fa;--soft-oto-hikari:#fbf0c4;--soft-kazu:#f9dde3;--measure:40rem;--wide:72rem;--gutter:16px;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Noto Sans JP", "Meiryo", system-ui, sans-serif;--bg:var(--paper);--ugoku-surface:var(--surface);--ugoku-ink:var(--ink);--ugoku-muted:var(--muted);--ugoku-line:#cfc8b8;--ugoku-accent:#1f4f8f;--ugoku-1:#2563a8;--ugoku-2:#b8580b;--ugoku-3:#2f7d34;--ugoku-4:#7a4fa8;--ugoku-soft-1:#e3edf8;--ugoku-soft-2:#fbeadc;--ugoku-soft-3:#e2f1e3;--ugoku-soft-4:#efe7f8}@media(prefers-color-scheme:dark){:root{--paper:#12151c;--paper-2:#0d1016;--surface:#1b2029;--ink:#ebe7dd;--muted:#a9afba;--line:#2e3542;--edge:#717b8e;--link:#9cc0f5;--stage:#06080c;--stage-ink:#ebe7dd;--stage-muted:#a9afba;--bezel:#000000;--dot:rgba(235, 231, 221, 0.08);--track:#323a48;--soft-machi:#1f3321;--soft-ie:#3a2816;--soft-joho:#2c2442;--soft-shizen:#1c2b3d;--soft-oto-hikari:#3a3215;--soft-kazu:#3d2229;--ugoku-line:#3a4250;--ugoku-accent:#93b8ec;--ugoku-1:#7fb5ec;--ugoku-2:#f0a35e;--ugoku-3:#86c98a;--ugoku-4:#bf9fe3;--ugoku-soft-1:#1c2b3b;--ugoku-soft-2:#3a2816;--ugoku-soft-3:#1d3320;--ugoku-soft-4:#2e2440}}[data-field=machi]{--tint:var(--soft-machi)}[data-field=ie]{--tint:var(--soft-ie)}[data-field=joho]{--tint:var(--soft-joho)}[data-field=shizen]{--tint:var(--soft-shizen)}[data-field=oto-hikari]{--tint:var(--soft-oto-hikari)}[data-field=kazu]{--tint:var(--soft-kazu)}@media(min-width:48rem){:root{--gutter:24px}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.9;overflow-wrap:anywhere}img,svg{max-width:100%}h1,h2,h3{line-height:1.4;font-weight:800;font-feature-settings:"palt";letter-spacing:.01em}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--link);outline-offset:3px;border-radius:4px}code{font-size:.9em;background:var(--paper-2);padding:.1em .35em;border-radius:4px}pre{overflow-x:auto;padding:1rem;background:var(--paper-2);border-radius:12px;font-size:.85rem;line-height:1.6}pre code{background:0 0;padding:0}table{border-collapse:collapse;font-size:.93rem;width:100%}th,td{border-bottom:1px solid var(--line);padding:.45rem .6rem;text-align:left;vertical-align:top}th{background:var(--paper-2)}hr{border:0;border-top:2px solid var(--line);margin:2.5rem 0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:20;padding:.4rem .8rem;background:var(--surface);color:var(--ink);border:2px solid var(--edge);border-radius:8px}.empty{color:var(--muted)}.more{margin:1.25rem 0 0}.topbar{border-bottom:2px solid var(--line);background:var(--paper)}.topbar-in{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter);min-height:60px;display:flex;align-items:center;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none;min-height:44px}.brand:hover{color:var(--ink)}.site-mark{flex:none;color:var(--ink)}.brand-name{font-size:1.2rem;font-weight:900;letter-spacing:.06em;font-feature-settings:"palt"}.topbar-nav{margin-left:auto;display:flex;gap:.25rem}.topbar-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;border-radius:999px;color:var(--ink);text-decoration:none;font-size:.92rem;font-weight:700}.topbar-nav a:hover{background:var(--paper-2)}.site-footer{margin-top:5rem;background:var(--stage);color:var(--stage-ink)}.site-footer-in{max-width:var(--wide);margin:0 auto;padding:2.5rem var(--gutter)3rem;font-size:.9rem}.site-footer .brand{color:var(--stage-ink)}.site-footer .site-mark{color:var(--stage-ink);--surface:var(--stage)}.site-footer-tagline{margin:.25rem 0 1.25rem;color:var(--stage-muted)}.site-footer-nav{display:flex;flex-wrap:wrap;gap:0 1.25rem;margin-bottom:.75rem}.site-footer-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--stage-ink)}.site-footer-meta{margin:0;color:var(--stage-muted)}.site-footer-meta a{color:var(--stage-ink)}.is-article .site-footer{margin-top:0}.field-name{display:inline-flex;align-items:center;font-size:.8rem;font-weight:800;line-height:1.5;padding:.1rem .65rem;border-radius:999px;background:var(--tint,var(--paper-2));color:var(--ink);text-decoration:none}a.field-name{min-height:32px}a.field-name:hover{box-shadow:inset 0 0 0 2px var(--edge)}.kind-label{font-size:.8rem;font-weight:700;color:var(--muted)}.new-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:800;letter-spacing:.06em;line-height:1.6;padding:.1rem .5rem;border-radius:4px;background:var(--ink);color:var(--surface)}.card-date{font-size:.8rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.kind-glyph{flex:none;color:var(--ink);vertical-align:-3px}.stats{display:inline-flex;flex-wrap:wrap;gap:.2rem .85rem}.stat{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.section-title{font-size:1.15rem;margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}.section-title::before{content:"";width:.75rem;height:.75rem;border-radius:50%;background:var(--pop);border:2.5px solid var(--edge);flex:none}.cover{position:relative;aspect-ratio:16/10;background:var(--tint,var(--paper-2));background-image:radial-gradient(var(--dot) 1.2px,transparent 1.4px);background-size:14px 14px;display:grid;place-items:center;overflow:hidden;color:var(--ink)}.cover>svg{display:block;width:100%;height:100%}.cover-field>svg{width:38%;height:auto}.cover svg text{font-family:var(--font)}.cards{list-style:none;padding:0;margin:0;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.card-link{display:flex;flex-direction:column;height:100%;background:var(--surface);color:var(--ink);text-decoration:none;border:2px solid var(--edge);border-radius:20px;overflow:hidden;box-shadow:0 5px 0 var(--edge);transition:transform .15s,box-shadow .15s}.card-link:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--edge)}.card-link:active{transform:translateY(3px);box-shadow:0 2px 0 var(--edge)}.card-link .cover{border-bottom:2px solid var(--edge)}.card-body{display:flex;flex-direction:column;gap:.45rem;padding:1rem 1.1rem 1.15rem;flex:1}.card-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.card-title{font-size:1.2rem;font-weight:800;line-height:1.5;font-feature-settings:"palt"}.card-summary{color:var(--muted);font-size:.9rem;line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{margin-top:auto;padding-top:.25rem;font-size:.85rem}.home{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}.home-hero{position:relative;padding:2.25rem 0 1.75rem}.home-title{margin:0;display:flex;flex-direction:column;gap:.4rem}.home-title-name{font-size:clamp(2.6rem,11vw,4.75rem);font-weight:900;letter-spacing:.04em;line-height:1.1}.home-title-sub{font-size:clamp(1.05rem,3.6vw,1.4rem);font-weight:800}.home-title-sub::before{content:"";display:inline-block;width:1.6em;height:6px;margin-right:.4em;border-radius:3px;background:var(--pop);border:0;vertical-align:.3em}.home-lead{margin:1rem 0 0;color:var(--muted);max-width:34rem}.home-feature{margin-bottom:3rem}.cards-feature{grid-template-columns:1fr}.cards-feature .card-title{font-size:clamp(1.35rem,4.5vw,1.9rem);line-height:1.4}.cards-feature .card-summary{-webkit-line-clamp:4;font-size:.95rem}.home-section{margin-top:3.5rem}@media(min-width:56rem){.home{display:grid;grid-template-columns:minmax(0,.9fr)minmax(0,1.4fr);column-gap:3rem;align-items:center}.home-hero{padding:3rem 0}.home-feature{margin:2.5rem 0 0}.home>.home-section,.home>.empty{grid-column:1/-1}.cards-feature .card-link{flex-direction:row}.cards-feature .cover{flex:0 0 58%;aspect-ratio:auto;min-height:20rem;border-bottom:0;border-right:2px solid var(--edge)}.cards-feature .card-body{justify-content:center;padding:1.5rem}.cards-feature .card-meta{margin-top:.5rem}}.shelf{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:56rem){.shelf{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}}.shelf a{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;padding:.85rem .4rem .75rem;border:2px solid var(--edge);border-radius:18px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 4px 0 var(--edge);transition:transform .15s,box-shadow .15s}.shelf a:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--edge)}.shelf a:active{transform:translateY(3px);box-shadow:0 1px 0 var(--edge)}.shelf-art{display:grid;place-items:center;width:4.25rem;height:4.25rem;border-radius:50%;background:var(--tint);margin-bottom:.45rem}.shelf-art .field-icon{width:3.1rem;height:3.1rem}.shelf-name{font-weight:800;font-size:.9rem;line-height:1.45;font-feature-settings:"palt"}.shelf-count{font-size:.78rem;color:var(--muted);font-weight:700;margin-top:.15rem}.listing{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}.listing-header{padding:2.25rem 0 1.75rem}.listing-header h1{margin:0;font-size:clamp(1.8rem,6vw,2.6rem)}.listing-kicker{margin:0 0 .2rem;font-size:.9rem;font-weight:700;color:var(--muted)}.listing-kicker a{color:var(--muted)}.listing-intro{color:var(--muted);max-width:38rem;margin:.6rem 0 0}.listing-intro p{margin:0}.listing-header-field{display:flex;gap:1.25rem;align-items:center}.listing-art{flex:none;display:grid;place-items:center;width:6.5rem;height:6.5rem;border-radius:28px;background:var(--tint);border:2px solid var(--edge);box-shadow:0 5px 0 var(--edge)}.listing-art .field-icon{width:4.5rem;height:4.5rem}@media(max-width:30rem){.listing-header-field{flex-direction:column;align-items:flex-start}.listing-art{width:5rem;height:5rem;border-radius:22px}.listing-art .field-icon{width:3.5rem;height:3.5rem}}.page-404 .listing-kicker{font-size:1rem;letter-spacing:.1em}.pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;font-size:.9rem}.pagination-link{display:inline-flex;align-items:center;min-height:44px}.pagination .is-disabled{color:var(--muted)}.prose>h2{font-size:1.45rem;margin:2.75rem 0 .75rem}.prose>h2::before{content:"";display:block;width:2.5rem;height:6px;margin-bottom:.7rem;border-radius:3px;background:var(--pop)}.prose>h3{font-size:1.15rem;margin:2rem 0 .5rem}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.3rem}.prose blockquote{margin:1.5rem 0;padding:.25rem 1.1rem;border-left:4px solid var(--line);color:var(--muted)}.page{max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.page-header{padding:2.25rem 0 .75rem}.page-header h1{margin:0;font-size:clamp(1.8rem,6vw,2.4rem)}.page-meta{color:var(--muted);font-size:.88rem;margin:.4rem 0 0}.opening{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}.opening-art{margin:1rem calc(-1 * var(--gutter))0}.opening-art .cover{border-block:2px solid var(--edge)}.opening-text{padding:1.25rem 0 .5rem}.opening-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .6rem}.opening h1{margin:0;font-size:clamp(1.75rem,7vw,2.9rem);line-height:1.35}.opening-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin:.9rem 0 0;font-size:.88rem;color:var(--muted)}.opening-meta .stat{color:var(--ink)}@media(min-width:56rem){.opening{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1.1fr);gap:3rem;align-items:center;padding-top:2.5rem}.opening-art{order:2;margin:0}.opening-art .cover{border:2px solid var(--edge);border-radius:24px;box-shadow:0 6px 0 var(--edge)}.opening-text{padding:0}}.article-body{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [main-start] minmax(0,var(--measure)) [main-end] minmax(var(--gutter),1fr) [full-end];padding-top:1.5rem}.article-body>*{grid-column:main}.article-body>.butai{grid-column:full}.article-body>figure.ugoku{grid-column:full;justify-self:center;width:min(100% - 2 * var(--gutter),52rem)}.donyu{font-size:1.2rem;font-weight:600;line-height:1.95;margin:1rem 0 .5rem}.donyu>p:last-child{font-weight:800}.donyu>:last-child{margin-bottom:0}.musubi{margin:3rem 0 0;padding:1.6rem 1.4rem 1.25rem;font-size:1.1rem;line-height:1.95;background:var(--surface);border:2px solid var(--edge);border-radius:20px;box-shadow:0 5px 0 var(--edge);position:relative}.musubi::before{content:"答え";position:absolute;top:-15px;left:1.25rem;padding:.15rem .9rem;font-size:.875rem;font-weight:800;line-height:1.5;letter-spacing:.12em;color:var(--on-pop);border-radius:999px;background:var(--pop);border:2.5px solid var(--edge)}.musubi>:first-child{margin-top:.25rem}.musubi>:last-child{margin-bottom:0}.butai+.musubi,.butai+script+.musubi{margin-top:3rem}.credits{margin-top:4.5rem;background:var(--paper-2);border-top:2px solid var(--line)}.credits-in{max-width:calc(var(--measure) + 8rem + 2 * var(--gutter));margin:0 auto;padding:2.25rem var(--gutter)2.5rem;font-size:.92rem;line-height:1.85}.credits h2{font-size:1.05rem;margin:0 0 .6rem}.credits ol{padding-left:1.3em;margin:0}.credits li+li{margin-top:.55rem}.next{max-width:var(--wide);margin:0 auto;padding:3rem var(--gutter)4rem}.ugoku{margin:2.5rem 0}.device{background:var(--bezel);border-radius:24px;padding:6px;box-shadow:0 0 0 1px rgba(255,255,255,6%),0 18px 36px -18px rgba(0,0,0,.55)}.ugoku-head{display:flex;align-items:center;gap:10px;min-height:30px;padding:2px 10px 6px;color:var(--stage-muted);font-size:.78rem;font-weight:700;line-height:1.4}.ugoku-num{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--stage-ink)}.ugoku-stage{display:flex;justify-content:center;padding:12px;border-radius:18px;background-color:var(--ugoku-surface);background-image:radial-gradient(var(--dot) 1.2px,transparent 1.4px);background-size:16px 16px;background-position:8px 8px}.ugoku-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font);font-variant-numeric:tabular-nums}.ugoku-svg text{fill:var(--ugoku-ink)}.ugoku-canvas{display:block;width:auto;max-width:100%;height:auto}.ugoku-fallback{color:var(--muted);font-size:.9rem;margin:0}.ugoku:not([data-ugoku-ready]):not([data-ugoku-error]) .ugoku-stage:empty{display:none}.ugoku-controls{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:end;margin-top:6px;padding:.75rem .9rem .85rem;border-radius:18px;background:var(--surface);color:var(--ink);font-size:.9rem;line-height:1.6}.ugoku-controls:empty,.ugoku-controls[hidden]{display:none}.ugoku-controls>.ugoku-legend,.ugoku-controls>.ugoku-readout{flex:1 0 100%;margin:0}.ugoku-control{display:flex;flex-direction:column;gap:.3rem;min-width:0}.ugoku-label{font-weight:700}.ugoku-stage{flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0}.ugoku-stage>.ugoku-legend{align-self:stretch;justify-content:center;font-size:.8rem}.ugoku-band{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;height:44px;margin:-4px -4px 0}.ugoku-band.is-reserved{height:56px}.ugoku-band:not(.is-reserved):not(:has(>.ugoku-tools:not(:empty))){display:none}.ugoku-result{display:inline-flex;align-items:center;gap:6px;min-width:0;margin:0;padding:6px 12px 6px 10px;border-radius:999px;border:2px solid var(--edge);background:var(--surface);color:var(--ink);font-size:.9rem;font-weight:800;line-height:1.35;font-variant-numeric:tabular-nums}.ugoku-result:empty{display:none}.ugoku-result-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-width:0;text-wrap:pretty}.ugoku-result svg{flex:none;width:18px;height:18px}.ugoku-result[data-state=ok]{border-color:var(--ugoku-3)}.ugoku-result[data-state=ng]{border-color:var(--ugoku-2);border-style:dashed}.ugoku-result.is-changed{animation:ugoku-pop .22s ease-out}@keyframes ugoku-pop{from{transform:scale(1.08)}to{transform:none}}.ugoku-tools{flex:none;display:flex;gap:6px;margin-left:auto}.ugoku-tools:empty{display:none}.ugoku button.ugoku-tool{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 .75rem 0 .55rem;border-radius:999px;font-size:.82rem;white-space:nowrap;box-shadow:0 3px 0 var(--edge)}.ugoku-tool svg{width:18px;height:18px;flex:none}.ugoku-controls{gap:.5rem .75rem;padding:.6rem .75rem .7rem;font-size:.9rem}.ugoku-control-choice{flex:1 0 100%;flex-direction:row;align-items:center;gap:.5rem}.ugoku-control-choice>.ugoku-label{flex:0 0 4.2em;font-size:.8rem;line-height:1.3}.ugoku-control-choice .ugoku-choice{flex:1;min-width:0;gap:.35rem}.ugoku-control-choice .ugoku-choice button{min-width:44px;padding:.35rem .65rem;font-size:.88rem;white-space:nowrap}.ugoku-repeat{flex:1 0 100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem}.ugoku button.ugoku-run{display:inline-flex;align-items:center;gap:5px;padding:.35rem .8rem .35rem .6rem;background:var(--pop);color:var(--on-pop);border-color:var(--edge);box-shadow:0 4px 0 var(--edge);font-size:.9rem;font-variant-numeric:tabular-nums}.ugoku button.ugoku-run:hover{background:var(--pop)}.ugoku button.ugoku-run svg{width:16px;height:16px;flex:none}.ugoku button.ugoku-run[aria-busy=true]{transform:translateY(4px);box-shadow:0 0 0 var(--edge);opacity:1}.ugoku-predict{justify-content:flex-start}.ugoku-predict-done{display:flex;align-items:center;gap:.5rem;padding-bottom:4px}.ugoku-predict-done[hidden]{display:none}.ugoku-predict-done>.ugoku-readout{flex:auto;min-width:0;margin:0}.ugoku-predict-done>button{flex:none;padding:.35rem .8rem}.ugoku-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.ugoku-result.is-changed{animation:none}.ugoku button{transition:none}}.butai-tool-set{display:contents}.ugoku-caption{margin:0;padding:1rem .25rem 0;font-size:.95rem;line-height:1.85}.ugoku-caption p:last-child{margin-bottom:0}.ugoku-slider{flex:1 1 16rem;display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.5rem}.ugoku-slider label{font-weight:700}.ugoku-value{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.05rem}.ugoku input[type=range]{grid-column:1/-1;-webkit-appearance:none;appearance:none;width:100%;min-height:44px;margin:0;background:0 0;cursor:pointer;touch-action:pan-y}.ugoku input[type=range]::-webkit-slider-runnable-track{height:12px;border-radius:6px;border:2px solid var(--edge);background:linear-gradient(90deg,var(--ink) var(--fill,0%),var(--track) var(--fill,0%))}.ugoku input[type=range]::-moz-range-track{height:8px;border-radius:6px;border:2px solid var(--edge);background:linear-gradient(90deg,var(--ink) var(--fill,0%),var(--track) var(--fill,0%))}.ugoku input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-11px;border-radius:50%;background:var(--pop);border:3px solid var(--on-pop);box-shadow:0 3px 0 var(--on-pop);transition:transform .12s}.ugoku input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--pop);border:3px solid var(--on-pop);box-shadow:0 3px 0 var(--on-pop)}.ugoku input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}.ugoku input[type=range]:focus-visible{outline:none}.ugoku input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--link)}.ugoku input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--link)}.ugoku input[type=range]:disabled{cursor:default}.ugoku input[type=range]:disabled::-webkit-slider-thumb{background:var(--track)}.ugoku input[type=range]:disabled::-moz-range-thumb{background:var(--track)}.ugoku button{font:inherit;font-weight:800;min-height:44px;padding:.35rem 1rem;border-radius:12px;border:2px solid var(--edge);background:var(--surface);color:var(--ink);cursor:pointer;touch-action:manipulation;box-shadow:0 4px 0 var(--edge);transform:translateY(0);transition:transform .08s,box-shadow .08s,background-color .15s}.ugoku button:hover{background:var(--paper)}.ugoku button:active{transform:translateY(4px);box-shadow:0 0 0 var(--edge)}.ugoku button[aria-pressed=true]{background:var(--pop);color:var(--on-pop);border-color:var(--on-pop);box-shadow:0 2px 0 var(--on-pop);transform:translateY(2px)}.ugoku button.ugoku-check{background:var(--ink);color:var(--surface)}.ugoku button.ugoku-check:hover{background:var(--ink)}.ugoku button:disabled{cursor:default;opacity:.55;transform:translateY(2px);box-shadow:0 2px 0 var(--edge)}.ugoku button[aria-pressed=true]:disabled{opacity:1}.ugoku [hidden]{display:none!important}.ugoku-choice{display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:4px}.ugoku-readout{margin:0;padding:.55rem .8rem;border-radius:10px;border-left:5px solid var(--edge);background:var(--paper);font-size:.95rem;line-height:1.7}.ugoku-legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-size:.85rem;color:var(--muted)}.ugoku-legend li{display:inline-flex;align-items:center;gap:.35rem}.ugoku-predict{flex:1 0 100%;display:flex;flex-direction:column;gap:.55rem}.ugoku-predict-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:end}.ugoku-predict-row>.ugoku-slider{flex:1 1 12rem}.ugoku-question{margin:0;font-weight:800}.ugoku-predict-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:4px}.ugoku-predict .ugoku-readout:empty{display:none}.ugoku-predict[data-result=hit] .ugoku-readout{border-left-style:solid;border-left-color:var(--ugoku-3)}.ugoku-predict[data-result=miss] .ugoku-readout{border-left-style:dashed;border-left-color:var(--ugoku-2)}.ugoku-predict{gap:.5rem}.ugoku-predict[data-form=options] .ugoku-predict-row{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.ugoku-predict[data-form=options] .ugoku-choice{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.35rem;padding-bottom:4px}.ugoku-predict[data-form=options] .ugoku-choice button{min-width:0;padding:.2rem .3rem;font-size:.85rem;line-height:1.2;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}.ugoku-predict[data-form=options] .ugoku-predict-actions{display:flex}.ugoku-predict[data-form=options] .ugoku-predict-actions>.ugoku-check{flex:auto}.ugoku-predict[data-form=slider] .ugoku-predict-row{flex-wrap:nowrap}.ugoku-predict[data-form=slider] .ugoku-predict-row>.ugoku-slider{flex:1;min-width:0}.ugoku-predict[data-form=slider] .ugoku-predict-actions{flex:none}.ugoku button.ugoku-check{background:var(--ink);color:var(--surface)}.butai{margin:2.5rem 0}.butai-figure{display:none}.butai-scenes{max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.bamen{margin:1.25rem 0}.bamen-kind{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .4rem;padding:.05rem .7rem .05rem .45rem;border-radius:999px;background:var(--pop);color:var(--on-pop);font-size:.8rem;font-weight:800}.bamen-kind .kind-glyph{color:var(--on-pop)}.bamen-text>:first-child{margin-top:0}.bamen-text>:last-child{margin-bottom:0}.js .butai{margin:2.5rem 0 0;background:var(--stage);padding-bottom:1.5rem;overflow-anchor:none}.js .butai-figure{display:block;position:sticky;top:0;z-index:3;margin:0;padding:10px 10px 12px;background:var(--stage)}.js .butai-figure .ugoku-stage{min-height:8rem;align-items:center}.js .butai-figure .ugoku-controls{padding-block:.55rem .65rem}.butai-controls{flex-direction:column;align-items:stretch}.butai-control-set{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:end}.butai-control-set:empty{display:none}.butai-control-set>.ugoku-legend,.butai-control-set>.ugoku-readout{flex:1 0 100%;margin:0}.butai-progress{flex:1;display:flex;align-items:center;gap:3px;list-style:none;margin:0;padding:0;min-width:0}.butai-progress li{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.16);transition:background-color .25s}.butai-progress li.is-done{background:rgba(255,255,255,.5)}.butai-progress li.is-current{background:var(--pop)}.butai-progress li[data-kind=sawaru],.butai-progress li[data-kind=asobu]{flex:0 0 20px;height:20px;display:grid;place-items:center;border-radius:50%;background:0 0;color:var(--stage-ink);opacity:.5}.butai-progress li[data-kind=sawaru].is-done,.butai-progress li[data-kind=asobu].is-done{opacity:.85;background:0 0}.butai-progress li[data-kind=sawaru].is-current,.butai-progress li[data-kind=asobu].is-current{opacity:1;background:0 0;box-shadow:0 0 0 2px var(--pop)}.butai-progress svg{display:block}.js .butai-scenes{position:relative;z-index:1;max-width:calc(var(--measure) + 2 * var(--gutter))}.js .bamen{min-height:46vh;margin:0;padding-top:1.25rem}.js .bamen:last-child{min-height:52vh}.js .bamen-card{padding:.9rem 1.05rem 1rem;border-radius:18px;background:var(--surface);color:var(--ink);border:3px solid transparent;transform:scale(.97);transition:transform .3s,border-color .3s}.js .bamen.is-active .bamen-card{transform:none;border-color:var(--pop)}.bamen-fuse{display:none}.js .bamen.is-fuse .bamen-card{position:relative}.js .bamen.is-fuse .bamen-fuse{display:grid;place-items:center;position:absolute;inset:-3px;z-index:1;border-radius:18px;border:3px solid var(--line);background-color:var(--surface);background-image:repeating-linear-gradient(-45deg,var(--line) 0 2px,transparent 2px 12px);color:var(--ink);transition:opacity .3s,visibility 0s linear 0s}.js .bamen.is-fuse .bamen-fuse svg{width:32px;height:32px;padding:8px;border-radius:50%;background:var(--surface);box-sizing:content-box}.js .bamen.is-fuse.is-open .bamen-fuse{opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}.js .butai.butai-failed .bamen-fuse{display:none}@media(prefers-reduced-motion:reduce){.js .bamen.is-fuse .bamen-fuse{transition:none}}.js .butai.butai-failed{background:0 0}.js .butai.butai-failed .butai-figure{display:none}.js .butai.butai-failed .bamen{min-height:0}.js .butai.butai-failed .bamen-card{border:0;padding:0;transform:none;background:0 0}@media(min-width:60rem){.js .butai{display:grid;grid-template-columns:minmax(0,22rem)minmax(0,1fr);column-gap:3rem;padding:0 max(2rem,calc(50% - 38rem))}.js .butai-figure{grid-column:2;grid-row:1;align-self:start;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:2rem 0}.js .butai-scenes{grid-column:1;grid-row:1;max-width:none;padding:30vh 0 35vh}.js .bamen{min-height:78vh;padding-top:0;display:flex;align-items:center}.js .bamen:last-child{min-height:60vh}.js .bamen-card{width:100%}}.field-icon{display:block;color:var(--ink);overflow:visible}.ic-machi .lamp{fill:var(--line)}.ic-machi .lamp-3{fill:var(--ugoku-3)}.cover svg [class^=cv-],.cover svg [class*=" cv-"],.field-icon *{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:no-preference){.ic-machi .lamp{animation:lamp 4.5s steps(1,end)infinite}.ic-machi .lamp-3{--lamp:var(--ugoku-3);animation-delay:0s}.ic-machi .lamp-2{--lamp:var(--pop);animation-delay:-3s}.ic-machi .lamp-1{--lamp:var(--ugoku-2);animation-delay:-1.5s}.ic-ie .steam{animation:steam 2.6s ease-out infinite}.ic-ie .steam-2{animation-delay:-1.3s}.ic-joho .bit{animation:bit 2.4s steps(1,end)infinite}.ic-shizen .drop{animation:bob 2.4s ease-in-out infinite}.ic-oto-hikari .wave{animation:pulse 1.8s ease-in-out infinite}.ic-oto-hikari .wave-2{animation-delay:.3s}.ic-oto-hikari .wave-3{animation-delay:.6s}.ic-kazu .die{animation:wobble 3s ease-in-out infinite}.ic-kazu .die-2{animation:wobble 3s ease-in-out -1.5s infinite}.cv-spin{animation:spin 10s linear infinite}.cv-spin-rev{animation:spin 6s linear infinite reverse}.cv-stand{animation:stand 1.1s ease-in-out infinite alternate}.cv-sway{animation:sway 4s ease-in-out infinite alternate}.cv-bob{animation:bob 2.4s ease-in-out infinite}.cv-pulse{animation:pulse 1.8s ease-in-out infinite}.cv-scan{animation:scan 2.4s ease-in-out infinite alternate}.cv-fall{animation:fall 1.6s linear infinite}.cv-blink{animation:bit 2.4s steps(1,end)infinite}.cv-hop{animation:hop 1.8s ease-in-out infinite}}@keyframes lamp{0%{fill:var(--lamp)}33.33%{fill:var(--line)}}@keyframes steam{0%{opacity:0;transform:translateY(5px)}35%{opacity:1}100%{opacity:0;transform:translateY(-7px)}}@keyframes bit{0%{fill:var(--pop)}50%{fill:currentColor}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}@keyframes wobble{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stand{from{transform:scaleY(1)}to{transform:scaleY(-1)}}@keyframes sway{from{transform:translateX(-34px)}to{transform:translateX(34px)}}@keyframes scan{from{transform:translateY(-36px)}to{transform:translateY(36px)}}@keyframes fall{from{transform:translate(0,-24px);opacity:0}30%{opacity:1}to{transform:translate(-8px,24px);opacity:0}}@keyframes hop{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){.card-link,.shelf a,.js .bamen-card,.ugoku button,.butai-progress li{transition:none}}