@font-face{font-family:Zpix;src:url(/second-sense/zpix.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light;--paper: #e9ecf0;--paper-running: #eddfdf;--ink: #202429;--muted: #5b636c;--line: #c6ccd2;--red: #f3333d;font-family:Zpix,PingFang SC,Hiragino Kaku Gothic ProN,Apple SD Gothic Neo,Malgun Gothic,monospace;font-size:16px;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--paper);transition:background-color .35s ease}body.is-running{background-color:var(--paper-running)}body:before{content:"";position:fixed;inset:-48px;z-index:0;pointer-events:none;opacity:0;transition:opacity .35s ease;background-image:linear-gradient(rgba(32,36,41,.07) 2px,transparent 2px),linear-gradient(90deg,rgba(32,36,41,.07) 2px,transparent 2px);background-size:14px 14px;image-rendering:pixelated}body.is-running:before{opacity:1;animation:bg-drift 13s linear infinite alternate}@keyframes bg-drift{0%{transform:translate(0)}22%{transform:translate(-14px,10px)}48%{transform:translate(10px,-12px)}71%{transform:translate(-8px,-6px)}to{transform:translate(12px,14px)}}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #2755c1;outline-offset:5px}.shell{position:relative;z-index:1;width:min(100%,1040px);padding:0 40px;margin:auto}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro{animation:rise-in .45s ease both}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:24px;line-height:1.2}.brand-mark{display:grid;place-items:center;background:var(--ink);color:#fff;width:42px;height:42px;font-size:24px;box-shadow:3px 3px 0 var(--red);transition:transform .14s ease,box-shadow .14s ease}.brand:hover .brand-mark{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--red)}.brand-en{display:block;font-size:12px;letter-spacing:.06em;margin-top:4px;color:var(--muted)}.header-note{font-size:14px;color:var(--muted)}main{width:min(100%,980px);margin:auto}.play-layout{display:grid;grid-template-columns:minmax(0,660px) 280px;gap:24px;justify-content:center;align-items:start;margin-top:20px}.play-main{min-width:0}.history{background:#f9fafb;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:12px 12px 10px}.history h2{font-size:16px;font-weight:400;line-height:1.4;margin:0 0 8px}.history-empty{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.history-empty[hidden]{display:none}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.history-item{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 8px;background:#fff;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--line);padding:6px 8px;font-size:14px;line-height:1.5}.history-item:first-child{box-shadow:2px 2px 0 var(--red)}.history-target{white-space:nowrap}.history-actual{color:var(--muted);white-space:nowrap;text-align:right}.history-diff{grid-column:1 / -1}.history-diff.early{color:#0f7a31}.history-diff.late{color:#aa1728}.history-diff.exact{color:var(--red)}.intro{text-align:center;padding:24px 0 12px}.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--red);margin:0 0 12px}h1{font-size:36px;font-weight:400;line-height:1.45;margin:0 0 8px}.intro>p:last-child{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.machine{background:#f9fafb;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:22px 28px 19px}.machine-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:19px}.small-label{font-size:16px}.target-options{display:flex;gap:8px}.target{min-width:72px;min-height:42px;padding:8px 12px;border:2px solid var(--ink);color:var(--ink);background:#fff;box-shadow:2px 2px 0 var(--line);font-size:16px;transition:transform .12s ease,background-color .15s ease,box-shadow .12s ease}.target.active{background:var(--ink);color:#fff;box-shadow:2px 2px 0 var(--red)}.target:hover:not(:disabled):not(.active){background:#eceff3;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--line)}.target:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--line)}.target:disabled:not(.active){opacity:.45}.display-housing{position:relative;background:#181b20;border:6px solid #363b43;box-shadow:inset 0 0 0 2px #080a0d,0 3px #15191e;padding:14px 24px 12px;color:#b7bec6;transition:border-color .18s ease,box-shadow .18s ease}.display-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:14px;line-height:1.6}#status{display:inline-flex;align-items:center;gap:8px;color:#ef9ea2}#status:before{content:"";width:8px;height:8px;background:transparent;border:2px solid #5b636c;opacity:.7}.display-housing.running #status:before{background:#fa3b44;border-color:#fa3b44;opacity:1;box-shadow:0 0 6px #fa3b44cc}.digital-display{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin:22px auto 13px;max-width:476px}.digit-group{display:flex;justify-content:center;gap:10px}.digit{position:relative;aspect-ratio:40/72;flex:1;max-width:54px;min-width:0}.seg{position:absolute;display:block;background:#fa3b44;opacity:.075}.seg.on{opacity:1}.seg.a,.seg.g,.seg.d{left:15%;width:70%;height:9%;clip-path:polygon(10% 0,90% 0,90% 20%,100% 20%,100% 80%,90% 80%,90% 100%,10% 100%,10% 80%,0 80%,0 20%,10% 20%)}.seg.a{top:0}.seg.g{top:45.5%}.seg.d{bottom:0}.seg.b,.seg.c,.seg.e,.seg.f{width:15%;height:39%;clip-path:polygon(20% 0,80% 0,80% 5%,100% 5%,100% 95%,80% 95%,80% 100%,20% 100%,20% 95%,0 95%,0 5%,20% 5%)}.seg.b{right:0;top:6%}.seg.c{right:0;bottom:6%}.seg.e{left:0;bottom:6%}.seg.f{left:0;top:6%}.display-colon{height:60px;width:5px;display:flex;justify-content:space-evenly;flex-direction:column}.display-colon i{display:block;width:5px;height:5px;background:#fa3b44}.display-units{display:grid;grid-template-columns:repeat(3,1fr);font-size:12px;letter-spacing:.18em;text-align:center;color:#979faa;margin:0 -3px}.control-area{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:20px}.control-prompt{margin:0 0 14px;font-size:16px;color:var(--muted);line-height:1.6}.control-prompt[hidden],.easter-egg[hidden]{display:none}.easter-egg{--egg-ink: #795009;--egg-paper: #fff3c5;width:min(100%,440px);margin-bottom:14px;padding:10px 12px;border:2px solid var(--egg-ink);box-shadow:3px 3px 0 var(--egg-ink);background:var(--egg-paper);color:var(--egg-ink);text-align:left;animation:rise-in .22s ease-out both}.easter-egg[data-kind=near-one]{--egg-ink: #854218;--egg-paper: #ffecd9}.easter-egg[data-kind=near-two]{--egg-ink: #28577e;--egg-paper: #e4f1ff}.easter-egg[data-kind=too-early],.easter-egg[data-kind=too-late],.easter-egg[data-kind=wild]{--egg-ink: #8b274b;--egg-paper: #ffe5ed}.easter-egg-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}.easter-egg-title{font-size:16px;line-height:1.5}.easter-egg-diff{font-size:12px;white-space:nowrap}.easter-egg-message{margin:5px 0 0;font-size:14px;line-height:1.7}.display-housing[data-result=perfect]{border-color:#b98a29;box-shadow:inset 0 0 0 2px #080a0d,0 3px #76511b,0 0 20px #ffcd5a59;animation:perfect-glow .7s ease-out 2}.display-housing[data-result=perfect] .seg.on,.display-housing[data-result=perfect] .display-colon i{background:#ffcf66;filter:drop-shadow(0 0 3px rgba(255,207,102,.6))}.display-housing[data-result=near-one]{border-color:#b47746}.display-housing[data-result=near-two]{border-color:#5680a5;animation:almost-glow .6s ease-out}.pixel-sparks{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.pixel-spark{position:absolute;width:5px;height:5px;background:#ffcf66;opacity:0;animation:pixel-burst .95s ease-out var(--delay) both}.pixel-spark:nth-child(3n){width:3px;height:3px;background:#fff0c6}.display-housing[data-result=near-one] .pixel-spark{background:#ffc28c}@keyframes perfect-glow{50%{box-shadow:inset 0 0 0 2px #080a0d,0 3px #76511b,0 0 32px #ffcd5a8c}}@keyframes almost-glow{50%{box-shadow:inset 0 0 0 2px #080a0d,0 3px #15191e,0 0 18px #7dbbff66}}@keyframes pixel-burst{0%{opacity:0;transform:translateY(12px) scale(.5)}20%{opacity:1;transform:translateY(-20px) scale(1)}65%{opacity:1}to{opacity:0;transform:translate(var(--drift),90px) rotate(90deg)}}.button-base{padding:4px 6px 10px;background:#282b30;clip-path:polygon(18% 0,82% 0,82% 6%,94% 6%,94% 18%,100% 18%,100% 82%,94% 82%,94% 94%,82% 94%,82% 100%,18% 100%,18% 94%,6% 94%,6% 82%,0 82%,0 18%,6% 18%,6% 6%,18% 6%)}.action{display:block;width:120px;height:96px;background:#981621;padding:0 0 8px;border:0;clip-path:polygon(18% 0,82% 0,82% 6%,94% 6%,94% 18%,100% 18%,100% 82%,94% 82%,94% 94%,82% 94%,82% 100%,18% 100%,18% 94%,6% 94%,6% 82%,0 82%,0 18%,6% 18%,6% 6%,18% 6%);color:#fff;transition:transform .1s ease,filter .15s ease,padding .06s ease}.button-cap{display:grid;place-items:center;height:100%;width:100%;background:#f3333d;border-top:6px solid #ff7076;border-left:6px solid #ff555f;border-right:6px solid #c82734;border-bottom:6px solid #d32633;font-size:24px;transition:background-color .12s ease,transform .08s ease}.action:hover .button-cap{background:#ff4650}.action:active{padding-bottom:2px;padding-top:6px}.action:active .button-cap{transform:translateY(2px)}.action:focus-visible{outline:4px solid #fff;outline-offset:-11px}.action.running .button-cap{background:#d72332}.action-label{font-size:18px;line-height:1.5;margin-top:12px}.keyboard-hint{font-size:14px;line-height:1.8;color:var(--muted);margin:9px 0 0}kbd{font:inherit;display:inline-block;font-size:12px;padding:1px 5px;border:1px solid #8e98a3;background:#fff;color:var(--ink);box-shadow:0 2px #b4bbc3;margin-right:4px}.notice{font-size:14px;line-height:1.7;color:#aa1728;min-height:0;margin:0}.notice:not(:empty){margin-top:17px}footer{display:flex;justify-content:center;gap:16px;border-top:1px solid #bfc6cf;padding:20px 0 24px;margin-top:34px;font-size:12px;color:var(--muted);line-height:1.6}@media(min-width:1400px){.intro{padding-top:28px}.machine{padding-top:26px;padding-bottom:24px}.control-area{padding-top:24px}}@media(max-width:900px){.play-layout{grid-template-columns:minmax(0,660px);justify-content:center}.history{width:min(100%,660px);margin:0 auto}}@media(max-width:700px){.shell{padding:0 24px}.header{padding:20px 0}.header-note{font-size:12px}.intro{padding:20px 0 10px}h1{font-size:30px}.machine{padding:20px}.display-housing{padding:12px 17px}.digital-display{gap:9px}.digit-group{gap:8px}}@media(max-width:480px){.shell{padding:0 19px}.header{gap:10px}.brand{font-size:24px}.brand-mark{width:36px;height:36px}.brand-en{font-size:12px}.header-note{font-size:12px;max-width:82px;line-height:1.7;text-align:right}.intro{padding:20px 0 10px}h1{font-size:24px}.intro>p:last-child{font-size:16px;max-width:310px;margin:auto}.machine{padding:18px 14px 17px;box-shadow:4px 4px 0 var(--ink)}.machine-top{gap:8px;flex-wrap:wrap;margin-bottom:17px}.small-label{font-size:14px}.target-options{gap:6px}.target{font-size:16px;min-width:58px;padding:7px 8px;min-height:42px}.display-housing{border-width:5px;padding:12px 12px 10px}.display-top{font-size:12px}.digital-display{gap:7px;margin:22px 0 12px}.digit-group{gap:6px}.display-colon{height:42px;width:4px}.display-colon i{width:4px;height:4px}.display-units{letter-spacing:.05em}.control-area{padding-top:18px}.control-prompt{font-size:16px;margin-bottom:13px}.action{width:112px;height:90px}.keyboard-hint{font-size:12px}.action-label{font-size:18px}.game-note{font-size:12px}footer{margin-top:25px;flex-wrap:wrap}}@media(max-width:360px){.shell{padding:0 14px}.machine{padding:16px 12px}.machine-top{align-items:flex-start;flex-direction:column;gap:10px}.target-options{width:100%}.target{flex:1}.display-housing{padding:10px}.digital-display{gap:6px}.digit-group{gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}*{scroll-behavior:auto!important}body.is-running:before{opacity:.5;transform:none}.pixel-sparks,.victory-confetti{display:none}}.header-controls{display:flex;align-items:center;gap:18px}.locale-switch{position:relative;display:flex;align-items:center;gap:7px}.locale-toggle{display:flex;align-items:center;gap:7px;font:inherit;font-size:14px;color:var(--ink);background:#f9fafb;border:2px solid var(--ink);box-shadow:2px 2px #aab2bc;min-height:42px;padding:8px 10px;white-space:nowrap;transition:transform .12s ease,background-color .15s ease,box-shadow .12s ease,color .15s ease}.locale-toggle:hover{background:#fff;transform:translate(-1px,-1px);box-shadow:3px 3px #aab2bc}.locale-toggle:active{transform:translate(1px,1px);box-shadow:1px 1px #aab2bc}.locale-toggle[aria-expanded=true]{background:var(--ink);color:#fff;box-shadow:2px 2px 0 var(--red)}.locale-toggle[aria-expanded=true]:hover{background:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--red)}.locale-caret{flex:none;width:9px;height:6px;fill:currentColor;transition:transform .12s ease}.locale-toggle[aria-expanded=true] .locale-caret{transform:rotate(180deg)}.locale-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;gap:4px;margin:0;padding:5px;list-style:none;max-width:calc(100vw - 28px);background:#f9fafb;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);animation:locale-menu-in .14s ease-out both}.locale-menu[hidden]{display:none}@keyframes locale-menu-in{0%{opacity:0;transform:translateY(-4px)}}.locale-option{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:14px;line-height:1.4;white-space:nowrap;color:var(--ink);background:#fff;border:2px solid transparent;box-shadow:2px 2px #d6dce3;cursor:pointer;transition:transform .12s ease,background-color .15s ease,box-shadow .12s ease}.locale-option:after{content:"";width:6px;height:6px;margin-left:auto;background:transparent}.locale-option:hover,.locale-option.is-active{background:#eceff3;border-color:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px #aab2bc}.locale-option[aria-selected=true]{background:var(--ink);color:#fff;box-shadow:2px 2px 0 var(--red)}.locale-option[aria-selected=true]:after{background:var(--red)}.sound-toggle{display:flex;align-items:center;justify-content:center;gap:7px;background:#f9fafb;border:2px solid var(--ink);box-shadow:2px 2px #aab2bc;min-height:42px;padding:8px 10px;color:var(--ink);font-size:14px;white-space:nowrap;transition:transform .12s ease,background-color .15s ease,box-shadow .12s ease}.sound-toggle:hover{background:#fff;transform:translate(-1px,-1px);box-shadow:3px 3px #aab2bc}.sound-toggle:active{transform:translate(1px,1px);box-shadow:1px 1px #aab2bc}.sound-toggle svg{width:18px;height:18px;fill:currentColor}.mute-mark,.sound-toggle.muted .sound-waves{display:none}.sound-toggle.muted .mute-mark{display:block}.sound-toggle.muted{color:var(--muted)}.sound-toggle:disabled{opacity:.6}.github-link{display:grid;flex:none;place-items:center;width:42px;height:42px;color:var(--ink);background:#f9fafb;border:2px solid var(--ink);box-shadow:2px 2px #aab2bc;transition:transform .12s ease,background-color .15s ease,box-shadow .12s ease}.github-link:hover{background:#fff;transform:translate(-1px,-1px);box-shadow:3px 3px #aab2bc}.github-link:active{transform:translate(1px,1px);box-shadow:1px 1px #aab2bc}.github-link svg{width:18px;height:18px;fill:currentColor}@media(max-width:700px){.header-controls{gap:12px}.header-controls .header-note{display:none}}@media(max-width:480px){.header-controls{gap:10px}.sound-toggle{padding:8px}#sound-label{display:none}.github-link{width:36px;height:36px}}@media(max-width:360px){.brand-en{display:none}.github-link{width:34px;height:34px}.sound-toggle{padding:8px;font-size:14px}.locale-toggle{min-height:40px;padding:8px;font-size:12px;gap:5px}.locale-menu{gap:3px;padding:4px}.locale-option{padding:8px;font-size:12px}}body.celebrating{overflow:hidden}.victory-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#2e220cf5,#0a0c10fa 70%);animation:victory-fade .22s ease-out both}.victory-overlay[hidden]{display:none}.victory-overlay:focus-visible{outline:none}.victory-overlay:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,rgba(255,224,150,.5),transparent 62%);animation:victory-flash .8s ease-out 2}.victory-confetti{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.victory-bit{position:absolute;top:-8vh;width:8px;height:8px;background:var(--color, #ffcf66);opacity:0;animation:victory-fall 1.5s linear var(--delay, 0ms) both}.victory-bit:nth-child(3n){width:5px;height:5px}.victory-bit:nth-child(4n){width:5px;height:13px}.victory-card{position:relative;z-index:2;width:min(100%,560px);padding:26px 22px 18px;text-align:center;background:#1b1710;border:4px solid #ffcf66;box-shadow:8px 8px #00000073;animation:victory-pop .32s cubic-bezier(.2,1.5,.5,1) both,victory-shake .4s ease-in-out .32s 2}.victory-kicker{margin:0;font-size:14px;line-height:1.4;letter-spacing:.32em;color:#ffcf66}.victory-title{margin:10px 0 2px;font-size:clamp(28px,7vw,42px);line-height:1.3;color:#ffcf66;text-shadow:3px 3px 0 #7a4a06}.victory-time{margin:0;font-size:clamp(44px,15vw,76px);line-height:1.15;color:#fff0c6;text-shadow:4px 4px 0 #b3382f}.victory-message{margin:12px 0 0;font-size:16px;line-height:1.7;color:#ffe9b0}.victory-hint{margin:16px 0 0;font-size:12px;line-height:1.6;color:#ffe9b0b3}@keyframes victory-fade{0%{opacity:0}to{opacity:1}}@keyframes victory-flash{0%{opacity:1}to{opacity:0}}@keyframes victory-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes victory-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px,2px)}50%{transform:translate(4px,-2px)}75%{transform:translate(-2px,3px)}}@keyframes victory-fall{0%{opacity:0;transform:translate(0) rotate(0)}12%{opacity:1}to{opacity:.85;transform:translate(var(--drift, 0),var(--fall, 80vh)) rotate(var(--spin, 90deg))}}@media(max-width:480px){.victory-overlay{padding:16px}.victory-card{padding:20px 16px 14px;border-width:3px;box-shadow:5px 5px #00000073}.victory-message{font-size:14px}}
