@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg:#fbfbfd;--color-surface:#fff;--color-text:#0b0f19;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv02", "cv03", "cv04", "cv11"}button,input,select,textarea{color:inherit;font-family:inherit}button{cursor:pointer;background:0 0;border:none}.tnum{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:6px}:focus:not(:focus-visible){outline:none}::selection{background:var(--color-primary);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d4d7df;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#b3b8c3}.studio-shell{width:100%;padding:24px 24px 96px}.studio-header{justify-content:space-between;align-items:flex-end;gap:20px;max-width:1240px;margin:0 auto 20px;display:flex}.studio-header h1{margin:4px 0;font-size:26px;line-height:1.15}.studio-header p{color:#5b6472;font-size:14px}.studio-eyebrow{color:#2563eb;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:700}.studio-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.studio-save-state{color:#5b6472;margin-right:4px;font-size:12px}.studio-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;gap:20px;max-width:1240px;margin:0 auto;display:grid}.studio-sidebar{background:#fff;border:1px solid #e2e4ea;border-radius:14px;flex-direction:column;gap:4px;padding:8px;display:flex;position:sticky;top:16px}.studio-sidebar>button{text-align:left;color:#5b6472;border-radius:10px;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;min-height:54px;padding:8px;display:grid}.studio-sidebar>button:hover{background:#f4f5f8}.studio-sidebar>button.is-active{color:#1e40af;background:#eef3ff}.studio-sidebar>button>span{border:1px solid #cfd3dc;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.studio-sidebar>button.is-active>span{color:#fff;background:#2563eb;border-color:#2563eb}.studio-sidebar>button strong,.studio-sidebar>button small{display:block}.studio-sidebar>button strong{font-size:13px}.studio-sidebar>button small{color:#9aa1ad;margin-top:2px;font-size:11px}.studio-sidebar>button b{color:#15914b}.studio-version-box{border-top:1px solid #ececf1;flex-direction:column;gap:8px;margin-top:6px;padding:12px 8px 6px;display:flex}.studio-version-box>strong{font-size:12px}.studio-version-box small{color:#5b6472;font-size:11px;line-height:1.4}.studio-main{background:#fff;border:1px solid #e2e4ea;border-radius:14px;min-width:0;padding:24px;box-shadow:0 1px 2px #1018280d}.studio-section-intro{border-bottom:1px solid #ececf1;margin-bottom:20px;padding-bottom:16px}.studio-section-intro h2{margin-bottom:5px;font-size:20px;line-height:1.2}.studio-section-intro p{color:#5b6472;max-width:720px;font-size:14px;line-height:1.55}.studio-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.studio-form-grid--compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.studio-field{min-width:0}.studio-hint{color:#9aa1ad;margin-top:4px;font-size:11px;line-height:1.35}.studio-field-error{color:#b91c1c;margin-top:5px;font-size:12px;line-height:1.35}.studio-card-stack{gap:12px;margin-bottom:14px;display:grid}.studio-card-title{justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:14px;display:flex}.studio-card-title strong{font-size:15px}.studio-day-block+.studio-day-block{margin-top:24px}.studio-day-block h3{margin-bottom:10px;font-size:14px}.studio-check{color:#3a4251;cursor:pointer;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.studio-check input{accent-color:#2563eb;width:17px;height:17px}.studio-alternative{background:#f4f5f8;border-radius:10px;margin-top:14px;padding:14px}.studio-alternative>strong{color:#3a4251;margin-bottom:12px;font-size:12px;display:block}.studio-notice{color:#1e40af;background:#eef3ff;border:1px solid #c7d7fe;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.5}.studio-notice--success{color:#116b39;background:#e9f7ef;border-color:#b8e1ca}.studio-notice--danger{color:#b91c1c;background:#fdedeb;border-color:#f5c2bd}.studio-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.studio-metrics>div>div{flex-direction:column;gap:4px;display:flex}.studio-metrics strong{font-size:24px}.studio-metrics span{color:#5b6472;font-size:12px}.studio-issue-list{gap:8px;display:grid}.studio-issue-list>div{border:1px solid #e2e4ea;border-radius:10px;gap:10px;padding:12px;display:flex}.studio-issue-list>div>span{background:#f4f5f8;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.studio-issue-list strong{font-size:13px}.studio-issue-list p{color:#5b6472;overflow-wrap:anywhere;margin-top:2px;font-size:12px;line-height:1.4}.studio-release{justify-content:space-between;align-items:center;gap:20px;display:flex}.studio-release h3{margin:10px 0 4px}.studio-release p{color:#5b6472;font-size:13px}.studio-footer{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-top:1px solid #ececf1;border-radius:0 0 14px 14px;justify-content:space-between;align-items:center;gap:12px;margin:28px -24px -24px;padding:14px 24px;display:flex;position:sticky;bottom:0}.studio-footer span{color:#9aa1ad;font-size:12px}.studio-advanced{background:#fbfbfd;border:1px solid #ececf1;border-radius:10px;margin-top:14px;padding:10px 12px}.studio-advanced>summary{cursor:pointer;color:#5b6472;font-size:12px;font-weight:600}.studio-advanced>p{color:#9aa1ad;margin:8px 0 0;font-size:11.5px;line-height:1.4}.studio-advanced .studio-form-grid{margin-top:12px}@media (width<=900px){.studio-shell{padding:16px 12px 80px}.studio-header{flex-direction:column;align-items:flex-start}.studio-header-actions{justify-content:flex-start}.studio-layout{grid-template-columns:minmax(0,1fr)}.studio-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:static}.studio-sidebar>button{min-width:0}.studio-version-box{grid-column:1/-1}}@media (width<=600px){.studio-main{padding:18px 14px}.studio-form-grid,.studio-metrics,.studio-sidebar{grid-template-columns:minmax(0,1fr)}.studio-release{flex-direction:column;align-items:stretch}.studio-footer{margin:24px -14px -18px;padding:12px 14px}.studio-footer span{display:none}}.pwa-install-card{color:#1e40af;background:#eef3ff;border:1px solid #c7d7fe;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:560px;margin:18px auto 0;padding:14px;display:flex}.pwa-install-card strong{font-size:13px;display:block}.pwa-install-card p{margin-top:3px;font-size:12px;line-height:1.45}.pwa-install-card button,.pwa-demo button{color:#fff;background:#2563eb;border-radius:9px;min-height:44px;padding:8px 12px;font-weight:700}.pwa-install-card--compact{max-width:440px}.pwa-demo{color:#0b0f19;background:#fbfbfd;min-height:100vh;padding:20px}.pwa-demo__header{justify-content:space-between;align-items:center;gap:16px;max-width:1280px;margin:0 auto;display:flex}.pwa-demo__header h1{margin-top:3px;font-size:clamp(24px,4vw,38px)}.pwa-demo__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pwa-demo__actions button:last-child,.pwa-device__title button{color:#3a4251;background:#f4f5f8}.pwa-eyebrow{color:#1e40af;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.pwa-online,.pwa-offline{border-radius:999px;align-items:center;min-height:30px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.pwa-online{color:#15914b;background:#e9f7ef}.pwa-offline{color:#c2740a;background:#fdf3e3}.pwa-mode-nav{background:#f4f5f8;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;max-width:680px;margin:22px auto;padding:4px;display:grid}.pwa-mode-nav button{color:#5b6472;background:0 0}.pwa-mode-nav button.is-active{color:#1e40af;background:#fff;box-shadow:0 1px 3px #1018281f}.pwa-device{background:#fff;border:1px solid #e2e4ea;border-radius:22px;width:min(100%,680px);margin:0 auto;padding:18px;box-shadow:0 14px 40px #10182817}.pwa-device--phone{max-width:560px}.pwa-device__title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.pwa-device__title h2{margin-top:3px;font-size:24px}.pwa-field{color:#5b6472;gap:5px;font-size:12px;font-weight:700;display:grid}.pwa-field select{background:#fff;border:1px solid #cfd3dc;border-radius:9px;width:100%;padding:8px 10px;font-size:16px}.pwa-card-list{gap:9px;margin:16px 0 20px;display:grid}.pwa-game-card,.pwa-ref-card{background:#fff;border:1px solid #e2e4ea;border-radius:12px;padding:12px}.pwa-game-card{grid-template-columns:44px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.pwa-game-card time,.pwa-ref-card time{color:#1e40af;font-variant-numeric:tabular-nums;font-weight:800}.pwa-game-card p,.pwa-game-card small,.pwa-ref-card small{color:#5b6472;margin-top:2px;display:block}.pwa-game-card b{text-align:right;font-size:18px}.pwa-device h3{margin:20px 0 9px;font-size:15px}.pwa-announcement{color:#1e40af;background:#eef3ff;border-left:4px solid #2563eb;border-radius:8px;padding:11px 12px}.pwa-announcement p{margin-top:3px;font-size:13px;line-height:1.4}.pwa-standings{gap:8px;display:grid}.pwa-standings article{background:#f4f5f8;border-radius:10px;padding:10px 12px}.pwa-standings p{justify-content:space-between;gap:10px;margin-top:6px;font-size:13px;display:flex}.pwa-ref-card{gap:10px;display:grid}.pwa-ref-card>div:first-child{gap:2px;display:grid}.pwa-score{justify-content:center;align-items:center;gap:8px;display:flex}.pwa-score input{text-align:center;border:1px solid #cfd3dc;border-radius:9px;width:76px;padding:8px;font-size:24px;font-weight:800}.pwa-ref-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pwa-ref-actions button:first-child{color:#3730a3;background:#e0e7ff}.pwa-result-state{color:#c2740a;background:#fdf3e3;border-radius:999px;align-items:center;width:max-content;min-height:28px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.pwa-result-state.is-confirmed{color:#15914b;background:#e9f7ef}.pwa-queue{gap:7px;display:grid}.pwa-queue>div{align-items:center;gap:8px;font-size:12px;display:flex}.pwa-display{background:#fff;border:2px solid #cfd3dc;border-radius:18px;flex-direction:column;max-width:1500px;min-height:calc(100vh - 150px);margin:0 auto;padding:clamp(18px,3vw,42px);display:flex;box-shadow:0 16px 50px #1018281f}.pwa-demo--display{background:#fff;padding:0}.pwa-demo--display>.pwa-demo__header,.pwa-demo--display>.pwa-mode-nav{display:none}.pwa-demo--display .pwa-display{max-width:none;min-height:100vh;box-shadow:none;border:0;border-radius:0}.pwa-display__top{border-bottom:1px solid #e2e4ea;justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;display:flex}.pwa-display__top h2{font-size:clamp(30px,4vw,60px)}.pwa-display__top>div:last-child{align-items:center;gap:9px;display:flex}.pwa-display__exit{color:#3a4251!important;background:#f4f5f8!important}.pwa-display__grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;padding:24px 0;display:grid}.pwa-display__announcement{color:#1e40af;text-align:center;background:#eef3ff;border-radius:10px;margin-top:16px;padding:12px 16px;font-size:clamp(16px,1.5vw,24px);font-weight:750}.pwa-display__grid article{border:1px solid #e2e4ea;border-radius:14px;padding:16px}.pwa-display__grid h3{color:#1e40af;margin-bottom:12px;font-size:clamp(20px,2vw,30px)}.pwa-display__grid p{border-top:1px solid #ececf1;grid-template-columns:55px minmax(0,1fr) 60px;gap:10px;padding:11px 0;font-size:clamp(14px,1.3vw,21px);display:grid}.pwa-display__grid time,.pwa-display__grid b{font-variant-numeric:tabular-nums}.pwa-display footer{color:#5b6472;text-align:center;font-size:clamp(13px,1.2vw,18px)}@media (width<=600px){.pwa-demo{padding:12px}.pwa-demo__header{flex-direction:column;align-items:flex-start}.pwa-demo__actions{justify-content:flex-start}.pwa-mode-nav{margin:14px auto}.pwa-mode-nav button{padding-inline:4px;font-size:12px}.pwa-device{border-radius:14px;padding:14px}.pwa-install-card{flex-direction:column;align-items:stretch}.pwa-display__top{flex-direction:column;align-items:flex-start}.pwa-display__top>div:last-child{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@keyframes rowFlash{0%{background-color:#fbbf2459}60%{background-color:#fbbf2426}to{background-color:#0000}}@keyframes scoreIn{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes tickerSlide{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}@keyframes koGlow{0%,to{opacity:1}50%{opacity:.65}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.sheet-up{animation:.22s cubic-bezier(.16,1,.3,1) forwards sheetUp}.overlay-in{animation:.18s forwards overlayIn}.toast-in{animation:.22s cubic-bezier(.16,1,.3,1) forwards toastIn}.spin{animation:.7s linear infinite spin}.row-flash{animation:3s ease-out forwards rowFlash}.score-in{animation:.45s cubic-bezier(.34,1.56,.64,1) forwards scoreIn}.ticker-new{animation:.5s ease-out forwards tickerSlide}.fade-in{animation:.4s ease-out forwards fadeIn}
