.admin{--bg:#0b0e14;--panel:#141925;--line:#ffffff1a;--text:#e8ecf5;--muted:#e8ecf58c;--admin-accent:#3f7fd8;background:var(--bg);color:var(--text);cursor:auto;-webkit-user-select:text;user-select:text;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;position:fixed;inset:0;overflow-y:auto}.admin--center{place-items:center;padding:2rem;display:grid}.admin__bar{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0e14f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.75rem;display:flex;position:sticky;top:0}.admin__bar h1{letter-spacing:.02em;margin:0;font-size:1.05rem;font-weight:600}.admin__version{border:1px solid var(--line);font-variant-numeric:tabular-nums;color:var(--muted);vertical-align:middle;background:#ffffff14;border-radius:999px;margin-left:.6rem;padding:.12em .45em;font-size:.72rem;font-weight:500}.admin__bar-left{align-items:center;gap:1.25rem;min-width:0;display:flex}.admin__bar-actions{align-items:center;gap:.6rem;display:flex}.admin__user{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;color:var(--muted);cursor:default;padding-right:.15rem;font-size:.85rem;overflow:hidden}.admin__grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:1.25rem;max-width:1560px;margin:0 auto;padding:1.75rem;display:grid}.admin__grid>*{grid-column:1/-1}@media (width>=1100px){.admin .card--wide{grid-column:span 8}.admin .card--side,.admin .card--third{grid-column:span 4}.admin .card--half{grid-column:span 6}}@media (width>=720px) and (width<=1099px){.admin .card--third,.admin .card--side,.admin .card--half{grid-column:span 6}}.admin .admin__group{border-top:1px solid var(--line);grid-column:1/-1;margin:1.2rem 0 -.4rem;padding-top:1rem}.admin .admin__group h2{letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin:0;font-size:.8rem;font-weight:600}.admin .admin__group p{color:var(--muted);margin:.3rem 0 0;font-size:.85rem}.admin__panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.9rem;width:min(420px,100%);padding:2rem;display:flex}.admin__panel h1{margin:0 0 .25rem;font-size:1.25rem}.admin__panel p{color:var(--muted);margin:0;line-height:1.5}.admin__error{color:#ff9d94;margin:0;font-size:.9rem}.admin code{background:#ffffff14;border-radius:4px;padding:.1em .4em;font-size:.9em}.admin .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.5rem}.admin .card>header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.admin .card h2{margin:0;font-size:1.05rem;font-weight:600}.admin .card__hint{color:var(--muted);margin:0 0 1rem;font-size:.88rem;line-height:1.5}.admin .card__empty{color:var(--muted);margin:.5rem 0 0;font-style:italic}.admin .card__actions{margin:1rem 0 .5rem}.admin .preview{background:repeating-conic-gradient(#232c3b 0% 25%,#1a212e 0% 50%) 50%/24px 24px;border-radius:10px;place-items:center;width:fit-content;max-width:100%;min-height:8rem;margin:0 auto;display:grid;position:relative;overflow:hidden}.admin .preview img{object-fit:contain;width:100%;height:auto;max-height:34vh;transition:opacity .18s;display:block}.admin .preview.is-loading img{opacity:.35}.admin .preview:after{content:"";box-shadow:inset 0 0 0 1px var(--line);pointer-events:none;border-radius:10px;position:absolute;inset:0}.admin .preview__picker{color:var(--muted);flex-direction:row;align-items:center;gap:.5rem}.admin .card__preview{border:1px dashed var(--line);text-align:center;letter-spacing:.08em;background:#05070b;border-radius:10px;margin-bottom:1.1rem;padding:.9rem 1.2rem;font-weight:600}.admin .field-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem 1.2rem;display:grid}.admin .field-grid--tight{gap:.5rem 1rem}.admin .field--wide{grid-column:1/-1}.admin label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.82rem;display:flex}.admin .field--check,.admin .toggle{color:var(--text);flex-direction:row;align-items:center;gap:.5rem;font-size:.9rem}.admin input[type=text],.admin input[type=time],.admin input:not([type]),.admin input[type=password],.admin select{border:1px solid var(--line);color:var(--text);font:inherit;background:#05070b;border-radius:8px;padding:.6rem .7rem}.admin input[type=color]{border:1px solid var(--line);background:#05070b;border-radius:8px;width:100%;height:2.4rem;padding:.2rem}.admin input[type=range]{accent-color:var(--admin-accent)}.admin input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--admin-accent)}.admin .toggle span{display:none}.admin .btn{background:var(--admin-accent);color:#fff;font:inherit;letter-spacing:0;text-transform:none;box-shadow:none;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.62rem 1.1rem;font-size:.92rem;font-weight:600}.admin .btn:disabled{opacity:.5;cursor:default}.admin .btn--ghost{border-color:var(--line);color:var(--text);background:0 0;font-weight:500}.admin .btn--danger{color:#ff9d94;background:0 0;border-color:#c0483f80;font-weight:500}.admin .btn--small{padding:.4rem .75rem;font-size:.83rem}.admin .pill{border-radius:999px;padding:.35rem .75rem;font-size:.8rem}.admin .pill--busy{color:var(--muted);background:#ffffff1a}.admin .pill--ok{color:#8fe0ac;background:#46a0642e}.admin .pill--error{color:#ff9d94;background:#c0483f33}.summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;display:grid}.admin .stat{background:var(--panel);border:1px solid var(--line);--stat-color:#e8ecf547;border-radius:14px;flex-direction:column;gap:.25rem;padding:1.1rem 1.25rem;display:flex}.admin .stat--ok{--stat-color:#3fb97c;background:linear-gradient(180deg, #3fb97c1a, var(--panel) 60%);border-color:#3fb97c66}.admin .stat--warn{--stat-color:#e0a33f;background:linear-gradient(180deg, #e0a33f1f, var(--panel) 60%);border-color:#e0a33f73}.admin .stat--error{--stat-color:#e0574c;background:linear-gradient(180deg, #e0574c24, var(--panel) 60%);border-color:#e0574c80}.admin .stat__dot{background:var(--stat-color);width:.55rem;height:.55rem;box-shadow:0 0 .5rem var(--stat-color);vertical-align:.05rem;border-radius:50%;margin-right:.45rem;display:inline-block}.admin .stat__label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.admin .stat__value{font-size:2rem;font-weight:600;line-height:1.1}.admin .stat__value--text{font-size:1.2rem}.admin .stat__note{color:var(--muted);font-size:.78rem;line-height:1.4}.admin .tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-top:1rem;display:grid}.admin .tile{border:1px solid var(--line);background:#ffffff05;border-radius:12px;flex-direction:column;gap:.55rem;padding:.75rem;display:flex}.admin .tile--idle{background:0 0;border-style:dashed}.admin .tile__media{aspect-ratio:16/9;background:#05070b;border-radius:8px;position:relative;overflow:hidden}.admin .tile__media--logo{background:repeating-conic-gradient(#2a3446 0% 25%,#1a212e 0% 50%) 50%/18px 18px}.admin .tile__media img,.admin .tile__media video{object-fit:contain;width:100%;height:100%;display:block}.admin .tile__media video,.admin .tile__media--cover img{object-fit:cover}.admin .tile__badge{color:#fff;letter-spacing:.04em;background:#3f7fd8d9;border-radius:999px;padding:.15rem .5rem;font-size:.68rem;position:absolute;top:.4rem;right:.4rem}.admin .tile__rank{border:1px solid var(--line);background:#05070bcc;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:grid;position:absolute;top:.4rem;left:.4rem}.admin .tile__name{word-break:break-all;font-size:.85rem;line-height:1.3}.admin .tile__actions{flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.2rem;display:flex}.admin .diag--compact dt,.admin .diag--compact dd{font-size:.78rem}.admin__tabs{background:#ffffff0d;border-radius:10px;gap:.25rem;padding:.25rem;display:flex}.admin__tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.4rem .95rem;font-size:.88rem}.admin__tab.is-active{background:var(--admin-accent);color:#fff;font-weight:600}.admin .card--dev{border-color:#d68e3f73;box-shadow:inset 3px 0 #d68e3fb3}.admin .field-row{align-items:center;gap:.5rem;display:flex}.admin .field-row input{flex:1;min-width:0}.admin textarea{border:1px solid var(--line);color:var(--text);font:inherit;resize:vertical;background:#05070b;border-radius:8px;padding:.6rem .7rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem}.admin input[type=number]{border:1px solid var(--line);color:var(--text);font:inherit;background:#05070b;border-radius:8px;padding:.6rem .7rem}.admin .card__hint--footnote{margin:1rem 0 0}.admin .card__actions--end{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.admin .diag{gap:.55rem;margin:0;display:grid}.admin .diag>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.55rem;display:flex}.admin .diag>div:last-child{border-bottom:none;padding-bottom:0}.admin .diag dt{color:var(--muted);font-size:.85rem}.admin .diag dd{text-align:right;word-break:break-all;margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem}.admin .field__label{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.admin .origin{border:1px solid var(--line);color:var(--muted);font:inherit;letter-spacing:.02em;background:0 0;border-radius:999px;flex-shrink:0;padding:.15rem .5rem;font-size:.72rem}.admin button.origin{cursor:pointer}.admin .origin--set{color:#9cc0f0;border-color:#3f7fd880}.admin .field__note{color:var(--muted);font-size:.76rem;line-height:1.45}.admin__grid>*{animation:.35s cubic-bezier(.16,1,.3,1) backwards cardIn}.admin__grid>:nth-child(2){animation-delay:40ms}.admin__grid>:nth-child(3){animation-delay:80ms}.admin__grid>:nth-child(4){animation-delay:.12s}.admin__grid>:nth-child(n+5){animation-delay:.16s}@keyframes cardIn{0%{opacity:0;transform:translateY(.75rem)}}.admin .tile{transition:border-color .2s,transform .15s;animation:.3s cardIn}.admin .tile:hover{border-color:#ffffff38}.admin .btn,.admin .admin__tab{transition:transform .12s,background .2s,border-color .2s,opacity .2s}.admin .btn:active:not(:disabled){transform:scale(.97)}.admin .admin__tab:hover{color:var(--text)}.admin .pill{animation:.25s cardIn}@media (prefers-reduced-motion:reduce){.admin__grid>*,.admin .tile,.admin .pill{animation:none}.admin .btn:active:not(:disabled){transform:none}}.admin .upload{align-items:center;gap:.6rem;min-width:11rem;display:inline-flex}.admin .upload__bar{background:#ffffff1f;border-radius:999px;flex:1;height:.4rem;overflow:hidden}.admin .upload__bar span{border-radius:inherit;background:var(--admin-accent);height:100%;transition:width .15s linear;display:block}.admin .upload__label{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem}.admin__modal{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05070bbf;place-items:center;padding:2rem;animation:.2s cardIn;display:grid;position:fixed;inset:0}.admin__modal .btn--danger{background:#c0483f38;border-color:#c0483f99}.admin__close{width:40px;height:40px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:50%;font-size:28px;line-height:1;position:fixed;top:16px;right:16px}.admin__close:hover{opacity:1;background:#7f7f7f26}.admin .strip-preview{border:1px solid var(--line);background:#05070b;border-radius:10px;margin:0 0 1.2rem;padding-bottom:1.6rem;position:relative;overflow:hidden}.admin .strip-preview__canvas{width:100%;height:52px;display:block}.admin .strip-preview__label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600;position:absolute;bottom:.4rem;left:0;right:0}.admin .color-field{align-items:center;gap:.5rem;display:flex}.admin .led-colors{flex-direction:column;gap:.45rem;display:flex}.admin .led-colors .card__hint{margin:0}.admin .led-colors__title{color:var(--muted);font-size:.82rem}.admin .led-colors__list{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.admin .led-colors__item{align-items:center;gap:.35rem;display:flex}.admin .led-colors__item input[type=color]{width:3.4rem}.admin .led-colors__second{min-width:1rem;color:var(--text);text-align:right;font-weight:700}.admin .led-test{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.admin .led-test .card__hint{margin:0}.admin .ring-preview{border:1px solid var(--line);border-radius:10px;width:100%;margin:0 0 1rem;display:block}.admin .led-schedule{border-top:1px solid var(--line);flex-direction:column;gap:.6rem;margin:1.2rem 0 0;padding-top:1rem;display:flex}.admin .led-schedule .card__hint{margin:0}.admin .led-schedule__times{flex-wrap:wrap;gap:1rem;display:flex}.admin .led-schedule__times label{flex:0 10rem}.signin{color:#f5f5f5;cursor:auto;-webkit-user-select:text;user-select:text;background:#0a0a0a;justify-content:center;padding:64px 24px;font-family:Archivo,system-ui,-apple-system,Segoe UI,sans-serif;display:flex;position:fixed;inset:0;overflow-y:auto}.signin__col{width:380px;max-width:100%;margin:auto 0}.signin__brand{align-items:center;gap:14px;min-width:0;display:flex}.signin__brand-logo{filter:invert()grayscale()brightness(1.5);flex:none;width:auto;height:28px}.signin__brand-rule{background:#2e2e2e;flex:none;width:1px;height:20px}.signin__brand-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.06em;color:#f5f5f5;flex:auto;min-width:0;font-size:24px;font-weight:600;line-height:1;overflow:hidden}.signin__head{margin-top:8px}.signin__title{letter-spacing:-.02em;color:#f5f5f5;margin:0;font-size:28px;font-weight:600;line-height:1.15}.signin__lede{color:#d4d4d4;margin:8px 0 0;font-size:15px;font-weight:400;line-height:1.45}.signin__button{color:#0a0a0a;cursor:pointer;background:#f5f5f5;border-radius:3px;justify-content:center;align-items:center;gap:11px;width:100%;height:48px;margin-top:14px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;display:flex}.signin__button:hover{background:#fff}.signin__button:focus-visible{outline-offset:3px;outline:2px solid #f5f5f5}.signin__chip{background:#0a0a0a;border-radius:2px;flex:none;place-items:center;width:22px;height:22px;display:grid}.signin__chip img{object-fit:contain;filter:invert()grayscale()brightness(1.5);width:100%;height:100%;padding:2px}.signin__note{color:#7a7a7a;margin:14px 0 0;font-size:12px;line-height:1.5}.signin__error{color:#ff9d94;margin:14px 0 0;font-size:13px;line-height:1.5}.signin__foot{color:#7a7a7a;margin:28px 0 0;font-size:13px;line-height:1.5}.signin .admin__close{color:#7a7a7a}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:#0b0e14;height:100%;margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}
