/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--color-board:#1e2a25;--color-chalk:#ecede6;--color-chalk-dim:#a7b2ac;--color-ledge:#3d4b44;--color-chalk-yellow:#e6cf72;--color-chalk-red:#f2857a;--color-game-paper:#f8fbee;--color-game-ink:#693015;--color-game-ink-hover:#5e2b13;--text-display:1.75rem;--text-display--line-height:1.25;--text-h2:1.25rem;--text-h2--line-height:1.25;--text-body:1.0625rem;--text-body--line-height:1.6;--text-micro:.875rem;--text-micro--line-height:1.5;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-ja:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", Meiryo, "Yu Gothic", sans-serif;--font-zh-tw:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "PingFang TC", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif;--font-ko:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "Apple SD Gothic Neo", "Noto Sans KR", "Noto Sans CJK KR", "Malgun Gothic", sans-serif;--font-cjk-mixed:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "Hiragino Sans", "PingFang TC", "Apple SD Gothic Neo", "Noto Sans CJK JP", Meiryo, "Microsoft JhengHei", "Malgun Gothic", sans-serif;--spacing-1:4px;--spacing-2:8px;--spacing-4:16px;--spacing-6:24px;--spacing-10:40px;--spacing-16:64px;--radius-box:4px}}.bar{justify-content:space-between;align-items:center;gap:var(--spacing-4);height:48px;padding-inline:max(var(--spacing-4),calc((100% - 76rem) / 2 + var(--spacing-4)));display:flex}.bar--play{height:40px}.bar-start{align-items:center;gap:var(--spacing-4);min-width:0;display:flex}.bar-name{font-weight:700;text-decoration:none}.bar-name:hover{text-decoration:underline}.wrap{max-width:76rem;padding-inline:var(--spacing-4);margin-inline:auto}.measure{max-width:38rem}.section{margin-top:var(--spacing-10)}.section>h2{margin-bottom:var(--spacing-4)}.section>*+*{margin-top:var(--spacing-4)}.section>h2+*{margin-top:0}.crumb{padding-top:var(--spacing-4);font-size:var(--text-micro);line-height:1.5}.crumb ol{gap:var(--spacing-1) var(--spacing-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.crumb li+li:before{content:"/";margin-right:var(--spacing-2);color:var(--color-chalk-dim)}.ledge{margin-top:var(--spacing-16);border-top:2px solid var(--color-ledge);padding-block:var(--spacing-6) var(--spacing-10);font-size:var(--text-micro);line-height:1.5}.ledge-groups{gap:var(--spacing-4) var(--spacing-10);display:grid}@media(min-width:640px){.ledge-groups{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}.ledge-group>*{margin:0}.ledge-title{margin-bottom:var(--spacing-2);font-weight:700}.ledge-list{gap:var(--spacing-2) var(--spacing-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ledge-list--stack{flex-flow:column}.ledge-note{margin-top:var(--spacing-6);color:var(--color-chalk-dim)}.ledge-note p+p{margin-top:var(--spacing-1)}.lang-current{color:var(--color-chalk-dim)}.ledge [lang=ja]{font-family:var(--font-ja)}.ledge [lang=zh-TW]{font-family:var(--font-zh-tw)}.ledge [lang=ko]{font-family:var(--font-ko)}.page-list{gap:var(--spacing-4);margin:0;padding:0;list-style:none;display:grid}.page-list li>a{font-weight:700}.page-list li>span{display:block}.first-screen{gap:var(--spacing-4);padding-top:var(--spacing-2);grid-template-areas:"title""game""narr";display:grid}.first-screen-title{grid-area:title}.first-screen-game{grid-area:game;min-width:0}.first-screen-narr{grid-area:narr;min-width:0}.first-screen-narr>*+*{margin-top:var(--spacing-4)}@media(min-width:960px){.first-screen{column-gap:var(--spacing-10);grid-template:"title game""narr game"1fr/minmax(0,38rem) minmax(0,1fr);align-items:start}}.game-box{box-sizing:border-box;width:min(100%,calc(var(--game-height) * 32 / 45));aspect-ratio:var(--game-aspect);background:var(--color-game-paper);color:var(--color-game-ink);border-radius:var(--radius-box);border:1px solid #0000;position:relative;overflow:hidden}.game-box :focus-visible{outline-color:var(--color-game-ink)}.cover{justify-content:center;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.cover[hidden]{display:none}.cover-note{font-size:var(--text-micro);color:var(--color-game-ink);line-height:1.5}.game-iframe{background:var(--color-game-paper);border:0;width:100%;height:100%;position:absolute;inset:0}.play{padding:var(--spacing-4) var(--spacing-10);background:var(--color-game-ink);color:var(--color-game-paper);border-radius:var(--radius-box);font-size:var(--text-body);overflow-wrap:anywhere;max-width:100%;transition:background-color var(--motion-interaction-duration) var(--motion-interaction-easing),transform var(--motion-interaction-duration) var(--motion-interaction-easing);border:1px solid #0000;font-weight:700;line-height:1.25;text-decoration:none;display:inline-block}.play:hover{background:var(--color-game-ink-hover);text-decoration:none}.play:active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){.play:active{transform:none}}.game-aside{margin-top:var(--spacing-2);font-size:var(--text-micro);line-height:1.5}.game-error{margin-top:var(--spacing-2)}.play-page{--game-height:min( calc(100svh - 56px) , 720px)}.play-screen{gap:var(--spacing-4);padding-top:var(--spacing-2);grid-template-areas:"game""info";display:grid}.play-screen-game{grid-area:game;min-width:0}.play-screen-info{grid-area:info;min-width:0}.play-screen-info>*+*{margin-top:var(--spacing-4)}@media(max-width:959px){.play-page{--game-height: calc(100svh - 40px) }.play-screen{padding-top:0}.play-screen-game{margin-inline:calc(var(--spacing-4) * -1)}.play-screen-game .game-box{border-radius:0}}@media(min-width:960px){.play-screen{column-gap:var(--spacing-10);grid-template-columns:minmax(0,24rem) minmax(0,1fr);grid-template-areas:"info game";align-items:start}}.text-button{appearance:none;color:var(--color-chalk);border:1px solid var(--color-chalk);border-radius:var(--radius-box);padding:var(--spacing-2) var(--spacing-4);font:inherit;cursor:pointer;transition:background-color var(--motion-interaction-duration) var(--motion-interaction-easing);background:0 0}.text-button:hover{background:var(--color-ledge)}.text-button[hidden]{display:none}.game-box:fullscreen{aspect-ratio:auto;border-radius:0;place-items:center;width:100%;height:100%;display:grid}.game-box:fullscreen .game-iframe{width:auto;height:min(100vh,140.625vw);aspect-ratio:var(--game-aspect);position:static}@media(forced-colors:active){.game-box,.play{border:1px solid canvastext}}.fig{margin:0}.fig svg{max-width:100%;height:auto;display:block;overflow:visible}.fig figcaption{margin-top:var(--spacing-2);font-size:var(--text-micro);line-height:1.5}.chalk-line{fill:none;stroke:var(--color-chalk);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chalk-dim-line{fill:none;stroke:var(--color-chalk-dim);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chalk-fill{fill:var(--color-chalk);stroke:none}.fig-num{fill:var(--color-chalk);font-size:var(--text-body);text-anchor:middle;dominant-baseline:central;font-weight:700}.chalk-red-line{fill:none;stroke:var(--color-chalk-red);stroke-width:2px;stroke-linecap:round}.fig-over{fill:var(--color-chalk-red);font-size:var(--text-body);text-anchor:middle;font-weight:700}.merge-a,.merge-b{opacity:0}.ball-four,.ball-squash,.ball-eight{transform-box:fill-box;transform-origin:50%}.numbers-note{margin-top:var(--spacing-2);font-size:var(--text-micro);line-height:1.5}.seq{gap:var(--spacing-1) var(--spacing-2);font-size:var(--text-body);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.seq li{clip-path:inset(0)}.seq .after-bar{margin-left:var(--spacing-2);padding-left:var(--spacing-4);border-left:2px solid var(--color-chalk-dim)}.plate-fill{transform-box:fill-box;transform-origin:50% 100%}@media(prefers-reduced-motion:no-preference){.js [data-narrative]:not([data-state=done]) .merge-a,.js [data-narrative]:not([data-state=done]) .merge-b{opacity:1}.js [data-narrative]:not([data-state=done]) .ball-four{opacity:0}.js [data-narrative]:not([data-state=done]) .plate-fill{transform:scaleY(0)}.js [data-narrative]:not([data-state=done]) .gauge-over{opacity:0}.js [data-narrative]:not([data-state=done]) .seq li{clip-path:inset(0 100% 0 0)}.js [data-narrative][data-state=playing] .merge-a{animation:merge-down var(--narr-merge-approach-duration) var(--narr-merge-approach-easing) both,merge-vanish var(--narr-merge-replace-duration) var(--narr-merge-replace-easing) var(--narr-merge-approach-duration) both}.js [data-narrative][data-state=playing] .merge-b{animation:merge-up var(--narr-merge-approach-duration) var(--narr-merge-approach-easing) both,merge-vanish var(--narr-merge-replace-duration) var(--narr-merge-replace-easing) var(--narr-merge-approach-duration) both}.js [data-narrative][data-state=playing] .ball-four{animation:merge-appear var(--narr-merge-replace-duration) var(--narr-merge-replace-easing) var(--narr-merge-approach-duration) both}.js [data-narrative][data-state=playing] .ball-squash,.js [data-narrative][data-state=playing] .ball-eight{animation:squash var(--narr-squash-duration) var(--narr-squash-easing) var(--narr-squash-delay) both}.js [data-narrative][data-state=playing] .seq li{animation:write-in var(--narr-write-item-duration) linear calc(var(--narr-write-delay) + var(--i) * var(--narr-write-stagger)) both}.js [data-narrative][data-state=playing] .plate-left{animation:plate-fill var(--narr-gauge-fill-duration) var(--narr-gauge-fill-easing) both}.js [data-narrative][data-state=playing] .plate-right{animation:plate-fill var(--narr-gauge-fill-duration) var(--narr-gauge-fill-easing) var(--narr-gauge-fill-duration) both}.js [data-narrative][data-state=playing] .gauge-over{animation:beam-on var(--narr-gauge-beam-duration) linear calc(var(--narr-gauge-fill-duration) * 2) both}}@keyframes merge-down{to{transform:translateY(20px)}}@keyframes merge-up{to{transform:translateY(-20px)}}@keyframes merge-vanish{to{opacity:0}}@keyframes merge-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes squash{0%{animation-timing-function:var(--narr-squash-easing);transform:scale(1)}50%{animation-timing-function:var(--narr-squash-easing);transform:scale(.84,1.1)}80%{animation-timing-function:var(--narr-squash-easing);transform:scale(1.03,.98)}to{transform:scale(1)}}@keyframes write-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes plate-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes beam-on{0%{opacity:0}to{opacity:1}}.facts-list,.steps-list{padding-left:var(--spacing-6);margin:0}.facts-list li+li,.steps-list li+li{margin-top:var(--spacing-2)}.faq-item+.faq-item{margin-top:var(--spacing-6)}.faq-item>h3{margin-bottom:var(--spacing-2)}.faq-end-figure{margin:var(--spacing-4) 0 0}.prose>*+*{margin-top:var(--spacing-4)}.prose h2{margin-top:var(--spacing-10);margin-bottom:var(--spacing-2)}.prose h3{margin-top:var(--spacing-6)}.prose ul{padding-left:var(--spacing-6);margin:0}.prose li+li{margin-top:var(--spacing-1)}.prose .table-scroll,.prose table{max-width:100%;display:block;overflow-x:auto}.prose table{border-collapse:collapse;font-size:var(--text-micro)}.prose th,.prose td{padding:var(--spacing-1) var(--spacing-2);border-bottom:1px solid var(--color-ledge);text-align:left;vertical-align:top}.prose a{overflow-wrap:anywhere}.prose strong{font-weight:700}.analytics-controls label{gap:var(--spacing-2);align-items:flex-start;display:flex}.analytics-controls input{margin-top:var(--spacing-1);accent-color:var(--color-chalk)}p,li,h1,h2,h3,figcaption{overflow-wrap:break-word}.micro{font-size:var(--text-micro);line-height:1.5}:root{color-scheme:dark;--motion-interaction-duration:.15s;--motion-interaction-easing:cubic-bezier(.2, 0, 0, 1);--narr-merge-approach-duration:.32s;--narr-merge-approach-easing:cubic-bezier(.4, 0, 1, 1);--narr-merge-replace-duration:.16s;--narr-merge-replace-easing:cubic-bezier(.2, 0, 0, 1);--narr-squash-duration:.42s;--narr-squash-easing:cubic-bezier(.3, 0, .3, 1);--narr-write-item-duration:.12s;--narr-write-stagger:55ms;--narr-gauge-fill-duration:.28s;--narr-gauge-fill-easing:cubic-bezier(.4, 0, .2, 1);--narr-gauge-beam-duration:.24s;--narr-squash-delay:calc(var(--narr-merge-approach-duration) + var(--narr-merge-replace-duration));--narr-write-delay:calc(var(--narr-squash-delay) + var(--narr-squash-duration));--game-aspect:32 / 45;--game-height:min( calc(100svh - 72px) , 720px)}*,:before,:after{box-sizing:border-box}ul,ol{margin:0}button{font:inherit;color:inherit}svg,iframe{display:block}html{background:var(--color-board);color:var(--color-chalk);font-family:var(--font-sans);font-variant-numeric:tabular-nums;scroll-behavior:auto}html:lang(ja){font-family:var(--font-ja)}html:lang(zh-TW){font-family:var(--font-zh-tw)}html:lang(ko){font-family:var(--font-ko)}body{background:var(--color-board);min-height:100svh;color:var(--color-chalk);font-size:var(--text-body);margin:0;line-height:1.6}html:lang(ja) body,html:lang(zh-TW) body,html:lang(ko) body{line-height:1.75}h1,h2,h3{margin:0;font-weight:700}h1{font-size:var(--text-display);line-height:1.25}@media(max-width:480px){h1{font-size:1.5rem}}h2,h3{font-size:var(--text-h2);line-height:1.25}p{margin:0}a{color:inherit;text-underline-offset:3px;transition:text-decoration-thickness var(--motion-interaction-duration) var(--motion-interaction-easing);text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-chalk);outline-offset:2px}.fact{color:var(--color-chalk-yellow)}.dim{color:var(--color-chalk-dim)}.skip-link{left:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--color-board);border:1px solid var(--color-chalk);z-index:10;position:absolute;top:-64px}.skip-link:focus{top:var(--spacing-2)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
