:root{--bg:#0a0a14;--panel:#101020;--panel2:#14142a;--border:#ffffff17;--text:#f2f2f8;--muted:#9a9ab0;--accent:#ff7a45;--accent2:#a06bff;--unread:#ff7a45}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;scrollbar-width:none;margin:0;padding:0}::-webkit-scrollbar{display:none}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;overflow:hidden}button{font-family:inherit}.gate{color:#d7e6f5;min-height:100dvh;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:radial-gradient(120% 90% at 50% 0,#0b1220 0%,#05060a 55%);justify-content:center;align-items:center;font-family:SF Mono,ui-monospace,Cascadia Code,Menlo,Consolas,monospace;display:flex;position:relative;overflow:hidden}.gate-stars{pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#8cdcffe6,#0000),radial-gradient(1px 1px at 70% 60%,#ffffffb3,#0000),radial-gradient(1px 1px at 40% 80%,#8cdcff99,#0000),radial-gradient(2px 2px at 85% 20%,#ffffff80,#0000),radial-gradient(1px 1px at 10% 65%,#fff9,#0000),radial-gradient(1.5px 1.5px at 55% 15%,#78c8ffb3,#0000);background-size:520px 520px;animation:90s linear infinite starDrift;position:absolute;inset:-50%}@keyframes starDrift{0%{transform:translate(0,0)rotate(0)}to{transform:translate(-260px,-140px)rotate(2deg)}}.gate-grid{transform-origin:top;pointer-events:none;background-image:linear-gradient(#40b4ff29 1px,#0000 1px),linear-gradient(90deg,#40b4ff29 1px,#0000 1px);background-size:46px 46px;height:45%;animation:3.2s linear infinite gridFlow;position:absolute;bottom:-12%;left:-20%;right:-20%;transform:perspective(420px)rotateX(62deg);-webkit-mask-image:linear-gradient(#0000,#000000e6);mask-image:linear-gradient(#0000,#000000e6)}@keyframes gridFlow{0%{background-position:0 0,0 0}to{background-position:0 46px,0 0}}.gate-scanline{pointer-events:none;background:linear-gradient(#0000 0%,#78dcff0b 48%,#78dcff1c 50%,#78dcff0b 52%,#0000 100%) 0 0/100% 240px no-repeat;animation:5s linear infinite scan;position:absolute;inset:0}@keyframes scan{0%{background-position:0 -240px}to{background-position:0 calc(100% + 240px)}}.gate-card{z-index:2;-webkit-backdrop-filter:blur(14px);background:#080e18d1;border:1px solid #50beff47;border-radius:14px;width:min(430px,100%);padding:30px 28px 24px;animation:.8s cubic-bezier(.2,.9,.3,1.05) cardBoot;position:relative;box-shadow:0 0 0 1px #00000080,0 30px 80px #000000b3,0 0 60px #3caaff24,inset 0 1px #8cdcff2e}@keyframes cardBoot{0%{opacity:0;filter:blur(6px);transform:translateY(26px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.gate-card:before,.gate-card:after{content:"";pointer-events:none;border:2px solid #5ac8ffb3;width:22px;height:22px;animation:2.6s ease-in-out infinite cornerPulse;position:absolute}.gate-card:before{border-bottom:none;border-right:none;border-radius:14px 0 0;top:-2px;left:-2px}.gate-card:after{border-top:none;border-left:none;border-radius:0 0 14px;animation-delay:-1.3s;bottom:-2px;right:-2px}@keyframes cornerPulse{0%,to{opacity:.45}50%{opacity:1;box-shadow:0 0 14px #5ac8ff80}}.gate-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.gate-sigil{color:#6fd3ff;text-shadow:0 0 16px #6fd3ffe6;font-size:22px;animation:7s linear infinite sigilSpin;display:inline-block}@keyframes sigilSpin{0%,72%{transform:rotate(0)}80%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.gate-clearance{letter-spacing:.28em;color:#4f6b85;border:1px solid #50beff40;border-radius:4px;padding:4px 8px;font-size:10px}.gate-title{letter-spacing:.14em;color:#eaf6ff;text-shadow:0 0 24px #5ac8ff8c;font-size:clamp(22px,6vw,28px);font-weight:700;position:relative}.gate-title:before,.gate-title:after{content:attr(data-text);opacity:0;pointer-events:none;position:absolute;inset:0}.gate-title:before{color:#ff4d6d;animation:6s infinite glitchA}.gate-title:after{color:#38f2c8;animation:6s infinite glitchB}@keyframes glitchA{0%,93%,to{opacity:0;transform:none}94%{opacity:.75;clip-path:inset(10% 0 55%);transform:translate(-3px,1px)}96%{opacity:.75;clip-path:inset(60% 0 15%);transform:translate(2px,-1px)}98%{opacity:0}}@keyframes glitchB{0%,93%,to{opacity:0;transform:none}95%{opacity:.75;clip-path:inset(45% 0 30%);transform:translate(3px,-1px)}97%{opacity:.75;clip-path:inset(5% 0 70%);transform:translate(-2px,1px)}99%{opacity:0}}.gate-tag{letter-spacing:.22em;color:#58c8ff;opacity:.85;margin:6px 0 18px;font-size:11px}.gate-boot{border-left:2px solid #50beff4d;min-height:68px;margin-bottom:22px;padding:2px 0 2px 12px}.gate-boot-line{color:#5f7d99;white-space:nowrap;font-size:11px;line-height:1.7;animation:.35s steps(30,end) both bootLine;overflow:hidden}.gate-boot-line:last-child{color:#8fd7ff}@keyframes bootLine{0%{opacity:0;max-width:0}to{opacity:1;max-width:100%}}.gate-label{letter-spacing:.26em;text-transform:uppercase;color:#6f92b5;margin-bottom:8px;font-size:10.5px;font-weight:600;display:block}.gate-input-wrap{position:relative}.gate-card input{letter-spacing:.28em;color:#eaf6ff;caret-color:#58c8ff;background:#040a12d9;border:1px solid #50beff59;border-radius:8px;outline:none;width:100%;padding:13px 15px;font-family:inherit;font-size:17px;transition:border-color .2s,box-shadow .2s}.gate-card input:focus{border-color:#58c8ff;box-shadow:0 0 0 3px #58c8ff26,0 0 24px #58c8ff40}.gate-input-glow{opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#58c8ffe6,#0000);height:1px;transition:opacity .25s;position:absolute;bottom:-1px;left:10%;right:10%}.gate-card input:focus~.gate-input-glow{opacity:1}.gate-status{letter-spacing:.12em;color:#ff4d6d;text-shadow:0 0 14px #ff4d6d99;opacity:0;min-height:20px;margin-top:12px;font-size:12px;transition:opacity .2s}.gate-status.show{opacity:1;animation:.5s steps(2,end) 2 statusFlicker}@keyframes statusFlicker{50%{opacity:.3}}.gate-btn{letter-spacing:.3em;color:#bfe9ff;cursor:pointer;background:linear-gradient(#2878be59,#123c6959);border:1px solid #58c8ff80;border-radius:8px;width:100%;margin-top:14px;padding:14px;font-family:inherit;font-size:13.5px;font-weight:700;transition:box-shadow .25s,transform .15s,color .2s;position:relative;overflow:hidden}.gate-btn:before{content:"";background:linear-gradient(105deg,#0000,#a0e6ff59,#0000);width:40%;animation:3.2s ease-in-out infinite btnSweep;position:absolute;top:-30%;bottom:-30%;left:-55%;transform:skew(-22deg)}@keyframes btnSweep{0%{left:-55%}60%,to{left:125%}}.gate-btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 0 32px #58c8ff59}.gate-btn:active{transform:scale(.97)}.gate-btn:disabled{opacity:.6;cursor:default}.gate-foot{letter-spacing:.18em;color:#3d5570;justify-content:space-between;gap:10px;margin-top:22px;font-size:9.5px;display:flex}.gate.denied .gate-card{border-color:#ff4d6d8c;box-shadow:0 30px 80px #000000b3,0 0 60px #ff4d6d40}.gate-card.shake{animation:.45s gateShake}@keyframes gateShake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.gate-card.gate-quiz{scrollbar-width:none;width:min(800px,100%);max-height:calc(100dvh - 32px);transition:width .35s cubic-bezier(.2,.9,.3,1);overflow-y:auto}.gate-card.gate-quiz.narrow{width:min(460px,100%)}.gate-progress{align-items:center;gap:6px;margin-bottom:20px;display:flex}.gate-progress-seg{background:#58c8ff26;border-radius:2px;flex:1;height:4px;transition:background .3s,box-shadow .3s}.gate-progress-seg.done{background:#58c8ffbf}.gate-progress-seg.now{background:#58c8ff;animation:1.4s ease-in-out infinite segPulse;box-shadow:0 0 12px #58c8ffcc}@keyframes segPulse{50%{opacity:.55}}.gate-progress-label{letter-spacing:.2em;color:#6f92b5;flex:none;font-size:10px}.gate-step{margin-bottom:4px;animation:.4s cubic-bezier(.2,.9,.3,1) both stepIn}@keyframes stepIn{0%{opacity:0;filter:blur(3px);transform:translate(26px)}to{opacity:1;filter:blur();transform:translate(0)}}.gate-q{letter-spacing:.1em;color:#bfe3fa;margin-bottom:14px;font-size:14px;font-weight:600}.gate-q em{color:#58c8ff;letter-spacing:.14em;font-size:11px;font-style:normal}.gate-imggrid{gap:10px;margin-bottom:8px;display:grid}.gate-imggrid.dogs{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.gate-imggrid.dogs .gate-imgopt img{aspect-ratio:1}.gate-imggrid.motos{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));max-width:640px;margin-left:auto;margin-right:auto}.gate-imgopt{cursor:pointer;background:#040a12b3;border:1px solid #58c8ff38;border-radius:10px;flex-direction:column;padding:0;transition:border-color .2s,box-shadow .2s,transform .15s;animation:.45s cubic-bezier(.2,.9,.3,1) both optIn;display:flex;position:relative;overflow:hidden}@keyframes optIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.gate-imgopt img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.8)contrast(1.05);width:100%;transition:filter .2s,transform .3s;display:block}.gate-imgopt:hover img{filter:saturate(1.05);transform:scale(1.05)}.gate-imgopt span{letter-spacing:.16em;color:#6f92b5;text-transform:uppercase;padding:7px 8px;font-size:9.5px}.gate-imgopt.sel{border-color:#58c8ff;transform:translateY(-2px);box-shadow:0 0 0 2px #58c8ff59,0 0 26px #58c8ff59}.gate-imgopt.sel span{color:#58c8ff}.gate-imgopt.sel:after{content:"◉";color:#58c8ff;text-shadow:0 0 10px #58c8ffe6;font-size:14px;position:absolute;top:6px;right:8px}.gate-swatches{grid-template-columns:repeat(3,1fr);gap:12px;max-width:480px;margin-bottom:8px;margin-left:auto;margin-right:auto;display:grid}.gate-swatch{aspect-ratio:1.5;background:linear-gradient(160deg, color-mix(in srgb, var(--sw) 85%, #fff 0%), color-mix(in srgb, var(--sw) 70%, #000 30%));cursor:pointer;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:flex-end;padding-bottom:6px;transition:transform .15s,box-shadow .2s;animation:.45s cubic-bezier(.2,.9,.3,1) both optIn;display:flex;position:relative}.gate-swatch:hover{transform:translateY(-2px)}.gate-swatch-label{letter-spacing:.18em;color:#0000008c;font-size:9px;font-weight:700}.gate-swatch.sel{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--sw), 0 0 30px var(--sw);transform:translateY(-3px)scale(1.04)}.gate-map{width:100%;height:auto;margin-bottom:8px;display:block}.gate-map-outline{fill:#40b4ff12;stroke:#58c8ff8c;stroke-width:2px;stroke-linejoin:round;filter:drop-shadow(0 0 14px #58c8ff40)}.gate-city{cursor:pointer}.gate-city-hit{fill:#0000}.gate-city-dot{fill:#17324b;stroke:#58c8ffbf;stroke-width:2px;transition:fill .2s,r .2s}.gate-city:hover .gate-city-dot{fill:#58c8ff80}.gate-city text{fill:#7fa8c9;letter-spacing:.06em;paint-order:stroke;stroke:#05060ad9;stroke-width:4px;font-family:inherit;font-size:17px}.gate-city.sel .gate-city-dot{fill:#58c8ff;stroke:#fff;filter:drop-shadow(0 0 8px #58c8ffe6)}.gate-city.sel text{fill:#eaf6ff}.gate-overlay{z-index:10;-webkit-backdrop-filter:blur(10px);background:#03060ae6;justify-content:center;align-items:center;animation:.35s grantedIn;display:flex;position:absolute;inset:0}.gate-overlay.granted{background:#030806e6}.gate-overlay.denied{background:#0a0305eb}.gate-verify{min-width:min(320px,80vw);font-size:12px}.gate-verify .gate-boot-line{color:#8fd7ff;font-size:12.5px}.gate-verify-spinner{border:2px solid #58c8ff33;border-top-color:#58c8ff;border-radius:50%;width:42px;height:42px;margin-bottom:18px;animation:.9s linear infinite spin;box-shadow:0 0 24px #58c8ff4d}@keyframes spin{to{transform:rotate(360deg)}}.gate-denied-icon{color:#ff4d6d;text-shadow:0 0 40px #ff4d6de6;font-size:46px;animation:.5s deniedShake}@keyframes deniedShake{0%,to{transform:translate(0)}20%{transform:translate(-12px)}40%{transform:translate(12px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}}.gate-denied-text{letter-spacing:.3em;color:#ff4d6d;text-shadow:0 0 26px #ff4d6db3;margin-top:14px;font-size:20px;font-weight:700}.gate-denied-sub{letter-spacing:.14em;color:#b06a78;margin-top:8px;font-size:11.5px}.gate-restart{color:#ffc0cc;background:linear-gradient(#be284659,#69122859);border-color:#ff4d6d80;margin-top:26px}.gate-restart:hover{box-shadow:0 0 32px #ff4d6d59}.gate-granted{z-index:10;-webkit-backdrop-filter:blur(10px);background:#030806e0;justify-content:center;align-items:center;animation:.35s grantedIn;display:flex;position:absolute;inset:0}@keyframes grantedIn{0%{opacity:0}to{opacity:1}}.gate-granted-inner{text-align:center;animation:.55s cubic-bezier(.2,1.4,.4,1) grantedPop}@keyframes grantedPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.gate-granted-icon{color:#3ddc84;text-shadow:0 0 40px #3ddc84e6;font-size:46px;animation:1.4s ease-in-out infinite grantedSpin}@keyframes grantedSpin{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.15)}}.gate-granted-text{letter-spacing:.3em;color:#3ddc84;text-shadow:0 0 26px #3ddc84b3;margin-top:14px;font-size:20px;font-weight:700}.gate-granted-sub{letter-spacing:.14em;color:#6fae8c;margin-top:8px;font-size:11.5px;animation:1s steps(2,end) infinite subBlink}@keyframes subBlink{50%{opacity:.45}}.inbox{background:radial-gradient(120% 90% at 50% 0,#0b1220 0%,#05060a 55%);height:100dvh;font-family:SF Mono,ui-monospace,Cascadia Code,Menlo,Consolas,monospace;display:flex;overflow:hidden}.pane-list{background:#080e188c;border-right:1px solid #58c8ff29;flex-direction:column;width:100%;display:flex;overflow:hidden}.pane-read{background:#05060a;flex-direction:column;flex:1;min-width:0;display:flex}@media (width>=768px){.pane-list{flex:0 0 380px;width:380px}}@media (width<=767.98px){.pane-list{z-index:30;-webkit-backdrop-filter:blur(12px);background:#060b13f7;border-right:none;width:100%;transition:transform .38s cubic-bezier(.25,.9,.3,1);position:fixed;inset:0;transform:translate(-100%)}.inbox.menu-open .pane-list{transform:translate(0);box-shadow:30px 0 80px #000c}}.mail-fab{right:20px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;color:#eaf6ff;cursor:pointer;background:radial-gradient(circle at 32% 28%,#58c8ff59,#091220f5 75%);border:1px solid #58c8ff8c;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;animation:.5s cubic-bezier(.2,1.4,.4,1) both fabIn,2.4s ease-in-out .5s infinite fabGlow;display:none;position:fixed;box-shadow:0 8px 30px #0009,0 0 26px #58c8ff59}@media (width<=767.98px){.mail-fab{display:flex}}@keyframes fabIn{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes fabGlow{50%{box-shadow:0 8px 30px #0009,0 0 44px #58c8ff99}}.mail-fab:active{transform:scale(.92)}.mail-fab-icon{text-shadow:0 0 14px #58c8ffe6;font-size:25px}.mail-fab-badge{color:#0a0a14;background:var(--accent);min-width:24px;height:24px;text-shadow:none;border-radius:12px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:800;animation:1.6s ease-in-out infinite badgePulse;display:flex;position:absolute;top:-5px;right:-6px;box-shadow:0 0 18px #ff7a45e6}.list-head{padding:18px 18px 14px;padding-top:calc(18px + env(safe-area-inset-top));border-bottom:1px solid #58c8ff29;position:relative}.list-close{top:calc(16px + env(safe-area-inset-top));color:#58c8ff;cursor:pointer;text-shadow:0 0 10px #58c8ffb3;background:#58c8ff14;border:1px solid #58c8ff66;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;line-height:1;display:none;position:absolute;right:14px}.list-close:active{background:#58c8ff29;transform:scale(.92)}@media (width<=767.98px){.list-close{display:flex}}.list-head .brand{letter-spacing:.3em;color:#58c8ff;text-shadow:0 0 14px #58c8ff80;align-items:center;gap:8px;margin-bottom:8px;font-size:10.5px;font-weight:700;display:flex}.list-head h1{letter-spacing:.18em;color:#eaf6ff;text-shadow:0 0 22px #58c8ff59;font-size:21px;font-weight:800}.tx-banner{letter-spacing:.18em;border-radius:8px;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:10.5px;font-weight:700;animation:.6s cubic-bezier(.2,1.6,.4,1) both bannerPop;display:flex}@keyframes bannerPop{0%{opacity:0;transform:scale(.55)translateY(-6px)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)translateY(0)}}.tx-banner.new{color:#58c8ff;background:#58c8ff14;border:1px solid #58c8ff73;animation:.6s cubic-bezier(.2,1.6,.4,1) both bannerPop,2.2s ease-in-out .6s infinite bannerGlow}@keyframes bannerGlow{50%{box-shadow:0 0 26px #58c8ff66}}.tx-banner-dot{background:#58c8ff;border-radius:50%;width:8px;height:8px;animation:1.4s infinite txPing}@keyframes txPing{0%{box-shadow:0 0 #58c8ff99}to{box-shadow:0 0 0 12px #58c8ff00}}.tx-banner.ok{color:#3ddc84;background:#3ddc840f;border:1px solid #3ddc8459;position:relative;overflow:hidden}.tx-banner.ok:after{content:"";background:linear-gradient(105deg,#0000,#3ddc8440,#0000);width:30%;animation:3.4s ease-in-out infinite okSweep;position:absolute;top:-30%;bottom:-30%;left:-40%;transform:skew(-22deg)}@keyframes okSweep{0%{left:-40%}60%,to{left:130%}}.tx-banner-check{text-shadow:0 0 12px #3ddc84e6;animation:2.4s ease-in-out infinite checkBeat}@keyframes checkBeat{0%,to{transform:scale(1)}12%{transform:scale(1.35)}24%{transform:scale(1)}}.letter-rows{padding-bottom:env(safe-area-inset-bottom);flex:1;overflow-y:auto}.letter-row{text-align:left;cursor:pointer;width:100%;color:inherit;animation:.5s cubic-bezier(.2,.9,.3,1) both rowIn;animation-delay:calc(var(--i,0) * 70ms + .1s);background:0 0;border:none;border-bottom:1px solid #58c8ff1a;gap:13px;padding:15px 14px 13px 16px;font-family:inherit;transition:background .15s,transform .15s;display:flex}@keyframes rowIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.letter-row:hover{background:#58c8ff0d;transform:translate(3px)}.letter-row.active{background:#58c8ff14;box-shadow:inset 3px 0 #58c8ff}.letter-row .row-avatar{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(150deg,#58c8ff59,#10233a 70%);flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;display:flex}.letter-row .row-main{flex:1;min-width:0}.letter-row .row-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.letter-row .row-from{letter-spacing:.18em;color:#58c8ff;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;overflow:hidden}.letter-row .row-date{color:#4f6b85;flex:none;font-size:10.5px}.letter-row .row-subject{color:#cfe3f2;white-space:nowrap;text-overflow:ellipsis;margin:5px 0 3px;font-size:13.5px;font-weight:500;overflow:hidden}.letter-row .row-preview{color:#5f7d99;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.letter-row.unread .row-subject{color:#fff;text-shadow:0 0 16px #58c8ff73;font-weight:800}.row-status{margin-top:7px}.chip-enc,.chip-dec{letter-spacing:.16em;border-radius:4px;padding:3px 8px;font-size:8.5px;font-weight:700}.chip-enc{color:#58c8ff;background:#58c8ff14;border:1px solid #58c8ff66;animation:1.6s steps(2,end) infinite encBlink}@keyframes encBlink{50%{border-color:#58c8ffe6}}.chip-dec{color:#3ddc84;opacity:.85;background:#3ddc840d;border:1px solid #3ddc844d}.row-side{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:10px;display:flex}.letter-row .row-dot{opacity:0;background:#58c8ff;border-radius:50%;width:9px;height:9px;box-shadow:0 0 10px #58c8ffcc}.letter-row.unread .row-dot{opacity:1;animation:1.8s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{box-shadow:0 0 #58c8ff8c}50%{box-shadow:0 0 0 7px #58c8ff00}}.row-replay{color:#58c8ff;border:1px solid #58c8ff59;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;line-height:1;transition:transform .35s,box-shadow .2s,background .2s;display:flex}.row-replay:hover{background:#58c8ff1f;transform:rotate(-260deg);box-shadow:0 0 16px #58c8ff66}.read-bar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));background:#080e18cc;border-bottom:1px solid #58c8ff29;align-items:center;gap:10px;display:flex}.read-bar .back-btn{color:#58c8ff;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:22px;line-height:1;display:none}.read-bar .back-btn:hover{background:#58c8ff1a}@media (width<=767.98px){.read-bar .back-btn{display:block}}.read-bar .read-subject{color:#eaf6ff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.read-bar .read-from{letter-spacing:.14em;color:#58c8ff;opacity:.8;margin-top:2px;font-size:10px}.read-bar>div{flex:1;min-width:0}.read-close{color:#58c8ff;cursor:pointer;background:#58c8ff14;border:1px solid #58c8ff66;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;margin-left:auto;font-size:14px;line-height:1;transition:background .2s,box-shadow .2s;display:flex}.read-close:hover{background:#58c8ff29;box-shadow:0 0 16px #58c8ff59}@media (width<=767.98px){.read-close{display:none}}.read-frame-wrap{flex:1;animation:.4s both paneIn;position:relative}@keyframes paneIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.read-frame-wrap iframe{background:var(--bg);border:none;width:100%;height:100%;position:absolute;inset:0}.empty-state{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.empty-sigil{color:#58c8ff;text-shadow:0 0 44px #58c8ffb3;font-size:58px;animation:4.2s ease-in-out infinite sigilFloat}@keyframes sigilFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(6deg)}}.empty-title{letter-spacing:.32em;color:#7fa8c9;font-size:13px;font-weight:700}.empty-sub{letter-spacing:.14em;color:#3d5570;font-size:10.5px}.empty-state.incoming{gap:14px}.beacon{justify-content:center;align-items:center;width:170px;height:170px;margin-bottom:4px;display:flex;position:relative}.beacon-ring{opacity:0;border:1px solid #58c8ffbf;border-radius:50%;animation:3s cubic-bezier(.2,.6,.35,1) infinite beaconRing;position:absolute;inset:0}.beacon-ring.r2{animation-delay:1s}.beacon-ring.r3{animation-delay:2s}@keyframes beaconRing{0%{opacity:0;transform:scale(.34)}12%{opacity:.9}to{opacity:0;transform:scale(1.4)}}.beacon-sweep{background:conic-gradient(#58c8ff66,#58c8ff14 22%,#0000 32% 100%);border:1px dashed #58c8ff33;border-radius:50%;animation:2.6s linear infinite sweepSpin;position:absolute;inset:14px}@keyframes sweepSpin{to{transform:rotate(360deg)}}.beacon-core{z-index:2;color:#eaf6ff;text-shadow:0 0 14px #58c8ffe6;background:radial-gradient(circle at 35% 28%,#58c8ff66,#091220f2 72%);border:1px solid #58c8ff99;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;font-size:27px;animation:2.4s ease-in-out infinite coreBob;display:flex;position:relative;box-shadow:0 0 36px #58c8ff73}@keyframes coreBob{0%,to{transform:translateY(0);box-shadow:0 0 36px #58c8ff73}50%{transform:translateY(-7px);box-shadow:0 0 52px #58c8ffb3}}.beacon-badge{color:#0a0a14;background:var(--accent);min-width:23px;height:23px;text-shadow:none;border-radius:12px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:800;animation:1.6s ease-in-out infinite badgePulse;display:flex;position:absolute;top:-5px;right:-7px;box-shadow:0 0 18px #ff7a45d9}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.18);box-shadow:0 0 26px #ff7a45}}.empty-title.alert{color:#58c8ff;text-shadow:0 0 24px #58c8ffd9;animation:4s step-end infinite alertFlicker}@keyframes alertFlicker{0%,to{opacity:1}88%{opacity:1}89%{opacity:.35}90%{opacity:1}93%{opacity:.55}94%{opacity:1}}.empty-count{letter-spacing:.22em;color:#ffb08a;text-shadow:0 0 16px #ff7a4580;font-size:11px;font-weight:700}.empty-hint{letter-spacing:.14em;color:#7fa8c9;align-items:center;gap:9px;font-size:10.5px;display:flex}.empty-hint .hint-arrow{color:#58c8ff;text-shadow:0 0 12px #58c8ffcc;animation:1.3s ease-in-out infinite arrowNudge}@keyframes arrowNudge{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(-7px)}}.empty-hint.hint-mobile{display:none}.empty-hint .hint-arrow.down{animation:1.3s ease-in-out infinite arrowNudgeDown}@keyframes arrowNudgeDown{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(5px,5px)}}@media (width<=767.98px){.empty-hint.hint-desktop{display:none}.empty-hint.hint-mobile{display:flex}}.bomb{z-index:15;-webkit-backdrop-filter:blur(10px);background:#0a0305eb;border:1px solid #ff4d6d80;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:26px 34px;font-family:SF Mono,ui-monospace,Cascadia Code,Menlo,Consolas,monospace;animation:.4s cubic-bezier(.2,1.4,.4,1) both bombIn;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 60px #ff4d6d40}@media (width>=768px){.bomb{left:calc(50% + 190px)}}@keyframes bombIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.bomb-label{letter-spacing:.26em;color:#ff8598;white-space:nowrap;text-align:center;font-size:10.5px;font-weight:700}@media (width<=767.98px){.bomb{max-width:calc(100vw - 28px);padding:22px 20px}.bomb-label{letter-spacing:.18em;font-size:9.5px}}.bomb-clock{letter-spacing:.08em;color:#ff4d6d;text-shadow:0 0 34px #ff4d6dcc;font-variant-numeric:tabular-nums;font-size:58px;font-weight:800;animation:1s steps(2,end) infinite clockTick}@keyframes clockTick{50%{opacity:.75}}.bomb-sub{letter-spacing:.18em;color:#b06a78;font-size:10px}.bomb.critical{border-color:#ff4d6de6;animation:.4s linear infinite bombShake}.bomb.critical .bomb-clock{animation:.5s steps(2,end) infinite clockTick}@keyframes bombShake{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 3px),-50%)}75%{transform:translate(calc(3px - 50%),-50%)}}.bomb.boom{background:#040a12f0;border-color:#58c8ff80;animation:.5s cubic-bezier(.2,1.6,.4,1) both boomIn;box-shadow:0 0 70px #58c8ff4d}@keyframes boomIn{0%{opacity:0;filter:blur(8px);transform:translate(-50%,-50%)scale(1.6)}to{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}}.bomb.boom .bomb-label{color:#58c8ff}.bomb-start{width:auto;min-width:220px}.bomb-dismiss{color:#4f6b85;letter-spacing:.18em;cursor:pointer;background:0 0;border:none;padding:6px 10px;font-family:inherit;font-size:10.5px}.bomb-dismiss:hover{color:#7fa8c9}.belot{--cardw:clamp(52px, 7.5vw, 96px);--backw:var(--cardw);color:#d7e6f5;background:radial-gradient(110% 90% at 50% 20%,#0d1a2b 0%,#05060a 70%);flex-direction:column;flex:1;animation:.5s both paneIn;display:flex;position:relative;overflow:hidden}.belot-head{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:#080e18b3;border-bottom:1px solid #58c8ff29;align-items:center;gap:14px;display:flex}.belot-title{letter-spacing:.22em;color:#58c8ff;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:700;overflow:hidden}.belot-title .bt-sub{color:#4f6b85}.belot-score span{white-space:nowrap}.belot-score{letter-spacing:.1em;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:800;display:flex}.belot-score .we{color:#3ddc84}.belot-score .sep{color:#4f6b85}.belot-score .they{color:#ff7a45}.belot-score .hang{color:#ffd94d;border:1px dashed #ffd94d80;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.belot-score .tally{color:#7fa8c9;white-space:nowrap;border:1px solid #58c8ff40;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.belot-tally{letter-spacing:.18em;color:#6f92b5;margin-top:10px;font-size:10px}.belot-close{color:#58c8ff;cursor:pointer;background:#58c8ff14;border:1px solid #58c8ff66;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;line-height:1;display:flex}.belot-close:hover{background:#58c8ff29;box-shadow:0 0 16px #58c8ff59}.belot-contract{z-index:4;letter-spacing:.16em;color:#8fd7ff;white-space:nowrap;pointer-events:none;background:#080e18d9;border:1px solid #58c8ff4d;border-radius:5px;padding:5px 9px;font-size:10px;position:absolute;top:10px;left:12px}.belot-table{flex:1;align-self:center;width:100%;max-width:980px;min-height:0;max-height:680px;margin-top:auto;margin-bottom:auto;position:relative}.belot-seat{letter-spacing:.2em;color:#6f92b5;flex-direction:column;align-items:center;gap:7px;font-size:10px;font-weight:700;transition:color .2s,text-shadow .2s;display:flex;position:absolute}.belot-seat.now{color:#58c8ff;text-shadow:0 0 12px #58c8ffcc}.belot-seat.now .seat-name:after{content:" ▾"}.seat-2{top:10px;left:50%;transform:translate(-50%)}.seat-1{top:50%;left:3%;transform:translateY(-50%)}.seat-3{top:50%;right:3%;transform:translateY(-50%)}.seat-cards{display:flex}.belot.full{--backw:calc(var(--cardw) * .72)}.cardback{width:var(--backw);aspect-ratio:5/7;height:auto;margin-left:calc(var(--backw) * -.6);background:linear-gradient(135deg,#58c8ff47 25%,#0000 25% 50%,#58c8ff47 50% 75%,#0000 75%) 0 0/8px 8px,#0b1626;border:1px solid #58c8ff80;border-radius:8px;transition:width .3s,margin .3s;box-shadow:0 3px 8px #00000073}.cardback:first-child{margin-left:0}.seat-1 .seat-cards,.seat-3 .seat-cards{flex-direction:column}.seat-1 .cardback,.seat-3 .cardback{width:calc(var(--backw) * 1.4);aspect-ratio:7/5;height:auto;margin-left:0;margin-top:calc(var(--backw) * -.6)}.seat-1 .cardback:first-child,.seat-3 .cardback:first-child{margin-top:0}.bcard{cursor:default;background:0 0;border:none;padding:0}.bcard-face{width:var(--cardw);aspect-ratio:5/7;color:#17324b;background:linear-gradient(165deg,#f8fafc,#d9e2ec);border:1px solid #00000059;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-family:inherit;display:flex;box-shadow:0 4px 14px #00000080}.bcard-face b{font-size:clamp(17px,2.4vw,30px);font-weight:800}.bcard-face i{font-size:clamp(16px,2.2vw,28px);font-style:normal;line-height:1}.bcard-face.red{color:#c0263c}.belot-bubble{z-index:5;letter-spacing:.1em;color:#eaf6ff;white-space:nowrap;pointer-events:none;background:#0e1a2af2;border:1px solid #58c8ff8c;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:700;animation:.3s cubic-bezier(.2,1.5,.4,1) both bubblePop;position:absolute;box-shadow:0 4px 18px #00000080,0 0 14px #58c8ff40}@keyframes bubblePop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.belot-bubble.is-pass{color:#7a8aa0;border-color:#ffffff2e;box-shadow:0 4px 18px #00000080}.belot-bubble.bpos-0{bottom:6%;left:50%;transform:translate(-50%)}.belot-bubble.bpos-2{top:24%;left:50%;transform:translate(-50%)}.belot-bubble.bpos-1{top:30%;left:13%}.belot-bubble.bpos-3{top:30%;right:13%}.belot-bubble.bpos-0,.belot-bubble.bpos-2{animation:.3s cubic-bezier(.2,1.5,.4,1) both bubblePopCentered}@keyframes bubblePopCentered{0%{opacity:0;transform:translate(-50%)scale(.5)}to{opacity:1;transform:translate(-50%)scale(1)}}.belot-trick{pointer-events:none;position:absolute;inset:0}.bcard.played{animation:.3s cubic-bezier(.2,.9,.3,1) both cardPlay;position:absolute}@keyframes cardPlay{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.bcard.played.pos-0{top:58%;left:50%;translate:-50%}.bcard.played.pos-2{bottom:58%;left:50%;translate:-50%}.bcard.played.pos-1{top:50%;right:56%;translate:0 -50%}.bcard.played.pos-3{top:50%;left:56%;translate:0 -50%}.belot-hand{padding:10px 12px calc(14px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.belot-yourturn{text-align:center;letter-spacing:.24em;color:#58c8ff;text-shadow:0 0 16px #58c8ffcc;flex-basis:100%;padding-bottom:2px;font-size:11px;font-weight:800;animation:1.1s ease-in-out infinite yourTurnPulse}@keyframes yourTurnPulse{50%{opacity:.45}}.bcard.hand{filter:saturate(.5)brightness(.65);transition:transform .15s,filter .2s,box-shadow .2s}.bcard.hand.legal{cursor:pointer;filter:none}.belot-hand:not(.my-turn) .bcard.hand{filter:none;opacity:.92}.bcard.hand.legal:hover{transform:translateY(-10px)}.bcard.hand.legal .bcard-face{box-shadow:0 4px 14px #00000080,0 0 16px #58c8ff73}.belot-bidbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:0 12px 14px;display:flex}.bid-label{letter-spacing:.2em;color:#6f92b5;font-size:10px}.bid-btn{letter-spacing:.08em;color:#bfe9ff;cursor:pointer;background:#58c8ff14;border:1px solid #58c8ff73;border-radius:8px;padding:9px 13px;font-family:inherit;font-size:12px;font-weight:700;transition:box-shadow .2s,background .2s,transform .15s}.bid-btn:hover{background:#58c8ff2e;transform:translateY(-1px);box-shadow:0 0 18px #58c8ff59}.bid-btn.red{color:#ff8598;background:#ff4d6d12;border-color:#ff4d6d73}.bid-btn.red:hover{background:#ff4d6d29;box-shadow:0 0 18px #ff4d6d4d}.bid-btn.pass{color:#9a9ab0;background:#ffffff0a;border-color:#fff3}.bid-btn.contra{color:#ffb08a;background:#ff7a4514;border-color:#ff7a4580}.bid-btn.contra:hover{background:#ff7a4529;box-shadow:0 0 18px #ff7a454d}.belot-toasts{z-index:6;pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;bottom:14px;left:14px}.belot-toast{letter-spacing:.14em;color:#8fd7ff;background:#080e18e6;border:1px solid #58c8ff59;border-radius:6px;padding:6px 10px;font-size:10.5px;font-weight:700;animation:.3s cubic-bezier(.2,1.4,.4,1) both toastIn}@keyframes toastIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.belot-overlay{z-index:5;-webkit-backdrop-filter:blur(8px);background:#03060ad9;justify-content:center;align-items:center;padding:20px;animation:.3s grantedIn;display:flex;position:absolute;inset:0}.belot-panel{text-align:center;background:#080e18f2;border:1px solid #58c8ff4d;border-radius:14px;width:min(360px,100%);padding:22px;animation:.45s cubic-bezier(.2,1.4,.4,1) grantedPop}.belot-panel h3{letter-spacing:.24em;color:#eaf6ff;margin-bottom:12px;font-size:15px;font-weight:800}.belot-flag{letter-spacing:.2em;color:#ffd94d;border:1px solid #ffd94d80;border-radius:5px;margin:0 4px 10px;padding:4px 10px;font-size:10.5px;font-weight:800;display:inline-block}.belot-flag.valat{color:#ff7a45;border-color:#ff7a458c}.belot-panel table{border-collapse:collapse;width:100%;margin:6px 0 4px;font-size:12.5px}.belot-panel td{border-bottom:1px solid #58c8ff1f;padding:6px 4px}.belot-panel td:first-child{text-align:left;color:#6f92b5;letter-spacing:.14em;font-size:10.5px}.belot-panel tr.total td{color:#eaf6ff;border-bottom:none;font-weight:800}.belot-next{margin-top:14px}.belot-final{letter-spacing:.12em;color:#eaf6ff;margin-bottom:10px;font-size:19px;font-weight:800}.belot-quip{color:#7fa8c9;font-size:11.5px;line-height:1.6}@media (width<=767.98px){.belot{--cardw:76px}.belot-head{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));gap:8px}.belot-title .bt-full{display:none}.belot-score{gap:5px;font-size:12px}.belot-table{max-height:470px}.belot-contract{padding:4px 7px;font-size:9px;top:8px;left:auto;right:10px}.bcard.played.pos-0{top:54%}.bcard.played.pos-2{bottom:54%}.bcard.played.pos-1{right:53%}.bcard.played.pos-3{left:53%}.seat-1{left:6px}.seat-3{right:6px}.belot-hand{gap:4px;padding-top:6px}.bcard-face b{font-size:23px}.bcard-face i{font-size:21px}.belot-bidbar{padding-bottom:calc(10px + env(safe-area-inset-bottom));gap:6px}.bid-btn{padding:8px 10px;font-size:11px}.bid-label{text-align:center;flex-basis:100%}.belot-toasts{bottom:8px;left:10px}.belot-toast{padding:5px 8px;font-size:9.5px}}.admin{background:var(--bg);height:100dvh;padding:28px 18px 60px;overflow-y:auto}.admin-inner{max-width:860px;margin:0 auto}.admin h1{margin-bottom:4px;font-size:22px;font-weight:800}.admin .admin-sub{color:var(--muted);margin-bottom:24px;font-size:13px}.admin-login{flex-direction:column;gap:10px;max-width:360px;margin:15vh auto 0;display:flex}.admin-login input,.admin-login button{border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:15px}.admin-login input{background:var(--panel2);color:var(--text);outline:none}.admin-login input:focus{border-color:var(--accent2)}.admin-login button{background:linear-gradient(92deg, var(--accent), #e85d2a);color:#fff;cursor:pointer;border:none;font-weight:700}.admin-login .gate-error{color:#ff5470;min-height:18px;font-size:13px}.admin-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.admin-toolbar button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#ffffff12;border-radius:100px;padding:8px 18px;font-size:13px;font-weight:600}.admin-toolbar button:hover{background:#ffffff1f}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:30px;display:grid}.admin-card{background:var(--panel2);border:1px solid var(--border);border-radius:16px;padding:16px 18px}.admin-card h3{margin-bottom:10px;font-size:15px;font-weight:700}.admin-card .stat{justify-content:space-between;gap:10px;padding:3px 0;font-size:13px;display:flex}.admin-card .stat span:first-child{color:var(--muted)}.admin-card .stat span:last-child{text-align:right;font-weight:600}.admin-card .stat .yes{color:#3ddc84}.admin-card .stat .no-attempts{color:var(--accent)}.admin-card .card-reset{width:100%;color:var(--muted);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:100px;margin-top:12px;padding:6px 0;font-size:12px;font-weight:600}.admin-card .card-reset:hover{color:#ff5da2;border-color:#ff5da280}.admin-card .card-reset:disabled{opacity:.5;cursor:default}.admin h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:15px;font-weight:700}.timeline{flex-direction:column;gap:8px;display:flex}.timeline-item{border:1px solid var(--border);background:#ffffff08;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:12px;padding:10px 14px;font-size:13px;display:flex}.timeline-item .tl-ts{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-item .tl-event{font-weight:700}.timeline-item .tl-letter{color:var(--accent2)}.timeline-item .tl-data{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:12px}.timeline-item .tl-ua{color:#6d6d85;flex-basis:100%;font-size:11px}.admin-empty{color:var(--muted);text-align:center;padding:30px 0;font-size:14px}
