.footer-bar{width:100%;min-height:40px;flex-shrink:0;padding:0 14px max(0px,env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;background:#000000d1;color:#8f8f8f;font-size:13px;line-height:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer-left{position:absolute;left:14px;bottom:4px;font-size:12px;color:#666;opacity:.65;letter-spacing:.4px}.footer-center{margin:0 auto;display:flex;gap:22px;flex-wrap:wrap}.footer-bar span{cursor:pointer;transition:color .2s ease,opacity .2s ease}.footer-bar span:hover{color:#fff}.footer-bar span{outline:none;-webkit-tap-highlight-color:transparent}.footer-bar span:focus,.footer-bar span:focus-visible,.footer-bar span:active{outline:none;background:transparent;color:#8f8f8f;-webkit-tap-highlight-color:transparent}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;justify-content:center;align-items:center;padding:20px;z-index:999999}.footer-modal{width:min(620px,calc(100vw - 32px));max-width:100%;height:min(72dvh,720px);background:#0a0a0af0;color:#fff;border-radius:18px;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 90px #000000bf}.footer-modal-body{padding:30px 34px;overflow-y:auto;flex:1;font-size:14px;line-height:1.9;color:#ffffffb8}.footer-modal h2{margin:0 0 28px;font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffeb}.footer-modal p{margin:0 0 18px}.footer-modal button{width:100%;min-height:54px;border:none;border-top:1px solid rgba(255,255,255,.08);background:#ffffff09;color:#ffffffd1;font-size:13px;letter-spacing:.04em;cursor:pointer}.footer-modal button:hover{background:#ffffff14}@media (max-width: 640px){.footer-bar{gap:14px;font-size:12px;min-height:44px}.footer-modal{height:min(76dvh,760px)}.footer-modal-body{padding:16px;font-size:13px}.footer-modal h2{font-size:17px}.footer-modal p{font-size:13px}}.footer-modal-body::-webkit-scrollbar{width:6px}.footer-modal-body::-webkit-scrollbar-track{background:transparent}.footer-modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}.footer-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.doc{display:flex;flex-direction:column;gap:10px}.doc h3{margin-top:18px;margin-bottom:6px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9}.doc p{margin:0;line-height:1.8}.doc ul{margin:6px 0 14px;padding-left:16px}.doc li{margin-bottom:6px;opacity:.85}.divider{height:1px;margin:16px 0;background:linear-gradient(to right,transparent,rgba(255,255,255,.08),transparent)}.lm-logo{--logo-color: #ffffff;--mark-gap: 18px;--bracket-size: 34px;--dot-size: 7px;--text-size: 13px;--text-spacing: .18em;--text-opacity: .82;--caret-width: 1px;--caret-height: 14px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--logo-color);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transform:translate(-9px)}.lm-mark{display:inline-flex;align-items:center;justify-content:center;gap:var(--mark-gap);min-height:36px;line-height:1}.lm-bracket{display:flex;align-items:center;justify-content:center;color:var(--logo-color);font-family:Inter,Arial,sans-serif;font-size:var(--bracket-size);font-weight:300;line-height:1;opacity:.98}.lm-dot{width:var(--dot-size);height:var(--dot-size);border-radius:999px;background:var(--logo-color);box-shadow:0 0 10px #ffffff1f;transform:scale(1);display:block;position:relative;top:4px}.lm-text-wrap{display:inline-flex;align-items:center;justify-content:center;min-height:16px}.lm-text{display:inline-block;overflow:hidden;white-space:nowrap;color:var(--logo-color);opacity:var(--text-opacity);font-family:JetBrains Mono,Space Mono,Courier New,monospace;font-size:var(--text-size);font-weight:400;line-height:1;letter-spacing:var(--text-spacing)}.lm-caret{width:var(--caret-width);height:var(--caret-height);margin-left:3px;background:#ffffffe0}.lm-logo.is-animated .lm-dot{opacity:0;transform:scale(.72);animation:lm-dot-appear .45s ease-out .12s forwards}.lm-logo.is-animated .lm-text{width:0;animation:lm-type 2.1s steps(12,end) .45s forwards}.lm-logo.is-animated .lm-caret{opacity:1;animation:lm-caret-blink .9s steps(1,end) infinite}@keyframes lm-dot-appear{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes lm-type{0%{width:0}to{width:12ch}}@keyframes lm-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.lm-logo:not(.is-animated) .lm-text{width:auto}.lm-logo:not(.is-animated) .lm-caret{display:none}@media (hover: hover) and (pointer: fine){.lm-logo:hover .lm-dot{box-shadow:0 0 14px #ffffff2e}}@media (max-width: 640px){.lm-logo{--mark-gap: 14px;--bracket-size: 28px;--dot-size: 6px;--text-size: 12px;--caret-height: 13px;gap:8px}}@media (max-width: 380px){.lm-logo{--mark-gap: 12px;--bracket-size: 25px;--dot-size: 5px;--text-size: 11px;--text-spacing: .15em;gap:7px}}@media (prefers-reduced-motion: reduce){.lm-logo.is-animated .lm-dot,.lm-logo.is-animated .lm-text,.lm-logo.is-animated .lm-caret{animation:none!important;opacity:1!important;transform:none!important}.lm-logo.is-animated .lm-text{width:auto!important}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:#000;overflow:hidden;overscroll-behavior:none}.wall{width:100vw;height:100vh;overflow:hidden;cursor:grab;touch-action:none}.grid-line{position:absolute;background:#ffffff2e;box-shadow:0 0 4px #ffffff0f;transform:translateZ(0);backface-visibility:hidden}.grid-line.vertical{width:1px;height:100%}.grid-line.horizontal{height:1px;width:100%}.content-layer{position:absolute;top:0;left:0;width:100%;height:100%;min-width:40000px;min-height:40000px;z-index:1;transform:translateZ(0);backface-visibility:hidden;will-change:transform}.wall{pointer-events:auto;touch-action:none}.cell{position:absolute;background:#222;border:1px solid #444;display:flex;align-items:center;justify-content:center;color:#fff}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;z-index:10000}.modal.closing{animation:fadeOut .2s ease forwards}.modal-content{background:#111;color:#fff;padding:20px;border-radius:14px;width:min(600px,92vw);max-height:min(82dvh,620px);display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;overflow-x:hidden;box-shadow:0 20px 60px #0009;transform-origin:center;animation:flyIn .25s cubic-bezier(.22,1,.36,1)}.modal.closing .modal-content{animation:flyOut .2s ease forwards}.textarea{width:100%;height:clamp(120px,20vh,160px);margin-top:0;padding:12px;background:#080808;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:10px;resize:none;overflow-y:auto;display:block;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.textarea::placeholder{color:#666}.textarea:focus{border-color:#ffffff38;box-shadow:0 0 0 3px #ffffff0a;background:#0b0b0b}.message-scroll{width:100%;max-height:clamp(140px,34dvh,280px);overflow-y:auto;overflow-x:hidden;margin-top:8px;padding:14px;background:#080808;border:1px solid rgba(255,255,255,.1);border-radius:10px;display:block;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.5;color:#f2f2f2;min-height:0}.btn{width:100%;margin-top:10px;padding:10px;background:#222;color:#fff;border:1px solid #333;cursor:pointer;display:block}.btn:hover{background:#333}@keyframes flyIn{0%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes flyOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}@keyframes fadeOut{to{opacity:0}}.share-overlay{position:fixed;bottom:20px;right:20px;background:none;display:flex;align-items:flex-end;justify-content:flex-end;z-index:20000}.share-box{background:#0b0b0b;border:1px solid rgba(255,255,255,.1);border-radius:12px;width:min(420px,calc(100vw - 40px));max-width:420px;padding:20px;min-width:280px;display:flex;flex-direction:column;gap:12px;color:#fff;text-align:center;white-space:pre-line}.share-box button{margin-top:10px;padding:10px;background:#222;border:1px solid #555;color:#fff;cursor:pointer}.status-bar{width:100%;min-height:clamp(48px,6vh,60px);display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(320px,1fr);align-items:center;gap:12px;padding:0 20px;background:#000000e6}.status-left,.status-right{display:flex;align-items:center;height:100%;gap:8px;min-width:0}.status-left{justify-content:flex-start}.status-right{justify-content:flex-end;flex-wrap:nowrap}.status-bar *{margin:0;box-sizing:border-box}.status-center{position:static;transform:none;color:#aaa;font-size:14px;text-align:center;white-space:nowrap;min-width:0}.sound-btn,.status-right input,.status-right button{height:36px}.status-right input{width:60px;height:36px;padding:0 10px;background:#111;border:1px solid #444;color:#fff;border-radius:6px;display:flex;align-items:center;line-height:36px}.status-right button{height:36px;padding:0 14px;display:flex;align-items:center;justify-content:center;line-height:1;background:#222;border:1px solid #555;color:#fff;border-radius:6px;cursor:pointer}.bottom-wrapper{position:fixed;bottom:0;left:0;width:100%;display:flex;flex-direction:column;z-index:999}.cell{font-size:clamp(10px,1.2vw,13px);font-family:monospace;color:#ffffffd9}.cell-mark{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#ffffffd9;animation:pulse 1.5s infinite;line-height:1;-webkit-user-select:none;user-select:none;white-space:nowrap;transform:translateY(-1px)}@keyframes pulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.minimap-toggle{height:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #333;border-radius:6px;background:#111;color:#ccc;cursor:pointer;font-size:14px;line-height:1;white-space:nowrap;transition:all .2s ease}.minimap-toggle span,.minimap-toggle svg{display:flex;align-items:center}.minimap-toggle:hover{background:#fff3;color:#fff}.minimap-modal{position:fixed;bottom:120px;right:20px;background:#0a0a0a;border:1px solid #333;border-radius:10px;padding:10px;z-index:2000;display:flex;flex-direction:column;gap:8px;box-shadow:0 10px 40px #000c;animation:minimapIn .2s ease}.minimap-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#aaa}.minimap-close{background:transparent;border:none;color:#aaa;cursor:pointer;font-size:14px}.minimap-close:hover{color:#fff}@keyframes minimapIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.status-right input,.status-right button,.minimap-toggle{height:36px}.minimap-toggle:hover{background:#1a1a1a;border-color:#555;color:#fff}.minimap-toggle:focus,.minimap-toggle:focus-visible,.minimap-toggle:active{outline:none;background:#111;border-color:#333;color:#ccc;-webkit-tap-highlight-color:transparent}.cell-selected{position:relative;z-index:5}.cell-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(255,0,0,.9);box-shadow:0 0 12px #f00c;pointer-events:none}.previous-cell-overlay{position:absolute;z-index:9;pointer-events:none;border:2px solid rgba(255,255,255,.7);box-shadow:0 0 10px #ffffff59}.selected-cell-overlay{position:absolute;z-index:10;pointer-events:none;border:2px solid rgba(255,0,0,.9);box-shadow:0 0 12px #f00c;animation:pulseCell 1.2s ease-in-out infinite}@keyframes pulseCell{0%{box-shadow:0 0 6px #ff000080}50%{box-shadow:0 0 16px red}to{box-shadow:0 0 6px #ff000080}}.form-block{width:100%;margin-top:10px}.form-label{display:block;margin-bottom:8px;color:#d8d8d8;font-size:13px;letter-spacing:.2px}.form-label span{color:#777;font-size:12px}.text-input{width:100%;height:42px;padding:0 12px;background:#080808;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:10px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.text-input::placeholder{color:#666}.text-input:focus{border-color:#ffffff38;box-shadow:0 0 0 3px #ffffff0a;background:#0b0b0b}.to-select-box{width:100%;max-height:200px;overflow-y:auto;background:#080808;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:4px}.to-option-row{width:100%;height:34px;padding:0 10px;display:flex;align-items:center;gap:8px;background:transparent;border:none;border-radius:6px;color:#cfcfcf;text-align:left;font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}.to-option-row:hover{background:#ffffff0a;color:#fff}.to-option-row.active{background:#ffffff14;color:#fff}.to-option-radio{width:14px;flex:0 0 14px;text-align:center;font-size:11px;opacity:.8}.to-option-text{flex:1}.custom-to-input{margin-top:10px}.read-meta{display:flex;flex-direction:column;gap:10px;margin-top:8px}.read-meta-row{width:100%}.read-meta-label{display:block;margin-bottom:6px;color:#8d8d8d;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.read-meta-value{padding:10px 12px;background:#0a0a0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#f2f2f2}.read-block{margin-top:14px}.read-block-label{margin-bottom:8px;color:#d8d8d8;font-size:13px}.read-share-row{width:100%;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:#aaa;flex-shrink:0}.read-share-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-content::-webkit-scrollbar,.to-select-box::-webkit-scrollbar,.message-scroll::-webkit-scrollbar,.textarea::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track,.to-select-box::-webkit-scrollbar-track,.message-scroll::-webkit-scrollbar-track,.textarea::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb,.to-select-box::-webkit-scrollbar-thumb,.message-scroll::-webkit-scrollbar-thumb,.textarea::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}.modal-content::-webkit-scrollbar-thumb:hover,.to-select-box::-webkit-scrollbar-thumb:hover,.message-scroll::-webkit-scrollbar-thumb:hover,.textarea::-webkit-scrollbar-thumb:hover{background:#ffffff3d}.form-footer{margin-top:12px}.select-wrap{position:relative;width:100%}.select-trigger{width:100%;height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#080808;color:#f2f2f2;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.select-trigger:hover{background:#0b0b0b;border-color:#ffffff2e}.select-trigger.open{border-color:#ffffff38;box-shadow:0 0 0 3px #ffffff0a;background:#0b0b0b}.select-trigger-text{flex:1;text-align:left;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-trigger-arrow{flex:0 0 auto;font-size:14px;color:#9a9a9a;transition:transform .18s ease,color .18s ease}.select-trigger-arrow.open{transform:rotate(180deg);color:#fff}.select-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:220px;overflow-y:auto;background:#0a0a0afa;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 16px 40px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px;z-index:50}.select-option{width:100%;min-height:0px;padding:0;display:flex;align-items:center;gap:10px;background:transparent;border:none;border-radius:8px;color:#d7d7d7;text-align:left;font-size:13px;line-height:1.2;cursor:pointer;transition:background .15s ease,color .15s ease}.select-option:hover{background:#ffffff0d;color:#fff}.select-option.active{background:#ffffff14;color:#fff}.select-option-check{width:14px;flex:0 0 14px;text-align:center;color:#f0f0f0;font-size:12px}.select-option-text{flex:1}.select-dropdown::-webkit-scrollbar{width:8px}.select-dropdown::-webkit-scrollbar-track{background:transparent}.select-dropdown::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.select-dropdown::-webkit-scrollbar-thumb:hover{background:#ffffff38}@media (max-width: 1400px){.status-bar{min-height:auto;padding:8px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"center center center" "left spacer right";row-gap:8px;column-gap:10px}.status-center{grid-area:center;width:100%;text-align:center;font-size:12px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-left{grid-area:left;height:auto}.status-right{grid-area:right;height:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;min-width:0}.minimap-toggle{flex:0 0 auto}.status-right input{flex:0 0 42px;width:42px}.status-right button{flex:0 0 auto}}@media (max-width: 640px){.modal{align-items:center;padding:10px}.modal-content{width:94vw;max-height:min(82dvh,680px);padding:16px;border-radius:12px}.message-scroll{max-height:clamp(120px,30dvh,240px);font-size:13px}.read-share-row{font-size:12px}}@media (max-width: 640px){.bottom-wrapper{z-index:3000}.sound-btn{min-width:82px;height:32px;font-size:9px}.minimap-toggle{height:32px;padding:0 9px;font-size:12px;flex:0 0 auto}.status-right input{width:42px;height:32px;padding:0 8px;font-size:12px;flex:0 0 42px}.status-right button{height:32px;padding:0 10px;font-size:12px;flex:0 0 auto}}@media (max-width: 480px){.minimap-modal{right:10px;bottom:100px;transform:scale(.9)}}.minimap-prev-cell{position:absolute;width:6px;height:6px;border:1px solid rgba(255,255,255,.9);background:#ffffff2e;transform:translate(-50%,-50%);pointer-events:none;z-index:3}.save-message-btn{background:#222;border:1px solid #444;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.save-message-btn:hover{background:#1a1a1a;border-color:#555;color:#fff;box-shadow:0 0 18px #ffffff14}.save-message-btn.is-confirm{background:#400;border-color:#f33}.save-message-btn.is-confirm:hover{background:#5a0000;border-color:#f55;color:#fff;box-shadow:0 0 18px #ff00002e}.toast-message-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.payment-screen{width:100%;display:flex;flex-direction:column;align-items:stretch;text-align:center;animation:paymentAppear .28s ease}.payment-brand{margin-bottom:18px;font-family:monospace;font-size:15px;color:#aaa;letter-spacing:.08em}.payment-title{font-size:24px;line-height:1.15;font-weight:700;color:#fff;margin-bottom:12px}.payment-subtitle{max-width:460px;margin:0 auto;color:#aaa;font-size:14px;line-height:1.55}.payment-cell{margin-top:24px;padding:12px;background:#080808;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#ddd;font-family:monospace}.payment-price{margin-top:18px;font-size:42px;font-weight:800;color:#fff;letter-spacing:-.04em}.payment-warning{margin-top:18px;padding:14px;background:#5a000038;border:1px solid rgba(255,60,60,.35);border-radius:12px;color:#f2f2f2;font-size:13px;line-height:1.55}.payment-main-btn{margin-top:20px;height:46px;background:#5a0000;border-color:#f33;font-weight:700}.payment-main-btn:hover{background:#760000;border-color:#f55;box-shadow:0 0 26px #ff000038}.payment-quiet-btn{margin-top:10px;background:transparent;border:none;color:#777;cursor:pointer;font-size:13px}.payment-quiet-btn:hover{color:#ccc}.payment-note{margin-top:14px;color:#666;font-size:11px;line-height:1.4}@keyframes paymentAppear{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.payment-logo{display:flex;justify-content:center;align-items:center;margin-bottom:12px;transform:scale(.82);opacity:.95}.payment-main-btn{animation:paymentPulse 1.8s ease-in-out infinite}@keyframes paymentPulse{0%{box-shadow:0 0 #f000;transform:scale(1)}50%{box-shadow:0 0 26px #ff000052;transform:scale(1.012)}to{box-shadow:0 0 #f000;transform:scale(1)}}.toast-message-content{white-space:pre-line}.intro-break{display:block;margin-top:6px;opacity:.85}h2{line-height:1.3}.copy-btn{position:relative;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.12);color:#ffffffa6;font-size:14px;border-radius:6px;cursor:pointer;transition:all .18s ease;transform:translateY(5px)}.copy-tooltip{position:absolute;bottom:120%;right:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#fff9;background:#000000e6;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.12);white-space:nowrap;opacity:0;transform:translateY(5px);transition:all .2s ease;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media (hover: hover) and (pointer: fine){.copy-btn:hover .copy-tooltip{opacity:1;transform:translateY(0)}}@media (hover: hover) and (pointer: fine){.copy-btn:hover{border-color:#fff6;color:#fff;box-shadow:0 0 8px #ffffff1f}}.copy-btn:active{transform:translateY(5px) scale(.92)}.copy-btn{-webkit-tap-highlight-color:transparent}.copy-btn:focus,.copy-btn:focus-visible{outline:none;background:transparent;border-color:#ffffff1f;color:#ffffffa6;box-shadow:none}@media (hover: none),(pointer: coarse){.copy-btn:hover,.copy-btn:focus,.copy-btn:focus-visible{background:transparent;border-color:#ffffff1f;color:#ffffffa6;box-shadow:none}.copy-btn:active{transform:translateY(5px) scale(.9);border-color:#ffffff59;color:#fff}}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at center,#111,#000);color:#fff;font-family:Courier New,monospace;overflow:hidden}.app-shell{min-height:100dvh;background:#000}button{background:#ffffff14;border:1px solid rgba(255,255,255,.22);color:#fff;padding:10px 18px;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease}button:hover{background:#ffffff24;border-color:#ffffff52}.intro-btn:hover{background:#ffffff1a;border-color:#ffffff47}.intro-page{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 42%,#ffffff0d,#fff0 32%),radial-gradient(circle at center,#090909,#000 72%)}.intro-main{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:max(28px,env(safe-area-inset-top)) 20px 88px}.intro-hero{width:min(100%,1320px);margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(-4vh)}.intro-logo-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:42px;animation:fadeIn 1.8s ease}.intro-copy{width:100%;max-width:none;padding:0 16px}.intro-title{font-family:Courier New,monospace;font-size:clamp(11px,2.15vw,30px);line-height:1.08;letter-spacing:.01em;opacity:.9;margin:0 auto;text-align:center;max-width:100%;white-space:nowrap;transform:translate(-6px)}.intro-subtitle{opacity:.56;margin:18px auto 0;max-width:100%;font-size:clamp(8px,1.05vw,16px);line-height:1.2;white-space:nowrap}.intro-actions{display:flex;justify-content:center;align-items:stretch;gap:14px;margin:34px auto 0;flex-wrap:wrap;width:fit-content}.intro-btn{min-width:266px;height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:Courier New,monospace;font-size:14px;line-height:1;letter-spacing:.01em;text-align:center;white-space:nowrap;position:relative;overflow:hidden;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.intro-btn--primary{background:#ffffff12;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px #ffffff08,0 0 #fff0}.intro-btn--secondary{background:#ffffff0b;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff05,0 0 #fff0}.intro-btn:hover{background:#ffffff1a;border-color:#ffffff47;box-shadow:inset 0 1px #ffffff0a,0 0 18px #ffffff0b;transform:translateY(-1px)}.intro-btn:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff08,0 0 10px #ffffff08}.intro-meta{margin-top:18px}.intro-remaining{font-size:13px;opacity:.52;letter-spacing:.08em;transform:translate(-10px)}.sound-btn{min-width:104px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;background:#080808d6;border:1px solid rgba(255,255,255,.14);color:#ffffffe0;font-family:Courier New,monospace;font-size:11px;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff08,0 0 #fff0;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,color .22s ease}.sound-btn:hover{background:#0e0e0eeb;border-color:#ffffff38;box-shadow:inset 0 1px #ffffff0a,0 0 14px #ffffff09;transform:translateY(-1px)}.sound-btn__label,.sound-btn__state{position:relative;top:1px}.sound-btn:active{transform:translateY(0)}.sound-btn__dot{width:7px;height:7px;border-radius:999px;background:#ffffff47;box-shadow:none;flex:0 0 7px;transition:background .22s ease,box-shadow .22s ease,opacity .22s ease}.sound-btn__label{opacity:.72}.sound-btn__state{min-width:22px;text-align:left;opacity:.9}.sound-btn.is-on .sound-btn__dot{background:#fffffff2;box-shadow:0 0 10px #ffffff2e}.sound-btn.is-off .sound-btn__dot{background:#ffffff2e;box-shadow:none}.sound-btn.is-off .sound-btn__state{opacity:.58}.sound-btn--intro{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(52px + env(safe-area-inset-bottom));z-index:1000}.sound-btn--bar{position:static}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.intro-modal{width:min(620px,calc(100vw - 32px));max-height:min(78dvh,760px);background:#0a0a0af0;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;box-shadow:0 24px 90px #000000c7;display:flex;flex-direction:column;animation:scaleIn .22s ease}.intro-modal-body{padding:32px 38px 28px;overflow-y:auto;text-align:left;font-size:14px;line-height:1.85;color:#ffffffad}.intro-modal h2{margin:0 0 26px;font-size:17px;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:#ffffffeb}.intro-modal-text{display:flex;flex-direction:column;gap:8px}.intro-modal p{margin:0}.intro-modal-accent{color:#ffffffe6}.intro-modal-final{margin-top:8px;color:#fffffff5;font-size:16px;letter-spacing:.08em;text-transform:uppercase}.intro-modal-divider{height:1px;margin:14px 0;background:linear-gradient(to right,transparent,rgba(255,255,255,.12),transparent)}.intro-action{width:100%;min-height:54px;border:none;border-top:1px solid rgba(255,255,255,.08);background:#ffffff09;color:#ffffffd1;font-size:13px;letter-spacing:.04em;cursor:pointer}.intro-action:hover{background:#ffffff14}.intro-modal-body::-webkit-scrollbar{width:6px}.intro-modal-body::-webkit-scrollbar-track{background:transparent}.intro-modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:10px}.intro-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.page,.page-content,.center{all:unset}.wall{position:relative;width:100vw;height:100vh}.msg{position:absolute;font-size:16px;opacity:0;animation:appear 1s forwards}textarea{width:250px;height:80px;background:#111;color:#fff;border:1px solid #333}.minimap{position:relative;width:160px;height:160px;background:#000;border:1px solid #333;border-radius:6px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none;-webkit-tap-highlight-color:transparent}.minimap:focus,.minimap:focus-visible,.minimap:active{outline:none;background:#000}@keyframes appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.intro-hero{transform:translateY(-2.5vh)}.intro-logo-wrap{margin-bottom:34px}.intro-actions{margin-top:28px}}@media (max-width: 768px){.intro-main{padding:max(20px,env(safe-area-inset-top)) 16px 84px}.intro-hero{transform:none;width:min(100%,640px)}.intro-logo-wrap{margin-bottom:28px}.intro-subtitle{margin-top:16px}.intro-actions{flex-direction:column;gap:10px;margin-top:26px;width:100%}.intro-btn{width:min(100%,360px);min-width:0}.intro-meta{margin-top:16px}.sound-btn--intro{left:max(14px,env(safe-area-inset-left));bottom:calc(48px + env(safe-area-inset-bottom))}}@media (max-width: 480px){.intro-main{padding:max(18px,env(safe-area-inset-top)) 14px 82px}.intro-logo-wrap{margin-bottom:22px}.intro-btn{min-height:46px;font-size:13px;padding:0 18px}.intro-remaining{font-size:12px;letter-spacing:.06em}.intro-modal{padding:22px 18px}.intro-modal h2{font-size:20px}.intro-modal p{font-size:14px}}@media (max-height: 740px){.intro-main{align-items:flex-start;padding-top:max(28px,env(safe-area-inset-top))}.intro-hero{transform:none;margin-top:18px}.intro-logo-wrap{margin-bottom:20px}.intro-actions{margin-top:20px}.intro-meta{margin-top:14px}}@media (max-height: 560px){.intro-logo-wrap{margin-bottom:14px}.intro-subtitle{margin-top:12px}.intro-actions{flex-direction:row;gap:10px;margin-top:16px}.intro-btn{min-width:220px;min-height:42px}.sound-btn--intro{bottom:calc(44px + env(safe-area-inset-bottom))}}@media (max-width: 768px){.intro-title{transform:translate(0)}}@media (max-width: 768px){.intro-remaining{transform:translate(0)}}button,input,textarea,select,.minimap{outline:none;-webkit-tap-highlight-color:transparent}button:focus,button:focus-visible,button:active,input:focus,input:focus-visible,input:active,textarea:focus,textarea:focus-visible,textarea:active,select:focus,select:focus-visible,select:active,.minimap:focus,.minimap:focus-visible,.minimap:active{outline:none;-webkit-tap-highlight-color:transparent}select{background-color:#080808;color:#fff}select:focus,select:active{background-color:#080808;color:#fff}.coming-soon-page{min-height:100dvh;background:#000}.coming-soon-hero{gap:clamp(16px,2vw,26px)}.coming-soon-title{font-size:clamp(18px,2.1vw,34px);white-space:nowrap;max-width:92vw}.coming-soon-subtitle{white-space:nowrap;max-width:92vw}.coming-soon-timer{margin-top:10px;font-family:inherit;font-size:clamp(24px,3vw,46px);line-height:1;letter-spacing:.18em;color:#ffffffe6;text-shadow:0 0 22px rgba(255,255,255,.12)}.coming-soon-remaining{margin-top:18px;font-size:clamp(11px,1vw,14px);letter-spacing:.08em;color:#ffffff7a}.coming-soon-page .sound-toggle{position:fixed;left:18px;bottom:48px}.coming-soon-page .sound-toggle{position:fixed;left:18px;bottom:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;min-width:auto;padding:0 13px;background:#0a0a0adb;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#ffffff9e;font-family:monospace;font-size:10px;line-height:1;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:none}.coming-soon-page .sound-toggle:hover{color:#ffffffe6;border-color:#ffffff47;box-shadow:0 0 18px #ffffff14}.coming-soon-page .sound-toggle .sound-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:currentColor;opacity:.85}.coming-soon-page .sound-toggle:focus,.coming-soon-page .sound-toggle:focus-visible,.coming-soon-page .sound-toggle:active{outline:none;background:#0a0a0adb;-webkit-tap-highlight-color:transparent}.coming-soon-page .sound-toggle .sound-dot.is-on{background:#fff;opacity:1;box-shadow:0 0 6px #ffffffd9,0 0 14px #ffffff47}.coming-soon-page .intro-logo-wrap,.intro-logo-wrap,.intro-actions{transform:translate(8px)}.cookie-banner{position:fixed;left:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;max-width:320px;padding:14px;background:#0a0a0aeb;border:1px solid rgba(255,255,255,.12);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;box-shadow:0 10px 40px #000000b3;text-align:center}.cookie-text{text-align:center;font-size:12px;line-height:1.4;color:#ffffffbf}.cookie-btn{align-self:center;padding:6px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#111;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;border-radius:999px;cursor:pointer;transition:all .2s ease}.cookie-btn:hover{border-color:#ffffff4d;color:#fff;box-shadow:0 0 12px #ffffff14}
