@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}html,body{background:#000;height:100%;margin:0;overflow:hidden}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}#root{position:fixed;inset:0}canvas{touch-action:none;display:block}.term{box-sizing:border-box;color:#b8c7c2;letter-spacing:.02em;text-shadow:0 0 8px #3dffe840;background:radial-gradient(at 50% 45%,#07110f 0%,#030605 80%);flex-direction:column;width:960px;height:720px;padding:36px 44px 32px;font-size:38px;line-height:1.5;display:flex}.term p,.term ol,.term ul{margin:0;padding:0;list-style:none}.term-bar{color:#66756f;border-bottom:2px solid #17211f;justify-content:space-between;margin-bottom:24px;padding-bottom:12px;font-size:30px;display:flex}.term-body{white-space:pre;flex:1;overflow:hidden}.term .term-body>*+*,.term .term-home>*+*{margin-top:18px}.term .term-hint{margin-top:24px;font-size:30px}.term-about,.editor-jp,.chart-jp,.about-text{font-family:JetBrains Mono,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,Meiryo,sans-serif}.term-about{font-size:30px;line-height:1.4}.term .term-home>.term-about{margin-top:6px}.term-dim,.term-note{color:#66756f}.term-note{margin-left:1.2em}.term-alert{color:#ff4b3e;text-shadow:0 0 8px #ff4b3e59}.term-ok{color:#3dffe8}.term-lines li+li{margin-top:20px}.term-rows{grid-template-columns:7.5em 1fr;row-gap:12px;display:grid}.term-rows span:nth-child(2n){gap:1.2em;display:flex}.term a{color:#3dffe8;margin:-18px 0;padding:18px 0;text-decoration:none;display:inline-block}.term a:hover,.term a:focus-visible{outline:none;text-decoration:underline}.term-cursor{animation:1s step-end infinite blink}.term-reveal>*{animation:both term-print}.term-reveal>:nth-child(2){animation-delay:.6s}.term-reveal>:nth-child(3){animation-delay:.85s}.term-reveal>:nth-child(4){animation-delay:1.1s}.term-reveal>:nth-child(5){animation-delay:1.35s}@keyframes term-print{0%{visibility:hidden}}.term-ports{gap:16px;margin-top:16px;display:flex}.term-ports button{color:#8a9a95;min-width:112px;min-height:104px;font:inherit;letter-spacing:.08em;cursor:pointer;background:#050b0a;border:2px solid #1f2b28;padding:0 24px;font-size:30px}.term-ports button[aria-pressed=true]{color:#3dffe8;border-color:#3dffe880}.term-ports button:hover,.term-ports button:focus-visible{color:#3dffe8;border-color:#3dffe880;outline:none}.term-back{margin-left:auto}.editor{box-sizing:border-box;color:#c3c8d0;background:#0e1116;flex-direction:column;width:720px;height:960px;padding:28px 36px 24px;font-size:28px;line-height:1.5;display:flex}.editor p,.editor h2,.editor ul{margin:0;padding:0;list-style:none}.editor-tabs{gap:10px;display:flex}.editor-tabs button,.editor-status button{color:#7d8590;font:inherit;cursor:pointer;background:#0b0d11;border:2px solid #232831}.editor-tabs button{min-height:96px;padding:0 12px;font-size:24px}.editor-tabs button[aria-pressed=true],.editor-tabs button:hover,.editor-tabs button:focus-visible,.editor-status button:hover,.editor-status button:focus-visible{color:#ffc46b;border-color:#ffc46b80;outline:none}.editor-body{flex:1;margin-top:28px;overflow:hidden}.editor .editor-h{color:#ffc46b;margin:0 0 20px;font-size:32px;font-weight:400}.editor .editor-lead{margin-bottom:20px}.editor-list li{grid-template-columns:1.2em 1fr;display:grid}.editor-body p,.editor-list li{line-height:1.6}.editor-list li+li{margin-top:18px}.editor-skills{grid-template-columns:max-content 1fr;align-items:baseline;gap:12px 24px;margin:0;display:grid}.editor-skills dt,.editor-skills dd{line-height:1.6}.editor-skills dt{color:#5f6772;font-size:24px}.editor-skills dd{flex-wrap:wrap;gap:0 .8em;margin:0;font-size:26px;display:flex}.editor-skills span{white-space:nowrap}.editor-dim{color:#5f6772}.editor-jp{line-break:strict}.editor-status{color:#5f6772;border-top:2px solid #1b1f26;justify-content:space-between;align-items:center;padding-top:12px;font-size:24px;display:flex}.editor-status button{letter-spacing:.08em;min-width:112px;min-height:88px;padding:0 24px;font-size:24px}.chart{box-sizing:border-box;color:#26292e;flex-direction:column;width:720px;height:960px;padding:28px 36px 24px;font-size:28px;line-height:1.5;display:flex}.chart p,.chart h2,.chart ul{margin:0;padding:0;list-style:none}.chart-tabs{gap:10px;display:flex}.chart-tabs button,.chart-foot button{color:#3a3218;font:inherit;cursor:pointer;background:#f3d98a;border:none;font-size:24px}.chart-tabs button{min-height:88px;padding:0 14px}.chart-tabs button[aria-pressed=true],.chart-tabs button:hover,.chart-tabs button:focus-visible,.chart-foot button:hover,.chart-foot button:focus-visible{background:#ecc95c;outline:none;box-shadow:inset 0 -4px #1f5fbf}.chart-body{flex:1;margin-top:28px;overflow:hidden}.chart .chart-h{color:#1f5fbf;margin:0 0 20px;font-size:40px;font-weight:400}.chart-list li{grid-template-columns:1.2em 1fr;line-height:1.6;display:grid}.chart-list li:before{content:"";background:#1f5fbf;border-radius:50%;width:10px;height:10px;margin-top:calc(.8em - 5px)}.chart-list li+li{margin-top:18px}.chart .chart-group{margin-top:36px}.chart-big{font-size:34px;line-height:1.7}.chart-dim{color:#7d786c}.chart-jp{line-break:strict}.chart-link{color:#1f5fbf;margin:-18px 0;padding:18px 0;font-size:34px;text-decoration:underline;display:inline-block}.chart-link:hover,.chart-link:focus-visible{outline:none;text-decoration-thickness:3px}.chart-foot{color:#7d786c;border-top:2px solid #cfc9bc;justify-content:space-between;align-items:center;padding-top:12px;font-size:24px;display:flex}.chart-foot button{letter-spacing:.08em;min-width:112px;min-height:88px;padding:0 24px}.skip,.replay{color:#8a9199;font:inherit;letter-spacing:.08em;cursor:pointer;background:#06080a;border:1px solid #2a3036;padding:6px 10px;font-size:11px;position:fixed;bottom:16px;left:16px}.skip:hover,.skip:focus-visible,.replay:hover,.replay:focus-visible{color:#3dffe8;border-color:#3dffe866}.page,.fallback{z-index:1;background:#000;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.page{transition:opacity .8s,visibility 0s linear .8s}.page-done{opacity:0;visibility:hidden}.page-card{box-sizing:border-box;color:#8a9199;letter-spacing:.08em;background:#06080a;border:1px solid #2a3036;width:min(320px,100%);padding:16px 18px 18px;font-size:11px}.page-head{justify-content:space-between;display:flex}.page-alert{color:#ff4b3e;letter-spacing:.06em;margin:14px 0 18px;font-size:15px}.page-alert:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:8px;height:8px;margin-right:10px;animation:1s step-end infinite blink;display:inline-block}.page-ack{color:#c9ced4;width:100%;min-height:44px;font:inherit;letter-spacing:.3em;text-indent:.3em;cursor:pointer;background:#000;border:1px solid #2a3036;font-size:13px}.page-ack:hover,.page-ack:focus-visible{color:#3dffe8;border-color:#3dffe866;outline:none}.page-ack:disabled{color:#4a5057;cursor:default;border-color:#2a3036}.fallback-name{color:#c9ced4;letter-spacing:.06em;margin:14px 0 12px;font-size:15px}.fallback-links{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.fallback a{color:#3dffe8;margin:-12px 0;padding:12px 0;text-decoration:none;display:inline-block}.fallback a:hover,.fallback a:focus-visible{outline:none;text-decoration:underline}.fallback .page-ack{margin-top:18px}.passage{z-index:1;opacity:0;visibility:hidden;pointer-events:none;background:#000;transition:opacity .8s,visibility 0s linear .8s;position:fixed;inset:0}.passage-shut{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .8s}.passage-cut{transition:none}.menu{z-index:2;position:fixed;top:16px;right:16px}.menu ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.menu .menu-group{margin-top:8px}.menu-button{box-sizing:border-box;color:#8a9199;width:40px;height:40px;font:inherit;cursor:pointer;background:#06080ad9;border:1px solid #2a3036;place-items:center;padding:0;text-decoration:none;display:grid;position:relative}.menu-label{letter-spacing:.08em;white-space:nowrap;opacity:0;pointer-events:none;background:#06080ad9;border:1px solid #2a3036;padding:4px 8px;font-size:11px;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.menu[data-intro] .menu-label,.menu-button:focus-visible .menu-label{opacity:1}@media (hover:hover){.menu-button:hover .menu-label{opacity:1}.menu-button:not([aria-disabled=true]):hover{color:#3dffe8;border-color:#3dffe866}}.menu-button:focus-visible{outline-offset:2px;color:#3dffe8;border-color:#3dffe866;outline:1px solid #3dffe866}.menu-button[aria-current=page],.menu-button[aria-pressed=true]{color:#3dffe8}.menu-button[aria-disabled=true]{color:#4a5057;cursor:default}@media (pointer:coarse){.menu-button{width:44px;height:44px}}@media (height<=480px){.menu ul{gap:2px}.menu .menu-group{margin-top:4px}.menu-button{width:36px;height:36px}}@media (height<=345px){.menu{max-height:calc(100% - 32px);overflow-y:auto}}@media (width<=1023px){.menu[data-docked]{display:none}}.about{z-index:1;box-sizing:border-box;color:#8a9199;letter-spacing:.08em;opacity:0;visibility:hidden;background:#06080aeb;border:1px solid #2a3036;outline:none;max-height:calc(100% - 72px);padding:16px 18px 18px;font-size:11px;transition:opacity .4s,transform .4s,visibility 0s linear .4s;position:fixed;bottom:56px;left:16px;right:76px;overflow-y:auto;transform:translateY(8px)}.about-open{opacity:1;visibility:visible;transition:opacity .4s,transform .4s;transform:none}@media (width>=1024px),(width>=640px) and (height<=480px){.about{width:min(380px,100% - 96px);right:auto}}.about-head{justify-content:space-between;align-items:center;display:flex}.about-close{box-sizing:border-box;color:#8a9199;width:40px;height:40px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;margin:-12px -14px -12px 0;padding:0;font-size:18px;line-height:1}.about-close:hover,.about-close:focus-visible{color:#3dffe8;border-color:#3dffe866;outline:none}.about-name{color:#c9ced4;letter-spacing:.06em;margin:14px 0 4px;font-size:20px;font-weight:400}.about-title{margin:0}.about-text{color:#b8bec6;letter-spacing:.02em;line-break:strict;word-break:keep-all;overflow-wrap:anywhere;margin:14px 0 16px;font-size:15px;line-height:1.8}.about-line{display:block}.about-rows{grid-template-columns:auto 1fr;align-items:baseline;gap:12px 16px;margin:0;display:grid}.about-rows dd{flex-wrap:wrap;gap:8px 20px;margin:0;font-size:13px;display:flex}@media (width<=399px){.about-rows{grid-template-columns:1fr;gap:6px}.about-rows dd+dt{margin-top:8px}}.about a{color:#3dffe8;margin:-12px 0;padding:12px 0;text-decoration:none;display:inline-block}.about a:hover,.about a:focus-visible{outline:none;text-decoration:underline}@media (pointer:coarse){.about-close{width:44px;height:44px;margin:-14px -16px -14px 0}.about a{text-align:center;min-width:44px;margin:-14px 0;padding:14px 0}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.page-alert:before,.term-cursor{animation:none}.menu-label,.about,.about-open{transition:none}}
