:root{--navy-950:#070d1f;--navy-900:#0b1530;--navy-800:#121f45;--navy-700:#1b2c5c;--navy-600:#2a3d76;--orange:#f26b1d;--orange-hi:#ff8a42;--orange-lo:#c4520f;--ink:#f4f6ff;--ink-dim:#aab4d6;--green:#35d07f;--red:#ff5b5b;--yellow:#ffd23f;--radius:18px;--tap:52px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--navy-900);height:100%;color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0}button{font:inherit;color:inherit}.btn{min-height:var(--tap);background:var(--navy-700);color:var(--ink);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;border:0;border-radius:14px;justify-content:center;align-items:center;gap:.5em;padding:0 1.4em;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg, var(--orange-hi), var(--orange));color:#1a0b00;box-shadow:0 6px 22px #f26b1d59}.btn-ghost{border:2px solid var(--navy-600);background:0 0}.btn-block{width:100%}.btn-primary[disabled]{background:var(--navy-700);color:#8e9bc7;box-shadow:none;opacity:1}.app{background:radial-gradient(120% 60% at 50% -10%, var(--navy-700) 0%, var(--navy-900) 55%, var(--navy-950) 100%);height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:relative;overflow:hidden}.topbar{border-bottom:1px solid var(--navy-700);background:#070d1fb3;flex:none;align-items:center;gap:10px;min-height:60px;padding:8px 12px;display:flex}.topbar .post{letter-spacing:.02em;font-size:1.25rem;font-weight:800}.topbar .post small{color:var(--ink-dim);letter-spacing:.04em;font-size:.78rem;font-weight:600;display:block}.topbar .grow{flex:1;min-width:0}.clock{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.1rem;font-weight:700}.menu-btn{background:var(--navy-700);cursor:pointer;border:0;border-radius:14px;width:52px;height:52px;font-size:1.7rem;line-height:1;position:relative}.menu-btn .badge{background:var(--orange);color:#1a0b00;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:.78rem;font-weight:800;display:grid;position:absolute;top:-4px;right:-4px}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{background:var(--navy-800);border:1px solid var(--navy-600);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.85rem;font-weight:700;display:inline-flex}.chip .dot{background:var(--ink-dim);border-radius:50%;width:9px;height:9px}.chip.ok .dot{background:var(--green);box-shadow:0 0 8px var(--green)}.chip.bad{border-color:var(--red)}.chip.bad .dot{background:var(--red)}.chip.warn{border-color:var(--yellow)}.chip.warn .dot{background:var(--yellow)}button.chip{cursor:pointer;font-family:inherit}.offline-bar{color:#ffe9b0;text-align:center;background:#5a3b00;flex:none;padding:7px 12px;font-size:.88rem;font-weight:700}.main{flex-direction:column;flex:1;min-height:0;display:flex}.scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:16px;overflow-y:auto}.stack{flex-direction:column;gap:14px;display:flex}.center{text-align:center;align-items:center}h1,h2,h3{margin:0;line-height:1.15}h1{font-size:1.9rem;font-weight:900}h2{font-size:1.4rem;font-weight:800}.eyebrow{color:var(--orange-hi);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:800}.dim{color:var(--ink-dim)}p{margin:0;line-height:1.45}.card{background:linear-gradient(180deg, var(--navy-800), #121f45d9);border:1px solid var(--navy-600);border-radius:var(--radius);padding:16px}.prompt{font-size:1.15rem;line-height:1.45}.sticky-actions{background:linear-gradient(0deg, var(--navy-950) 60%, #070d1f00);flex:none;padding:12px 16px}.input{border:2px solid var(--navy-600);background:var(--navy-950);width:100%;min-height:56px;color:var(--ink);border-radius:14px;padding:0 16px;font-family:inherit;font-size:1.2rem}.input:focus{border-color:var(--orange);outline:none}.input::placeholder{color:#6b78a3}.input.big{text-align:center;letter-spacing:.08em;font-size:1.6rem;font-weight:800}label.field{color:var(--ink-dim);flex-direction:column;gap:6px;font-size:.9rem;font-weight:700;display:flex}.err{color:#ff9c9c;font-size:.95rem;font-weight:700}.options{flex-direction:column;gap:10px;display:flex}.option{border:2px solid var(--navy-600);background:var(--navy-800);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-height:60px;padding:10px 16px;font-size:1.1rem;font-weight:700;display:flex}.option .mark{border:2px solid var(--ink-dim);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.9rem;display:grid}.option.multi .mark{border-radius:7px}.option.sel{border-color:var(--orange);background:#f26b1d24}.option.sel .mark{background:var(--orange);border-color:var(--orange);color:#1a0b00}.mapwrap{background:var(--navy-950);flex:42%;min-height:180px;position:relative}.mapwrap .leaflet-container{width:100%;height:100%;font-family:var(--font);background:#1b2440}.mapwrap .leaflet-tile-pane{filter:brightness(.82)saturate(.9)}.leaflet-control-attribution{color:var(--ink-dim)!important;background:#070d1fb3!important;font-size:10px!important}.leaflet-control-attribution a{color:var(--orange-hi)!important}.me{width:26px;height:26px;position:relative}.me .core{background:var(--orange);border:3px solid #fff;border-radius:50%;position:absolute;inset:5px;box-shadow:0 0 10px #0009}.me .pulse{background:#f26b1d80;border-radius:50%;animation:1.8s ease-out infinite pulse;position:absolute;inset:0}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(3.2)}}.recenter{z-index:500;background:var(--navy-900);width:48px;height:48px;color:var(--ink);border:0;border-radius:50%;font-size:1.4rem;position:absolute;bottom:28px;right:10px;box-shadow:0 2px 10px #00000080}.map-chips{z-index:500;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;top:10px;left:10px}.map-chips .chip{background:#070d1fd9}.navpanel{background:var(--navy-900);border-top:2px solid var(--navy-600);z-index:600;border-radius:22px 22px 0 0;flex-direction:column;flex:0 auto;min-height:0;max-height:55%;margin-top:-18px;display:flex;position:relative}.navpanel .scroll{flex:0 auto;padding-bottom:8px}.clue-img{object-fit:cover;border-radius:12px;width:100%;max-height:200px;margin-top:10px}.checkin-wrap{flex:none;padding:10px 16px 16px}.checkin-btn{background:linear-gradient(180deg, #53e69a, var(--green));color:#00250f;letter-spacing:.02em;cursor:pointer;border:0;border-radius:22px;width:100%;min-height:84px;font-size:1.9rem;font-weight:900;animation:.55s cubic-bezier(.2,1.4,.4,1) both pop-in,1.6s ease-out .6s infinite ring;box-shadow:0 0 #35d07fb3,0 10px 30px #35d07f66}.checkin-btn[disabled]{opacity:.7;animation:none}@keyframes pop-in{0%{opacity:0;transform:translateY(40px)scale(.7)}to{opacity:1;transform:none}}@keyframes ring{0%{box-shadow:0 0 #35d07fb3,0 10px 30px #35d07f66}to{box-shadow:0 0 0 26px #35d07f00,0 10px 30px #35d07f66}}.green-flash{z-index:700;pointer-events:none;background:radial-gradient(circle at 50% 70%,#35d07f8c,#35d07f00 70%);animation:1.4s ease-out both flash;position:absolute;inset:0}@keyframes flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}.primary-wrap{flex:none;padding:10px 16px 16px}.btn-xl{border-radius:18px;width:100%;min-height:68px;font-size:1.3rem}.banner{left:10px;right:10px;top:calc(env(safe-area-inset-top) + 8px);z-index:2000;cursor:pointer;border-radius:16px;padding:14px 16px;font-weight:700;animation:.35s cubic-bezier(.2,1.2,.4,1) both slide-down;position:absolute;box-shadow:0 10px 30px #0000008c}.banner.hint{color:#2a1a00;border:3px solid var(--orange);background:#fff4d6;animation:.35s cubic-bezier(.2,1.2,.4,1) both slide-down,1s ease-in-out .35s 3 glow}.banner small{text-transform:uppercase;letter-spacing:.1em;opacity:.75;margin-bottom:3px;font-size:.72rem;display:block}@keyframes slide-down{0%{transform:translateY(-120%)}to{transform:none}}@keyframes glow{50%{box-shadow:0 0 0 8px #ff8a4280,0 10px 30px #0000008c}}.blitzbar{background:linear-gradient(90deg, #ffb400, var(--orange));color:#1a0b00;text-align:left;cursor:pointer;border:0;flex:none;align-items:center;gap:10px;width:100%;min-height:54px;padding:6px 14px;font-size:1rem;font-weight:800;animation:1.4s ease-in-out infinite blitz-pulse;display:flex}.blitzbar .t{font-variant-numeric:tabular-nums;margin-left:auto;font-size:1.2rem}@keyframes blitz-pulse{50%{filter:brightness(1.2)}}.toast{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 100px);z-index:2500;background:var(--navy-600);text-align:center;border-radius:14px;padding:12px 16px;font-weight:700;animation:.3s both pop-in;position:absolute;box-shadow:0 8px 24px #00000080}.toast.error{background:#7a1f1f}.sheet-backdrop{z-index:3000;background:#0000008c;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{background:var(--navy-800);width:100%;padding:10px 14px calc(14px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;max-height:88%;animation:.25s ease-out both sheet-up;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet .grab{background:var(--navy-600);border-radius:3px;width:44px;height:5px;margin:4px auto 12px}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:14px;width:100%;min-height:58px;padding:8px 12px;font-size:1.1rem;font-weight:700;display:flex}.menu-item:active{background:var(--navy-700)}.menu-item .ic{text-align:center;width:36px;font-size:1.5rem}.menu-item .val{color:var(--ink-dim);margin-left:auto;font-size:.95rem}.menu-item .badge{background:var(--orange);color:#1a0b00;border-radius:12px;place-items:center;min-width:26px;height:26px;margin-left:auto;padding:0 7px;font-weight:800;display:grid}.page{z-index:3000;background:var(--navy-900);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;animation:.22s ease-out both sheet-up;display:flex;position:absolute;inset:0}.page-head{border-bottom:1px solid var(--navy-700);flex:none;align-items:center;gap:10px;min-height:60px;padding:8px 12px;display:flex}.page-head h2{flex:1}.back{background:var(--navy-700);cursor:pointer;border:0;border-radius:14px;min-width:52px;height:52px;font-size:1.5rem}.ring{flex:none;width:96px;height:96px;position:relative}.ring svg{transform:rotate(-90deg)}.ring .num{font-variant-numeric:tabular-nums;place-items:center;font-size:1.6rem;font-weight:900;display:grid;position:absolute;inset:0}.ring.over .num{color:var(--red);font-size:1.25rem}.quiz-head{align-items:center;gap:14px;display:flex}.cooldown{border:2px solid var(--red);text-align:center;background:#4a1414;border-radius:16px;padding:14px 16px;font-weight:800}.cooldown.shake{animation:.5s both shake}@keyframes shake{10%,90%{transform:translate(-3px)}20%,80%{transform:translate(6px)}30%,50%,70%{transform:translate(-10px)}40%,60%{transform:translate(10px)}}.morse-lamp{background:var(--navy-700);border:3px solid var(--navy-600);border-radius:50%;width:120px;height:120px;margin:0 auto;transition:background 40ms,box-shadow 40ms}.morse-lamp.on{background:var(--yellow);box-shadow:0 0 50px 14px #ffd23fb3}.morse-pattern{letter-spacing:.15em;text-align:center;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.7rem}.cipher{letter-spacing:.12em;text-align:center;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.7rem;font-weight:800}.order-item{background:var(--navy-800);border:2px solid var(--navy-600);border-radius:14px;align-items:center;gap:10px;min-height:62px;padding:8px 8px 8px 14px;font-size:1.05rem;font-weight:700;display:flex}.order-item .no{background:var(--orange);color:#1a0b00;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.order-item .txt{flex:1}.order-item button{background:var(--navy-700);cursor:pointer;border:0;border-radius:12px;width:48px;height:48px;font-size:1.2rem}.order-item button[disabled]{opacity:.3}.check-row{background:var(--navy-800);border:2px solid var(--navy-600);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 14px;font-size:1.15rem;font-weight:700;display:flex}.check-row.on{border-color:var(--green)}.check-row .box{border:2px solid var(--ink-dim);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.check-row.on .box{background:var(--green);border-color:var(--green);color:#00250f}.compass{width:190px;height:190px;margin:0 auto;position:relative}.compass .dial{transition:transform .15s linear;position:absolute;inset:0}.compass .needle{border-left:10px solid #0000;border-right:10px solid #0000;border-top:22px solid var(--orange);width:0;height:0;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.compass .readout{place-items:center;font-size:2.2rem;font-weight:900;display:grid;position:absolute;inset:0}.photo-preview{object-fit:contain;background:#000;border-radius:16px;width:100%;max-height:45vh}.rec-dot{background:var(--red);border-radius:50%;width:18px;height:18px;animation:1s ease-in-out infinite pulse-s}@keyframes pulse-s{50%{opacity:.3}}.big-time{font-variant-numeric:tabular-nums;color:var(--orange-hi);letter-spacing:.02em;font-size:3.4rem;font-weight:900}.spinner{border:6px solid var(--navy-600);border-top-color:var(--orange);border-radius:50%;width:64px;height:64px;margin:0 auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hero-icon{font-size:4rem;line-height:1}.logo{letter-spacing:.03em;color:var(--orange);text-shadow:0 0 30px #f26b1d80;font-size:3rem;font-weight:900}.logo small{letter-spacing:.25em;color:var(--ink-dim);text-shadow:none;font-size:.85rem;font-weight:700;display:block}.status-row{background:var(--navy-800);border:1px solid var(--navy-600);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.status-row .ic{text-align:center;width:34px;font-size:1.6rem}.status-row .grow{flex:1}.status-row b{display:block}.status-row .st{font-size:.85rem;font-weight:800}.st.ok{color:var(--green)}.st.bad{color:var(--red)}.help h3{color:var(--orange-hi);margin-top:8px;font-size:1.15rem}.help ul,.help ol{margin:6px 0 0;padding-left:1.3em;line-height:1.5}.help a{color:var(--orange-hi);font-weight:800}.tel{background:#7a1f1f;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:56px;padding:0 14px;font-size:1.1rem;font-weight:900;text-decoration:none;display:flex;color:#fff!important}.tel.gm{background:var(--navy-700)}.tabs{gap:8px;display:flex}.tabs button{border:2px solid var(--navy-600);cursor:pointer;background:0 0;border-radius:12px;flex:1;min-height:46px;font-weight:800}.tabs button.on{background:var(--orange);border-color:var(--orange);color:#1a0b00}.qr svg{background:#fff;border-radius:12px;width:100%;height:auto;padding:10px}.sq-row{border:2px solid var(--navy-600);background:var(--navy-800);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;font-size:1.05rem;font-weight:800;display:flex}.sq-row .state{background:var(--navy-700);border-radius:999px;margin-left:auto;padding:4px 10px;font-size:.8rem}.sq-row .state.pending{background:#5a3b00}.sq-row .state.approved{background:#11502f}.sq-row .state.rejected{background:#7a1f1f}.devpanel{z-index:9999;background:#000000d9;border:1px solid #555;border-radius:10px;flex-wrap:wrap;gap:4px;max-width:220px;padding:6px;font-size:11px;display:flex;position:fixed;bottom:4px;right:4px}.devpanel button{color:#eee;background:#222;border:1px solid #666;border-radius:6px;padding:4px 6px;font-size:11px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}.legs{margin:0;padding-left:1.4em;font-size:1.15rem;font-weight:700;line-height:1.8}.ended-banner{color:#2a1a00;border:3px solid var(--orange);background:#fff4d6;border-radius:14px;padding:10px 14px;font-size:1.05rem;font-weight:700;animation:1s ease-in-out 3 glow}.ended-overlay{z-index:4000;background:radial-gradient(circle at 50% 30%, #3a1d0a, var(--navy-900) 70%)}.ended-overlay h1{color:var(--orange-hi);font-size:2.4rem}.ended-sub{margin:0;font-size:1.35rem;font-weight:800}.target{width:44px;height:44px;position:relative}.target .flag{background:var(--green);color:#07200f;border:3px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;font-weight:900;display:grid;position:absolute;top:0;left:4px;box-shadow:0 0 12px #0009}.target .ring{background:#35d07f80;border-radius:50%;width:36px;height:36px;animation:1.8s ease-out infinite pulse;position:absolute;top:0;left:4px}
