/* ATF Hosting Share v1.0.1 — independent styles, no parent-plugin CSS overrides. */
.atfhs-menu-item{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;text-align:left!important;cursor:pointer!important;border:0!important;background:transparent!important;padding:10px 14px!important;font-size:13px!important;color:#e7f5ff!important;font-family:inherit!important;font-weight:600!important}
.atfhs-menu-item:hover{background:rgba(67,204,236,.12)!important;color:#67ddf3!important}
.atfhs-menu-item svg{height:17px;width:17px;stroke:#59cfe9;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.atfhs-is-dialog{overflow:hidden!important}
.atfhs-admin-overlay[hidden],.atfhs-frame-dialog[hidden],.atfhs-current-cover[hidden],#atfhs-passwrap[hidden]{display:none!important}
.atfhs-admin-overlay{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:20px;color:#ebf6ff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.atfhs-admin-backdrop{position:absolute;inset:0;background:rgba(2,6,14,.83);backdrop-filter:blur(9px)}
.atfhs-admin-dialog{position:relative;background:linear-gradient(142deg,#111e30,#0b111f 75%);border:1px solid #28445b;box-shadow:0 36px 120px #000c,0 0 72px #1d81921a;border-radius:22px;max-height:min(92vh,900px);width:min(100%,570px);overflow:auto;overscroll-behavior:contain}
.atfhs-dialog-header{display:flex;justify-content:space-between;gap:10px;padding:27px 29px 20px;border-bottom:1px solid #263448}
.atfhs-dialog-kicker{font-size:10px;letter-spacing:2.3px;color:#57d2ed;font-weight:800;margin-bottom:10px}
.atfhs-dialog-header h2{margin:0!important;font-size:27px!important;line-height:1.22!important;color:#f4f8fd!important;font-weight:750!important}
.atfhs-dialog-header p{color:#a9bad0;font-size:13px;margin:8px 0 0}
.atfhs-admin-x{width:33px;height:33px;min-width:33px;display:grid;place-items:center;border:1px solid #34445a!important;border-radius:9px!important;background:#1b2a3c!important;color:#cdd9e6!important;font-size:24px!important;cursor:pointer}
.atfhs-dialog-body{padding:24px 29px 27px}
.atfhs-field-label{display:block;color:#abbfd0;font-weight:700;letter-spacing:.5px;font-size:12px;margin-bottom:9px}
.atfhs-url-row{display:flex;align-items:stretch;gap:7px}
.atfhs-url-row input{width:100%;min-width:0;flex:1;background:#071320!important;color:#bfe9f6!important;border:1px solid #305069!important;box-shadow:none!important;border-radius:9px!important;padding:11px!important;font-size:12px!important;min-height:42px}
.atfhs-admin-overlay button{font-family:inherit;cursor:pointer}
.atfhs-admin-overlay button:disabled{opacity:.48;cursor:wait}
.atfhs-primary{background:linear-gradient(115deg,#31bedb,#36a5db)!important;border:1px solid #51cfe8!important;border-radius:9px!important;color:#061726!important;font-weight:800!important;padding:10px 15px!important;min-height:42px;white-space:nowrap}
.atfhs-primary:hover{filter:brightness(1.12)}
.atfhs-row{display:flex;gap:9px;margin-top:12px}
.atfhs-outlined{color:#cce5f2!important;border:1px solid #36516a!important;border-radius:9px!important;padding:10px 13px!important;background:#14263b!important;font-size:12px!important;font-weight:700!important;min-height:40px}
.atfhs-outlined:hover{background:#1c3850!important;border-color:#54b5d1!important}
.atfhs-danger{color:#ed9aa7!important;background:#291e2b!important;border-color:#55414d!important}
.atfhs-dialog-rule{height:1px;background:#27374b;margin:23px 0}
.atfhs-image-control{display:flex;justify-content:space-between;align-items:center;gap:15px}
.atfhs-image-control b,.atfhs-toggle-row b{display:block;font-size:13px;color:#f1f6fc}
.atfhs-image-control small,.atfhs-toggle-row small{display:block;color:#91a4b7;font-size:12px;margin-top:5px;line-height:1.4}
.atfhs-current-cover{display:flex;align-items:center;gap:13px;color:#abc1d3;font-size:12px;margin-top:14px;background:#0b1725;padding:8px;border:1px solid #273d50;border-radius:10px}
.atfhs-current-cover img{display:block;aspect-ratio:16/9;width:115px;object-fit:cover;border-radius:7px}
.atfhs-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;margin:19px 0}
.atfhs-toggle-row input{position:absolute;opacity:0;width:1px;height:1px}
.atfhs-toggle-row i{position:relative;display:block;flex:none;height:23px;width:43px;background:#354252;border-radius:60px;transition:background .15s}
.atfhs-toggle-row i:after{position:absolute;content:"";top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#f2f7fc;transition:transform .15s}
.atfhs-toggle-row input:checked+i{background:#32bfdc}
.atfhs-toggle-row input:checked+i:after{transform:translateX(20px)}
.atfhs-toggle-row input:focus-visible+i{outline:2px solid #fff;outline-offset:3px}
#atfhs-passwrap{background:#0b1725;border:1px solid #33465a;border-radius:10px;padding:13px;margin:-4px 0 14px}
#atfhs-passwrap input{width:100%;box-sizing:border-box;min-height:42px;background:#101f30!important;border:1px solid #36546c!important;color:#fff!important;border-radius:8px;padding:10px;font-size:14px}
#atfhs-passwrap small{font-size:11px;color:#8497a9;display:block;margin-top:8px}
.atfhs-dialog-message{font-size:12px;min-height:19px;margin-top:13px;color:#75e1f3}
.atfhs-dialog-footer{display:flex;justify-content:flex-end;margin-top:10px}
.atfhs-save{min-width:170px}
.atfhs-frame-dialog{position:absolute;inset:0;overflow:auto;z-index:3;padding:26px;background:#0c1523;border-radius:21px;box-sizing:border-box}
.atfhs-frame-header{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:#edf5ff}
.atfhs-frame-header button{border:1px solid #3b526b;background:#1e3046;color:#d8e7f3;border-radius:7px;padding:9px 11px}
.atfhs-frame-header b{font-size:18px}
.atfhs-frame-header span{font-size:10px;color:#73d2ea;letter-spacing:1.4px;margin-left:auto}
.atfhs-frame-dialog>p{color:#97aec2;font-size:13px;line-height:1.5;margin:18px 0}
.atfhs-frame-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.atfhs-frame-tile{border:1px solid #2d465a;background:#142439;border-radius:10px;overflow:hidden;text-align:left;padding:0;color:#d5e8f5;font-size:11px;font-weight:700}
.atfhs-frame-tile:enabled:hover{border-color:#4fd5f4;box-shadow:0 0 0 1px #4fd5f4}
.atfhs-frame-tile>span{display:block;padding:8px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atfhs-frame-thumb{aspect-ratio:16/9;display:grid;place-items:center;background:#1c3346;overflow:hidden}
.atfhs-frame-thumb img{width:100%;height:100%;object-fit:cover}
.atfhs-frame-loader{width:24px;height:24px;border:2px solid #638296;border-top-color:#42d3ea;border-radius:50%;animation:atfhs-spin 1s linear infinite}
.atfhs-frame-failed{color:#849dad;font-size:11px}
.atfhs-frame-status{margin-top:15px;color:#96bbca;font-size:12px}
@keyframes atfhs-spin{to{transform:rotate(360deg)}}
@media(max-width:540px){.atfhs-admin-overlay{padding:9px}.atfhs-admin-dialog{width:100%;max-height:96dvh;border-radius:15px}.atfhs-dialog-header{padding:19px}.atfhs-dialog-body{padding:18px}.atfhs-dialog-header h2{font-size:24px!important}.atfhs-row{flex-wrap:wrap}.atfhs-outlined{flex:1}.atfhs-frame-dialog{padding:15px}.atfhs-frame-grid{gap:7px}.atfhs-frame-header span{margin-left:0}}
/* Public share gallery */
.atfhs-public{margin:0;min-height:100vh;background:#080d17;color:#eef5fd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.atfhs-public *{box-sizing:border-box}
.atfhs-public button{font:inherit;cursor:pointer}
.atfhs-public button:focus-visible{outline:2px solid #55dafa;outline-offset:4px}
.atfhs-ambient{pointer-events:none;position:fixed;z-index:-1;width:600px;height:550px;filter:blur(85px);opacity:.27;border-radius:50%;background:#173d74}
.atfhs-ambient-1{top:-270px;right:-80px}.atfhs-ambient-2{bottom:100px;left:-350px;background:#006c91;opacity:.15}
.atfhs-header{background:#070b13dd;border-bottom:1px solid #1e2c3c;backdrop-filter:blur(20px)}
.atfhs-header-content{max-width:1416px;padding:24px 35px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:15px}
.atfhs-mark{display:flex;align-items:center;gap:19px}.atfhs-mark-logo{font-size:48px;color:#fff;font-weight:1000;font-style:italic;letter-spacing:-5px;line-height:.9;transform:skew(-10deg)}
.atfhs-brand-divider{width:1px;height:48px;background:#304355}.atfhs-mark-label{font-size:16px;font-weight:900;letter-spacing:2px;line-height:1.02;color:#fff}.atfhs-mark-label small{display:block;margin-top:7px;font-size:10px;letter-spacing:1px;font-weight:600;color:#8598ad}
.atfhs-header-right{font-size:10px;font-weight:800;letter-spacing:2.4px;color:#a5b7c9;white-space:nowrap}.atfhs-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#43d2eb;box-shadow:0 0 13px #3dd4ed;margin-right:7px;vertical-align:middle}
.atfhs-container{max-width:1416px;margin:0 auto;padding:0 35px 100px;min-height:calc(100vh - 180px)}
.atfhs-page-hero{padding:60px 0 38px}.atfhs-kicker{font-size:12px;letter-spacing:2.8px;color:#67aaff;font-weight:900;margin-bottom:17px}
.atfhs-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.atfhs-title-row h1{font-size:clamp(34px,4.5vw,64px);letter-spacing:-2.3px;font-weight:780;line-height:1.07;margin:0 0 15px}
.atfhs-title-row p{font-size:16px;color:#92a8bc;margin:0;line-height:1.5}.atfhs-collection-icon{border:1px solid #244763;border-radius:19px;display:grid;place-items:center;width:80px;height:80px;color:#55d0e7;background:linear-gradient(155deg,#1b364c,#0b1625);font-size:35px}
.atfhs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #1c2a3a;padding:23px 0 28px}
.atfhs-media-count{font-size:11px;font-weight:900;letter-spacing:1.7px;color:#9cafc5;white-space:nowrap}.atfhs-media-count b{color:#e5f4fb;font-size:14px}.atfhs-media-pulse{display:inline-block;width:7px;height:7px;background:#57d0ed;border-radius:50%;margin-right:9px;box-shadow:0 0 11px #36d2ec}
.atfhs-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px}.atfhs-view-toggle{padding:4px;background:#131d2c;border:1px solid #2a394c;border-radius:11px;display:flex;gap:3px}
.atfhs-view-toggle button{color:#9aafc5;border:0;border-radius:8px;background:transparent;min-height:34px;padding:7px 12px;font-size:12px;font-weight:700;display:flex;gap:7px;align-items:center}
.atfhs-view-toggle button.is-on{color:#e8f7fb;background:#243e54;box-shadow:0 0 0 1px #41637b}
.atfhs-download-all{display:flex;align-items:center;gap:9px;background:#1e6e89;border:1px solid #38aacc;color:#effbff;border-radius:10px;font-size:12px;font-weight:800;min-height:43px;padding:8px 15px;transition:.2s}
.atfhs-download-all:hover{background:#258dad}.atfhs-download-all svg{width:18px;height:18px}
.atfhs-library.atfhs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}
.atfhs-item{overflow:hidden;background:linear-gradient(150deg,#121e2e,#0a101c 90%);border:1px solid #26384c;border-radius:17px;min-width:0;transition:border-color .17s,transform .17s,box-shadow .17s}
.atfhs-item:hover{border-color:#40758d;transform:translateY(-2px);box-shadow:0 19px 46px #0007}
.atfhs-media-button{display:block;width:100%;padding:0;border:0;background:#172231;overflow:hidden;text-align:left}
.atfhs-thumb{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.atfhs-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.atfhs-item:hover .atfhs-thumb img{transform:scale(1.025)}
.atfhs-placeholder{font-size:13px;letter-spacing:1.8px;color:#7fa7bc;font-weight:800}
.atfhs-play-bubble{position:absolute;width:53px;height:53px;display:grid;place-items:center;padding-left:2px;color:#fff;border:1px solid #ffffff66;background:#0a1626b8;backdrop-filter:blur(8px);border-radius:50%;box-shadow:0 5px 30px #0008;font-size:18px;transition:.2s}
.atfhs-item:hover .atfhs-play-bubble{background:#238ba9;border-color:#72dcf1;transform:scale(1.08)}
.atfhs-item-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 17px 17px}
.atfhs-item-info{min-width:0;flex:1}.atfhs-item-code{color:#62a5ff;font-weight:900;font-size:10px;letter-spacing:1.7px;margin-bottom:8px}
.atfhs-item-title{font-size:14px;font-weight:760;line-height:1.42;color:#f4f7fb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atfhs-item-size{font-size:11px;color:#7e94a9;margin-top:6px}
.atfhs-item-download{width:36px;height:36px;background:#172638;border:1px solid #2b465e;border-radius:9px;color:#70d4ec;display:grid;place-items:center;flex:none}
.atfhs-item-download:hover{background:#24516a;color:#fff}.atfhs-item-download svg{width:20px;height:20px}
.atfhs-library.atfhs-list{display:flex;flex-direction:column;gap:9px}.atfhs-list .atfhs-item{display:flex;align-items:stretch;border-radius:11px;min-height:85px;transform:none}.atfhs-list .atfhs-media-button{width:142px;flex:none}.atfhs-list .atfhs-thumb{height:100%;aspect-ratio:auto;min-height:85px}.atfhs-list .atfhs-play-bubble{width:35px;height:35px;font-size:14px}.atfhs-list .atfhs-item-bottom{flex:1;padding:13px 20px}.atfhs-list .atfhs-item-size{margin-top:4px}
.atfhs-empty-state,.atfhs-error-state{padding:90px 20px;text-align:center}.atfhs-empty-state span{font-size:60px;color:#417e9b}.atfhs-empty-state h2{font-size:25px}.atfhs-empty-state p,.atfhs-error-state p{color:#93a9bb}.atfhs-error-state>span{font-size:12px;color:#58cde9;letter-spacing:2px}
.atfhs-footer{border-top:1px solid #1c2c3b;background:#070b13}.atfhs-footer-inner{max-width:1416px;margin:auto;padding:26px 35px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#8196aa;letter-spacing:1px}.atfhs-footer-inner>span:first-child{font-weight:1000;font-style:italic;font-size:16px;letter-spacing:-.2px;color:#fff}.atfhs-footer-inner b{font-size:11px;letter-spacing:1px;font-style:normal}
.atfhs-viewer[hidden]{display:none}.atfhs-viewer{position:fixed;z-index:2147483000;inset:0;display:flex;align-items:center;justify-content:center;padding:15px}.atfhs-viewer-backdrop{position:absolute;inset:0;background:#01050be8;backdrop-filter:blur(20px)}
.atfhs-viewer-panel{position:relative;display:flex;flex-direction:column;width:min(78vw,1450px);max-height:96dvh;background:linear-gradient(#142133,#080e18);border:1px solid #35546b;box-shadow:0 30px 120px #000b;border-radius:16px;overflow:hidden}
.atfhs-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px}.atfhs-viewer-title{font-weight:750;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.atfhs-viewer-close{height:39px;width:39px;flex:none;background:#21374c;border:1px solid #446078;color:#eaf7ff;font-size:28px;line-height:1;border-radius:10px}.atfhs-viewer-close:hover{background:#326078}
.atfhs-viewer-content{background:#000;display:flex;align-items:center;justify-content:center;position:relative;min-height:140px;overflow:hidden}.atfhs-viewer-content video,.atfhs-viewer-content img{display:block;max-width:100%;width:100%;max-height:75dvh;object-fit:contain;background:#000}.atfhs-viewer-content video{height:auto;aspect-ratio:16/9}
.atfhs-viewer-sub{color:#85a8bf;font-size:11px;letter-spacing:1px;padding:12px 17px}.atfhs-view-open{overflow:hidden}.atfhs-playback-error{color:#eaa5a5;padding:16px}
.atfhs-download-iframe{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0}
#atfhs-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(30px);z-index:2147483100;opacity:0;pointer-events:none;padding:13px 20px;border-radius:10px;background:#204e67;color:#e8faff;border:1px solid #4da6c8;font-size:13px;max-width:90vw;box-shadow:0 15px 30px #0008;transition:.2s}#atfhs-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.atfhs-lock-stage{width:min(100%,460px);margin:85px auto 100px;background:linear-gradient(160deg,#15253a,#0b1524);border:1px solid #29455d;border-radius:20px;box-shadow:0 35px 85px #0006;padding:42px 34px;text-align:center}.atfhs-lock-icon{font-size:60px;color:#55cce9}.atfhs-lock-stage h1{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:10px 0}.atfhs-lock-stage>p:not(.atfhs-kicker){color:#9bb3c8;font-size:14px}.atfhs-lock-stage form{margin-top:28px;text-align:left}.atfhs-lock-stage label{font-size:12px;color:#bad3df;font-weight:700;display:block;margin-bottom:9px}.atfhs-lock-stage input{background:#0b1623;border:1px solid #365167;padding:14px;color:#fff;font-size:15px;border-radius:9px;width:100%;outline-color:#51d9f4}.atfhs-lock-stage button{margin-top:13px;padding:15px;width:100%;color:#061722;background:#52cce9;border:0;border-radius:9px;font-weight:800;display:flex;justify-content:space-between}.atfhs-error-msg{color:#ff9aa8;font-size:12px;margin-top:14px}
/* Admin dashboard */
.atfhs-admin-page{max-width:1400px;margin:20px 25px 30px 0!important}.atfhs-admin-hero{background:linear-gradient(120deg,#0e1b2f,#0a1220);padding:35px;color:#f0f6ff;border-radius:14px;border:1px solid #284c69}.atfhs-admin-hero span{font-size:12px;color:#4dcfe8;letter-spacing:2px;font-weight:800}.atfhs-admin-hero h1{font-size:36px;font-weight:800;color:#fff;letter-spacing:-1px;margin:12px 0}.atfhs-admin-hero p{max-width:750px;font-size:14px;color:#a4b7c8;line-height:1.6}.atfhs-admin-stat{background:#132338;color:#cce7f6;display:flex;align-items:center;gap:16px;padding:20px 28px;margin:20px 0;border:1px solid #264459;border-radius:12px}.atfhs-admin-stat strong{font-size:27px;color:#fff}.atfhs-admin-stat span{font-size:12px;color:#97aabd;margin-right:25px}.atfhs-admin-table-wrap{overflow:auto;background:#fff;border-radius:10px}.atfhs-admin-table-wrap td,.atfhs-admin-table-wrap th{padding:13px 16px}.atfhs-admin-green{font-weight:800;color:#148d5a}
@media(max-width:1150px){.atfhs-library.atfhs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:770px){.atfhs-header-content{padding:19px 20px}.atfhs-container{padding:0 20px 65px}.atfhs-page-hero{padding:37px 0 28px}.atfhs-collection-icon{display:none}.atfhs-library.atfhs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.atfhs-toolbar{padding:19px 0 23px}.atfhs-footer-inner{padding:25px 20px}.atfhs-viewer-panel{width:96vw}.atfhs-viewer-content video,.atfhs-viewer-content img{max-height:80dvh}}
@media(max-width:520px){.atfhs-mark-logo{font-size:37px;letter-spacing:-4px}.atfhs-mark{gap:11px}.atfhs-brand-divider{height:35px}.atfhs-mark-label{font-size:12px;letter-spacing:1.3px}.atfhs-mark-label small{font-size:8px;letter-spacing:.35px}.atfhs-header-right{font-size:0;letter-spacing:0}.atfhs-live-dot{margin:0}.atfhs-container{padding:0 13px 55px}.atfhs-title-row h1{font-size:31px;letter-spacing:-1.15px;margin-bottom:9px}.atfhs-title-row p{font-size:13px}.atfhs-kicker{font-size:10px;letter-spacing:1.6px;margin-bottom:13px}.atfhs-toolbar{align-items:flex-start}.atfhs-toolbar-actions{width:100%;justify-content:space-between;gap:8px}.atfhs-view-toggle{flex:1}.atfhs-view-toggle button{justify-content:center;flex:1;padding:7px 4px}.atfhs-download-all{padding:8px 10px;white-space:nowrap}.atfhs-library.atfhs-grid{gap:9px}.atfhs-item{border-radius:11px}.atfhs-item-bottom{padding:11px 10px 12px;gap:4px}.atfhs-item-code{font-size:9px;margin-bottom:5px;letter-spacing:1px}.atfhs-item-title{font-size:11px}.atfhs-item-size{font-size:10px}.atfhs-item-download{width:27px;height:29px;border-radius:7px}.atfhs-item-download svg{height:17px;width:17px}.atfhs-play-bubble{width:38px;height:38px;font-size:14px}.atfhs-list .atfhs-media-button{width:98px}.atfhs-list .atfhs-item-bottom{padding:10px 12px}.atfhs-viewer{padding:0}.atfhs-viewer-panel{border-radius:0;width:100vw;max-height:100dvh}.atfhs-viewer-top{padding:10px 13px}.atfhs-viewer-content video,.atfhs-viewer-content img{max-height:calc(100dvh - 125px);aspect-ratio:auto}.atfhs-viewer-sub{padding-bottom:max(12px,env(safe-area-inset-bottom))}.atfhs-footer-inner{flex-wrap:wrap;gap:8px;padding:18px}.atfhs-footer-inner>span:last-child{font-size:10px}.atfhs-lock-stage{margin:45px auto;padding:29px 20px}}

.atfhs-mark-image{display:block;width:162px;height:55px;object-fit:contain;object-position:center}
@media(max-width:520px){.atfhs-mark-image{width:107px;height:39px}}

/* 1.0.1: compact folder-menu action, without touching parent UI */
.atfhs-menu-item{white-space:nowrap!important;flex-wrap:nowrap!important}
.atfhs-menu-item span{white-space:nowrap!important}
/* Accessible filename action: ellipsis until clicked; entire filename appears on screen. */
.atfhs-public .atfhs-item-title{display:block!important;max-width:100%;width:100%;padding:0;margin:0;text-align:left;background:transparent;border:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atfhs-public .atfhs-item-title:hover{color:#7fdcf1}
.atfhs-fullname[hidden]{display:none!important}
.atfhs-fullname{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2147483050;width:max-content;max-width:min(620px,calc(100vw - 34px));background:#10283e;border:1px solid #57c9e8;border-radius:13px;padding:17px 20px;color:#f6fcff;font-weight:750;font-size:15px;text-align:center;line-height:1.6;overflow-wrap:anywhere;box-shadow:0 18px 80px #000e,0 0 40px #27aacf44;pointer-events:auto}
/* New labels are mobile-only; keep desktop panel information unchanged. */
.atfhs-title-mobile,.atfhs-sub-mobile{display:none}
@media(max-width:770px){
 .atfhs-title-desktop,.atfhs-sub-desktop{display:none}
 .atfhs-title-mobile,.atfhs-sub-mobile{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .atfhs-viewer{display:flex;align-items:center;justify-content:center;padding:14px 0}
 .atfhs-viewer-panel{width:100vw;max-height:calc(100dvh - 36px);margin:auto;border-left:0;border-right:0;border-radius:0}
 .atfhs-viewer-top,.atfhs-viewer-sub{height:54px;min-height:54px;max-height:54px;box-sizing:border-box;display:flex;align-items:center;padding:0 15px}
 .atfhs-viewer-top{gap:11px}
 .atfhs-viewer-top .atfhs-viewer-title{flex:1;min-width:0;font-size:13px}
 .atfhs-viewer-close{height:35px;width:35px;border-radius:9px;font-size:24px}
 .atfhs-viewer-sub{font-size:12px;color:#9db8ca;letter-spacing:.15px;padding-bottom:0}
 .atfhs-viewer-content video,.atfhs-viewer-content img{max-height:calc(100dvh - 170px);width:100%;aspect-ratio:auto;object-fit:contain}
}
@media(max-width:520px){
 .atfhs-page-hero{padding:25px 0 22px}
 .atfhs-page-hero .atfhs-kicker{margin-bottom:10px}
 .atfhs-page-hero .atfhs-title-row h1{margin-bottom:8px}
}
/* On rotated mobile phones the viewer instantly fits the entire viewport;
   true OS fullscreen still requires a browser/user gesture on many devices. */
/* v1.0.15: only expand while the JS viewer state requests it. */
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){
 .atfhs-viewer.atfhs-landscape-full{inset:0;padding:0;align-items:stretch}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-backdrop{background:#000;backdrop-filter:none}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-panel{position:absolute;inset:0;display:block;width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;background:#000;overflow:hidden}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-content{position:absolute;inset:0;min-height:0;width:100vw;height:100dvh;z-index:1}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-content video,.atfhs-viewer.atfhs-landscape-full .atfhs-viewer-content img{display:block;width:100vw;height:100dvh;max-width:none;max-height:100dvh;object-fit:contain;aspect-ratio:auto;background:#000}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-top{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(9px,env(safe-area-inset-right));z-index:4;display:block;width:42px;height:42px;min-height:0;max-height:none;padding:0;background:transparent;border:0}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-title,.atfhs-viewer.atfhs-landscape-full .atfhs-viewer-sub{display:none!important}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-close{height:38px;width:38px;border-radius:50%;background:#102439cf;border:1px solid #8fc8e3;color:#fff;box-shadow:0 3px 18px #000b}
}

#atfhs-viewer-filename{cursor:pointer}
#atfhs-viewer-filename:hover{color:#b9ecf7}

/* ATF Hosting Share 1.0.2 — compact inline filenames, equal viewer rails. */
.atfhs-fullname[hidden]{display:none!important}
.atfhs-fullname{position:fixed!important;transform:none!important;z-index:2147483400!important;pointer-events:none!important;box-sizing:border-box!important;
 width:max-content!important;max-width:min(490px,calc(100vw - 20px))!important;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;
 color:#d7f5ff!important;text-shadow:0 1px 3px #000,0 2px 8px #000,0 2px 16px #000!important;
 font-size:11px!important;font-weight:600!important;letter-spacing:0!important;text-align:left!important;line-height:1.35!important;overflow-wrap:anywhere!important;white-space:normal!important}
.atfhs-public .atfhs-filename-trigger{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.atfhs-viewer-top,.atfhs-viewer-sub{box-sizing:border-box;height:48px;min-height:48px;max-height:48px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.atfhs-viewer-top .atfhs-viewer-title{display:block;min-width:0;flex:1;font-size:12px;font-weight:780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f3f9fe}
.atfhs-viewer-sub{padding-bottom:0!important;color:#a9c4d6;letter-spacing:0}
.atfhs-viewer-filename{display:block;width:100%;max-width:100%;background:transparent;border:0;padding:0;margin:0;text-align:left;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9c4d6;font-size:12px;font-weight:700;line-height:1.4;cursor:default}
.atfhs-viewer-filename:hover{color:#d8f5ff}
.atfhs-viewer-close{width:34px;height:34px;min-width:34px;border-radius:9px;font-size:22px}
.atfhs-poster-head{color:#75d6eb;font-size:10px;font-weight:800;letter-spacing:1.1px;margin:5px 0 10px}
.atfhs-quick-posters{margin:5px 0 18px}
.atfhs-poster-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.atfhs-poster-option{display:flex;flex-direction:column;text-align:left;border:1px solid #335268;border-radius:9px;background:#142439;color:#e4f5ff;overflow:hidden;padding:0;min-width:0}
.atfhs-poster-option img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#1b3242}
.atfhs-poster-option span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px;font-size:10px;font-weight:700}
.atfhs-poster-option:hover{border-color:#4cd5ec}
@media(max-width:770px){
 .atfhs-viewer-top,.atfhs-viewer-sub{height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 14px!important}
 .atfhs-viewer-top .atfhs-viewer-title{font-size:12px!important}
 .atfhs-viewer-content video,.atfhs-viewer-content img{max-height:calc(100dvh - 133px)}
}
@media(max-width:540px){.atfhs-poster-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-top{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(9px,env(safe-area-inset-right));z-index:4;display:block;width:42px;height:42px!important;min-height:0!important;max-height:none!important;padding:0!important;background:transparent;border:0}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-top .atfhs-viewer-title,.atfhs-viewer.atfhs-landscape-full .atfhs-viewer-sub{display:none!important}
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-content video,.atfhs-viewer.atfhs-landscape-full .atfhs-viewer-content img{max-height:100dvh!important}
}

/* 1.0.4 — branded confirmations for share regeneration and revocation */
#atfhs-confirm[hidden]{display:none!important}
#atfhs-confirm{position:absolute;inset:0;display:grid;place-items:center;z-index:11;padding:16px;isolation:isolate}
.atfhs-confirm-backdrop{position:absolute;inset:0;background:rgba(2,7,15,.84);backdrop-filter:blur(10px)}
.atfhs-confirm-card{position:relative;width:min(100%,445px);padding:28px;background:linear-gradient(151deg,#162a40 0%,#101d30 45%,#0b1423 100%);border:1px solid #36566d;border-radius:19px;box-shadow:0 24px 90px #000c,0 0 38px #1bc5dc13;color:#f2f8ff;box-sizing:border-box}
.atfhs-confirm-kicker{display:flex;align-items:center;gap:9px;color:#6cd9f3;font-size:10px;letter-spacing:2px;font-weight:900}
.atfhs-confirm-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#42d9f0;box-shadow:0 0 12px #42d9f0}
.atfhs-confirm-icon{height:49px;width:49px;display:grid;place-items:center;border:1px solid #35627a;background:#163549;color:#7ee9fb;border-radius:14px;margin:20px 0 15px;font-size:28px;font-weight:700}
.atfhs-confirm-card h3{font-size:23px!important;line-height:1.2!important;font-weight:800!important;margin:0 0 10px!important;color:#f3faff!important;letter-spacing:-.5px}
.atfhs-confirm-card p{font-size:13px!important;line-height:1.7!important;color:#b1c4d6!important;margin:0 0 26px!important}
.atfhs-confirm-buttons{display:flex;gap:10px;justify-content:flex-end}
.atfhs-confirm-buttons button{flex:1;min-width:0!important;min-height:43px!important}
.atfhs-confirm-buttons .atfhs-confirm-danger{background:linear-gradient(130deg,#c55f79,#b8425e)!important;color:#fff!important;border-color:#e4839b!important}
@media(max-width:480px){.atfhs-confirm-card{padding:22px;border-radius:15px}.atfhs-confirm-card h3{font-size:20px!important}.atfhs-confirm-buttons{flex-wrap:wrap}}

/* v1.0.5 — navigation inside the shared folder, including its descendants */
.atfhs-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;min-height:40px;padding:22px 0 0;color:#829fb6;font-size:12px}
.atfhs-breadcrumbs button{font:inherit;color:#83cce6;background:transparent;border:0;padding:6px 0;cursor:pointer}
.atfhs-breadcrumbs button:hover{color:#f0fcff}
.atfhs-breadcrumbs .atfhs-nav-back{border:1px solid #34536d;background:#142339;padding:8px 12px;border-radius:9px;margin-right:12px;color:#e2f8ff;font-weight:800}
.atfhs-crumb-separator{font-size:18px;color:#54778c}
.atfhs-crumb-current{color:#dce9f4;font-weight:700}
.atfhs-folder-section{margin:8px 0 31px}
.atfhs-folder-heading{font-size:11px;color:#85b6d0;letter-spacing:1.6px;font-weight:900;margin-bottom:14px}
.atfhs-folder-heading span{color:#4ccce7;margin-left:8px}
.atfhs-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.atfhs-child-folder{display:flex;align-items:center;text-align:left;min-width:0;gap:14px;border:1px solid #2d4862;background:linear-gradient(130deg,#142238,#0c1523);color:#eef8ff;border-radius:14px;padding:19px 18px;cursor:pointer;transition:.18s;min-height:90px}
.atfhs-child-folder:hover{background:linear-gradient(130deg,#192e48,#10243a);border-color:#50b2d2;transform:translateY(-2px);box-shadow:0 16px 32px #0005}
.atfhs-folder-icon{flex:none;width:45px;height:45px;border:1px solid #2c5c79;background:#10283d;border-radius:11px;display:grid;place-items:center;color:#54d4f2}
.atfhs-folder-icon svg{width:24px;height:24px}
.atfhs-folder-name{flex:1;min-width:0;font-size:14px;font-weight:780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atfhs-folder-arrow{flex:none;color:#76d7ec;font-size:23px}
/* Two snapshots per second: do not load video previews until desktop hover. */
.atfhs-hover-preview{position:absolute;inset:0;width:100%;height:100%;z-index:1;object-fit:cover;opacity:0;pointer-events:none;background:#111d2a;transition:opacity .14s;display:block}
.atfhs-hover-preview.is-preview-ready{opacity:1}
.atfhs-thumb .atfhs-play-bubble{z-index:2}
/* ATF mark lives above the backdrop rather than inside the player. */
.atfhs-viewer-watermark{position:absolute;z-index:2;pointer-events:none;left:clamp(20px,2.6vw,45px);top:clamp(20px,3.8vh,46px);display:flex;flex-direction:column;align-items:flex-start;gap:1px;filter:drop-shadow(0 5px 19px #0009)}
.atfhs-viewer-watermark img{display:block;width:clamp(124px,10vw,174px);height:auto;max-height:62px;object-fit:contain;object-position:left}
.atfhs-viewer-watermark span{display:block;color:#dceef9;font-size:12px;font-weight:850;letter-spacing:3.2px;margin-left:3px}
@media(max-width:770px){
 .atfhs-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .atfhs-child-folder{padding:13px 11px;min-height:75px;gap:8px}
 .atfhs-folder-name{font-size:12px}.atfhs-folder-icon{width:36px;height:36px}.atfhs-folder-icon svg{width:21px;height:21px}
 .atfhs-breadcrumbs{padding-top:13px;gap:6px;font-size:11px}
 .atfhs-breadcrumbs .atfhs-nav-back{margin-right:4px;padding:7px 9px}
 .atfhs-viewer-watermark{left:12px;top:max(18px,env(safe-area-inset-top));flex-direction:row;align-items:center;gap:9px}
 .atfhs-viewer-watermark img{width:83px;height:36px}
 .atfhs-viewer-watermark span{font-size:10px;line-height:1.3;letter-spacing:1px}
}
@media(max-width:430px){.atfhs-folder-grid{grid-template-columns:1fr}.atfhs-child-folder{min-height:68px}}
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){.atfhs-viewer.atfhs-landscape-full .atfhs-viewer-watermark{display:none!important}}
.atfhs-current-cover .atfhs-preview-check{color:#6fdbf0;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.atfhs-current-cover .atfhs-preview-check:hover{color:#fff}
.atfhs-current-cover .atfhs-preview-check{color:#6fdbf0;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.atfhs-current-cover .atfhs-preview-check:hover{color:#fff}

/* v1.0.6: viewer watermark visually balanced across desktop and mobile. */
.atfhs-viewer-watermark{gap:12px;filter:drop-shadow(0 6px 18px #000b)}
.atfhs-viewer-watermark img{width:clamp(174px,12vw,214px);max-height:85px;height:auto;object-position:left center}
.atfhs-wm-text{display:flex;flex-direction:column;gap:2px;width:clamp(174px,12vw,214px);color:#fff;font-size:15px;font-weight:820;line-height:1.06}
.atfhs-wm-word{display:flex;justify-content:space-between;width:100%;white-space:nowrap}
.atfhs-wm-word i{font-style:normal}
@media (max-width:770px){
 .atfhs-viewer-watermark{gap:12px}
 .atfhs-viewer-watermark img{width:112px;height:auto;max-height:46px}
 .atfhs-wm-text{width:96px;gap:3px;font-size:11px;line-height:1.12}
}
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){.atfhs-viewer.atfhs-landscape-full .atfhs-viewer-watermark{display:none!important}}
/* Keep the original compact Unlock button; only its label has changed. */
.atfhs-lock-stage button{font-weight:600}
.atfhs-lock-stage button span{font-size:19px;line-height:1;font-weight:400}


/* 1.0.7 — explicit specificity: the old broad span selector had overridden
   display:flex on VIDEO and HOSTING, making the caption narrow and tiny. */
@media (min-width:771px) {
 .atfhs-viewer-watermark {gap:14px!important;align-items:flex-start!important}
 .atfhs-viewer-watermark img {width:clamp(215px,15vw,250px)!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
 .atfhs-viewer-watermark .atfhs-wm-text {width:clamp(215px,15vw,250px)!important;max-width:none!important;gap:5px!important;line-height:1.15!important}
 .atfhs-viewer-watermark .atfhs-wm-word {display:flex!important;width:100%!important;justify-content:space-between!important;align-items:center!important;letter-spacing:0!important;margin:0!important;font-size:17px!important;line-height:1.12!important;color:#fff!important;font-weight:850!important}
 .atfhs-viewer-watermark .atfhs-wm-word i {display:block!important;font-style:normal!important;letter-spacing:0!important}
}
@media (max-width:770px) {
 .atfhs-viewer-watermark{gap:12px!important;align-items:center!important}
 .atfhs-viewer-watermark img{width:132px!important;max-height:none!important;height:auto!important;object-fit:contain!important}
 .atfhs-viewer-watermark .atfhs-wm-text{width:115px!important;gap:4px!important;line-height:1.15!important}
 .atfhs-viewer-watermark .atfhs-wm-word{display:flex!important;justify-content:space-between!important;width:100%!important;font-size:12px!important;letter-spacing:0!important;margin:0!important;color:#fff!important}
 .atfhs-viewer-watermark .atfhs-wm-word i{font-style:normal!important;letter-spacing:0!important}
}
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){.atfhs-viewer.atfhs-landscape-full .atfhs-viewer-watermark{display:none!important}}

/* 1.0.9 — Desktop overlay brand only. Keep the words intact in ONE row.
   JavaScript measures the actual ATF logo width and sets just enough normal
   letter spacing to match it; no word splitting or text stretching. */
.atfhs-wm-desktop{display:none!important}
@media (min-width:771px) {
  .atfhs-viewer-watermark {gap:15px!important}
  .atfhs-viewer-watermark .atfhs-wm-text {
    display:block!important; width:clamp(215px,15vw,250px)!important;
    max-width:none!important; margin:0!important; padding:0!important;
    line-height:1.12!important;
  }
  .atfhs-viewer-watermark .atfhs-wm-text .atfhs-wm-word{display:none!important}
  .atfhs-viewer-watermark .atfhs-wm-desktop{
    display:inline-block!important; width:max-content!important;
    color:#fff!important; font-family:inherit!important;
    font-size:23px!important; font-weight:750!important;
    font-style:normal!important; letter-spacing:var(--atfhs-brand-tracking, 0px)!important;
    word-spacing:0!important; line-height:1.12!important; white-space:nowrap!important;
    text-transform:none!important; margin:0!important; padding:0!important;
  }
}
.atfhs-preview-diagnosis[hidden]{display:none!important}
.atfhs-preview-diagnosis{white-space:pre-line;margin-top:9px;background:#0a1a29;border:1px solid #2e4b60;border-radius:9px;padding:12px;color:#b8e0ef;font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.atfhs-current-cover button.atfhs-preview-check{padding:0;border:0;background:transparent;cursor:pointer;color:#62d8f4;text-decoration:underline;font-size:11px}

/* 1.0.10 — precise lockup dimensions. These selectors affect the VIDEO VIEWER
   branding only; no changes to the public gallery/header/hosting application. */
@media (min-width:771px){
 .atfhs-viewer-watermark .atfhs-wm-desktop{
  font-kerning:normal!important;
  letter-spacing:var(--atfhs-brand-tracking, 0px)!important;
  white-space:nowrap!important;
 }
}
@media (max-width:770px){
 /* Scale the entire mobile lockup down approximately 10%, not the player. */
 .atfhs-viewer-watermark{gap:9px!important}
 .atfhs-viewer-watermark img{width:119px!important;max-height:none!important;height:auto!important}
 .atfhs-viewer-watermark .atfhs-wm-text{width:104px!important;gap:4px!important;line-height:1.16!important}
 .atfhs-viewer-watermark .atfhs-wm-word{
  display:flex!important;width:auto!important;justify-content:flex-start!important;
  column-gap:2px!important;font-size:11px!important;letter-spacing:0!important;
  white-space:nowrap!important;
 }
 .atfhs-viewer-watermark .atfhs-wm-word i{display:block!important;letter-spacing:0!important}
}
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){
 .atfhs-viewer.atfhs-landscape-full .atfhs-viewer-watermark{display:none!important}
}

/* v1.0.13: mathematically centered Share dialog close icon (desktop + mobile). */
.atfhs-admin-overlay .atfhs-admin-x{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 33px!important;width:33px!important;min-width:33px!important;height:33px!important;min-height:33px!important;margin:0!important;padding:0!important;line-height:0!important;text-align:center!important}
.atfhs-admin-overlay .atfhs-admin-x svg{display:block!important;width:16px!important;height:16px!important;max-width:none!important;max-height:none!important;flex:none!important;overflow:visible}

/* The preview/player X uses the same centered vector as the Share dialog X. */
.atfhs-viewer-close{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;line-height:0!important;text-align:center!important}
.atfhs-viewer-close svg{display:block!important;width:15px!important;height:15px!important;flex:none!important}

/* Original-video download disclosure — additive, confined to ATF Share. */
.atfhs-original-confirm{position:fixed;inset:0;z-index:2147483646;background:rgba(3,9,18,.82);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(9px)}
.atfhs-original-confirm-box{background:#101e2c;border:1px solid #315669;border-radius:16px;color:#eef8ff;padding:24px;width:min(100%,460px);box-shadow:0 24px 90px rgba(0,0,0,.55)}
.atfhs-original-confirm-box h3{margin:0 0 15px;color:#fff;font-size:18px;font-weight:700}
.atfhs-original-confirm-box p{margin:0 0 22px;color:#b9cbd9;font-size:14px;line-height:1.65}
.atfhs-original-confirm-box strong{color:#fff}
.atfhs-original-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.atfhs-original-confirm-actions button{appearance:none;border:1px solid #35566c;border-radius:9px;padding:10px 14px;background:#183044;color:#e9f9ff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600}
.atfhs-original-confirm-actions button:last-child{background:#17a6cc;color:#051924;border-color:#17a6cc}


/* v1.0.15 — poster remains bright while the native media element buffers. */
.atfhs-video-loading{position:absolute;inset:0;z-index:2;display:block;background:#000;pointer-events:none;overflow:hidden;opacity:1;transition:opacity .18s ease}
.atfhs-video-loading.is-hidden{opacity:0;visibility:hidden}
.atfhs-viewer-content .atfhs-video-cover{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;opacity:1!important;filter:none!important;background:#000!important}
.atfhs-video-progress{position:absolute;left:0;right:0;bottom:0;height:3px;overflow:hidden;background:rgba(65,123,153,.25)}
.atfhs-video-progress::before{content:"";display:block;width:35%;height:100%;background:#55cde9;box-shadow:0 0 12px rgba(76,209,236,.55);animation:atfhs-loading 1.35s ease-in-out infinite}
@keyframes atfhs-loading{0%{transform:translateX(-105%)}100%{transform:translateX(390%)}}
.atfhs-viewer-content.atfhs-video-waiting::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#55cde9a8;z-index:3;animation:atfhs-buffer-pulse 1.5s ease-in-out infinite;pointer-events:none}
@keyframes atfhs-buffer-pulse{0%,100%{opacity:.16}50%{opacity:.75}}
.atfhs-video-loading .atfhs-start-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;border:1px solid #8dd7eb;background:#10273be8;color:#f3fbff;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;padding:13px 20px;border-radius:11px;z-index:3;white-space:nowrap}
.atfhs-fullscreen-toggle{display:none;cursor:pointer;align-items:center;justify-content:center;border:1px solid #8fc8e3;color:#fff;background:#102439dc;border-radius:50%;width:38px;height:38px;padding:0}
.atfhs-fullscreen-toggle svg{display:block;width:19px;height:19px;flex:none}
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){
 .atfhs-viewer.atfhs-landscape-full .atfhs-fullscreen-toggle{display:flex!important;position:absolute;top:0;right:49px;z-index:5}
}
@media (prefers-reduced-motion:reduce){.atfhs-video-progress::before,.atfhs-viewer-content.atfhs-video-waiting::after{animation:none}}


/* v1.0.16 — full-width scrubber, separate compact time row. */
.atfhs-viewer.atfhs-video-player .atfhs-fullscreen-toggle{display:none!important}
.atfhs-player-controls{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;flex-direction:column;gap:0;padding:24px max(12px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));color:#f7fcff;background:linear-gradient(transparent 0%,rgba(0,0,0,.64) 35%,rgba(0,0,0,.91) 100%);pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.atfhs-player-controls button{appearance:none;-webkit-appearance:none;display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;margin:0;padding:7px;border:0;border-radius:8px;background:transparent;color:#f7fcff;cursor:pointer}
.atfhs-player-controls button:active{background:#ffffff24}
.atfhs-player-controls button:hover{background:#ffffff1b}
.atfhs-player-controls svg{display:block;width:22px;height:22px;fill:currentColor;stroke:none;pointer-events:none}
.atfhs-player-controls .atfhs-icon-play{display:block}
.atfhs-player-controls .atfhs-icon-pause{display:none}
.atfhs-player-controls.atfhs-is-playing .atfhs-icon-play{display:none}
.atfhs-player-controls.atfhs-is-playing .atfhs-icon-pause{display:block}
.atfhs-player-controls .atfhs-player-buttons{display:flex;align-items:center;gap:3px;min-width:0;height:39px}
.atfhs-player-controls .atfhs-player-spacer{flex:1;min-width:0}
.atfhs-player-controls .atfhs-player-clock{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;letter-spacing:.1px;color:#eef8fd;margin-left:6px}
.atfhs-player-controls .atfhs-clock-divider{color:#8a9fac}
.atfhs-player-controls .atfhs-seek-row{height:29px;display:flex;align-items:center;width:100%;min-width:0}
.atfhs-player-controls .atfhs-seek{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:28px;background:transparent;cursor:pointer;margin:0;padding:0;border:0;outline-offset:2px;touch-action:none;--atfhs-progress:0%}
.atfhs-player-controls .atfhs-seek::-webkit-slider-runnable-track{height:6px;border-radius:7px;background:linear-gradient(to right,#39bfe8 0 var(--atfhs-progress),#ffffff70 var(--atfhs-progress) 100%)}
.atfhs-player-controls .atfhs-seek::-moz-range-track{height:6px;border-radius:7px;background:#ffffff70}
.atfhs-player-controls .atfhs-seek::-moz-range-progress{height:6px;border-radius:7px;background:#39bfe8}
.atfhs-player-controls .atfhs-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:17px;height:17px;margin-top:-5.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #42c8eb52}
.atfhs-player-controls .atfhs-seek::-moz-range-thumb{width:15px;height:15px;border-radius:50%;border:1px solid #fff;background:#fff}
.atfhs-player-controls .atfhs-seek:disabled{opacity:.45;cursor:wait}
.atfhs-player-controls .atfhs-muted-cross{display:none}
.atfhs-player-controls .atfhs-mute-toggle.is-muted .atfhs-muted-cross{display:block}
.atfhs-player-controls .atfhs-mute-toggle.is-muted .atfhs-volume-wave{display:none}
.atfhs-player-controls .atfhs-volume{width:62px;flex:0 0 62px;height:20px;accent-color:#42c8eb;cursor:pointer}
.atfhs-player-controls .atfhs-player-fullscreen svg{fill:none;stroke:currentColor}
.atfhs-viewer-content video{cursor:pointer}
@media(hover:none),(pointer:coarse){.atfhs-player-controls .atfhs-volume{display:none}}
@media(max-width:400px){
 .atfhs-player-controls{padding-left:8px;padding-right:8px}
 .atfhs-player-controls button{flex-basis:34px;width:34px}
 .atfhs-player-controls .atfhs-player-buttons{gap:0}
 .atfhs-player-controls .atfhs-player-clock{margin-left:3px;font-size:11px}
}
@media (orientation:landscape) and (max-height:720px) and (pointer:coarse){
 .atfhs-viewer.atfhs-landscape-full .atfhs-player-controls{padding-bottom:max(9px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
}
/* The JS may force portrait layout before CSS's media query updates after
   fullscreen orientation is held by the browser; don't keep expanded styles. */
.atfhs-viewer:not(.atfhs-landscape-full) .atfhs-player-controls{bottom:0}

/* On narrow portrait screens keep controls below the video, not over the picture. */
@media (max-width:770px) and (orientation:portrait){
 .atfhs-viewer.atfhs-video-player:not(.atfhs-landscape-full) .atfhs-viewer-content{display:flex;flex-direction:column}
 .atfhs-viewer.atfhs-video-player:not(.atfhs-landscape-full) .atfhs-player-controls{position:relative;inset:auto;width:100%;padding:5px 9px max(8px,env(safe-area-inset-bottom));background:#02080e}
 .atfhs-viewer.atfhs-video-player:not(.atfhs-landscape-full) .atfhs-viewer-content video{max-height:calc(100dvh - 194px)}
 .atfhs-viewer.atfhs-video-player:not(.atfhs-landscape-full) .atfhs-video-loading{bottom:88px}
}

/* v1.0.18 — rotated phone fullscreen: auto-hide the ATF seek and action row.
   Non-fullscreen / portrait video keeps the existing always-visible controls. */
@media (pointer:coarse){
 .atfhs-viewer.atfhs-video-player.atfhs-landscape-full .atfhs-player-controls{
  bottom:max(5px,env(safe-area-inset-bottom));
  transition:opacity .16s ease,transform .16s ease,visibility 0s;
 }
 .atfhs-viewer.atfhs-video-player.atfhs-landscape-full.atfhs-fs-controls-hidden .atfhs-player-controls{
  opacity:0;transform:translateY(10px);visibility:hidden;pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
 }
}

/* v1.0.20 — neutral Library-style interactive previews and live Player Settings halo. */
.atfhs-public .atfhs-item{border:1px solid rgba(255,255,255,.22);background:linear-gradient(150deg,#121e2e,#0a101c 90%);box-shadow:none;transform:none!important;overflow:visible;isolation:isolate}
.atfhs-public .atfhs-item .atfhs-thumb{border-radius:16px 16px 0 0;isolation:isolate}
.atfhs-public .atfhs-item .atfhs-thumb::after{content:"";position:absolute;inset:0;background:rgba(5,9,14,.05);z-index:2;pointer-events:none;transition:opacity .18s ease}
.atfhs-public .atfhs-item .atfhs-media-button{border-radius:16px 16px 0 0}
.atfhs-public .atfhs-item .atfhs-thumb img{transform:none!important}
@media(hover:hover) and (pointer:fine){.atfhs-public .atfhs-item:hover .atfhs-thumb::after{opacity:0}}
.atfhs-public .atfhs-item.is-touch-preview .atfhs-thumb::after{opacity:0}
.atfhs-public .atfhs-item .atfhs-hover-preview{z-index:1;background:transparent}
.atfhs-public .atfhs-item .atfhs-item-bottom{background:transparent;border-radius:0 0 16px 16px}
.atfhs-public .atfhs-child-folder{box-shadow:none;transform:none!important;border:1px solid rgba(255,255,255,.22);background:linear-gradient(145deg,rgba(18,28,43,.9),rgba(8,14,24,.94))}
.atfhs-public .atfhs-child-folder:hover{background:linear-gradient(145deg,rgba(18,28,43,.9),rgba(8,14,24,.94));border-color:#89939e}
.atfhs-public .atfhs-play-bubble{display:none!important}
.atfhs-public .atfhs-play-stream{display:flex;align-items:center;gap:7px;padding:4px 0;border:0;background:transparent;color:#eef5fc;font-size:13px;font-weight:800;cursor:pointer;margin-top:5px}
.atfhs-public .atfhs-play-stream span{border:1.5px solid #b8d7f1;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:16px;line-height:1}
.atfhs-public .atfhs-play-stream:hover{color:#fff}
.atfhs-public .atfhs-card-more{position:relative;align-self:flex-start;margin-left:auto;flex:none;z-index:15}
.atfhs-public .atfhs-more-trigger{width:31px;height:30px;display:grid;place-items:center;background:#19283a;border:1px solid #304459;border-radius:8px;color:#c6d9ea;cursor:pointer;font-weight:800;letter-spacing:1px}
.atfhs-public .atfhs-more-menu{position:absolute;z-index:60;right:0;top:calc(100% + 4px);min-width:168px;background:#0c1420;border:1px solid #34465c;border-radius:10px;padding:5px;box-shadow:0 14px 35px #000c}
.atfhs-public .atfhs-more-menu[hidden]{display:none!important}
.atfhs-public .atfhs-more-menu button{border:0!important;display:block;background:transparent!important;color:#eef4fb!important;width:100%;padding:11px;text-align:left;font-size:12px;font-weight:750;cursor:pointer;border-radius:7px}
.atfhs-public .atfhs-more-menu button:hover{background:#23364e!important}
.atfhs-public .atfhs-item:has(.atfhs-more-menu:not([hidden])){z-index:50}
.atfhs-public .atfhs-item.atfhs-is-hls .atfhs-item-info{min-width:0}
.atfhs-public .atfhs-item:focus-within{z-index:51}
.atfhs-copy-ok{background:#2f8766!important;color:#fff!important;border-color:#54d9ab!important;transform:scale(.96);box-shadow:0 0 0 3px #4ad6a055!important}
.atfhs-copy-error{background:#85323c!important;color:#fff!important;border-color:#df6676!important;transform:scale(.96)}
#atfhs-copy{transition:background-color .15s,transform .15s,box-shadow .15s}
@media(pointer:coarse){.atfhs-public .atfhs-item,.atfhs-public .atfhs-item *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent!important}}

#atfhs-vod-row[hidden]{display:none!important}


/* v1.0.22 — restore original Share page aesthetic. Only media cards have Player Settings glow. */
.atfhs-public .atfhs-child-folder,
.atfhs-public .atfhs-child-folder:hover,
.atfhs-public .atfhs-child-folder.is-touch-preview{
  box-shadow:none!important;transform:none!important;
  border:1px solid #2d4862!important;
}
.atfhs-public .atfhs-child-folder{background:linear-gradient(130deg,#142238,#0c1523)!important;}
.atfhs-public .atfhs-child-folder:hover,
.atfhs-public .atfhs-child-folder:focus-visible,
.atfhs-public .atfhs-child-folder.is-touch-preview{
  background:linear-gradient(130deg,#192c42,#112135)!important;
}
/* Give large desktop monitors useful card widths; always four desktop columns. */
.atfhs-public .atfhs-container,
.atfhs-public .atfhs-header-content,
.atfhs-public .atfhs-footer-inner{max-width:1760px;}
.atfhs-public .atfhs-page-hero{padding-top:31px;padding-bottom:27px;}
.atfhs-public .atfhs-folder-section{margin-top:8px;margin-bottom:22px;}
.atfhs-public .atfhs-library.atfhs-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;
}
/* The main Library HLS card proportions, not a different Share-card theme. */
.atfhs-public .atfhs-item{min-width:0;max-width:100%;border-radius:16px;overflow:hidden;}
.atfhs-public .atfhs-item .atfhs-media-button,
.atfhs-public .atfhs-item .atfhs-thumb{border-radius:15px 15px 0 0;overflow:hidden;}
.atfhs-public .atfhs-item .atfhs-item-bottom{
  min-width:0;align-items:center;border-radius:0 0 15px 15px;
}
.atfhs-public .atfhs-card-topline{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-width:0;min-height:24px;margin-bottom:6px;
}
.atfhs-public .atfhs-card-topline .atfhs-item-code{
  margin:0;font-size:10px;font-weight:900;letter-spacing:.08em;color:#6dacff;
}
.atfhs-public .atfhs-card-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;min-width:0;}
.atfhs-public .atfhs-card-title-row .atfhs-item-title{
  display:block;width:auto;min-width:0;max-width:100%;flex:0 1 auto;
  font-size:14px;font-weight:750;line-height:1.4;color:#edf2f7;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.atfhs-public .atfhs-recording-date{
  color:#98a8c1;font-size:11px;line-height:1.4;font-weight:500;
  white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
.atfhs-public .atfhs-hls-duration{color:#75849a;font-size:10px;line-height:1.4;margin-top:2px;}
.atfhs-public .atfhs-play-stream{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;
  min-height:32px;margin:3px 0 0;padding:2px 0;
  border:0!important;background:transparent!important;
  color:#f5f9ff;font-size:17px;font-weight:800;line-height:1.2;white-space:nowrap;
}
.atfhs-public .atfhs-play-stream svg{
  display:block;flex:none;width:30px;height:30px;stroke:#92c7ff;fill:none;
}
.atfhs-public .atfhs-play-stream>span{
  display:inline!important;width:auto!important;height:auto!important;border:0!important;
  font-size:inherit!important;line-height:inherit!important;
}
.atfhs-public .atfhs-play-stream:hover{color:#8bc5ff;}
.atfhs-public .atfhs-hls-disclaimer{
  margin:4px 0 0;font-size:10px;line-height:1.35;color:#97a4b7;overflow-wrap:anywhere;
}
/* No box around the ellipsis. Its VOD menu still works. */
.atfhs-public .atfhs-card-more{position:relative;display:block;flex:0 0 auto;margin:0;align-self:center;z-index:15;}
.atfhs-public .atfhs-more-trigger,
.atfhs-public .atfhs-more-trigger:hover,
.atfhs-public .atfhs-more-trigger:active{
  display:grid;place-items:center;width:28px;height:26px;min-width:28px;
  margin:0;padding:3px;border:0!important;background:transparent!important;
  border-radius:7px;box-shadow:none!important;color:#8ea5bd;
}
.atfhs-public .atfhs-more-trigger svg{display:block;width:18px;height:18px;fill:#8ea5bd;stroke:none;}
.atfhs-public .atfhs-more-trigger:hover svg,
.atfhs-public .atfhs-more-trigger[aria-expanded="true"] svg{fill:#c7e9ff;}
.atfhs-public .atfhs-item:has(.atfhs-more-menu:not([hidden])){overflow:visible;z-index:50;}
.atfhs-public .atfhs-item-info{min-width:0;}
/* In List mode the thumbnail must not stick out of its rounded list row. */
.atfhs-public .atfhs-library.atfhs-list{width:100%;min-width:0;max-width:100%;}
.atfhs-public .atfhs-library.atfhs-list .atfhs-item{
  display:flex;width:100%;min-width:0;max-width:100%;
  align-items:stretch;overflow:hidden;border-radius:12px;
}
.atfhs-public .atfhs-library.atfhs-list .atfhs-media-button{
  display:block;flex:0 0 clamp(104px,16vw,220px);
  width:clamp(104px,16vw,220px);min-width:0;
  align-self:stretch;overflow:hidden;border-radius:11px 0 0 11px;
}
.atfhs-public .atfhs-library.atfhs-list .atfhs-thumb{
  width:100%;height:100%;min-height:86px;aspect-ratio:auto;
  border-radius:11px 0 0 11px;
}
.atfhs-public .atfhs-library.atfhs-list .atfhs-thumb img,
.atfhs-public .atfhs-library.atfhs-list .atfhs-thumb video{border-radius:11px 0 0 11px;}
.atfhs-public .atfhs-library.atfhs-list .atfhs-item-bottom{
  display:flex;flex:1 1 0;min-width:0;width:0;padding:12px 17px;
  border-radius:0 11px 11px 0;
}
.atfhs-public .atfhs-library.atfhs-list .atfhs-item-info{min-width:0;overflow:hidden;}
.atfhs-public .atfhs-library.atfhs-list .atfhs-item-title{max-width:100%;}
.atfhs-public .atfhs-library.atfhs-list .atfhs-card-title-row{max-width:100%;}
.atfhs-public .atfhs-library.atfhs-list .atfhs-hls-disclaimer{display:none;}
.atfhs-public .atfhs-library.atfhs-list .atfhs-play-stream{font-size:14px;min-height:25px;}
.atfhs-public .atfhs-library.atfhs-list .atfhs-play-stream svg{width:24px;height:24px;}
/* Open action menu may extend outside a list row, but only while open. */
.atfhs-public .atfhs-library.atfhs-list .atfhs-item:has(.atfhs-more-menu:not([hidden])){overflow:visible;}
/* Tablets and phones retain the historic compact two-column layout. */
@media(max-width:770px){
  .atfhs-public .atfhs-library.atfhs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .atfhs-public .atfhs-page-hero{padding-top:24px;padding-bottom:21px;}
}
@media(max-width:520px){
  html,body.atfhs-public{max-width:100%;overflow-x:clip;}
  .atfhs-public .atfhs-header-content,
  .atfhs-public .atfhs-container,
  .atfhs-public .atfhs-footer-inner{min-width:0;}
  .atfhs-public .atfhs-library.atfhs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  /* Exactly one media item fills the phone; 2+ always stay side by side. */
  .atfhs-public .atfhs-library.atfhs-grid.atfhs-single-item{grid-template-columns:minmax(0,1fr);}
  .atfhs-public .atfhs-item{width:100%;max-width:100%;min-width:0;border-radius:11px;}
  .atfhs-public .atfhs-item .atfhs-media-button,
  .atfhs-public .atfhs-item .atfhs-thumb{border-radius:10px 10px 0 0;}
  .atfhs-public .atfhs-item .atfhs-item-bottom{padding:11px 10px 12px;border-radius:0 0 10px 10px;}
  .atfhs-public .atfhs-card-topline{min-height:19px;margin-bottom:4px;}
  .atfhs-public .atfhs-card-title-row .atfhs-item-title{font-size:11px;}
  .atfhs-public .atfhs-recording-date{font-size:9px;}
  .atfhs-public .atfhs-play-stream{gap:5px;font-size:12px;min-height:27px;padding:1px 0;}
  .atfhs-public .atfhs-play-stream svg{width:24px;height:24px;}
  .atfhs-public .atfhs-hls-disclaimer{font-size:9px;}
  .atfhs-public .atfhs-single-item .atfhs-play-stream{font-size:17px;gap:9px;min-height:32px;}
  .atfhs-public .atfhs-single-item .atfhs-play-stream svg{width:30px;height:30px;}
  .atfhs-public .atfhs-single-item .atfhs-card-title-row .atfhs-item-title{font-size:14px;}
  .atfhs-public .atfhs-single-item .atfhs-item-bottom{padding:14px 15px;}
  .atfhs-public .atfhs-library.atfhs-list .atfhs-media-button{flex-basis:96px;width:96px;}
  .atfhs-public .atfhs-library.atfhs-list .atfhs-thumb{min-height:80px;}
  .atfhs-public .atfhs-library.atfhs-list .atfhs-item-bottom{
    padding:9px 10px;min-width:0;
  }
  .atfhs-public .atfhs-library.atfhs-list .atfhs-item-title{font-size:11px;}
  .atfhs-public .atfhs-library.atfhs-list .atfhs-play-stream{font-size:12px;}
  .atfhs-public .atfhs-library.atfhs-list .atfhs-play-stream svg{width:20px;height:20px;}
  .atfhs-public .atfhs-library.atfhs-list .atfhs-recording-date{display:none;}
}


/* ATF Hosting Share v1.0.31 — manual fullscreen latch.
   The class is never removed by resize/orientation; only an explicit exit does.
   CSS media queries adapt panel geometry WITHOUT resetting fullscreen state. */
.atfhs-fullscreen-fallback[hidden]{display:none!important}
.atfhs-fullscreen-fallback{position:absolute;inset:0;z-index:2147483090;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px;box-sizing:border-box;background:rgba(2,5,10,.96);color:#fff}
.atfhs-fullscreen-fallback h2{color:#fff;font-size:clamp(20px,3.4vw,29px);letter-spacing:1.8px;margin:0;font-weight:800}
.atfhs-fullscreen-fallback p{color:#cbd0d6;font-size:clamp(12px,2vw,16px);margin:4px 0 7px}
.atfhs-fullscreen-fallback .atfhs-fallback-enter{font:inherit;font-size:clamp(12px,2vw,16px);letter-spacing:1px;font-weight:750;color:#fff;background:rgba(0,0,0,.72);border:1px solid #8a969f;border-radius:12px;padding:14px 23px;cursor:pointer;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;outline:0;touch-action:manipulation}
.atfhs-fullscreen-fallback button:focus-visible,.atfhs-player-fullscreen:focus-visible{outline:2px solid #71dff2;outline-offset:2px}
@media (pointer:coarse){
 .atfhs-viewer.atfhs-manual-theater{position:fixed!important;inset:0!important;width:100dvw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;display:block!important;background:#000!important}
 .atfhs-viewer.atfhs-manual-theater .atfhs-viewer-backdrop{background:#000!important;backdrop-filter:none!important}
 .atfhs-viewer.atfhs-manual-theater .atfhs-viewer-panel{position:absolute!important;inset:auto!important;margin:0!important;padding:0!important;display:block!important;max-width:none!important;max-height:none!important;min-height:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#000!important;box-shadow:none!important;transform-origin:0 0!important}
 .atfhs-viewer.atfhs-manual-theater .atfhs-viewer-top,.atfhs-viewer.atfhs-manual-theater .atfhs-viewer-sub,.atfhs-viewer.atfhs-manual-theater .atfhs-viewer-watermark{display:none!important}
 .atfhs-viewer.atfhs-manual-theater .atfhs-viewer-content{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;background:#000!important;overflow:hidden!important}
 .atfhs-viewer.atfhs-manual-theater .atfhs-viewer-content video,.atfhs-viewer.atfhs-manual-theater .atfhs-viewer-content img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;aspect-ratio:auto!important;background:#000!important}
 .atfhs-viewer.atfhs-manual-theater .atfhs-player-controls{position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;padding:19px 14px max(9px,env(safe-area-inset-bottom))!important;background:linear-gradient(transparent,rgba(0,0,0,.90))!important;z-index:5!important}
 .atfhs-viewer.atfhs-manual-theater.atfhs-fs-controls-hidden .atfhs-player-controls{opacity:0!important;transform:translateY(10px);visibility:hidden;pointer-events:none}
}
/* Portrait: rotate ONLY the video panel 90°, not the page or app. */
@media (pointer:coarse) and (orientation:portrait){
 .atfhs-viewer.atfhs-manual-theater .atfhs-viewer-panel{left:100dvw!important;top:0!important;width:100dvh!important;height:100dvw!important;transform:rotate(90deg)!important}
}
/* Landscape: the same fullscreen session remains latched, with no JS reset. */
@media (pointer:coarse) and (orientation:landscape){
 .atfhs-viewer.atfhs-manual-theater .atfhs-viewer-panel{left:0!important;top:0!important;width:100dvw!important;height:100dvh!important;transform:none!important}
}
