:root{--bg:#e9eef3;--surface:#fff;--surface-2:#f3f6f9;--ink:#15283a;--muted:#5f6e7c;--line:#d9e1e9;--navy:#163956;--navy-ink:#eaf1f8;--navy-muted:#a7c4de;--green:#6ea628;--green-strong:#578a1a;--green-soft:#edf6de;--green-ink:#3a5c11;--live:#dd353b;--live-soft:#fbe6e7;--warn:#b26a00;--warn-soft:#fff1d9;--conn:#c3ced9;--shadow:0 1px 2px #0f233c0f, 0 6px 18px #0f233c0f;--radius:14px;--fh:"Oswald", "Arial Narrow", system-ui, sans-serif;--fb:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--navy)}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--fb);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3{font-family:var(--fh);letter-spacing:.3px;text-wrap:balance;margin:0;font-weight:600}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:6px}.wrap{max-width:1160px;margin:0 auto;padding:0 16px 64px}.top{z-index:30;background:var(--navy);color:var(--navy-ink);padding:calc(12px + env(safe-area-inset-top,0px)) 18px 12px;border-radius:0 0 16px 16px;flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:sticky;top:0;box-shadow:0 3px 16px #0816282e}.brand{align-items:center;gap:11px;text-decoration:none;display:flex}.brand img{object-fit:contain;flex:none;width:42px;height:42px}.brand b{font-family:var(--fh);letter-spacing:.5px;font-size:19px;font-weight:700;line-height:1;display:block}.brand small{color:var(--navy-muted);letter-spacing:2px;margin-top:3px;font-size:10px;display:block}.top .title{text-align:right;min-width:0;margin-left:auto}.top .title h1{font-size:15px}.top .title p{color:var(--navy-muted);margin:2px 0 0;font-size:11.5px}.top .nav{gap:6px;display:flex}.top .nav a,.top .nav button{color:var(--navy-ink);font-family:var(--fh);letter-spacing:.6px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:9px;padding:7px 11px;font-size:12.5px;text-decoration:none}.top .nav a.on{background:var(--green);color:#0f2c44;border-color:var(--green)}@media (width<=560px){.top .title{text-align:left;flex-basis:100%;margin-left:0}}.section{margin:22px 0 10px}.section>h2{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:13.5px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.card.flat{box-shadow:none}.btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--fh);letter-spacing:.5px;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--green);border-color:var(--green);color:#0f2c44}.btn.danger{background:var(--live);border-color:var(--live);color:#fff}.btn.ghost{background:0 0}.btn.small{border-radius:9px;padding:6px 11px;font-size:12.5px}.btn.big{border-radius:14px;padding:16px 22px;font-size:18px}.btn.block{width:100%}.chip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;display:inline-flex}.chip b{color:var(--ink);font-family:var(--fh);font-weight:600}.tag{font-family:var(--fh);letter-spacing:.6px;text-transform:uppercase;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:6px;align-items:center;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.tag.green{background:var(--green-soft);color:var(--green-ink);border-color:#0000}.tag.live{background:var(--live-soft);color:var(--live);border-color:#0000}.tag.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.seed{background:var(--green);color:#0f2c44;min-width:21px;height:19px;font-family:var(--fh);border-radius:5px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;font-weight:600;display:inline-flex}.dot{background:var(--live);border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #dd353b80}70%{box-shadow:0 0 0 7px #dd353b00}to{box-shadow:0 0 #dd353b00}}@media (prefers-reduced-motion:reduce){.dot{animation:none}*{transition:none!important}}.tabs{flex-wrap:wrap;gap:6px;margin:16px 0 6px;display:flex}.tab{font-family:var(--fh);letter-spacing:.5px;text-transform:uppercase;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:10px;padding:9px 15px;font-size:13px;font-weight:600;text-decoration:none}.tab.on{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:var(--muted);font-size:12.5px;font-weight:500}.input,.select,.textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;padding:10px 12px;font-size:15px}.textarea{resize:vertical;min-height:120px;font-family:var(--fb)}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--green);border-color:#0000}.form{gap:12px;display:grid}.form-2{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.error{color:var(--live);font-size:13px}.ok{color:var(--green-ink);font-size:13px}.overlay{z-index:60;background:#0814248c;justify-content:center;align-items:flex-start;padding:6vh 14px 30px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:100%;max-width:460px;padding:18px;box-shadow:0 22px 60px #050f1e66}.modal-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.modal-head h3{font-size:18px}.icon-btn{background:var(--surface-2);color:var(--muted);cursor:pointer;border:none;border-radius:9px;width:32px;height:32px;font-size:16px}.empty{color:var(--muted);text-align:center;padding:18px 4px;font-size:14px}.spinner{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;width:22px;height:22px;margin:30px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--navy);color:var(--navy-ink);z-index:80;border-radius:12px;max-width:calc(100% - 32px);padding:11px 18px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #050f1e59}.toast.err{background:var(--live);color:#fff}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;font-family:var(--fh);letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line);padding:8px 10px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.table tr:last-child td{border-bottom:none}.confirm-msg{color:var(--ink);margin:0 0 16px;font-size:15px;line-height:1.5}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=380px){.confirm-actions{grid-template-columns:1fr}}.mode-switch{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:70;font-family:var(--fh);letter-spacing:.4px;border-radius:999px;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 8px 24px #0a192d47}.mode-switch.to-public{background:var(--green);color:#0f2c44}.mode-switch.to-admin{background:var(--navy);color:var(--navy-ink)}.wrap{padding-bottom:96px}@media (width<=700px){.top{position:relative}}.install{border:2px solid var(--green);background:linear-gradient(0deg, var(--surface), var(--green-soft));align-items:flex-start;gap:14px;margin:14px 0;display:flex}.install-ico{border-radius:12px;flex:none}.install-body{gap:6px;min-width:0;display:grid}.install-body>b{font-family:var(--fh);letter-spacing:.3px;font-size:18px}.install-steps{gap:4px;margin:4px 0 0;padding-left:20px;font-size:14.5px;display:grid}.install-glyph{font-size:16px;display:inline-block}.install-act{margin-top:4px}body:before{content:"";height:env(safe-area-inset-top,0px);background:var(--navy);z-index:100;pointer-events:none;position:fixed;top:0;left:0;right:0}html,body{overscroll-behavior-x:none;overflow-x:clip}html{touch-action:pan-x pan-y}@media (width<=700px){.input,.select,.textarea{font-size:16px}}.back{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff38;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:22px;line-height:1;display:inline-grid}.back:active{background:#ffffff2e}.btn.danger-ghost{color:var(--live);background:#fff;border-color:#f0c4c6}.update{left:50%;top:calc(12px + env(safe-area-inset-top,0px));z-index:300;color:#fff;background:#0f2a42;border-radius:14px;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;font-weight:600;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}.ig{z-index:400;background:#081422b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ig-card{text-align:center;background:#fff;border-radius:20px;justify-items:center;gap:12px;width:100%;max-width:380px;padding:22px;display:grid;box-shadow:0 20px 60px #0006}.ig-card img{border-radius:14px}.ig-card h2{margin:0;font-size:22px}.ig-card ol{text-align:left;gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.ig-card li{align-items:center;gap:12px;font-size:15px;display:flex}.ig-ico{background:var(--surface-2);border:1px solid var(--line);color:#0a84ff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:grid}.ig-share{color:#0a84ff;font-weight:700}.ig-card p{margin:0;font-size:14px}.ig-arrow{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));color:#fff;text-shadow:0 4px 16px #00000080;pointer-events:none;font-size:54px;animation:1.1s ease-in-out infinite ig-bounce;position:fixed;transform:translate(-50%)}@keyframes ig-bounce{50%{transform:translate(-50%,12px)}}.nav-count{color:#fff;background:#dd353b;border-radius:999px;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.top .nav{flex-wrap:wrap}@media (width<=480px){.top .nav{scrollbar-width:none;flex-wrap:nowrap;gap:5px;max-width:100%;overflow-x:auto}.top .nav::-webkit-scrollbar{display:none}.top .nav a{white-space:nowrap;flex:none;padding:7px 9px;font-size:12px}}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;width:100%;padding:4px;display:grid}.seg button{font:inherit;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);text-align:center;border-radius:9px;min-height:44px;padding:9px 8px;font-weight:600;box-shadow:0 1px 2px #102a4314}.seg button:hover:not(.on):not(:disabled){border-color:#b9c6d3}.seg button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:none}.seg button:disabled{opacity:.45;cursor:default}.set-pills{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.set-pill{font-family:var(--fh);color:var(--ink);background:#fff;border:1px solid #c3ced9;border-radius:6px;padding:1px 7px;font-weight:600;line-height:1.4;display:inline-block}.tv .set-pill{color:#fff;background:#ffffff1a;border-color:#ffffff38}.win-tag{background:var(--green-strong);color:#fff;font-family:var(--fh);letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;vertical-align:middle;border-radius:999px;flex:none;align-items:center;gap:3px;margin-left:6px;padding:1px 7px;font-size:10.5px;font-weight:600;line-height:1.5;display:inline-flex}.win-tag:before{content:"✓";font-size:10px}.tv .win-tag{background:var(--tv-green);color:var(--tv-green-ink);padding:.1em .6em;font-size:.55em}body{background:var(--navy)}#root{background:var(--bg);min-height:100dvh}@media print{body,#root{background:#fff!important}}@media (display-mode:standalone){.top{padding-top:calc(30px + env(safe-area-inset-top,0px))}.update{top:calc(30px + env(safe-area-inset-top,0px))}}.pr-chip{font:inherit;cursor:pointer;color:var(--ink);background:#fff;border:1.5px solid #b9c6d3;border-radius:999px;min-height:40px;padding:9px 14px;font-size:14.5px;font-weight:600}.pr-chip:hover{border-color:var(--navy)}.pr-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.pr-sum{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:14px;display:flex}.btn{color:var(--navy);background:#fff;border:1.5px solid #9fb3c6;transition:background .15s,border-color .15s,box-shadow .15s,transform 80ms;box-shadow:0 1px 2px #0f233c14}.btn:hover{border-color:var(--navy)}.btn.primary{color:#fff;text-shadow:0 1px #00000026;background:linear-gradient(#7cb733,#5e9520);border-color:#578a1a;box-shadow:0 3px 10px #578a1a4d}.btn.primary:hover{background:linear-gradient(#84c03a,#578a1a)}.btn.navy{color:#fff;background:linear-gradient(#24557f,#163956);border-color:#163956;box-shadow:0 3px 10px #16395640}.btn.navy:hover{background:linear-gradient(#2a5f8c,#163956)}.btn.ghost{color:#4a5866;box-shadow:none;background:0 0;border-color:#cfd8e1}.btn.ghost:hover{color:var(--navy);border-color:#9fb3c6}.btn.danger{box-shadow:0 3px 10px #dd353b40}.btn.danger-ghost,.top .btn,.tv .btn{box-shadow:none}.btn.co-wa{color:#fff;background:linear-gradient(#2fdc70,#1fb455);border-color:#1fb455;box-shadow:0 3px 10px #1fb4554d}.btn .ico{margin-right:6px}.top.has-accent{box-shadow:inset 0 -6px 0 var(--tc), 0 3px 16px #0816282e;padding-bottom:18px}.top.has-accent .title h1:before{content:"";background:var(--tc);vertical-align:1px;border-radius:50%;width:11px;height:11px;margin-right:7px;display:inline-block;box-shadow:0 0 0 2px #ffffffbf}.t-dot{background:var(--tc);vertical-align:1px;border-radius:50%;flex:none;width:12px;height:12px;margin-right:8px;display:inline-block}.tag.blue{color:#1e4f80;background:#e6f0fa;border-color:#0000}
