/* Sredi.se Gym TV RC8 — bronze private gym. Scoped to dedicated full-screen route. */
:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--bronze:#d48c54;--bronze-hi:#f3c68f;--bronze-dim:#9e5222;--tv-dark:#0a0a0d;--tv-panel:#15151a;--tv-line:#7f553f70;--tv-ink:#f7f2ec}
*,*::before,*::after{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;overflow:hidden}body{min-height:100vh;min-height:100dvh;color:var(--tv-ink);background:radial-gradient(ellipse at 0 0,#362419 0%,#151116 28%,#090a0d 75%)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--bronze-hi);outline-offset:3px}
#sgym-tv-root{height:100vh;height:100dvh;width:100%;overflow:hidden}.tv-shell{--tv-shift-x:0px;--tv-shift-y:0px;display:flex;flex-direction:column;position:relative;width:100%;height:100vh;height:100dvh;min-height:0;padding:clamp(14px,2vmin,30px);gap:clamp(11px,1.65vh,23px);overflow:hidden}.tv-shell::before{content:"";position:absolute;inset:-15%;background:radial-gradient(ellipse at 85% 20%,#bb74410d,transparent 40%);pointer-events:none}
.tv-header,.tv-stage{transform:translate3d(var(--tv-shift-x),var(--tv-shift-y),0);transition:transform 2s ease;min-width:0}.tv-header{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(185px,auto) auto;align-items:center;gap:clamp(12px,1.7vw,34px);flex:0 0 auto;min-height:clamp(72px,11vh,126px);padding:clamp(9px,1.2vw,19px) clamp(14px,1.6vw,27px);border:1px solid #ffffff14;border-radius:20px;background:#16151bdc;box-shadow:0 12px 38px #0003}
.tv-brand{display:flex;align-items:center;gap:clamp(5px,1vw,18px);min-width:0}.tv-brand-mark{width:clamp(86px,12vw,190px);height:clamp(50px,7vw,104px);object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 12px #c77b3540)}.tv-brand-type{display:flex;flex-direction:column;min-width:0;gap:4px}.tv-brand-type strong{color:#fff;white-space:nowrap;font-size:clamp(22px,3vw,54px);line-height:.95;font-weight:850;letter-spacing:-.045em}.tv-brand-type strong span{background:linear-gradient(105deg,#f6d6a9,#d48c54 68%,#a55e32);background-clip:text;-webkit-background-clip:text;color:transparent}.tv-brand-type small{font-size:clamp(9px,.82vw,15px);font-weight:800;letter-spacing:.2em;color:var(--bronze-hi);white-space:nowrap}
.tv-date-time{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.tv-date-time span{font-size:clamp(14px,1.3vw,24px);font-weight:650;color:#f5dfc9;text-transform:capitalize}.tv-date-time time{font-size:clamp(32px,4.05vw,74px);line-height:1;letter-spacing:.035em;font-weight:810;font-variant-numeric:tabular-nums;color:#f3c68f}.tv-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.tv-status{padding:8px 11px;border:1px solid #b375485d;border-radius:999px;background:#34251e;color:#f0c89f;font-size:clamp(11px,1vw,16px);font-weight:750;white-space:nowrap}.tv-status.active{background:#27462b;color:#daebd3;border-color:#537955}.tv-status.warning{background:#664222;color:#ffe0ae;border-color:#bc8045}.tv-status.error{background:#542d2d;color:#ffe4db;border-color:#bd827a}.tv-options-toggle{height:44px;width:44px;flex-shrink:0;border:1px solid #a972516e;border-radius:13px;background:#292126;color:#f3c68f;font-size:24px;line-height:1}
.tv-stage{display:grid;grid-template-columns:minmax(0,0.42fr) minmax(0,0.58fr);gap:clamp(11px,1.6vw,24px);position:relative;z-index:1;flex:1 1 auto;min-height:0}.tv-clock,.tv-ads{min-width:0;min-height:0;border:1px solid #9c603f73;border-radius:clamp(15px,2vw,28px);background:linear-gradient(155deg,#1c1920,#100f14);box-shadow:0 20px 60px #0005;overflow:hidden}.tv-clock{display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:clamp(6px,1vh,18px);text-align:center;padding:clamp(13px,1.6vw,30px)}.tv-kicker{color:#eab78c;font-weight:800;letter-spacing:.145em;font-size:clamp(11px,1.15vw,22px);line-height:1.2;text-transform:uppercase}.tv-timer-ring{--ring-value:100%;position:relative;aspect-ratio:1;width:min(94%,51vh,450px);max-height:52vh;display:flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:conic-gradient(from 0deg,#f3c68f 0%,#d48c54 var(--ring-value),#45342c var(--ring-value),#45342c 100%);box-shadow:0 0 30px #9e52221e}.tv-ring-fill{position:absolute;inset:clamp(10px,1.1vw,20px);border-radius:50%;background:radial-gradient(circle at 45% 35%,#201b22,#0e0f12 76%)}.tv-ring-face{position:relative;z-index:1;max-width:95%}.tv-clock h1{margin:0;line-height:1.04;letter-spacing:-.055em;color:#f9e8da;font-size:clamp(42px,5.4vw,112px);font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.tv-ring-caption{font-size:clamp(10px,.9vw,17px);color:#e3b68f;letter-spacing:.09em;font-weight:800;margin-top:7px}.tv-clock.is-warning .tv-timer-ring{background:conic-gradient(#efba6f 0%,#dc8253 var(--ring-value),#45342c var(--ring-value))}.tv-clock.is-warning h1{color:#ffe3b6}.tv-clock.is-offline .tv-timer-ring{background:#463638}.tv-clock.is-offline h1{color:#faada6}.tv-now{display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap;font-size:clamp(13px,1.1vw,21px);color:#cdb8a8}.tv-now time{font-size:clamp(21px,2vw,39px);font-weight:800;letter-spacing:.035em;font-variant-numeric:tabular-nums;color:#f7d5b3}#tv-message{color:#e0cec0;font-size:clamp(13px,1.17vw,23px);line-height:1.4;font-weight:580}.tv-progress{background:#382e2b;border-radius:999px;height:9px;width:85%;overflow:hidden;flex-shrink:0}.tv-progress>div{height:100%;width:0;background:linear-gradient(90deg,#a95729,#f3c68f);border-radius:inherit;transition:width 1s linear}.tv-period{color:#efc99f;font-variant-numeric:tabular-nums;font-size:clamp(13px,1.3vw,24px);font-weight:730}
.tv-ads{position:relative;display:flex;align-items:center;justify-content:center;background:#121014}.tv-slide{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;overflow:hidden}.tv-slide img,.tv-slide video{width:100%;height:100%;object-fit:contain;object-position:center;display:block;max-height:100%;max-width:100%}.tv-slide-empty{font-size:clamp(28px,3.5vw,56px);color:#edcaad;text-align:center;padding:20px;font-weight:820}
.tv-rule-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,2vh,25px);text-align:center;padding:clamp(20px,4vw,75px);width:100%;height:100%;background:radial-gradient(ellipse at 55% 10%,#64402b55,transparent 58%),#141318}.tv-rule-card::before{content:"";position:absolute;inset:clamp(16px,2vw,35px);border:1px solid #d494585b;border-radius:22px;pointer-events:none}.tv-rule-eyebrow{letter-spacing:.2em;font-weight:800;color:#e4ad7a;font-size:clamp(12px,1.1vw,20px)}.tv-rule-icon{display:flex;align-items:center;justify-content:center;width:clamp(65px,8vw,140px);height:clamp(65px,8vw,140px);border-radius:28px;font-size:clamp(38px,5vw,78px);border:1px solid #d7a27488;background:#be78421b;color:#f3c68f}.tv-rule-card h2{font-size:clamp(26px,3.4vw,64px);line-height:1.1;color:#fff5e8;margin:0;max-width:95%;font-weight:790;letter-spacing:-.045em}.tv-rule-card p{font-size:clamp(16px,1.8vw,29px);color:#f0ddca;line-height:1.35;margin:0;max-width:810px}.tv-rule-card.is-cleanup{background:radial-gradient(ellipse at 50% 10%,#b1683361,transparent 65%),#141318}.tv-rule-card.is-cleanup .tv-rule-icon{background:#d48c542a}
/* No full-screen takeover during idle: the time and house rules remain visible. */
.tv-shell.tv-idle .tv-clock{display:flex}.tv-shell.tv-no-ads .tv-stage{grid-template-columns:minmax(0,.44fr) minmax(0,.56fr)}.tv-shell.tv-no-ads .tv-ads{display:flex}
.tv-controls[hidden]{display:none!important}.tv-controls{position:absolute;z-index:9;right:clamp(14px,2vw,32px);top:clamp(90px,14vh,160px);width:min(355px,calc(100vw - 28px));padding:18px;border-radius:18px;border:1px solid #a46d4f;background:#221b20f5;box-shadow:0 20px 55px #0009;display:flex;flex-direction:column;gap:10px}.tv-controls-heading{font-weight:800;color:#f2d1b3}.tv-controls button,.tv-pair button{background:#d48c54;color:#160f0b;border:1px solid #f3c68f;border-radius:10px;padding:11px 14px;min-height:44px;font-weight:750}.tv-controls button:hover,.tv-pair button:hover{background:#f3c68f}.tv-controls #tv-audio-note{font-size:13px;color:#e7c9b4;line-height:1.5}
.tv-pair{max-width:630px;margin:6vh auto;padding:clamp(22px,4vw,45px);max-height:94vh;overflow:auto;border:1px solid #9e6b4c;border-radius:25px;background:#211b21}.tv-brand-pair{margin-bottom:20px}.tv-brand-pair .tv-brand-mark{width:135px}.tv-pair h1{font-size:clamp(26px,4vw,42px);margin:0 0 15px}.tv-pair p{color:#eddbc9;line-height:1.6}.tv-pair form{display:grid;gap:12px}.tv-pair label{font-weight:700}.tv-pair input{padding:12px;border-radius:12px;border:1px solid #d99a69;background:#fffaf6;color:#24150d;font-size:27px;letter-spacing:.17em;text-align:center}.tv-pair .tv-error{color:#ffaeaa}
@media(max-width:1040px){.tv-stage{grid-template-columns:minmax(0,.45fr) minmax(0,.55fr)}.tv-clock h1{font-size:clamp(40px,5.4vw,70px)}.tv-date-time time{font-size:clamp(29px,3.2vw,55px)}.tv-status{display:none}}
@media(max-width:720px){.tv-shell{padding:10px;gap:10px}.tv-header{grid-template-columns:minmax(0,1fr) auto;gap:6px;min-height:unset;padding:10px}.tv-brand-mark{width:75px;height:48px}.tv-brand-type strong{font-size:25px}.tv-brand-type small{font-size:9px;letter-spacing:.08em}.tv-date-time{grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:center;gap:12px;align-items:center}.tv-date-time span{font-size:12px}.tv-date-time time{font-size:24px}.tv-header-actions{grid-column:2;grid-row:1}.tv-options-toggle{height:39px;width:39px}.tv-stage,.tv-shell.tv-no-ads .tv-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(210px,1fr) minmax(150px,.83fr);gap:10px}.tv-clock{padding:11px;gap:3px}.tv-timer-ring{width:min(47vh,215px,58vw);max-height:46vh}.tv-clock h1{font-size:clamp(37px,8vw,56px)}.tv-ring-caption{font-size:10px}.tv-kicker{font-size:11px}.tv-now{font-size:12px}.tv-now time{font-size:21px}.tv-progress{height:6px}#tv-message{font-size:13px}.tv-period{font-size:12px}.tv-rule-card{gap:8px;padding:14px}.tv-rule-card::before{inset:9px}.tv-rule-icon{width:45px;height:45px;border-radius:12px;font-size:25px}.tv-rule-eyebrow{font-size:10px}.tv-rule-card h2{font-size:clamp(19px,4.5vw,30px)}.tv-rule-card p{font-size:clamp(12px,3vw,17px)}}
@media(max-height:650px) and (min-width:721px){.tv-header{min-height:62px;padding:6px 14px}.tv-brand-mark{height:48px;width:95px}.tv-brand-type strong{font-size:30px}.tv-clock{padding:9px;gap:4px}.tv-timer-ring{width:min(37vh,265px);max-height:36vh}.tv-clock h1{font-size:clamp(34px,4vw,60px)}.tv-ring-caption{font-size:10px}.tv-rule-icon{height:55px;width:55px;font-size:30px}.tv-rule-card{gap:6px}.tv-rule-card h2{font-size:clamp(20px,2vw,34px)}.tv-rule-card p{font-size:clamp(14px,1.25vw,20px)}}
@media(prefers-reduced-motion:reduce){.tv-header,.tv-stage,.tv-progress>div{transition:none}}
