:root{--bg:#05080d;--panel:#0a1019;--panel2:#101927;--line:#263247;--ink:#f2f5f8;--muted:#97a3b5;--gold:#caa85d;--gold2:#e7cb8c;--bad:#e28b8b;--ok:#84d0a5}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.app{background:radial-gradient(1000px 520px at 65% 0,#152239 0%,#080d15 55%,#05080d 100%);min-height:100vh}.top{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#04080dd1;border-bottom:1px solid #ffffff12;align-items:center;gap:26px;height:78px;padding:0 40px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:250px;display:flex}.brand-logo{object-fit:contain;filter:drop-shadow(0 0 16px #caa85d24);width:48px;height:48px;display:block}.brand-copy b{letter-spacing:.3px;font-size:16px}.brand-copy span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.love{font-weight:800;color:var(--gold2)!important}.source-tabs{gap:8px;display:flex}.source-tabs button,.top-action{border:1px solid var(--line);color:#b8c4d4;cursor:pointer;background:#0c1420;border-radius:999px;padding:9px 14px;font-weight:800}.source-tabs button.active{border-color:var(--gold);color:#fff;background:#1a1c1b}.spacer{flex:1}.top-action:active,.source-tabs button:active,.card:active,.hero-play:active,.back:active{transform:scale(.975)}.main{max-width:1520px;margin:auto;padding:26px 42px 50px}.eyebrow{letter-spacing:2.3px;text-transform:uppercase;color:#95a5bc;font-size:11px;font-weight:900}.headline{margin-top:6px;font-size:28px;font-weight:900}.sub{color:var(--muted);margin-top:5px}.hero{background:linear-gradient(120deg,#0c1622,#172a3e 58%,#7d6740);border:1px solid #ffffff17;border-radius:22px;height:390px;margin-top:20px;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000006b}.hero-art{background:linear-gradient(90deg,#02060af0 0%,#02060abd 32%,#02060a33 70%,#02060a59 100%),radial-gradient(circle at 78% 30%,#e2c47d47,#0000 18%),linear-gradient(150deg,#0000 58%,#f1deac2b 59% 60%,#0000 61%),linear-gradient(25deg,#0000 45%,#ffffff0f 46% 47%,#0000 48%),linear-gradient(145deg,#1b3a4a,#26364b 35%,#5a4b32 68%,#18202b);position:absolute;inset:0}.hero-art:before{content:"";border:2px solid #ecdaa633;width:340px;height:190px;position:absolute;bottom:7%;right:8%;transform:skew(-8deg);box-shadow:-120px -50px 0 -80px #ecdaa633,-210px 15px 0 -130px #ecdaa633}.hero-copy{width:min(560px,55%);position:absolute;top:48px;left:42px}.hero-copy h1{margin:10px 0 12px;font-size:48px;line-height:1.02}.hero-copy p{color:#bec9d7;max-width:540px;font-size:16px;line-height:1.55}.meta{color:#98a8bb;font-weight:700}.hero-actions{align-items:center;gap:12px;margin-top:22px;display:flex}.hero-play{color:#071019;cursor:pointer;background:#fff;border:0;border-radius:10px;padding:12px 20px;font-weight:900}.liwi-status-logo{object-fit:contain;filter:drop-shadow(0 0 12px #caa85d2e);width:38px;height:38px;transition:filter .16s,opacity .16s;display:block}.liwi-status-logo.grey{filter:grayscale();opacity:.48}.liwi-status-wrap{background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.section{margin-top:32px}.section-head{align-items:end;gap:12px;margin-bottom:13px;display:flex}.section-head h2{margin:0;font-size:20px}.section-head span{color:var(--muted);font-size:12px}.shelf{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.card{cursor:pointer;text-align:left;min-width:0;color:inherit;background:#0a1018;border:1px solid #ffffff14;border-radius:14px;padding:0;transition:transform .16s,border-color .16s,box-shadow .16s;overflow:hidden}.card:hover,.card:focus-visible{border-color:#6d5b35;outline:none;transform:translateY(-3px);box-shadow:0 16px 40px #00000052}.poster{background:#1a2738;height:145px;position:relative;overflow:hidden}.poster:before,.poster:after{content:"";position:absolute}.poster.coast{background:linear-gradient(160deg,#243d4a 0 42%,#b79660 43% 55%,#17232a 56%)}.poster.coast:before{border:2px solid #ffffff52;width:56%;height:34%;bottom:20%;left:16%;transform:skew(-12deg)}.poster.coast:after{border:2px solid #f0dcaa4d;border-radius:50%;width:72px;height:72px;top:14%;right:12%}.poster.city{background:linear-gradient(#14182b,#25374d)}.poster.city:before{background:repeating-linear-gradient(90deg,#151a28 0 34px,#23314a 35px 50px);height:72%;bottom:0;left:8%;right:8%}.poster.city:after{background:#d1a65a;height:1px;bottom:24%;left:18%;right:12%;box-shadow:0 -34px #d1a65a66,0 28px #d1a65a33}.poster.hours{background:linear-gradient(145deg,#201d31,#4d3950 52%,#1d2938)}.poster.hours:before{border:2px solid #ffffff29;border-radius:50%;width:120px;height:120px;top:8%;right:8%}.poster.hours:after{background:#d5b66f;width:180px;height:2px;bottom:28%;left:10%;transform:rotate(-15deg)}.poster.frame{background:linear-gradient(120deg,#26304a,#5d4c39)}.poster.frame:before{border:4px solid #ecdba866;inset:18px 34px;box-shadow:25px 15px #00000040}.poster.frame:after{background:#f0d89d;width:90px;height:2px;bottom:25%;right:18%;transform:rotate(30deg)}.poster.field{background:linear-gradient(150deg,#16303d,#65714a)}.poster.field:before{background:#ead69d;height:2px;bottom:24%;left:-5%;right:-5%;transform:rotate(-9deg);box-shadow:0 24px #ead69d38,0 -28px #ead69d26}.poster.field:after{border:2px solid #f5e3b24d;width:70px;height:100px;top:14%;right:15%;transform:rotate(8deg)}.poster.rain{background:linear-gradient(150deg,#202d37,#5c5a49)}.poster.rain:before{background:repeating-linear-gradient(105deg,#0000 0 20px,#dce7ee29 21px 23px,#0000 24px 36px);inset:-20px}.poster.rain:after{border:2px solid #ead7a540;width:62%;height:28%;bottom:18%;left:12%}.card-copy{padding:12px 12px 13px}.card-copy strong{align-items:center;gap:8px;font-size:14px;display:flex}.card-copy small{color:var(--muted);margin-top:5px;display:block}.card-liwi-logo{object-fit:contain;flex:none;width:23px;height:23px}.card-liwi-logo.grey{filter:grayscale();opacity:.48}.empty{color:#9dacbe;background:#09111c;border:1px dashed #30405a;border-radius:14px;padding:24px;display:none}.player-page{background:#05070a;min-height:100vh;padding:22px;display:none}.player-page.active{flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.browse-page.hidden{display:none}.back{color:#dbe4ee;cursor:pointer;background:#0b121d;border:1px solid #2f3b50;border-radius:999px;align-self:flex-start;margin-left:max(0px,50vw - min(92vw,1180px)/2);padding:9px 14px;font-weight:900}.tv{aspect-ratio:16/9;background:#000;border:1px solid #232a35;border-radius:14px;width:min(92vw,1180px);position:relative;overflow:hidden;box-shadow:0 30px 90px #000000b3}.video-art{background:radial-gradient(120% 95% at 75% 30%,#425d68 0%,#1d2f3b 33%,#111721 70%);position:absolute;inset:0}.video-art:after{content:"";border:2px solid #e1cc9629;width:48%;height:40%;position:absolute;bottom:10%;right:7%;transform:skew(-8deg)}.player-title{max-width:60%;transition:all .2s;position:absolute;bottom:86px;left:30px}.player-title small{letter-spacing:2px;text-transform:uppercase;color:#9aa6b7}.player-title h2{margin:6px 0;font-size:28px}.player-title p{color:#b5c1d0}.controls{background:linear-gradient(#0000,#000000e0);align-items:center;gap:14px;height:74px;padding:14px 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.play{color:#fff;cursor:pointer;background:#15191f;border:1px solid #444;border-radius:50%;width:38px;height:38px}.time{color:#aeb8c4;font-variant-numeric:tabular-nums}.bar{background:#2c3037;border-radius:3px;flex:1;height:4px;position:relative}.progress{background:#fff;border-radius:3px;width:28%;height:100%}.pair,.fs{color:#c2cddd;cursor:pointer;background:#0a0e14b8;border:1px solid #36435b;border-radius:9px;padding:8px 10px}.liwi-trigger{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:54px;height:54px;padding:0;display:grid}.liwi-trigger img{object-fit:contain;width:52px;height:52px;display:block}.liwi-trigger.grey img{filter:grayscale();opacity:.48}.liwi-trigger.pulse{animation:.55s ease-out pulse}@keyframes pulse{0%{box-shadow:0 0 #caa85d99}to{box-shadow:0 0 0 26px #caa85d00}}.pair-overlay{z-index:8;background:#03070deb;place-items:center;display:none;position:absolute;inset:0}.pair-overlay.open{display:grid}.pair-box{text-align:center}.pair-box .pair-logo{object-fit:contain;width:64px;height:64px;margin:0 auto 8px;display:block}.pair-box h3{letter-spacing:3px;text-transform:uppercase;color:#95a3b5;font-size:13px}.code{color:#d8b96e;letter-spacing:14px;margin:10px 0;font-size:58px;font-weight:900}.pair-box p{color:#b8c4d3;max-width:480px;line-height:1.5}.pair-close{color:#aab7c7;cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:18px;right:22px}.dev{color:#7e8997;background:#0b0e13;border:1px solid #1d2430;border-radius:10px;width:min(92vw,1180px);padding:10px 13px;font:12px ui-monospace,monospace}.dev b{color:#caa85d}@media (max-width:1050px){.main{padding:20px}.shelf{grid-template-columns:repeat(3,1fr)}.hero{height:360px}.hero-copy h1{font-size:40px}.top{padding:0 20px}.brand{min-width:auto}.brand-copy span:not(.love){display:none}}@media (max-width:700px){.shelf{grid-template-columns:repeat(2,1fr)}.source-tabs{display:none}.hero-copy{width:82%}.hero-copy h1{font-size:34px}.hero-art{background:linear-gradient(90deg,#02060af0,#02060a8c),linear-gradient(145deg,#1b3a4a,#26364b 35%,#5a4b32 68%,#18202b)}}.card:focus-visible,.source-tabs button:focus-visible,.top-action:focus-visible,.hero-play:focus-visible,.back:focus-visible,.play:focus-visible,.pair:focus-visible,.fs:focus-visible,.liwi-trigger:focus-visible,.pair-close:focus-visible{outline:3px solid var(--gold2);outline-offset:3px;box-shadow:0 0 0 6px #05080dd9,0 16px 40px #00000073}.card:focus-visible{border-color:var(--gold);transform:translateY(-3px)}.shelf{scroll-padding-inline:48px}.card{scroll-snap-align:start}html,body{max-width:100%;overflow-x:hidden}.main,.hero,.section,img{max-width:100%}.liwi-status-wrap,.card-liwi-logo,.liwi-status-logo{pointer-events:none;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.card,.card:hover,.card:focus-visible{transform:none}.card,.top-action,.source-tabs button,.hero-play,.back{transition:none}}
