:root{--bg:#d9e8f8;--bg2:#c9ddf3;--card:#fff;--glass:hsla(0,0%,100%,.62);--glass-brd:hsla(0,0%,100%,.75);--ink:#16233b;--muted:#7a8aa0;--line:#e3ebf4;--hair:#edf2f8;--blue:#2e7cf6;--blue-deep:#1d5ac4;--blue-soft:#d9e8fd;--green:#2fa36b;--green-soft:#ddf2e7;--gold:#f0b429;--gold-soft:#fcf0d2;--danger:#d8543c;--danger-soft:#fbeae6;--grad:linear-gradient(160deg,#6fb0ff,#3d86f5 55%,#2e6bd8);--grad-lead:linear-gradient(160deg,#4e7cb8,#33619f 55%,#27528b);--shadow:0 2px 6px rgba(30,70,140,.05),0 12px 32px rgba(30,70,140,.09);--shadow-sm:0 1px 3px rgba(30,70,140,.07);--r-card:22px;--font:"Commissioner",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:linear-gradient(180deg,#e1eefb 0,#d2e3f6 60%,#c7dcf2) fixed,var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.shell{display:flex;flex-direction:column;min-height:100dvh}.hero{background:var(--grad);color:#fff;padding:calc(env(safe-area-inset-top) + 14px) 20px 22px;position:relative;z-index:1}.lead .hero{background:var(--grad-lead)}.hero .row{align-items:center;display:flex;gap:10px;justify-content:space-between}.hero .row>div:first-child{flex:1;min-width:0}.hero h1{font-size:21px;font-weight:650;letter-spacing:-.02em;line-height:1.2;margin:0}.hero .sub{font-size:12.5px;margin-top:2px;opacity:.8}.hero .back{align-items:center;background:none;border:0;color:#fff;display:inline-flex;font:inherit;font-size:13px;gap:2px;opacity:.9;padding:0 0 6px}.iconbtn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid hsla(0,0%,100%,.4);border-radius:50%;color:#fff;display:grid;flex:none;height:32px;padding:0;place-items:center;width:32px}.iconbtn svg{fill:none;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:17px}.lang{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid hsla(0,0%,100%,.4);border-radius:999px;cursor:pointer;display:flex;flex:none;gap:2px;padding:2px}.lang b{border-radius:999px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;opacity:.65;padding:4px 8px}.lang b.on{background:#fff;color:var(--blue-deep);opacity:1}.content{background:linear-gradient(180deg,#e0edfb,#d3e4f6);border-radius:26px 26px 0 0;display:flex;flex:1;flex-direction:column;gap:15px;margin-left:auto;margin-right:auto;margin-top:-14px;max-width:640px;padding:20px 16px calc(env(safe-area-inset-bottom) + 108px);position:relative;width:100%;z-index:2}.content>*{flex:0 0 auto}.tabbar{align-items:center;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);background:#17233beb;border:1px solid hsla(0,0%,100%,.08);border-radius:999px;bottom:calc(env(safe-area-inset-bottom) + 14px);box-shadow:0 14px 34px #14233c59;display:flex;gap:4px;height:64px;left:50%;padding:0 12px;position:fixed;transform:translate(-50%);z-index:40}.tab{background:none;border:0;border-radius:50%;color:#ffffff8c;display:grid;flex:none;height:48px;padding:0;place-items:center;text-decoration:none;transition:.18s;width:48px}.tab svg{fill:none;height:23px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:23px}.tab.on{background:#ffffff2e;box-shadow:inset 0 0 0 1px #ffffff38;color:#fff}.tab:focus-visible{outline:2px solid #fff;outline-offset:2px}.card{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);padding:15px}.pcard{background:var(--grad);border-radius:26px;box-shadow:0 12px 28px #2e7cf647;color:#fff;overflow:hidden;padding:18px;position:relative}.lead .pcard{background:var(--grad-lead);box-shadow:0 12px 28px #27528b4d}.pcard:after{bottom:-30px;content:"⚜";font-size:104px;line-height:1;opacity:.1;position:absolute;right:-4px}.pcard .name{font-size:19px;font-weight:700;letter-spacing:-.01em}.pcard .meta{font-size:12px;margin-top:2px;opacity:.82}.stats{display:flex;gap:8px;margin-top:14px}.stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border-radius:14px;flex:1;padding:8px 12px}.stat b{display:block;font-size:23px;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:-.02em;line-height:1.1}.stat span{font-size:9.5px;letter-spacing:.08em;opacity:.8;text-transform:uppercase}.adm{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.adm .hdr{color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.1em;padding:13px 15px 5px;text-transform:uppercase}.adm .it{align-items:center;background:var(--card);border:0;color:inherit;display:flex;font-size:inherit;gap:11px;padding:12px 15px;position:relative;text-align:left;text-decoration:none;width:100%}.adm .it:before{background:var(--hair);content:"";height:1px;left:15px;position:absolute;right:0;top:0}.adm .hdr+.it:before,.adm .it:first-child:before{display:none}.adm a.it:active,.adm button.it:active{background:#f4f8fc}.adm .it b{display:block;font-size:13px}.adm .it span{color:var(--muted);font-size:11px}.chev{color:var(--muted);flex:none;font-size:17px}.srow{align-items:center;background:var(--card);border:0;border-radius:20px;box-shadow:var(--shadow);color:inherit;display:flex;gap:12px;padding:12px 14px;text-align:left;text-decoration:none;width:100%}.srow .ico{background:linear-gradient(145deg,#eaf3fe,#d8e8fb);border-radius:50%;box-shadow:inset 0 0 0 1px #2e7cf624;display:grid;flex:none;font-size:18px;height:44px;place-items:center;width:44px}.srow:nth-of-type(3n+2) .ico{background:linear-gradient(145deg,#fdf4dc,#f8e9c0);box-shadow:inset 0 0 0 1px #f0b4293d}.srow:nth-of-type(3n) .ico{background:linear-gradient(145deg,#e4f5ec,#d2ecde);box-shadow:inset 0 0 0 1px #2fa36b33}.srow .txt{flex:1;min-width:0}.srow .txt b{display:block;font-size:13.5px}.srow .txt span{color:var(--muted);font-size:11px}.badge-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.btile{align-items:center;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);background:#ffffff80;border:1px solid hsla(0,0%,100%,.7);border-radius:20px;box-shadow:var(--shadow-sm);color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:12px 6px 10px;text-align:center;transition:.15s}.btile:active{transform:scale(.94)}.btile .disc{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 32% 26%,#fffffff2,#fff4d6a6);border-radius:50%;box-shadow:inset 0 0 0 1.5px #f0b42980,0 4px 10px #f0b4293d;display:grid;font-size:23px;height:52px;place-items:center;width:52px}.btile .lbl{font-size:9.5px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;overflow-wrap:anywhere}.btile.off{background:#ffffff52}.btile.off .disc{background:#ffffff80;box-shadow:inset 0 0 0 1.5px #8ca0b94d;filter:grayscale(1);opacity:.55}.btile.off .lbl{color:var(--muted);font-weight:500}.btn{background:var(--blue);border:0;border-radius:999px;box-shadow:0 8px 20px #2e7cf652;color:#fff;display:block;font-size:14px;font-weight:700;padding:14px;text-align:center;text-decoration:none;transition:.15s;width:100%}.btn:active{transform:scale(.98)}.btn:disabled{box-shadow:none;opacity:.4}.btn.gold{background:var(--gold);box-shadow:0 8px 20px #f0b42952;color:#4a3505}.btn.ghost{border:1.5px dashed #c6d4e4;color:var(--blue-deep)}.btn.danger,.btn.ghost{background:var(--card);box-shadow:none;font-weight:600}.btn.danger{border:1.5px dashed #e3c0b8;color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#ffffffbf;border:0;border-radius:999px;box-shadow:var(--shadow-sm);color:var(--muted);font-size:11.5px;font-weight:600;padding:8px 14px;transition:.15s}.chip.on{background:var(--blue);box-shadow:0 4px 12px #2e7cf64d;color:#fff}.seg{background:#788ca524;border-radius:12px;display:flex;gap:3px;padding:3px}.seg button{background:none;border:0;border-radius:10px;color:var(--muted);flex:1;font-size:11.5px;font-weight:600;padding:8px;text-align:center;transition:.15s}.seg button.on{background:#fff;box-shadow:0 3px 8px #1e468c1f;color:var(--ink)}.in{background:var(--card);border:1.5px solid var(--line);border-radius:14px;color:inherit;font-size:13px;padding:12px 13px;width:100%}.in:focus{border-color:var(--blue);outline:0}textarea.in{line-height:1.45;resize:none}.lab{color:var(--muted);display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.sec-title{color:var(--ink);font-size:14.5px;font-weight:700;letter-spacing:-.01em;margin:2px 0 -4px}.tiny{font-size:11px}.empty,.muted{color:var(--muted)}.empty{font-size:12.5px;padding:26px 10px;text-align:center}.opt{align-items:center;background:var(--card);border:1.5px solid transparent;border-radius:18px;box-shadow:var(--shadow-sm);color:inherit;display:flex;font-size:13px;gap:10px;padding:13px 15px;text-align:left;transition:.12s;width:100%}.opt .k{background:#eef3f9;border-radius:50%;color:var(--muted);display:grid;flex:none;font-size:11px;font-weight:700;height:23px;place-items:center;width:23px}.opt.sel{background:#f2f7fe;border-color:var(--blue)}.opt.sel .k{background:var(--blue);color:#fff}.opt.correct{background:#f0f9f4;border-color:var(--green)}.opt.correct .k{background:var(--green);color:#fff}.opt.wrong{background:var(--danger-soft);border-color:#e5b4a9}.opt.wrong .k{background:var(--danger);color:#fff}.verdict{background:var(--green-soft);border:1px solid #bfe5d1;border-radius:16px;padding:13px}.verdict.bad{background:var(--danger-soft);border-color:#ebc6bd}.verdict b{color:var(--green);display:block;font-size:13px;margin-bottom:3px}.verdict.bad b{color:var(--danger)}.verdict p{color:#3e5248;font-size:12px;line-height:1.5;margin:0}.pill{border-radius:999px;flex:none;font-size:9.5px;font-weight:700;padding:3px 9px;white-space:nowrap}.pill.live{background:var(--blue-soft);color:var(--blue-deep)}.pill.ok{background:var(--green-soft);color:var(--green)}.pill.draft{background:#eef2f6;color:var(--muted)}.pill.sched{color:#8a6614}.banner,.pill.sched{background:var(--gold-soft)}.banner{align-items:center;border:1.3px solid #f3dc9a;border-radius:18px;color:inherit;display:flex;gap:10px;padding:13px 14px;text-align:left;text-decoration:none;width:100%}.banner .ico{font-size:20px}.banner b{display:block;font-size:13px}.banner span{color:#8a6614;font-size:11.5px}.banner .go{color:#b08a28;font-size:17px;margin-left:auto}.dot{border-radius:50%;display:inline-block;height:7px;margin-right:5px;vertical-align:middle;width:7px}.dot.troop{background:var(--blue-deep)}.dot.section{background:var(--blue)}.dot.patrol{background:var(--gold)}.ev{align-items:flex-start;display:flex;gap:11px}.ev .date{background:var(--bg2);border-radius:12px;flex:none;padding:6px 0;text-align:center;width:46px}.ev .date b{display:block;font-size:17px;line-height:1}.ev .date span{color:var(--muted);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase}.ev .info b{display:block;font-size:13px}.ev .info span{color:var(--muted);font-size:11px}.lb{align-items:center;border-bottom:1px solid var(--hair);display:flex;gap:10px;padding:10px 13px}.lb:last-child{border-bottom:0}.lb .rk{color:var(--muted);flex:none;font-size:13px;font-weight:700;text-align:center;width:22px}.lb .rk.m1{color:var(--gold)}.lb .nm{flex:1;font-size:12.5px}.lb .nm span{color:var(--muted);display:block;font-size:10px}.lb .pts{color:var(--blue-deep);font-size:12.5px;font-weight:700}.lb.me{background:#f2f7fe}.bar{background:var(--bg2);border-radius:3px;height:6px;margin-top:5px;overflow:hidden}.bar i{background:var(--blue);display:block;height:100%;transition:width .5s}.fab{background:var(--gold);border:0;border-radius:50%;bottom:calc(env(safe-area-inset-bottom) + 92px);box-shadow:0 8px 18px #f0b42973;color:#4a3505;display:grid;font-size:26px;height:50px;place-items:center;position:fixed;right:16px;width:50px;z-index:41}.fab:active{transform:scale(.92)}.sw{background:var(--green);border:0;border-radius:999px;flex:none;height:23px;padding:0;position:relative;width:40px}.sw,.sw:after{transition:.2s}.sw:after{background:#fff;border-radius:50%;content:"";height:19px;left:19px;position:absolute;top:2px;width:19px}.sw.off{background:#cbd7e4}.sw.off:after{left:2px}.note{background:var(--blue-soft);border:1.3px dashed #a9cbf3;border-radius:16px;font-size:12px;line-height:1.6;padding:13px}.note b{display:block;font-size:13px;margin-bottom:5px}.note kbd{background:#fff;border:1px solid #c4daf5;border-radius:6px;font-family:inherit;font-size:11px;padding:1px 6px}.toast{animation:pop-t .25s;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#17233be6;border-radius:999px;bottom:calc(env(safe-area-inset-bottom) + 92px);box-shadow:0 8px 22px #0000004d;color:#fff;font-size:13px;font-weight:600;left:50%;padding:11px 18px;position:fixed;transform:translate(-50%);white-space:nowrap;z-index:60}@keyframes pop-t{0%{opacity:0;transform:translate(-50%,10px)}}.sheet-backdrop{align-items:flex-end;animation:fade-b .18s;background:#1220376b;display:flex;inset:0;position:fixed;z-index:70}@keyframes fade-b{0%{opacity:0}}.sheet{animation:up-s .24s cubic-bezier(.2,.8,.3,1);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);background:#f8fbfee6;border-radius:28px 28px 0 0;margin:0 auto;max-width:640px;padding:10px 20px calc(env(safe-area-inset-bottom) + 26px);width:100%}.sheet:before{background:#465a7847;border-radius:3px;content:"";display:block;height:5px;margin:0 auto 14px;width:36px}@keyframes up-s{0%{transform:translateY(100%)}}.splash{align-items:center;background:var(--grad);color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:100}.splash h1{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:10px 0 2px}.splash .tag{font-size:13px;opacity:.8}.splash .loadbar{background:#ffffff40;border-radius:3px;height:5px;margin-top:26px;overflow:hidden;width:132px}.splash .loadbar i{animation:loadslide 1.1s ease-in-out infinite;background:#fff;border-radius:3px;display:block;height:100%;width:40%}@keyframes loadslide{0%{margin-left:-40%}to{margin-left:100%}}.scene{animation:pop-m .7s cubic-bezier(.34,1.56,.64,1) both;display:block;overflow:visible;width:230px}.bob{animation:bob 3.2s ease-in-out infinite}.eyes{animation:blink 4.4s infinite;transform-origin:120px 74px}.wave{animation:wave 2.8s ease-in-out infinite;transform-origin:151px 103px}.flameO{animation:flick .42s ease-in-out infinite alternate;transform-origin:47px 128px}.flameI{animation:flick .34s ease-in-out .1s infinite alternate;transform-origin:47px 132px}.glow{animation:glowp 1.1s ease-in-out infinite alternate}.tw{animation:tw 2.6s ease-in-out infinite}.tw.d1{animation-delay:.7s}.tw.d2{animation-delay:1.4s}.tw.d3{animation-delay:2s}.rise{animation:rise .55s cubic-bezier(.2,.8,.3,1) forwards;opacity:0}@keyframes pop-m{0%{opacity:0;transform:scale(.3) translateY(26px)}62%{opacity:1;transform:scale(1.07) translateY(-4px)}to{transform:scale(1) translateY(0)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes blink{0%,90.5%,94.5%,to{transform:scaleY(1)}92.5%{transform:scaleY(.08)}}@keyframes wave{0%,55%,to{transform:rotate(0)}63%{transform:rotate(26deg)}71%{transform:rotate(-6deg)}79%{transform:rotate(24deg)}87%{transform:rotate(0)}}@keyframes flick{0%{transform:scale(1) skew(0)}to{transform:scale(1.14,.92) skew(-3.5deg)}}@keyframes glowp{0%{opacity:.28}to{opacity:.55}}@keyframes tw{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.splash-leave-active{transition:opacity .35s ease}.splash-leave-to{opacity:0}.login{background:var(--grad);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding:36px 26px calc(env(safe-area-inset-bottom) + 30px)}.login .inner{margin:0 auto;max-width:380px;width:100%}.login h2{font-size:25px;font-weight:550;letter-spacing:-.02em;margin:8px 0 3px;text-align:center}.login .tag{font-size:12.5px;margin-bottom:26px;opacity:.78;text-align:center}.login label{display:block;font-size:10.5px;letter-spacing:.09em;margin-bottom:6px;opacity:.75;text-transform:uppercase}.login input{background:#ffffff29;border:1.3px solid hsla(0,0%,100%,.4);border-radius:999px;color:#fff;font-size:22px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.14em;padding:13px 18px;text-align:center;width:100%}.login input::-moz-placeholder{color:#ffffff73;font-weight:400}.login input::placeholder{color:#ffffff73;font-weight:400}.login input:focus{background:#ffffff38;border-color:#fff;outline:0}.login .btn{background:var(--gold);box-shadow:0 8px 22px #0000002e;color:#4a3505;margin-top:14px}.login .helper{font-size:11.5px;line-height:1.6;margin-top:16px;opacity:.7;text-align:center}.login .err{background:#ffffff29;border-radius:12px;font-size:12.5px;margin-top:12px;padding:9px;text-align:center}@media(min-width:820px){.content{border-radius:0;margin-top:0;max-width:960px;padding-bottom:40px}.hero{padding-left:32px;padding-right:32px}.hero .row{margin:0 auto;max-width:960px}.with-rail{display:grid;grid-template-columns:232px 1fr;min-height:100dvh}.rail{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff9;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;height:100dvh;padding:22px 14px;position:sticky;top:0;z-index:40}.rail .brand{align-items:center;display:flex;font-size:15px;font-weight:700;gap:10px;padding:6px 10px 18px}.rail .brand .mark{background:var(--grad);border-radius:11px;display:grid;font-size:17px;height:34px;place-items:center;width:34px}.rail .tab{align-items:center;border-radius:13px;color:var(--muted);display:flex;font-size:13.5px;font-weight:600;gap:11px;height:auto;justify-content:flex-start;padding:11px 13px;width:100%}.rail .tab svg{height:20px;width:20px}.rail .tab.on{background:var(--blue-soft);box-shadow:none;color:var(--blue-deep)}.rail .tab .tlbl{display:inline}.rail .spacer{flex:1}.tabbar{display:none}.fab{bottom:28px;right:28px}.toast{bottom:30px}.cols-2{align-items:start;display:grid;gap:15px;grid-template-columns:1fr 1fr}.cols-2>*{min-width:0}}@media(max-width:819.5px){.rail,.tab .tlbl{display:none}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rise{opacity:1}}
