@font-face{font-family:DungGeunMo;src:url(/assets/DungGeunMo-DoS5TQED.woff2)format("woff2"),url(/assets/DungGeunMo-Cq4nHEYy.woff)format("woff"),url(/assets/DungGeunMo-BaQahrtZ.eot)format("embedded-opentype");font-style:normal;font-weight:400;font-display:swap}:root{--background:#000;--foreground:#fff;--accepted:#42e66c;--wrong:#ff4d4d;--timeout:#ffc247;--motion-ease-out:cubic-bezier(.16, 1, .3, 1);--motion-fast:.36s;--motion-medium:.7s;--motion-slow:1.1s;--motion-stagger-fast:.13s;--motion-stagger-medium:.22s;--font-terminal:"DungGeunMo", "Fixedsys Excelsior 3.01", "Fixedsys", "Courier New", monospace;color:var(--foreground);background:var(--background);font-family:var(--font-terminal);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{background:var(--background);min-height:100svh;color:var(--foreground);margin:0}button,input{font:inherit;border-radius:0}button{-webkit-tap-highlight-color:transparent}#root{min-height:100svh}.app-shell{place-items:center;min-height:100svh;padding:clamp(.5rem,2vw,1.5rem);display:grid}.terminal-frame{isolation:isolate;border:2px solid var(--foreground);background:var(--background);width:min(100%,64rem);min-height:calc(100svh - clamp(1rem,4vw,3rem));position:relative}.sound-control{z-index:6;right:max(.75rem, env(safe-area-inset-right));top:max(.75rem, env(safe-area-inset-top));max-width:calc(100% - 1.5rem);color:var(--foreground);flex-direction:column;align-items:flex-end;gap:.45rem;display:flex;position:absolute}.sound-control-button{border:1px solid var(--foreground);background:var(--background);min-width:5.25rem;color:var(--foreground);cursor:pointer;letter-spacing:.08em;order:1;padding:.4rem .65rem}.sound-control-button:hover{box-shadow:inset 0 0 0 1px var(--foreground);border-width:2px;padding:calc(.4rem - 1px) calc(.65rem - 1px)}.sound-control-button:focus-visible,.sound-control-range:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.sound-control-panel{border:1px solid var(--foreground);background:var(--background);width:min(14rem,100vw - 2rem);max-width:100%;box-shadow:inset 0 0 0 1px var(--background), inset 0 0 0 2px var(--foreground);order:2;gap:.65rem;padding:.7rem;display:grid}.sound-control-volume-heading{letter-spacing:.06em;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.85rem;display:flex}.sound-control-label,.sound-control-percentage{color:var(--foreground)}.sound-control-range{width:100%;min-width:0;accent-color:var(--foreground);cursor:pointer;margin:0}.game-screen{width:100%;min-height:inherit;color:var(--foreground);flex-direction:column;padding:clamp(1rem,4vw,2.5rem);display:flex;position:relative}.screen-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(1rem,3vw,1.75rem);width:min(100%,48rem);margin:0 auto;display:flex}.game-screen h1,.game-screen h2,.game-screen p{margin:0}.game-screen h1{color:var(--foreground);letter-spacing:.04em;font-size:clamp(1.6rem,5vw,3rem);line-height:1.2}.start-screen{text-align:center;justify-content:center;align-items:center;gap:clamp(2.5rem,8vh,5rem)}.test-mode-toggle{z-index:10;top:max(.5rem, env(safe-area-inset-top));right:max(.5rem, env(safe-area-inset-right));border:1px solid var(--foreground);background:var(--background);max-width:calc(100vw - 1rem);min-height:2rem;color:var(--foreground);font:inherit;letter-spacing:.04em;cursor:pointer;border-radius:0;padding:.35rem .55rem;font-size:.75rem;font-weight:700;position:fixed}.test-mode-toggle:hover,.test-mode-toggle:focus-visible{box-shadow:inset 0 0 0 1px var(--foreground)}.test-mode-toggle:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.start-title-group{flex-direction:column;align-items:center;gap:.2rem;width:100%;padding-inline:1.5rem;display:flex;overflow-x:clip}.start-screen .start-title-primary,.start-screen .start-title-secondary{max-width:100%;color:var(--foreground);letter-spacing:.04em;word-break:keep-all;font-size:clamp(1.75rem,6vw,4rem);line-height:1.1}.start-title-primary,.start-title-secondary{animation:main-menu-title-enter var(--title-enter-duration) cubic-bezier(.25, .1, .25, 1) var(--title-enter-delay) both}.start-title-secondary{font-size:clamp(1.35rem,6vw,4rem)}.menu-actions{flex-direction:column;gap:.75rem;width:min(100%,22rem);display:flex}.terminal-button{border:2px solid var(--foreground);background:var(--background);min-height:3.25rem;color:var(--foreground);font:inherit;letter-spacing:.06em;text-align:center;cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:700;display:inline-flex}.terminal-button:hover:not(:disabled){outline:1px solid var(--foreground);outline-offset:-5px}.terminal-button:focus-visible,.answer-form input:focus-visible{outline:3px double var(--foreground);outline-offset:4px}.terminal-button:disabled{cursor:not-allowed;opacity:.55}.menu-button{width:100%;animation:main-menu-button-enter var(--menu-enter-duration) cubic-bezier(.16, 1, .3, 1) var(--menu-enter-delay) both;position:relative}.menu-button:before{content:">";color:inherit;opacity:0;pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.menu-button-line-emphasis:hover:not(:disabled),.menu-button-line-emphasis:focus-visible{background:var(--background);color:var(--foreground);box-shadow:inset 0 0 0 2px var(--background), inset 0 0 0 3px var(--foreground)}.menu-button-line-emphasis:hover:not(:disabled){outline:1px solid var(--foreground);outline-offset:-5px}.menu-button-line-emphasis:focus-visible{outline:3px double var(--foreground);outline-offset:4px}.menu-button:hover:not(:disabled):before,.menu-button:focus-visible:before{opacity:1}.phase-content,.query-stage{padding-block:clamp(1rem,5vh,4rem)}.sequence-screen,.intermission-screen,.rule-update-screen,.timed-screen{overflow-x:clip}.sequence-content{gap:clamp(1.25rem,3vw,1.75rem)}.sequence-heading-enter{animation:initial-sequence-heading-enter 1s var(--motion-ease-out) both}.intermission-screen,.intermission-content{min-width:0}.intermission-content{gap:clamp(.9rem,3vh,1.75rem);width:min(100%,36rem);padding-block:clamp(1rem,5vh,4rem)}.intermission-round{color:var(--foreground);letter-spacing:.08em;font-size:clamp(.85rem,2.8vw,1.05rem);font-weight:700}.intermission-round-enter{animation:rule-update-round-enter .65s var(--motion-ease-out) both}.intermission-title-enter{animation:rule-update-title-enter .8s var(--motion-ease-out) .1s both}.intermission-message{min-width:0;color:var(--foreground);text-align:center;word-break:keep-all;overflow-wrap:break-word;white-space:normal;gap:.35rem;font-size:clamp(1rem,4vw,1.35rem);line-height:1.45;display:grid}.intermission-message-enter,.intermission-action-enter{animation:intermission-action-enter .75s var(--motion-ease-out) both}.rule-update-screen,.rule-update-content,.rule-update-list,.rule-update-item{min-width:0}.rule-update-content{gap:clamp(.75rem,2.5vh,1.5rem);width:min(100%,40rem);padding-block:clamp(.5rem,2.5vh,2rem)}.rule-update-round{color:var(--foreground);letter-spacing:.08em;font-size:clamp(.85rem,2.8vw,1.05rem);font-weight:700}.rule-update-round-enter{animation:rule-update-round-enter .65s var(--motion-ease-out) both}.rule-update-title-enter{animation:rule-update-title-enter .8s var(--motion-ease-out) .1s both}.rule-update-list{width:min(100%,36rem);max-width:100%;margin:0;padding:0;list-style:none}.rule-update-item{text-align:center;justify-items:center;gap:clamp(.35rem,1.5vh,.7rem);width:100%;padding-block:clamp(.7rem,2vh,1.2rem);display:grid}.rule-update-item-enter{animation:rule-update-item-enter var(--rule-update-item-enter-duration,.9s) var(--motion-ease-out) var(--rule-update-item-enter-delay) both}.rule-update-item+.rule-update-item{border-top:1px solid var(--foreground)}.rule-update-notation{max-width:100%;max-inline-size:100%;color:var(--foreground);font-family:var(--font-terminal);white-space:nowrap;font-size:clamp(1.5rem,7vw,3rem);line-height:1.15}.rule-update-description{max-width:100%;color:var(--foreground);overflow-wrap:break-word;word-break:keep-all;white-space:normal;font-size:clamp(.9rem,3.5vw,1.15rem);line-height:1.45}.rule-update-item-heading{max-width:100%;color:var(--foreground);letter-spacing:.06em;overflow-wrap:anywhere;font-size:clamp(1rem,4vw,1.4rem);line-height:1.2}.rule-update-count-change{max-width:100%;color:var(--foreground);justify-content:center;align-items:center;gap:clamp(.65rem,4vw,1.5rem);font-size:clamp(1.8rem,8vw,3.5rem);line-height:1;display:flex}.rule-update-action{flex:none}.rule-update-action-enter{animation:rule-update-action-enter var(--rule-update-action-enter-duration,.75s) var(--motion-ease-out) var(--rule-update-action-enter-delay) both}.query-ordinal{color:var(--foreground);letter-spacing:.08em;font-size:clamp(.9rem,2.7vw,1.15rem)}.update-ordinal-enter,.question-ordinal-enter{animation:update-ordinal-enter .26s var(--motion-ease-out) both}.timed-action-area,.sequence-action-area{flex-direction:column;align-items:center;gap:.75rem;margin-inline:auto;display:flex}.sequence-instruction{max-width:100%;color:var(--foreground);text-align:center;word-break:keep-all;overflow-wrap:break-word;white-space:normal;gap:.25rem;font-size:clamp(.9rem,3.5vw,1.15rem);line-height:1.4;display:grid}.sequence-instruction-enter{animation:initial-sequence-instruction-enter var(--sequence-action-enter-duration,.8s) var(--motion-ease-out) var(--sequence-action-enter-delay,1.5s) both}.sequence-action-enter{animation:initial-sequence-action-enter var(--sequence-action-enter-duration,.8s) var(--motion-ease-out) var(--sequence-action-enter-delay,1.5s) both}.phase-action-area{width:min(100%,22rem)}.question-action-area{width:min(100%,24rem)}.countdown{color:var(--foreground);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-align:center;white-space:nowrap;font-size:clamp(1.1rem,3.5vw,1.5rem);line-height:1}.countdown-value{color:var(--foreground)}.terminal-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sequence-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.35rem,2vw,.8rem);width:min(100%,35rem);margin:0;padding:0;list-style:none;display:grid}.sequence-cell{border:2px solid var(--foreground);background:var(--background);min-width:0;color:var(--foreground);animation:initial-sequence-cell-enter var(--sequence-cell-enter-duration) var(--motion-ease-out) var(--sequence-cell-enter-delay) both;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:clamp(.75rem,3vw,1.4rem) .25rem;display:flex}.cell-position{color:var(--foreground);font-size:clamp(.7rem,2.5vw,.95rem)}.cell-value{color:var(--foreground);font-size:clamp(1.45rem,6vw,2.6rem);line-height:1}.query-expression{width:100%;overflow-wrap:normal;white-space:nowrap;border-block:2px solid var(--foreground);background:var(--background);max-inline-size:100%;color:var(--foreground);font-family:var(--font-terminal);text-align:center;padding:clamp(1rem,4vw,2rem) .5rem;font-size:clamp(1.8rem,8vw,4.8rem);line-height:1.2;display:block}.phase-action{width:min(100%,22rem);margin-inline:auto}.update-action-enter{animation:update-action-enter .34s var(--motion-ease-out) 80ms both}.answer-form{text-align:center;flex-direction:column;align-items:center;gap:.85rem;width:min(100%,24rem);display:flex}.answer-form label{color:var(--foreground);letter-spacing:.08em}.answer-form input{border:2px solid var(--foreground);background:var(--background);width:100%;min-height:3.25rem;color:var(--foreground);caret-color:var(--foreground);font:inherit;text-align:center;border-radius:0;font-size:1.35rem}.answer-form .phase-action{width:100%}.result-screen{grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:calc(100dvh - clamp(1rem,4vw,3rem) - 4px);display:grid}.result-body{flex-direction:column;align-items:center;min-width:0;min-height:0;padding-block:clamp(.5rem,2vh,1rem);display:flex;overflow:hidden auto}.result-content{text-align:center;justify-items:center;gap:clamp(1rem,3vh,2rem);width:min(100%,32rem);min-width:0;max-width:100%;margin-block:auto;display:grid}.query-notation-compact{letter-spacing:-.01em;font-size:clamp(1.05rem,5.2vw,3rem)}.query-notation-dense{letter-spacing:-.025em;font-size:clamp(.82rem,3.8vw,2.15rem)}.question-form-enter{animation:question-form-enter .34s var(--motion-ease-out) 80ms both}.update-query-enter{animation:update-query-enter .42s var(--motion-ease-out) both}.question-query-enter{animation:question-query-enter var(--motion-fast) var(--motion-ease-out) both}.result-content>*{max-width:100%}.result-screen-accepted .phase-status{animation:accepted-follow-up-enter .5s var(--motion-ease-out) .72s both}.verdict-lock-in{animation:accepted-lock-in .7s var(--motion-ease-out) both}.accepted-action-enter{animation:accepted-follow-up-enter .5s var(--motion-ease-out) .72s both}.result-detail-enter{animation:result-detail-enter var(--result-detail-enter-duration,.52s) var(--motion-ease-out) var(--result-detail-enter-delay) both}.result-screen>.status-bar{margin-top:0}.verdict{max-width:100%;overflow-wrap:normal;text-align:center;text-wrap:balance;white-space:normal;word-break:normal;max-inline-size:min(92vw,860px);letter-spacing:.03em!important;font-size:clamp(2.25rem,7vw,5.5rem)!important;line-height:1.05!important}.verdict-accepted{color:var(--accepted)!important}.verdict-wrong{color:var(--wrong)!important}.verdict-timeout{color:var(--timeout)!important}.terminal-sequence{table-layout:fixed;border-collapse:collapse;width:min(100%,39rem);min-width:0;max-width:100%;color:var(--foreground);font-size:clamp(.72rem,3vw,1.05rem)}.terminal-sequence caption{color:var(--foreground);letter-spacing:.06em;margin-bottom:.6rem;font-weight:700}.terminal-sequence th,.terminal-sequence td{overflow-wrap:anywhere;border:1px solid var(--foreground);min-width:0;color:var(--foreground);text-align:center;padding:clamp(.4rem,2vw,.75rem) .1rem}.terminal-sequence th:first-child{width:28%}.correct-answer{max-width:100%;color:var(--foreground);text-align:center}.correct-answer h2{color:var(--foreground);letter-spacing:.06em;font-size:clamp(.9rem,3vw,1.15rem)}.correct-answer output{color:var(--foreground);font-family:var(--font-terminal);margin-top:.35rem;font-size:clamp(2rem,8vw,4rem);line-height:1;display:block}.return-button{white-space:normal;max-width:100%}.status-bar{border-top:2px solid var(--foreground);width:100%;color:var(--foreground);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:.8rem;font-size:clamp(.75rem,2.8vw,1rem);display:flex}.phase-status{color:var(--foreground);text-align:right}.phase-status-accepted{color:var(--accepted)}.phase-status-wrong{color:var(--wrong)}.phase-status-timeout{color:var(--timeout)}@keyframes initial-sequence-heading-enter{0%{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}@keyframes initial-sequence-instruction-enter{0%{opacity:0;transform:translateY(var(--sequence-action-enter-offset,24px))}to{opacity:1;transform:translateY(0)}}@keyframes initial-sequence-action-enter{0%{opacity:0;transform:translateY(var(--sequence-action-enter-offset,24px))}to{opacity:1;transform:translateY(0)}}@keyframes rule-update-round-enter{0%{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}@keyframes rule-update-title-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes rule-update-item-enter{0%{opacity:0;transform:translateX(var(--rule-update-item-enter-offset))}to{opacity:1;transform:translate(0)}}@keyframes rule-update-action-enter{0%{opacity:.35;transform:translateY(var(--rule-update-action-enter-offset,20px))}to{opacity:1;transform:translateY(0)}}@keyframes intermission-action-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes update-ordinal-enter{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes update-query-enter{0%{opacity:0;transform:translate(36px)scale(1.04)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes update-action-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes question-query-enter{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes question-form-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes accepted-lock-in{0%{opacity:0;transform:scale(.82)}72%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes accepted-follow-up-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes result-detail-enter{0%{opacity:0;transform:translateY(var(--result-detail-enter-offset,18px))}to{opacity:1;transform:translateY(0)}}@keyframes main-menu-title-enter{0%{opacity:0;transform:translateX(var(--title-enter-offset))}to{opacity:1;transform:translate(0)}}@keyframes initial-sequence-cell-enter{0%{opacity:0;transform:translateY(var(--sequence-cell-enter-offset)) scale(var(--sequence-cell-enter-scale))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes main-menu-button-enter{0%{opacity:0;transform:translateY(var(--menu-enter-offset))}to{opacity:1;transform:translateY(0)}}@media (width<=30rem){.app-shell{padding:0}.terminal-frame{border-inline:0;min-height:100svh}.terminal-frame:has(.sound-control-panel) .game-screen{padding-top:max(8rem, calc(7.25rem + env(safe-area-inset-top)))}.game-screen{min-height:calc(100svh - 4px);padding:1rem .75rem}.result-screen{height:calc(100dvh - 4px);min-height:0}.status-bar{gap:.5rem}.terminal-sequence th:first-child{width:25%}}@media (prefers-reduced-motion:reduce){.start-title-primary,.start-title-secondary,.menu-button,.phase-motion,.result-screen-accepted .phase-status{opacity:1!important;animation:none!important;transform:none!important}}
