/* 見るな！！！！！！！！！！！！ */
@font-face{font-family:DotGothic16;src:url('fonts/DotGothic16-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#000;--panel:#000;--line:#666;--text:#fff;--muted:#aaa;--green:#fff;--red:#ff8080;--serif:DotGothic16,monospace;--sans:DotGothic16,monospace;--mono:DotGothic16,monospace}*{box-sizing:border-box}html{background:#000;scroll-behavior:auto}body{margin:0;color:#fff;background:#000;font:16px/1.9 var(--sans);font-weight:400;-webkit-text-size-adjust:100%;overflow-wrap:anywhere}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;touch-action:manipulation}a,button,input{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:2px dashed white;outline-offset:5px}::selection{background:#fff;color:#000}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
body[data-stage=landing]>.header,body[data-stage=landing]>footer{display:none}body[data-stage=landing] main{padding:0}main{min-height:calc(100svh - 140px)}.auth-screen{min-height:100svh;width:min(100%,640px);margin:auto;padding:48px 24px;display:flex;align-items:center;justify-content:center}.auth-content{width:100%;transform:translateY(-3svh)}.auth-content h1{font-size:clamp(22px,6.2vw,38px);font-weight:400;line-height:1.7;white-space:nowrap;text-align:center;letter-spacing:0;margin:0 0 25px}.auth-content input{min-height:52px;font-size:21px;padding:9px 12px;border:1px solid #b0b0b0;border-radius:2px}.auth-content input::placeholder{font-size:20px;color:#59575e;opacity:1}.auth-content .form-message{min-height:0;margin:0}.auth-content .form-message:not(:empty){margin-top:15px}.auth-submit{margin-top:22px;min-height:50px}.auth-content input:focus{outline:2px solid #fff;outline-offset:4px}.header{width:min(100% - 40px,560px);height:80px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #444}.header-right{margin-left:auto;display:flex;align-items:center;gap:15px}.connection{display:none}.icon-button{width:44px;height:44px;border:0;background:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.icon-button span{width:24px;height:2px;background:#fff}.page{width:min(100%,600px);margin:auto;padding:24px 24px 45px}.page-top{display:flex;align-items:center;justify-content:center;padding-bottom:17px;margin-bottom:30px;border-bottom:1px solid #444}.page-top>.eyebrow{display:none}.page-top>.subtle{font-size:14px;color:#fff;letter-spacing:.08em}.page h1{font-size:27px;line-height:1.8;font-weight:400;letter-spacing:.02em;margin:25px 0 30px}.eyebrow{font:11px/1.8 var(--mono);color:#aaa;letter-spacing:.09em}.story-text>.eyebrow{display:none}.story-text p{font-size:16px;line-height:2.1;margin:0 0 26px}.story-text .quote{padding-left:16px;border-left:2px solid #fff}.story-text>.primary{margin-top:35px}.primary{width:100%;min-height:52px;padding:12px 17px;background:#000;border:2px solid #fff;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:400;line-height:1.7;letter-spacing:.04em;transition:background .12s,color .12s}.primary:hover{background:#fff;color:#000}.primary:active{background:#ddd;color:#000}.arrow{font:23px/1 var(--sans)}.secondary{background:#000;border:1px solid #fff;min-height:48px;padding:11px 15px;font-size:14px;line-height:1.7;font-weight:400}.secondary:hover{background:#fff;color:#000}.text-button{background:none;border:0;color:#aaa;font-size:12px;text-decoration:underline;text-underline-offset:5px;padding:12px 0;min-height:44px}.subtle{font-size:12px;color:#aaa;line-height:1.9}.input-label{display:block;font-size:14px;color:#fff;margin-bottom:10px}.form-message{font-size:13px;color:#ff9a9a;line-height:1.8;min-height:24px;margin:10px 0 0}input{width:100%;min-height:52px;background:#fff;color:#000;border:1px solid #aaa;border-radius:2px;padding:11px 12px;outline:0;font-size:20px;line-height:1.5}input:focus{outline:2px solid #fff;outline-offset:3px}input::placeholder{color:#666;font-size:17px}.lulu-card{padding:21px 0;margin:20px 0 28px;display:flex;gap:14px;align-items:flex-start;border-top:1px solid #777;border-bottom:1px solid #777;background:#000}.lulu-content{min-width:0;flex:1}.lulu-name{color:#fff;font-size:15px;margin-bottom:10px}.lulu-name small{display:none}.lulu-content p{margin:0;font-size:15px;line-height:2}.tutorial-card{display:flex;gap:16px;border-bottom:1px solid #555;padding:22px 0}.tutorial-card b{font-size:22px;font-weight:400}.tutorial-card h3{font-size:17px;font-weight:400;line-height:1.7;margin:0 0 9px}.tutorial-card p{font-size:14px;line-height:1.9;color:#bbb;margin:0}.progress-panel{border:1px solid #aaa;padding:17px 19px;display:flex;gap:20px;align-items:center;justify-content:space-between}.progress-text small{font-size:10px;letter-spacing:.06em;color:#aaa}.progress-count{font-size:34px;line-height:1.4}.progress-count span{font-size:16px;color:#aaa}.report-panel{margin:35px 0 25px;padding:0;border:0}.report-panel>.eyebrow{display:none}.report-panel h2{font-size:22px;text-align:center;font-weight:400;line-height:1.8;margin:0 0 13px}.report-panel>p{font-size:14px;color:#bbb;line-height:1.9;margin:0 0 20px}.report-panel .input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.input-row{display:flex;flex-direction:column;gap:16px}.input-row .primary{justify-content:center}.input-row .arrow{display:none}.game-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tool-card{min-width:0;min-height:91px;padding:15px 8px;background:#000;border:1px solid #aaa;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.tool-card:hover{border-color:#fff;background:#141414}.tool-icon{display:none}.tool-card strong{display:block;font-size:14px;font-weight:400}.tool-card small{font-size:10px;color:#aaa}.section-title{margin:22px 0 15px}.section-title h2{font-size:17px;font-weight:400;line-height:1.8;margin:0}.section-title>span{display:none}.message-grid{display:grid;grid-template-columns:repeat(var(--message-columns,9),minmax(0,1fr));gap:5px;margin:18px 0}.message-grid span{aspect-ratio:1;display:grid;place-items:center;border:1px solid #888;font-size:16px;line-height:1}.message-grid .locked{border-color:#444;color:#666}.hint{border:1px solid #888;padding:17px;margin:17px 0}.hint small{font-size:11px;color:#aaa}.hint p{margin-bottom:0;font-size:15px}.hint strong{font-weight:400;text-decoration:underline;text-underline-offset:5px}.archive-list{display:flex;flex-direction:column;gap:12px}.archive-item{border:1px solid #777;padding:15px;display:flex;gap:14px;align-items:flex-start}.archive-item .index{color:#aaa;font-size:12px}.archive-item h3{font-size:16px;font-weight:400;line-height:1.7;margin:0}.archive-item p{font-size:12px;line-height:1.9;margin:8px 0 0;color:#aaa}.success-tag{border:1px solid #aaa;padding:6px 10px;font-size:11px;display:inline-block;margin-bottom:15px}.clear-board{margin:30px 0;border:2px solid #fff;padding:30px 15px;text-align:center;background:#000}.clear-board>.eyebrow{font-size:10px}.clear-board h2{font-size:34px;line-height:1.8;font-weight:400;margin:24px 0}.clear-board p{font-size:12px;color:#bbb}.clear-board .seal{display:inline-block;font-size:11px;border:1px solid #aaa;padding:7px 12px}.ending-actions{display:flex;flex-direction:column;gap:15px}.ending-actions>*{width:100%;min-height:50px}.ending-actions .primary{justify-content:center}.ending-text{font-size:15px;line-height:2}footer{width:min(100% - 48px,552px);margin:auto;border-top:1px solid #444;display:flex;justify-content:center;padding:20px 0 25px;color:#888;font-size:10px}footer>span{display:none}footer>button{background:none;border:0;color:inherit;font:inherit;min-height:30px}dialog{position:fixed;background:#000;color:#fff;border:2px solid #fff;width:min(100% - 32px,520px);max-height:85svh;max-height:85dvh;padding:20px;overscroll-behavior:contain}dialog::backdrop{background:#000d}.modal-header{display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid #777;padding-bottom:10px;margin-bottom:20px}.modal-header>.eyebrow{display:none}.close-button{font-size:29px;background:#000;border:0;width:44px;height:40px;line-height:1}.close-button:hover{color:#aaa}dialog h2{font-size:22px;line-height:1.8;font-weight:400;margin:0 0 20px}dialog p{font-size:14px;line-height:2;color:#ccc}.menu-links{display:flex;flex-direction:column}.menu-links button{padding:18px 0;text-align:left;font-size:16px;background:#000;border:0;border-bottom:1px solid #555;display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.8}.menu-links button>span{font-size:9px;color:#999}.menu-links button:hover{color:#bbb}#toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);max-width:90%;width:max-content;background:#fff;color:#000;border:1px solid #fff;padding:12px 20px;font-size:13px;text-align:center;z-index:100;pointer-events:none;opacity:0;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}#transition{position:fixed;inset:0;z-index:90;pointer-events:none;display:none;background:#000;overflow:hidden}#transition.active{display:flex;justify-content:center;align-items:center;pointer-events:auto}.warning-notification{position:absolute;background:#000;border:1px solid #ff8080;color:#ff9a9a;font-size:12px;line-height:1.8;padding:15px 20px}.warning-center{background:#000;border:2px solid #fff;z-index:20;position:relative;max-width:90%;padding:25px;text-align:center}.warning-center h2{font-size:24px;font-weight:400}.warning-center p{font-size:15px}.whiteout{animation:whiteout 1.8s ease forwards}@keyframes whiteout{0%,100%{background:#000}35%,65%{background:#fff}}@media(min-width:700px){.auth-screen{padding:48px 40px}.auth-content input{font-size:25px;min-height:61px}.auth-content input::placeholder{font-size:25px}.auth-content h1{margin-bottom:27px}}@media(max-width:350px){.page{padding-left:18px;padding-right:18px}.auth-screen{padding-left:20px;padding-right:20px}.auth-content h1{font-size:22px}.auth-content input{font-size:19px}.progress-panel{padding:14px}.progress-count{font-size:29px}.tool-card strong{font-size:12px}.tool-card small{font-size:9px}.message-grid span{font-size:14px}.clear-board h2{font-size:28px}.menu-links button{font-size:14px}}@media(max-height:500px) and (orientation:landscape){.auth-screen{padding:50px 24px}.auth-content{transform:none}.auth-content h1{font-size:25px;margin-bottom:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.progress-panel{justify-content:center;text-align:center}.progress-text{width:100%}


@font-face{font-family:PixelMplus12;src:url('fonts/PixelMplus12-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root[data-font=pixel]{--sans:PixelMplus12,DotGothic16,monospace;--serif:PixelMplus12,DotGothic16,monospace;--mono:PixelMplus12,DotGothic16,monospace}
:root[data-font=pixel] body{-webkit-font-smoothing:none;font-smooth:never}
:root[data-font=pixel] .auth-content h1{font-size:24px}
:root[data-font=pixel] input,:root[data-font=pixel] input::placeholder{font-size:24px}
:root[data-font=pixel] .report-panel h2{font-size:24px}
body[data-stage=story]>.header,body[data-stage=tutorial]>.header{height:60px;border-bottom:0}
body[data-stage=story]>footer,body[data-stage=tutorial]>footer{display:none}
body[data-stage=story] main,body[data-stage=tutorial] main{min-height:calc(100svh - 60px)}
.dialogue-shell{width:min(100%,560px);min-height:calc(100svh - 60px);margin:auto;padding:10px 24px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
.dialogue-scene{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;width:100%;padding:12px 0 16px;border:0;background:#000;text-align:left;touch-action:manipulation;color:#fff;font:inherit;cursor:pointer}
.dialogue-scene:focus-visible{outline:1px dashed #777;outline-offset:4px}
.portrait-frame{display:block;height:clamp(144px,30svh,270px);aspect-ratio:1.14;max-width:100%;position:relative;border:3px solid #fff;background:#070b10;box-shadow:0 5px 0 #777;overflow:hidden}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;pointer-events:none;user-select:none;-webkit-user-drag:none}
.speech-frame{display:block;position:relative;width:100%;min-height:216px;padding:50px 29px 49px;background:#000;isolation:isolate}
.speech-border{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none;shape-rendering:crispEdges}
.dialogue-speaker{display:block;font-size:12px;line-height:1.5;color:#ccc;margin-bottom:12px}
.dialogue-copy-wrap{position:relative;display:block;font-size:16px;line-height:1.9;letter-spacing:0;white-space:pre-line;overflow-wrap:anywhere}
.dialogue-copy-shadow{display:block;visibility:hidden}
.dialogue-copy{position:absolute;inset:0;display:block}
.dialogue-cue{position:absolute;bottom:28px;right:28px;font-size:10px;line-height:1.6;color:#bbb;letter-spacing:.02em}
.dialogue-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:6px 0 0}
.dialogue-nav button{background:#000;border:0;min-height:44px;min-width:70px;padding:8px 0;font-size:12px;color:#ccc}
.dialogue-nav button:disabled{opacity:.25}
.dialogue-page{font-size:11px;color:#888;letter-spacing:.12em}
.dialogue-nav-spacer{display:block;width:70px}
.phone-scene{display:grid;place-items:center;background:#030507}
.pixel-phone{display:flex;position:relative;flex-direction:column;align-items:center;width:88px;height:150px;border:4px solid #cdd3d3;box-shadow:4px 4px 0 #34424a;padding:11px 5px 9px;background:#111b22}
.phone-speaker{display:block;width:24px;height:3px;background:#777;margin-bottom:9px}
.phone-screen{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;width:100%;background:#080d12;border:1px solid #4a6066;gap:12px}
.phone-symbol{font-size:32px;line-height:1;color:#fff}
.phone-caption{font-size:8px;text-align:center;color:#d8e8e5}
.phone-home{display:block;width:8px;height:5px;border:1px solid #777;margin-top:8px}
.rule-visual{background:#000;display:flex;flex-direction:column;padding:15px 12px;gap:12px}
.rule-visual-title{font-size:12px;line-height:1.5;text-align:center}
.rule-visual-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:0;width:100%}
.rule-visual-caption{font-size:15px;line-height:1.5;text-align:center}
.rule-visual-small{font-size:10px;color:#aaa;line-height:1.6;text-align:center}
.pixel-search-icon{font-size:72px;line-height:.9;display:block}
.pixel-question{font-size:40px;line-height:1.2;border:2px solid #fff;padding:0 16px}
.demo-input,.demo-report{display:block;width:90%;padding:5px 7px;font-size:13px;line-height:1.5}
.demo-input{background:#fff;color:#777}
.demo-report{border:1px solid #fff;text-align:center}
.demo-record{display:block;border:1px solid #777;padding:5px 12px;width:90%;font-size:12px;line-height:1.5}
.demo-letters{display:flex;gap:5px}
.demo-letters>span{display:grid;place-items:center;width:25px;height:29px;border:1px solid #888;font-size:17px;line-height:1}
@media(min-width:700px){:root[data-font=pixel] .auth-content h1{font-size:36px}.dialogue-scene{gap:28px}.dialogue-copy-wrap{font-size:20px;line-height:1.8}.speech-frame{padding:54px 42px 58px;min-height:245px}.dialogue-cue{right:42px;bottom:29px;font-size:12px}.dialogue-speaker{font-size:14px}.rule-visual-title{font-size:14px}}
@media(max-width:350px){.dialogue-shell{padding-left:16px;padding-right:16px}.dialogue-scene{gap:16px}.dialogue-copy-wrap{font-size:16px;line-height:1.75}.speech-frame{padding-left:25px;padding-right:25px;min-height:208px}.dialogue-cue{font-size:9px;right:24px}.portrait-frame{height:clamp(140px,28svh,220px)}}
@media(max-height:650px){.dialogue-shell{padding-top:0;padding-bottom:8px}.dialogue-scene{gap:13px;padding-top:0;padding-bottom:4px}.portrait-frame{height:clamp(112px,25svh,160px)}.speech-frame{min-height:200px;padding-top:45px;padding-bottom:43px}.dialogue-speaker{margin-bottom:8px}.dialogue-copy-wrap{line-height:1.7}.dialogue-cue{bottom:25px}}
@media(max-height:500px) and (orientation:landscape){.dialogue-scene{flex-direction:row;align-items:center;gap:16px}.portrait-frame{flex-shrink:0;height:130px}.speech-frame{flex:1;min-width:0;min-height:200px}.dialogue-copy-wrap{font-size:14px}.dialogue-shell{width:min(100%,800px)}}

.clear-board-image{padding:0;border:0;background:transparent;margin:30px 0}.clear-board-image img{display:block;width:100%;height:auto;object-fit:contain}

.character-portrait{background:#000}.character-portrait img{image-rendering:auto;object-fit:contain}



#reportError{white-space:pre-line}

.phone-scene .pixel-phone{height:78%;max-height:150px;width:auto;aspect-ratio:88/150;min-height:80px;padding:6px 4px 5px}.phone-scene .phone-screen{min-height:0;gap:4px}.phone-scene .phone-symbol{font-size:clamp(16px,4svh,30px)}.phone-scene .phone-caption{line-height:1}.is-calling .pixel-phone{animation:incoming-phone 1.8s ease-in-out infinite}.is-calling .pixel-phone::before,.is-calling .pixel-phone::after{content:"";position:absolute;top:32%;width:10px;height:36%;border-radius:50%;opacity:.9;animation:incoming-waves 1.8s ease-in-out infinite}.is-calling .pixel-phone::before{left:-19px;border-left:2px solid #fff}.is-calling .pixel-phone::after{right:-19px;border-right:2px solid #fff}@keyframes incoming-phone{0%,32%,100%{transform:translateX(0) rotate(0)}5%,17%,29%{transform:translateX(-2px) rotate(-4deg)}11%,23%{transform:translateX(2px) rotate(4deg)}}@keyframes incoming-waves{0%,35%,100%{opacity:.25}8%,24%{opacity:1}}

.anomaly-puzzle-image{display:block;width:100%;height:auto;margin:18px 0}.anomaly-puzzle-question{white-space:pre-line}.anomaly-puzzle-placeholder{border:1px dashed #777;min-height:170px;padding:24px 15px;margin:18px 0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.anomaly-puzzle-placeholder>span{font-size:40px}.anomaly-puzzle-placeholder p{margin:0}#anomalyPuzzleForm .primary{margin-top:12px}#puzzleError{white-space:pre-line}#anomalyPuzzleForm input:disabled,#anomalyPuzzleForm button:disabled{opacity:.45;cursor:default}


.staff-roll{text-align:center;font-size:12px;line-height:1.8}.staff-roll p{margin:0}.staff-roll .staff-roll-title{color:#aaa;margin-bottom:8px}.staff-roll a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:3px}.staff-roll a:hover{color:#ccc}

.ending-speaker{font-size:14px;color:#ccc;margin:24px 0 8px}.ending-message .ending-text{margin-top:0}

body:not([data-stage=ending])>.staff-credits{display:none}

.anonymous-hint p{margin:0;white-space:pre-line}

.header{position:sticky;top:0;z-index:30;background:#000;flex-shrink:0}dialog{overflow-y:auto;-webkit-overflow-scrolling:touch}html{scroll-padding-top:80px}

#authTitle{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}
