﻿:root{color-scheme:dark;--bg:#090b10;--panel:#10131b;--raised:#181c26;--stroke:#242a36;--ink:#eef1f6;--muted:#838998;--red:#ff4855;--red2:#e52e47;--cyan:#6af3e9;--sans:'Manrope','DM Sans',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:disabled{opacity:.32;cursor:not-allowed}a{color:inherit;text-decoration:none}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}svg use{pointer-events:none}.sprite{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}
.shell{display:flex;min-height:100vh}.sidebar{width:244px;background:#0d1017;border-right:1px solid #1c212a;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0;padding:33px 19px 24px}
.brand{display:flex;align-items:center;gap:11px;margin:0 8px 62px}.brandmark{position:relative;display:grid;place-items:center;width:43px;height:43px;background:linear-gradient(135deg,#ff6a66,#d72840);border-radius:12px;box-shadow:0 5px 24px #fe3c5733}.brand-triangle{width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid #fff;transform:translateX(2px)}.brand-word strong{display:block;font-size:20px;line-height:1.12;letter-spacing:-1.1px;font-weight:800}.brand-word strong span,.watch-brand span,footer b span{color:var(--red)}.brand-word small{display:block;font-size:8px;letter-spacing:1.65px;color:#8e909b;margin-top:5px;white-space:nowrap}.nav-caption{color:#575e6d;font-size:10px;letter-spacing:2.3px;font-weight:800;margin:0 16px 13px}.nav{display:flex;flex-direction:column;gap:6px}.nav-link{width:100%;display:flex;align-items:center;gap:15px;text-align:left;border:0;background:transparent;color:#858c9a;font-weight:600;padding:14px 17px;border-radius:11px;transition:.18s}.nav-link:hover{background:#191e28;color:white}.nav-link.active{background:#23232d;color:#fff}.nav-link.active svg{color:#ff5361}.nav-link svg{width:20px;height:20px}.sidebar-bottom{margin-top:auto;padding:0 4px}.server-card{border:1px solid #222735;background:#151922;border-radius:12px;padding:15px 13px;display:flex;align-items:center;gap:11px}.server-dot{width:9px;height:9px;background:#40d4a4;border-radius:100%;box-shadow:0 0 12px #40d4a488;flex:none}.server-dot.offline{background:#ff6d78;box-shadow:none}.server-card b{font-size:10px;letter-spacing:1.2px}.server-card small{display:block;font-size:10px;color:#828a9c;margin-top:3px}.sidebar-bottom p{font-size:11px;color:#777e8c;line-height:1.8;margin:18px 12px 22px}.version{font-size:10px;letter-spacing:1.7px;color:#474e5a;margin:0 12px}
.workspace{min-width:0;flex:1}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 46px;border-bottom:1px solid #181d25}.breadcrumb{font-size:11px;color:#6f7888;letter-spacing:1.7px;font-weight:800;display:flex;align-items:center;gap:9px}.breadcrumb strong{color:#e9ecf3}.breadcrumb svg{width:12px;height:12px}.topbar-right{display:flex;gap:18px;align-items:center}.search-box{height:42px;display:flex;align-items:center;gap:10px;border:1px solid #242a35;background:#141821;border-radius:9px;padding:0 12px;min-width:min(27vw,290px)}.search-box svg{color:#818999;width:17px}.search-box input{background:none;border:none;color:#fff;min-width:0;width:100%;outline:0;font-size:12px}.search-box input::placeholder{color:#6d7583}.search-box kbd{border:1px solid #323743;padding:2px 7px;color:#828997;border-radius:4px;font-size:11px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border:none;border-radius:9px;color:#fff;font-weight:800;font-size:12px;letter-spacing:.15px;transition:transform .18s,filter .18s,background .18s;white-space:nowrap}.button:hover{transform:translateY(-2px);filter:brightness(1.08)}.button-primary{background:linear-gradient(110deg,#ff505f,#e5304d);box-shadow:0 6px 18px #f73d5130}.button svg{height:18px;width:18px}.avatar{display:grid;place-items:center;border-radius:50%;background:#292c3d;color:#e5e5fa;border:1px solid #454151;font-weight:800;width:37px;height:37px}
main{max-width:1800px;margin:0 auto;padding:32px 46px 10px}.hero{height:410px;overflow:hidden;position:relative;border-radius:19px;background:radial-gradient(ellipse at 80% 50%,#45252e 0%,transparent 50%),linear-gradient(110deg,#171921 4%,#28202b 51%,#561b31 100%);border:1px solid #493039}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#15171e 0%,#15171eec 29%,transparent 78%);pointer-events:none}.hero-noise{position:absolute;inset:0;opacity:.13;background-image:repeating-linear-gradient(10deg,transparent 0 14px,#bcbcc60d 15px 16px)}.hero-content{position:relative;z-index:2;margin:58px 0 0 53px;max-width:560px}.eyebrow{font-size:10px;letter-spacing:2.8px;color:#ffaab4;font-weight:800;display:flex;align-items:center;gap:12px}.eyebrow-line{width:24px;height:2px;background:#ff6671}.hero h1{font-size:clamp(32px,3.7vw,61px);line-height:1.08;letter-spacing:-2.5px;font-weight:800;margin:19px 0 17px}.hero h1 em{font-style:normal;color:#ff5864}.hero p{color:#b1a8b3;font-size:12px;line-height:1.95;max-width:425px;margin:0}.hero-actions{display:flex;gap:11px;margin-top:24px}.button-white{background:#f5f5f7;color:#111219;min-width:146px}.button-ghost{background:#ffffff17;border:1px solid #ffffff33;min-width:153px}.hero-stats{display:flex;align-items:center;gap:14px;color:#98909c;letter-spacing:1px;font-size:10px;margin-top:26px}.hero-stats b{color:#fff;font-size:13px}.hero-stats i{width:3px;height:3px;border-radius:50%;background:#a77b83}.hero-orb{position:absolute;border-radius:50%;filter:blur(70px)}.hero-orb-one{width:340px;height:340px;right:70px;top:20px;background:#ff3c5c55}.hero-orb-two{width:190px;height:220px;right:350px;top:0;background:#9c2a8944}.hero-art{position:absolute;right:11%;top:7%;width:360px;height:360px;display:grid;place-items:center;transform:rotate(-18deg)}.orbit{position:absolute;border-radius:50%;border:1px solid #ff98a138;box-shadow:0 0 70px #ff596017,inset 0 0 35px #ff64731c}.orbit-one{width:340px;height:340px}.orbit-two{width:275px;height:275px;border-width:32px;border-color:#ff627422;box-shadow:inset 0 0 40px #ff829138,0 0 70px #ff334833}.orbit-three{width:175px;height:175px;border-width:22px;border-color:#ff6e7d52;box-shadow:inset 0 0 40px #ff708f3b,0 0 25px #ff3a5355}.hero-glass{width:100px;height:100px;z-index:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffadac,#dc344d);box-shadow:0 15px 75px #f7395e99}.hero-glass svg{width:55px;height:55px;stroke:none;transform:translateX(4px);fill:#fff}.hero-index{position:absolute;z-index:2;right:26px;bottom:24px;color:#f6c5cc83;letter-spacing:1.8px;font-size:9px}
.shelf{margin-top:39px;min-height:120px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:21px;gap:15px}.section-kicker{display:block;color:#f35967;font-size:9px;letter-spacing:2px;font-weight:800;margin-bottom:8px}.section-head h2{margin:0;font-size:24px;letter-spacing:-.6px;font-weight:800}.section-tools{display:flex;align-items:center;gap:13px}.item-count{font-size:10px;letter-spacing:1.5px;color:#656e7d;font-weight:800}.section-tools select{background:#161a23;border:1px solid #252b36;color:#b2bac6;font-size:12px;padding:8px 10px;border-radius:8px}.text-button{border:0;background:none;color:#a7aebd;display:flex;align-items:center;gap:4px;font-size:12px}.text-button svg{width:13px;height:13px}.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:22px 17px}.movie-card{min-width:0;cursor:pointer;position:relative}.poster{height:245px;position:relative;overflow:hidden;border-radius:12px;border:1px solid #ffffff13;display:flex;align-items:center;justify-content:center;isolation:isolate;transition:transform .24s,border-color .2s}.movie-card:hover .poster{transform:translateY(-4px);border-color:#ff62646d}.poster:before{content:"";position:absolute;width:115%;height:65%;top:-10%;left:-20%;border-radius:50%;background:#ffffff1a;filter:blur(38px);transform:rotate(30deg)}.poster:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,#05050c99 100%);z-index:-1}.poster img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.poster-pattern{position:absolute;font-size:72px;font-weight:800;letter-spacing:-13px;opacity:.1;transform:rotate(-18deg);color:white;white-space:nowrap}.poster-mark{font-size:38px;color:#ffffffd8;width:70px;height:70px;display:grid;place-items:center;border:1px solid #ffffff3c;border-radius:50%;background:#ffffff12;backdrop-filter:blur(4px);z-index:2;opacity:.5;transition:.2s}.poster-mark svg{width:34px;height:34px;stroke:none;fill:currentColor}.movie-card:hover .poster-mark{opacity:1;transform:scale(1.09);background:#ed4555}.poster-tag{position:absolute;top:12px;left:12px;background:#10131cd9;border:1px solid #ffffff20;border-radius:5px;padding:5px 7px;font-size:9px;letter-spacing:1px;font-weight:800;color:#f4f4f6;z-index:3}.poster-duration{position:absolute;right:10px;bottom:12px;background:#101118dd;padding:5px 8px;border-radius:5px;color:#fff;font-size:10px;z-index:3}.movie-title{font-size:13px;font-weight:700;line-height:1.5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:10px 1px 4px}.movie-info{font-size:10px;letter-spacing:.4px;color:#858d9d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watch-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff49;z-index:4}.watch-progress>span{display:block;height:100%;background:#ff4a58}.empty{text-align:center;padding:85px 20px 100px;border:1px dashed #2a303b;border-radius:16px;background:radial-gradient(ellipse at center,#171c273d,transparent 70%)}.empty-icon{width:74px;height:74px;border:1px solid #48414a;background:#2b1f2d;margin:0 auto 19px;border-radius:18px;display:grid;place-items:center;color:#ff626e}.empty-icon svg{width:36px;height:36px}.empty h3{font-size:21px;margin:0 0 10px}.empty p{color:#939aa8;line-height:2;font-size:12px;margin:0 0 22px}.empty code,.form-tip code{font-size:11px;background:#232937;border:1px solid #363c49;border-radius:4px;padding:3px 5px;color:#cfd6e3}.empty .button{margin:0 auto}
footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #20242e;margin-top:62px;padding:25px 3px 30px;color:#626a79;font-size:9px;letter-spacing:1.1px}footer b{color:#fff;font-size:15px;letter-spacing:-.7px}
.watch-view{position:fixed;z-index:20;inset:0;background:#090b10;overflow:auto;overscroll-behavior:contain;padding:0 32px 20px}.watch-top{height:77px;display:flex;align-items:center;gap:22px;border-bottom:1px solid #222733}.back-btn{display:flex;align-items:center;gap:8px;background:transparent;color:#c8ceda;border:0;font-weight:700;font-size:12px}.back-btn:hover{color:#fff}.back-btn svg{width:19px}.watch-heading{display:flex;flex-direction:column;gap:3px}.watch-heading b{font-size:14px}.watch-heading span{font-size:10px;color:#818999}.watch-brand{margin-left:auto;font-size:17px;font-weight:800;letter-spacing:-.8px}.watch-layout{max-width:1840px;margin:27px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:27px;align-items:start}.watch-main{min-width:0}.screen{position:relative;width:100%;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}.screen video{width:100%;height:100%;max-height:100%;background:#000;object-fit:contain}.video-message{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;background:#050506b8;color:#d8dbe4;text-align:center;padding:25px}.spinner{border:3px solid #50505b;border-top-color:#ff4257;border-radius:50%;width:34px;height:34px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#1c1219df;color:#ffadb6;white-space:pre-line;line-height:1.8}.watch-under{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px}.watch-under h2{margin:0;font-size:22px}.watch-under p{font-size:12px;color:#9ca4b1;max-width:530px;line-height:1.7}.player-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:end}.tool-btn,.tool-select{display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 11px;background:#171c26;border:1px solid #2a303b;border-radius:7px;color:#d1d5df;font-size:11px;font-weight:700;white-space:nowrap}.tool-btn:hover{background:#2c3240}.tool-btn svg{width:15px;height:15px}.tool-btn .rotate{transform:rotate(180deg)}.accent-tool{background:#b62a40;border-color:#db3950;color:white}.watch-tip{color:#636b7b;font-size:10px;margin-top:28px;letter-spacing:.5px}.episode-panel{border:1px solid #242a35;background:#11151d;border-radius:12px;overflow:hidden}.episode-heading{padding:25px 19px 16px;border-bottom:1px solid #242a35}.episode-heading h3{font-size:18px;margin:5px 0}.episode-heading p{font-size:11px;color:#7e8796;line-height:1.6}.episode-list{overflow-y:auto;max-height:min(60vh,610px);padding:9px}.episode-item{width:100%;border:1px solid transparent;background:none;color:#bbc2d0;display:flex;align-items:center;gap:11px;border-radius:8px;text-align:left;padding:9px}.episode-item:hover{background:#222937}.episode-item.active{background:#44212d;border-color:#7d3140;color:#fff}.episode-number{width:43px;height:49px;background:#262e3b;display:grid;place-items:center;border-radius:6px;font-size:13px;font-weight:800;flex:none}.episode-item.active .episode-number{background:#e03e54}.episode-text{overflow:hidden;flex:1}.episode-text b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-text small{color:#9095a5;display:block;font-size:10px;margin-top:5px}.auto-next{display:flex;align-items:center;gap:9px;border-top:1px solid #252b35;padding:17px 16px;color:#bcc3ce;font-size:11px;cursor:pointer}.auto-next input{position:absolute;opacity:0}.auto-next .switch{margin-left:auto;background:#424958;width:33px;height:18px;border-radius:99px;position:relative;transition:.2s}.switch:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}.auto-next input:checked~.switch{background:#dc3d53}.auto-next input:checked~.switch:before{left:18px}
.modal-backdrop{position:fixed;inset:0;z-index:40;background:#020309db;display:grid;place-items:center;padding:18px;backdrop-filter:blur(10px)}.modal{width:min(100%,485px);max-height:95vh;overflow:auto;background:#171b24;border:1px solid #343b48;border-radius:17px;padding:28px;box-shadow:0 30px 100px #0009}.modal-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:24px}.modal h2{margin:0;font-size:25px}.icon-button{display:grid;place-items:center;padding:8px;border:0;border-radius:8px;background:#303644;color:#fff}.icon-button svg{width:17px;height:17px}.modal form{display:flex;flex-direction:column;gap:17px}.modal form label{font-size:11px;font-weight:700;color:#bfc6d3;display:flex;flex-direction:column;gap:9px}.modal input{background:#0d1016;border:1px solid #323a46;border-radius:8px;padding:12px 13px;color:#fff;min-width:0;font-size:12px}.modal input::placeholder{color:#596171}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-tip{font-size:10px;color:#818b9c;line-height:1.9;margin:0}.form-error{color:#ffaab2;font-size:12px}.form-submit{width:100%;margin-top:3px}.toast{position:fixed;z-index:80;bottom:30px;left:50%;transform:translate(-50%,120px);background:#252b37;border:1px solid #4b5361;box-shadow:0 10px 45px #0009;color:white;border-radius:10px;padding:13px 20px;transition:.25s;opacity:0;pointer-events:none}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:1200px){.sidebar{width:213px}.topbar{padding:0 28px}main{padding:27px 28px 10px}.hero-art{right:1%;opacity:.8}.movie-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.poster{height:210px}.watch-layout{grid-template-columns:minmax(0,1fr) 250px}.player-tools{justify-content:start}}
@media(max-width:900px){.sidebar{width:69px;padding:25px 9px}.brand{margin:0 auto 52px}.brand-word,.nav-caption,.nav-link span,.sidebar-bottom{display:none}.nav-link{justify-content:center;padding:13px}.nav-link svg{width:23px;height:23px}.topbar{height:74px}.hero{height:380px}.hero-content{margin:48px 0 0 30px}.hero-art{right:-10%;opacity:.5}.watch-layout{grid-template-columns:1fr}.episode-panel{margin-bottom:30px}.episode-list{max-height:260px}}
@media(max-width:600px){.sidebar{display:none}.topbar{height:67px;padding:0 15px}.topbar-left{display:none}.topbar-right{width:100%;gap:10px}.search-box{min-width:0;flex:1}.search-box kbd,.avatar{display:none}.topbar .button{height:42px;padding:9px 12px}.topbar .button span{display:none}main{padding:15px 14px}.hero{height:374px;border-radius:13px}.hero-content{margin:35px 24px 0}.hero h1{font-size:37px;letter-spacing:-1.6px}.hero p{font-size:11px;max-width:300px}.hero-art{right:-175px;top:40px;opacity:.25}.hero::after{background:linear-gradient(90deg,#15171efa 0%,#15171eb7 67%,transparent)}.hero-stats{margin-top:25px;font-size:9px}.hero-actions{margin-top:26px}.button-white,.button-ghost{min-width:0}.shelf{margin-top:28px}.section-head h2{font-size:20px}.section-tools{gap:7px}.section-tools select{max-width:100px}.item-count{display:none}.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 11px}.poster{height:auto;aspect-ratio:3/4.3}.poster-mark{width:55px;height:55px}.poster-mark svg{width:27px}.empty{padding:67px 13px}.empty p{font-size:11px;overflow-wrap:anywhere}footer{flex-wrap:wrap;gap:14px;font-size:8px}.watch-view{padding:0 10px 25px}.watch-top{height:60px;gap:9px}.watch-brand{display:none}.back-btn{font-size:11px}.watch-heading b{font-size:12px}.watch-layout{margin:12px auto;gap:15px}.screen{border-radius:6px}.watch-under{display:block;margin-top:19px}.watch-under h2{font-size:19px}.player-tools{margin-top:18px}.watch-tip{display:none}.episode-panel{margin-top:12px}.modal{padding:21px}.modal h2{font-size:22px}}
@media(orientation:landscape) and (max-height:580px){.watch-view:fullscreen,.watch-view:fullscreen .watch-layout,.screen:fullscreen{padding:0;margin:0;background:#000}.screen:fullscreen{width:100vw;height:100dvh;max-height:none;aspect-ratio:auto;border-radius:0}.screen:fullscreen video{height:100dvh;width:100vw}.watch-view:not(:fullscreen) .watch-top{height:46px}.watch-view:not(:fullscreen) .screen{max-height:75dvh;aspect-ratio:auto;height:75dvh}.watch-under,.watch-tip{margin-top:10px}}

.upload-zone{border:1px dashed #505060;border-radius:11px;background:#20202a;display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 12px;text-align:center;transition:.2s}
.upload-zone.dragging{background:#432532;border-color:#ff5b6b}
.upload-symbol{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#412838;color:#ff7180}
.upload-symbol svg{width:17px;height:17px}
.upload-zone b{font-size:12px}.upload-zone span{font-size:10px;color:#8d94a3}
.upload-zone .button{margin-top:5px;padding:10px 20px}.upload-zone small{font-size:10px;color:#8de7cb;line-height:1.7}
.import-or{display:flex;align-items:center;gap:14px;color:#858c9c;font-size:10px;margin:18px 0}
.import-or:before,.import-or:after{content:"";height:1px;background:#333944;flex:1}

.tiktok-setup{border:1px solid #343b48;background:#151a23;border-radius:13px;padding:22px;margin-bottom:24px}.tiktok-setup>p{color:#b2bac8;font-size:12px;line-height:1.9;margin:0 0 18px}.tiktok-setup form{display:grid;gap:14px}.tiktok-setup label{display:grid;gap:7px;font-size:11px;color:#c4cad5;font-weight:700}.tiktok-setup input{width:100%;min-width:0;background:#0d1016;border:1px solid #323a46;border-radius:8px;padding:12px;color:#fff;font-size:12px}.tiktok-setup input::placeholder{color:#596171}.tiktok-actions{display:flex;gap:10px;flex-wrap:wrap}.tiktok-message{font-size:12px;line-height:1.8;color:#8de7cb;overflow-wrap:anywhere}.tiktok-setup>small{display:block;color:#858d9d;font-size:10px;margin-top:15px}.tiktok-card{min-width:0}.tiktok-open{display:inline-block;margin-top:8px;color:#ff8a96;font-size:11px;font-weight:700}.tiktok-open:hover{color:#fff}.tiktok-shelf .empty{margin-top:10px}
@media(max-width:600px){.tiktok-setup{padding:15px}.tiktok-actions .button{white-space:normal}}


/* TikTok Short Drama sync/player states */
.tiktok-card[role="button"] { cursor: pointer; }
.tiktok-card[role="button"]:focus-visible { outline: 2px solid var(--accent, #ff7a85); outline-offset: 4px; }
.tiktok-muted { color: #9aa4b2; cursor: default; }



/* TikTok hierarchy: drama library -> drama detail -> episode picker */
.tiktok-drama-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:25px 18px}
.tiktok-story .poster{height:auto;aspect-ratio:3/4.25}
.tiktok-story .movie-title{font-size:13px;line-height:1.65;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-height:42px}
.tiktok-story .movie-info{font-size:11px}
.tiktok-story .tiktok-open{margin-top:8px}
.tiktok-detail-head{margin:0 0 26px}
.tiktok-detail-head[hidden]{display:none}
.tiktok-back{border:1px solid #343a46;background:#181c26;color:#dde1ea;border-radius:9px;padding:11px 15px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;font-weight:700;font-size:12px;margin-bottom:19px}
.tiktok-back:hover{background:#283040;border-color:#ff6877}
.tiktok-back svg{width:17px;height:17px}
.tiktok-detail-summary{display:flex;gap:24px;align-items:center;background:linear-gradient(110deg,#171b25,#241a25);border:1px solid #332734;border-radius:16px;padding:22px}
.tiktok-detail-cover{height:185px;width:132px;border-radius:10px;flex:none;overflow:hidden;display:grid;place-items:center;color:#fff9;letter-spacing:2px;font-weight:800;background:#422331}
.tiktok-detail-cover img{display:block;width:100%;height:100%;object-fit:cover}
.tiktok-detail-copy{min-width:0}
.tiktok-detail-copy h3{font-size:clamp(20px,2.4vw,30px);line-height:1.3;margin:8px 0}
.tiktok-detail-copy p{font-size:12px;line-height:1.75;color:#b7b4bd;max-width:730px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tiktok-detail-meta{display:inline-block;font-size:12px;font-weight:700;color:#f6a1aa;margin-top:8px}
.tiktok-episodes-heading{font-size:18px;margin:25px 0 0}
.tiktok-episode-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px}
.tiktok-episode{color:#eff1f5;border:1px solid #343140;border-radius:11px;background:linear-gradient(135deg,#28212e,#171a24);min-width:0;min-height:103px;display:flex;flex-direction:column;gap:7px;align-items:flex-start;justify-content:center;padding:15px;cursor:pointer;text-align:left;transition:transform .18s,border-color .18s,background .18s}
.tiktok-episode:hover{transform:translateY(-3px);border-color:#ff6475;background:linear-gradient(140deg,#58303d,#231925)}
.tiktok-episode:focus-visible,.tiktok-story:focus-visible{outline:2px solid #ff6679;outline-offset:3px}
.tiktok-episode-number{font-size:25px;font-weight:800;letter-spacing:-1px}
.tiktok-episode-caption{font-size:12px;font-weight:700}
.tiktok-episode-status{font-size:10px;color:#bd8f9b}
@media(max-width:600px){.tiktok-drama-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.tiktok-detail-summary{gap:13px;padding:12px;align-items:flex-start}.tiktok-detail-cover{height:130px;width:92px}.tiktok-detail-copy h3{font-size:19px}.tiktok-detail-copy p{font-size:11px;-webkit-line-clamp:3;line-clamp:3}.tiktok-episode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.tiktok-episode{min-height:94px;padding:12px}.tiktok-episode-number{font-size:22px}}

#tiktokResolveControls{margin-top:12px;flex-wrap:wrap}
#tiktokResolveControls[hidden]{display:none}

.tiktok-live-api-status{font-size:11px!important;display:block;color:#b8c0cf!important;line-height:1.7!important;margin:6px 0 0!important;max-width:100%!important;-webkit-line-clamp:unset!important}
.tiktok-live-api-status[hidden]{display:none!important}


.tiktok-bridge-help{margin:14px 0 0;padding:12px 14px;border:1px solid #303746;border-radius:9px;background:#101620;color:#b7c1d1;font-size:11px;line-height:1.9}
.tiktok-bridge-help b{color:#e8edf5}
.tiktok-bridge-help code{font-size:10px;color:#f4c56e;overflow-wrap:anywhere}


/* Manual TikTok Short Drama ID/route lookup */
.tiktok-id-lookup{margin:0 0 22px;padding:18px 20px;border:1px solid #2d3543;border-radius:13px;background:linear-gradient(135deg,#141a25,#10141d);display:grid;gap:12px}
.tiktok-id-lookup-copy{display:grid;gap:6px}
.tiktok-id-lookup-copy label{font-size:14px;font-weight:750;color:#f1f4fa}
.tiktok-id-lookup-copy p{margin:0;color:#a7b2c4;font-size:11px;line-height:1.8}
.tiktok-id-lookup-copy code{color:#f2ca7b;font-size:10px;overflow-wrap:anywhere}
.tiktok-id-lookup-fields{display:flex;gap:9px;min-width:0}
.tiktok-id-lookup-fields input{flex:1;min-width:0;background:#090d14;border:1px solid #333d4e;border-radius:9px;padding:12px 13px;color:#f3f5fa;font:inherit;font-size:12px;outline:none}
.tiktok-id-lookup-fields input:focus{border-color:#7f91b4;box-shadow:0 0 0 3px #7f91b422}
.tiktok-id-lookup-fields .button{flex:0 0 auto;white-space:nowrap}
.tiktok-lookup-message{font-size:11px;line-height:1.8;color:#a8b4c7;overflow-wrap:anywhere;min-height:1em}
.tiktok-lookup-message.success{color:#8be1b5}
.tiktok-lookup-message.error{color:#ff9da8}
.tiktok-id-lookup .button:disabled{opacity:.55;cursor:wait}
@media(max-width:640px){.tiktok-id-lookup{padding:14px}.tiktok-id-lookup-fields{flex-direction:column}.tiktok-id-lookup-fields .button{width:100%}}

/* Homepage shelf for stories with every catalog episode verified by real sample playback. */
.verified-stories-intro{margin:9px 0 0;color:#9ba3b1;font-size:11px;line-height:1.7;max-width:620px}
.verified-stories-count{flex:none;padding:8px 11px;border:1px solid #31574e;border-radius:999px;background:#14251f;color:#baf3da;font-size:10px;font-weight:800;letter-spacing:.4px;white-space:nowrap}
.verified-story-card .poster{border-color:#3c6257;box-shadow:inset 0 0 0 1px #b0f3d60b}
.verified-story-card .poster-pattern{font-size:64px;letter-spacing:-5px;color:#d9ffed;opacity:.12}
.verified-story-card .poster-tag{background:#14251fe8;border-color:#8de0be45;color:#c8fbe3}
.verified-story-ratio{position:absolute;right:10px;bottom:10px;z-index:3;border:1px solid #b2f0d145;border-radius:6px;background:#101c18df;padding:6px 8px;color:#c7fbe2;font-size:10px;font-weight:850;letter-spacing:.3px}
.verified-story-open{width:100%;margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #42404d;border-radius:8px;padding:10px 12px;background:#171923;color:#e8eaf1;font:inherit;font-size:11px;font-weight:750;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.verified-story-open span{color:#ff6a78;font-size:17px;line-height:1}
.verified-story-open:hover,.verified-story-open:focus-visible{outline:none;background:#281b27;border-color:#ff65758a;transform:translateY(-1px)}
@media(max-width:600px){.verified-stories-intro{max-width:280px;font-size:10px}.verified-stories-count{font-size:9px;padding:7px 9px;align-self:flex-start}.verified-story-open{font-size:10px;padding:9px 10px}}
.audit-playback-intro{margin:9px 0 0;color:#9ba3b1;font-size:11px;line-height:1.75;max-width:680px}
.audit-playback-update{flex:none;color:#8d96a6;font-size:10px;white-space:nowrap}
.audit-playback-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}
.audit-stat{min-width:0;border:1px solid #272d38;border-radius:11px;background:linear-gradient(145deg,#171b25,#10131a);padding:15px 16px;display:grid;gap:6px}
.audit-stat>span{font-size:10px;color:#9ba4b3}
.audit-stat>b{font-size:28px;line-height:1.05;font-weight:850;letter-spacing:-.7px;color:#eef0f6;font-variant-numeric:tabular-nums}
.audit-stat>small{font-size:9px;color:#778190;line-height:1.5}
.audit-stat.pass>b{color:#9be1c1}
.audit-stat.fail>b{color:#ff8992}
.audit-stat.deferred>b{color:#f1d59b}
.audit-playback-grid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:13px}
.audit-story-card{min-width:0;border:1px solid #2a303b;border-radius:12px;padding:15px;background:linear-gradient(145deg,#171b24,#10131a);display:flex;flex-direction:column;gap:10px;transition:border-color .18s,transform .18s}
.audit-story-card:hover{border-color:#454d5c;transform:translateY(-2px)}
.audit-story-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.audit-story-title{margin:0;font-size:13px;font-weight:800;line-height:1.55;overflow-wrap:anywhere;color:#f1f2f7}
.audit-story-badge{display:inline-flex;flex:none;max-width:124px;border:1px solid #3b414d;border-radius:999px;padding:5px 8px;background:#1b202a;color:#bdc5d2;font-size:9px;line-height:1.35;font-weight:800;white-space:normal;text-align:center}
.audit-story-badge.passed-all{background:#14251f;border-color:#31574e;color:#baf3da}
.audit-story-badge.playback-fail{background:#2a171d;border-color:#66303c;color:#ffabb2}
.audit-story-badge.currently-testing{background:#272216;border-color:#66542c;color:#f7d98b}
.audit-story-badge.partial-pass{background:#1d2432;border-color:#3b4b69;color:#bcd4ff}
.audit-story-badge.deferred,.audit-story-badge.unverified{background:#202129;border-color:#3a3d49;color:#b5bac5}
.audit-story-subtitle{font-size:10px;color:#87909f;line-height:1.6}
.audit-story-bar{height:5px;border-radius:999px;background:#282e39;overflow:hidden}
.audit-story-bar span{display:block;height:100%;border-radius:999px;background:#788ba8}
.audit-story-bar span.passed-all{background:#72cba7}
.audit-story-bar span.playback-fail{background:#f26778}
.audit-story-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.audit-story-number{min-width:0;padding:8px 7px;border-radius:7px;background:#0d1016;border:1px solid #242a34}
.audit-story-number b{display:block;font-size:15px;line-height:1.3;font-weight:850;font-variant-numeric:tabular-nums;color:#e9ebf1}
.audit-story-number span{display:block;margin-top:3px;font-size:9px;color:#7f8998}
.audit-story-number.pass b{color:#9be1c1}
.audit-story-number.fail b{color:#ff8992}
.audit-story-number.deferred b{color:#f1d59b}
.audit-story-open{margin-top:auto;width:100%;border:1px solid #393e4b;border-radius:8px;background:#171b24;color:#e8eaf1;padding:9px 11px;font:inherit;font-size:11px;font-weight:750;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px}
.audit-story-open:hover,.audit-story-open:focus-visible{outline:none;border-color:#ff65758a;background:#281b27}
.audit-story-open span{color:#ff6a78;font-size:17px;line-height:1}
.audit-playback-footnote{margin:16px 0 0;color:#7f8998;font-size:10px;line-height:1.8}
@media(max-width:800px){.audit-playback-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-playback-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
@media(max-width:600px){.audit-playback-intro{font-size:10px}.audit-playback-update{font-size:9px;white-space:normal;text-align:right}.audit-playback-stats{gap:8px}.audit-stat{padding:12px}.audit-stat>b{font-size:24px}.audit-playback-grid{grid-template-columns:1fr;gap:10px}.audit-story-card{padding:13px}}

/* Artwork-first story audit cards: keep the cover visible and give the metrics room. */
.audit-playback-shelf .section-head{align-items:flex-end;gap:18px;margin-bottom:18px}
.audit-playback-shelf .section-head h2{font-size:clamp(22px,2vw,29px);letter-spacing:-.7px}
.audit-playback-stats{gap:14px;margin:0 0 22px}
.audit-stat{padding:16px 18px;border-radius:13px;background:linear-gradient(145deg,#181d28,#10131a);box-shadow:0 8px 22px #00000012}
.audit-stat>b{font-size:30px}
.audit-playback-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.audit-story-card{position:relative;isolation:isolate;min-width:0;min-height:218px;display:grid;grid-template-columns:102px minmax(0,1fr);align-items:start;gap:13px;padding:12px;border:1px solid #2b3341;border-radius:15px;background:linear-gradient(145deg,#171c26,#10131a);box-shadow:0 8px 24px #00000018;transition:transform .2s,border-color .2s,box-shadow .2s}
.audit-story-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(130deg,#f45b7b0d,#8b7cf50a 65%,transparent);opacity:0;transition:opacity .2s;pointer-events:none}
.audit-story-card:hover{transform:translateY(-3px);border-color:#5a4558;box-shadow:0 13px 30px #00000030}
.audit-story-card:hover:before{opacity:1}
.audit-story-cover{position:relative;isolation:isolate;align-self:start;min-width:0;width:100%;aspect-ratio:3/4.15;overflow:hidden;border:1px solid #ffffff1d;border-radius:10px;background:#201a28;box-shadow:0 5px 15px #00000028}
.audit-story-cover-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:radial-gradient(ellipse at 25% 20%,#ad4a6844,transparent 55%),linear-gradient(145deg,#302036,#111620)}
.audit-story-cover-placeholder span{font-size:28px;font-weight:950;letter-spacing:-2px;color:#f6bdc9;opacity:.86}
.audit-story-cover-placeholder small{font-size:7px;letter-spacing:1.5px;color:#d2b4c0}
.audit-story-poster-image{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .35s,filter .3s}
.audit-story-card:hover .audit-story-poster-image{transform:scale(1.045);filter:saturate(1.08)}
.audit-story-cover:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#04050a00 45%,#05070ed9 100%);pointer-events:none}
.audit-story-cover-mark{position:absolute;z-index:3;left:7px;bottom:7px;color:#fff;font-size:8px;font-weight:850;letter-spacing:1.3px;text-shadow:0 2px 8px #000}
.audit-story-content{min-width:0;min-height:192px;display:flex;flex-direction:column;gap:8px}
.audit-story-status-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.audit-story-badge{max-width:calc(100% - 47px);padding:4px 7px;font-size:8px;letter-spacing:.1px}
.audit-story-episode-count{flex:none;font-size:8px;letter-spacing:.35px;font-weight:800;color:#aab4c4;background:#0d1118;border:1px solid #2b323f;border-radius:6px;padding:5px 6px}
.audit-story-title{margin:0;font-size:13px;font-weight:800;line-height:1.55;color:#f4f5f8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.audit-story-subtitle{min-height:31px;font-size:9px;line-height:1.6;color:#929dad;overflow-wrap:anywhere}
.audit-story-bar{height:4px;margin-top:1px;border-radius:999px;background:#29303b;overflow:hidden}
.audit-story-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.audit-story-number{padding:7px 5px;border-radius:7px;background:#0c1016;border-color:#252c37}
.audit-story-number b{font-size:14px;line-height:1.2}
.audit-story-number span{font-size:8px;line-height:1.4;overflow-wrap:anywhere}
.audit-story-open{margin-top:auto;padding:8px 9px;font-size:10px;border-radius:8px;background:#1a202a}
.audit-story-open:hover{background:#2b1d29}
.verified-story-card.partial-pass .poster{border-color:#3b4b69;box-shadow:inset 0 0 0 1px #bcd4ff0b}
.verified-story-card.partial-pass .poster-tag{background:#1d2432;border-color:#3b4b69;color:#bcd4ff}
.verified-story-card.partial-pass .verified-story-ratio{border-color:#3b4b69;background:#101722df;color:#d5e2ff}
.verified-story-card.passed-all .poster-tag{background:#14251fe8;border-color:#8de0be45;color:#c8fbe3}
.verified-story-card.partial-pass .poster{border-color:#3b4b69;box-shadow:inset 0 0 0 1px #bcd4ff0b}
.verified-story-card.partial-pass .poster-tag{background:#1d2432;border-color:#3b4b69;color:#bcd4ff}
.verified-story-card.partial-pass .verified-story-ratio{border-color:#3b4b69;background:#101722df;color:#d5e2ff}
.verified-story-card.currently-testing .poster-tag{background:#272216;border-color:#66542c;color:#f7d98b}
.verified-story-card.playback-fail .poster{border-color:#66303c}
.verified-story-card.playback-fail .poster-tag{background:#2a171d;border-color:#66303c;color:#ffabb2}
.verified-story-card.deferred .poster-tag,.verified-story-card.unverified .poster-tag{background:#202129;border-color:#3a3d49;color:#b5bac5}
.verified-story-card .poster{overflow:hidden}
.verified-story-card .poster img.verified-story-poster{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.verified-story-card .poster-pattern{z-index:1}
.verified-story-card .poster-tag,.verified-story-card .poster-mark,.verified-story-card .verified-story-ratio{z-index:3}
@media(max-width:1370px){.audit-playback-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.audit-playback-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-story-card{grid-template-columns:98px minmax(0,1fr)}}
@media(max-width:650px){.audit-playback-shelf .section-head{align-items:flex-start;flex-direction:column}.audit-playback-update{text-align:left}.audit-playback-grid{grid-template-columns:1fr;gap:11px}.audit-story-card{grid-template-columns:92px minmax(0,1fr);min-height:205px;padding:11px;gap:12px}.audit-story-cover{aspect-ratio:3/4.25}.audit-story-content{min-height:181px}.audit-story-title{font-size:13px}.audit-story-subtitle{min-height:unset}.audit-stat>b{font-size:25px}}


.tiktok-episode-status.audit-pass{color:#a3f0cf;font-weight:800}


.tiktok-bridge-status{font-size:11px;line-height:1.7;color:#a8b4c7;overflow-wrap:anywhere;margin:8px 0 12px}.tiktok-bridge-status.success{color:#8be1b5}.tiktok-bridge-status.error{color:#ff9da8}


.tiktok-bridge-panel{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.tiktok-bridge-panel .tiktok-bridge-status{flex:1;min-width:220px;margin:0}.tiktok-bridge-recheck{padding:7px 10px;font-size:10px;white-space:nowrap}


/* Curated 500-story catalog: visible on the homepage, separate from playback verification. */
.home-catalog-intro{margin:9px 0 0;color:#9ba3b1;font-size:11px;line-height:1.75;max-width:760px}
.home-catalog-count{flex:none;padding:8px 11px;border:1px solid #393447;border-radius:999px;background:#1b1724;color:#eee5ff;font-size:10px;font-weight:800;white-space:nowrap}
.home-catalog-tools{display:flex;align-items:center;gap:12px;margin:0 0 20px;flex-wrap:wrap}
.home-catalog-search-label{font-size:11px;color:#b8becc;font-weight:750}
.home-catalog-tools input{width:min(360px,100%);border:1px solid #303644;background:#11151d;color:#fff;border-radius:9px;padding:11px 13px;font:inherit;font-size:12px}
.home-catalog-tools>span{font-size:10px;color:#858d9d}
.home-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:22px 15px}
.home-catalog-card{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.home-catalog-cover{height:auto!important;aspect-ratio:3/4.25;position:relative;overflow:hidden;border-radius:11px;border:1px solid #2c303b}
.home-catalog-poster-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.home-catalog-cover .poster-pattern{z-index:1;font-size:52px;opacity:.17}
.home-catalog-status{z-index:3;background:#121722e8;border-color:#454251;color:#d3d5df}
.home-catalog-status.passed-all{background:#14251fe8;border-color:#8de0be55;color:#c8fbe3}
.home-catalog-status.partial-pass{background:#1c2636e8;border-color:#4c638c;color:#d3e3ff}
.home-catalog-status.playback-fail{background:#2b171de8;border-color:#7c3543;color:#ffadb6}
.home-catalog-status.deferred{background:#2a2516e8;border-color:#7e6834;color:#f3dfa3}
.home-catalog-status.unverified{background:#121722e8;border-color:#454251;color:#c4cad7}
.home-catalog-card .movie-title{font-size:12px;line-height:1.55;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-height:38px;margin-top:9px}
.home-catalog-episode-info{font-size:10px;line-height:1.55;min-height:30px}
.home-catalog-categories{display:flex;flex-wrap:wrap;gap:5px;min-height:21px}
.home-catalog-category{border:1px solid #333443;border-radius:999px;color:#b3b5c5;padding:3px 7px;font-size:8px;line-height:1.3}
.home-catalog-open{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:9px 10px;border:1px solid #3a303e;border-radius:8px;background:#191620;color:#ece6f2;cursor:pointer;font:inherit;font-size:10px;font-weight:800}
.home-catalog-open span{font-size:16px;color:#ff6a78}
.home-catalog-open:hover,.home-catalog-open:focus-visible{outline:none;border-color:#a74660;background:#261922}
.home-catalog-footnote{margin:16px 0 0;color:#8a92a1;font-size:10px;line-height:1.8}
.home-catalog-cover.poster-unavailable{background:#211c25}
.home-catalog-cover.poster-unavailable .poster-pattern{opacity:.2}
@media(max-width:600px){.home-catalog-intro{font-size:10px}.home-catalog-tools{align-items:flex-start;flex-direction:column}.home-catalog-tools input{width:100%}.home-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 11px}.home-catalog-card .movie-title{font-size:11px}.home-catalog-open{font-size:9px;padding:8px}}

/* Use real local cover art on the homepage, not the decorative fake-cover/play overlay. */
.home-catalog-cover.has-poster,.verified-story-cover.has-poster{background:#10131b!important}
.home-catalog-cover.has-poster:before,.home-catalog-cover.has-poster:after,.home-catalog-cover.has-poster .poster-pattern,.home-catalog-cover.has-poster .poster-mark,.verified-story-cover.has-poster:before,.verified-story-cover.has-poster:after,.verified-story-cover.has-poster .poster-pattern,.verified-story-cover.has-poster .poster-mark{display:none!important}
.home-catalog-no-poster{position:relative;z-index:1;padding:12px;color:#a8b0bf;background:#12151dbb;border:1px solid #ffffff1c;border-radius:7px;font-size:11px;text-align:center}

/* Separate language/subtitle review table */
.home-audio-subtitle-link{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #4c3947;border-radius:8px;background:#201720;color:#ffc1cd;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}.home-audio-subtitle-link:hover{background:#30202c;border-color:#8e485d;color:#fff}.home-audio-subtitle-link span{color:#ff697c;font-size:15px}
/* Public TONIX preview: keep the original site design and add safe, explicit episode handoff. */
.tonix-public-banner{display:flex;align-items:center;gap:18px;margin:22px 0 10px;padding:20px 22px;border:1px solid rgba(163,116,255,.28);border-radius:18px;background:linear-gradient(120deg,rgba(88,50,145,.34),rgba(17,19,31,.94));box-shadow:0 14px 40px rgba(0,0,0,.15)}
.tonix-public-banner-icon{flex:0 0 54px;height:54px;display:grid;place-items:center;position:relative;border-radius:16px;background:linear-gradient(135deg,#ff72be,#8555ff);color:#fff;font-size:30px;font-weight:900}
.tonix-public-banner-icon span{position:absolute;right:4px;top:2px;font-size:14px}
.tonix-public-banner-copy{flex:1;min-width:0}.tonix-public-banner-copy h2{margin:3px 0 4px;font-size:clamp(18px,2vw,23px)}.tonix-public-banner-copy p{margin:0;color:#b9bdce;font-size:13px;line-height:1.6}
.tonix-public-download-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-radius:12px;background:linear-gradient(110deg,#f45cae,#8d5cff);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap;box-shadow:0 8px 24px rgba(125,64,208,.25)}
.tonix-public-download-button:hover{filter:brightness(1.12);transform:translateY(-1px)}
.public-episode-overlay[hidden]{display:none!important}.public-episode-overlay{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,4,10,.78);backdrop-filter:blur(10px)}
.public-episode-dialog{position:relative;width:min(900px,100%);max-height:min(85vh,900px);overflow:auto;padding:26px;border:1px solid rgba(164,128,255,.32);border-radius:22px;background:#10121d;color:#f5f4ff;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.public-episode-dialog h2{margin:8px 44px 4px 0;font-size:clamp(21px,3vw,30px)}.public-episode-summary{margin:0 0 12px;color:#bfc3d5}
.public-episode-notice{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:rgba(131,98,196,.12);color:#d0c9e6;font-size:12px;line-height:1.6}
.public-episode-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid #37344a;border-radius:12px;background:#1a1b2a;color:#fff;font-size:27px;cursor:pointer}
.public-episode-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:9px}
.public-episode-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:10px 12px;border:1px solid rgba(143,117,197,.24);border-radius:10px;background:#171827;color:#eee9ff;text-decoration:none;font-size:13px;font-weight:800}
.public-episode-link span{color:#c79aff;font-size:10px;font-weight:650}.public-episode-link:hover{background:#252039;border-color:#926bdd}
.public-episode-dialog-open{overflow:hidden}
.tonix-public-banner[hidden]{display:none!important}
@media(max-width:700px){.tonix-public-banner{align-items:flex-start;flex-wrap:wrap;padding:16px}.tonix-public-banner-copy{flex:1 1 calc(100% - 78px)}.tonix-public-download-button{width:100%}.public-episode-dialog{padding:22px 16px}.public-episode-links{grid-template-columns:repeat(2,minmax(0,1fr))}.public-episode-link{padding:10px 9px}}
@media(max-width:950px){.nav-link[data-view="all"],.nav-link[data-view="series"],.nav-link[data-view="continue"],.nav-link[data-view="tiktok"],#importButton,#heroAdd{display:none!important}}
/* Public website / Android preview mode: suppress desktop-private tools that require the local Node server. */
.public-web .nav-link[data-view="all"],.public-web .nav-link[data-view="series"],.public-web .nav-link[data-view="continue"],.public-web .nav-link[data-view="tiktok"],
.public-web #importButton,.public-web #heroAdd,.public-web #collectionSection,.public-web #tiktokSection,.public-web #continueSection,
.public-web #verifiedStoriesSection,.public-web #auditPlaybackSection{display:none!important}
.is-android .nav-link[data-view="all"],.is-android .nav-link[data-view="series"],.is-android .nav-link[data-view="continue"],.is-android .nav-link[data-view="tiktok"],
.is-android #importButton,.is-android #heroAdd,.is-android #collectionSection,.is-android #tiktokSection,.is-android #continueSection,
.is-android #verifiedStoriesSection,.is-android #auditPlaybackSection{display:none!important}
.public-web .sidebar-bottom .server-card b,.is-android .sidebar-bottom .server-card b{font-size:0}
.public-web .sidebar-bottom .server-card b:after,.is-android .sidebar-bottom .server-card b:after{content:"TONIX ONLINE";font-size:11px}