/* ChunjoTV art direction v2. Local preview only. Existing player/chat logic stays intact. */
:root{--bg:#111210;--surface:#1a1b17;--raised:#23251f;--line:#34372d;--text:#f2efe5;--muted:#9c9e8e;--accent:#dfb265;--accent-ink:#e6bf7d;--tint:#dfb26512;--shadow:0 20px 60px #0003;color-scheme:dark}
body{background:#111210!important;background-image:none!important;color:var(--text);font-family:Inter,'Segoe UI',Arial,sans-serif;overflow-x:clip}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
a,button{transition:background .18s,border-color .18s,color .18s,box-shadow .18s}
a:focus-visible,button:focus-visible{outline:2px solid #e6bf7d;outline-offset:4px}
.site-header{height:76px;background:#141510!important;border-bottom:1px solid #d7b97920;box-shadow:none;z-index:20}
.header-inner{max-width:1600px!important;padding:0 40px!important;gap:42px!important}
.header-inner .brand-full{width:196px!important;height:46px!important}
.header-nav{font-size:12px;letter-spacing:.3px;gap:24px}
.partners-nav>summary{color:#d4d5c6!important;gap:10px}
.partners-chevron{color:#b69866}.partners-list,.account-dropdown{background:#20221b;border:1px solid #d4b47135;border-radius:12px;box-shadow:0 16px 50px #0006}
.partner-link{border-radius:8px}.partner-link:hover{background:#dfb26510}
.account-login,.site-header .account-login{background:#dfb265!important;color:#221c11!important;border:1px solid #f8db9e55;border-radius:6px;font-weight:750;min-height:38px;padding:9px 17px!important;font-size:12px;box-shadow:none}
.account-login:hover{background:#edc68a!important;box-shadow:0 0 20px #dfb26515}
.account-trigger{background:#24271f;border:1px solid #414333;border-radius:8px}
.home-page{min-height:100dvh;display:flex;flex-direction:column}
.home-page .directory{max-width:1600px;width:100%;flex:1;margin:0 auto;min-height:0;padding:0 40px 28px!important;background:none;isolation:isolate}
.directory:after{display:none!important}
.home-page .directory-heading{position:relative;min-height:320px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #d7b97920;margin:0 0 27px;padding:42px 0 35px;isolation:isolate}
.home-page .directory-heading:after{content:'';position:absolute;inset:0 -30px 0 30%;z-index:-1;background:linear-gradient(90deg,#111210 0%,#11121000 40%),url('/brand/expime-v3/chunjo-village-scene.svg') center 54%/cover no-repeat;opacity:.9;pointer-events:none}
.home-page .directory-heading>div{position:relative;max-width:650px}
.chunjo-kicker{display:flex;align-items:center;gap:10px;color:#cfac70;font-size:10px;font-weight:750;letter-spacing:3px;text-transform:uppercase;margin:0 0 16px}
.chunjo-kicker:before{content:'';width:22px;height:1px;background:#ad8349}
.home-page .directory-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(45px,4.4vw,72px)!important;letter-spacing:-2.8px;line-height:1.04;margin:0 0 17px!important}
.home-page .directory-heading h1 br{display:block!important}.home-page .directory-heading h1 span{color:#e8c181;font-style:italic}.home-page .directory-heading h1 span:before{content:none!important}
.home-page .directory-heading p{font-size:13px;line-height:1.8;color:#b0b0a1;max-width:330px}
.section-label{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#e3e1d4;margin-bottom:18px}
.section-label i{width:5px;height:5px;background:#cb8052!important;box-shadow:0 0 0 4px #cb805215;border-radius:50%}
.directory-content{gap:22px}
.directory-empty{position:relative;min-height:180px!important;overflow:hidden;border:1px solid #d7b97926;background:#1a1c16!important;border-radius:10px;box-shadow:none;backdrop-filter:none;padding:30px 24px}
.directory-empty:before,.directory-empty:after{content:'';position:absolute;pointer-events:none;width:27px;height:27px;border-color:#aa88524d;border-style:solid}
.directory-empty:before{left:12px;top:12px;border-width:1px 0 0 1px}.directory-empty:after{right:12px;bottom:12px;border-width:0 1px 1px 0}
.directory-empty>svg{width:29px;height:29px;color:#b69861;margin-bottom:13px}.directory-empty h2{font-size:18px;letter-spacing:-.4px;font-weight:600}.directory-empty p{font-size:12px;color:#919783}
.stream-card{background:#1b1e17;border:1px solid #424634;border-radius:10px;overflow:hidden;box-shadow:none}.stream-card:hover{border-color:#aa8852;box-shadow:0 12px 35px #0004;transform:translateY(-2px)}
.card-preview{border-radius:0}.card-bottom{padding:18px 20px}.card-channel h2{font-size:19px}.card-avatar{border:1px solid #bda06877}.card-status{background:#ab4234;color:#fff2e7}.card-viewers{background:#15170edb;color:#f3dab1}.card-play{background:#dfb265;color:#201b11}.card-open{color:#d9b778}
/* A wide illustrated footer, never a background behind the stream. */
.site-footer,body:not(.home-page) .site-footer{position:relative;isolation:isolate;max-width:none!important;width:100%!important;margin:30px 0 0!important;padding:110px 40px 24px!important;border-top:1px solid #d7b9791c;background:#141610!important;overflow:hidden;gap:20px;font-size:11px;color:#919681}
.site-footer:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;background:linear-gradient(0deg,#141610 0%,#14161000 70%),url('/brand/expime-v3/chunjo-village-scene.svg') center 66%/max(100%,1000px) auto no-repeat;opacity:.47}
.footer-logo{width:124px!important;height:auto}.footer-left{gap:18px}.footer-copy{gap:15px}.footer-legal{color:#a7aa98}.footer-right{color:#a7aa98}.footer-heart{color:#b25d42!important}
/* Watch page: quiet stage, uninterrupted video and chat. */
.watch-page .page{max-width:1600px;padding:28px 40px 0;margin:auto;width:100%}
.watch-page .layout{border:1px solid #434532;border-radius:12px;background:#161812;box-shadow:0 20px 50px #0002;overflow:hidden}
.watch-page .stream-column{background:#10120e}.watch-page .screen{background:#080906}
.watch-page .channel-overview{background:#1b1e16;padding:19px 22px;border-top:1px solid #363b2b;gap:20px}
.watch-page .channel-overview #streamTitle{gap:5px}.watch-page .stream-base-title{font-size:22px;letter-spacing:-.5px}.watch-page .avatar{border:1px solid #ae9159;background:#252719;padding:3px;box-shadow:0 0 0 4px #d8ad5510}
.watch-page .channel-language{background:#2a2d21;color:#acb19d;border:1px solid #414631;border-radius:4px;font-size:10px;letter-spacing:.3px}.watch-page .channel-meta{color:#c6aa71;font-size:11px}
.watch-page .channel-support .support-link{border:1px solid #ffffff14;border-radius:6px;min-height:37px;padding:8px 13px;box-shadow:none}.support-link.discord{background:#444777}.support-link.donate{background:#344c68}.support-link.subscribe{background:#b78840!important;color:#fff0d6!important}
.watch-page .chat-panel{background:#171a14;border-left:1px solid #3b402c}.watch-page .chat-head{background:#1c2017;border-bottom:1px solid #3b402c;padding:17px 18px}.chat-title{font-size:12px;letter-spacing:.5px;color:#ece9db}.chat-title svg{color:#c2a472}
.native-chat-toolbar{background:#191d14!important;border-color:#303624!important;color:#a7ad96}.native-chat-messages{background:#12160f}.native-chat-message{font-size:13px}.native-chat-empty{color:#89927b;font-size:12px;line-height:1.8}
.native-chat-composer{background:#1b2016!important;border-top:1px solid #363e29!important}.chat-login-hint{color:#abb39a;font-size:11px}.chat-signin{background:#d8b36c!important;color:#292313!important;border-radius:6px;font-size:12px!important;box-shadow:none}
.watch-page #chatForm{background:#10150d;border-color:#424b32;border-radius:7px}.watch-page #chatForm:focus-within{border-color:#b89b60;box-shadow:0 0 0 2px #b89b6015}
.chat-emote-picker,.chat-mention-picker,.quality-menu{background:#20241a!important;border:1px solid #5e623e!important;border-radius:10px;box-shadow:0 16px 40px #0008}.quality-option.active,.quality-option[aria-checked=true]{color:#e8c58a!important;background:#d7b16412!important}
.watch-page .screen .overlay{background-image:linear-gradient(90deg,#17160b99,transparent),url('/brand/expime-v3/essex-offline-v1.png');background-color:#11140c}
.offline-name{color:#c6c8b5}.offline-name span{color:#c7a365}.screen .overlay strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1px}.screen .overlay p{color:#c3c6b6}
.clips-section,.recordings-section{border-color:#393c2d}.clip-card,.recording-card,.account-card,.creator-card{background:#1b1e17;border:1px solid #3c412f;border-radius:12px;box-shadow:none}
.creator-page,.account-page,.terms-page{max-width:1200px}.creator-page h1,.account-page h1,.terms-page h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.5px;color:#eee5cc}
input,select,textarea{accent-color:#dfb265}input:not([type=range]),select,textarea{border-color:#414833;background-color:#14190f;color:#f2eee0}
.chat-toggle{border:1px solid #635b3a!important;background:#24291b!important;color:#e0c18b!important;border-radius:5px}
@media(min-width:901px) and (max-height:820px){.home-page .directory-heading{min-height:255px;padding:28px 0}.home-page .directory-heading h1{font-size:54px!important}.site-footer,.home-page>.directory-footer{padding-top:74px!important;margin-top:20px!important}.directory-empty{min-height:160px!important}}
@media(max-width:900px){.header-inner{padding:8px 18px!important;gap:16px!important}.site-header{height:auto;min-height:60px}.header-inner .brand-full{width:162px!important;height:38px!important}.account-login{max-width:none!important;font-size:11px!important;padding:8px 11px!important}.home-page .directory{padding:0 20px 24px!important}.home-page .directory-heading{min-height:330px;padding:36px 0 115px;align-items:flex-start}.home-page .directory-heading:after{inset:65px -20px 0 10%;opacity:.75;background-position:center 65%;background-size:cover}.home-page .directory-heading h1{font-size:48px!important;letter-spacing:-2px}.home-page .directory-heading p{max-width:240px;font-size:12px}.chunjo-kicker{font-size:9px;letter-spacing:2px;margin-bottom:16px}.site-footer,body:not(.home-page) .site-footer{padding:125px 20px 24px!important;flex-direction:column;align-items:center;gap:16px}.site-footer:before{background-size:auto 350px;background-position:center 52%;opacity:.5}.footer-left{flex-direction:row;gap:20px}.footer-copy{flex-direction:column;align-items:flex-start;gap:3px}.footer-right{font-size:10px}.directory-empty{min-height:200px!important}.watch-page .page{padding:0;margin:0}.watch-page .layout{border-radius:0;box-shadow:none;border-left:0;border-right:0}.watch-page .channel-overview{padding:16px}.watch-page .native-chat-messages{padding:10px 12px}.watch-page .broadcast-bar{background:#1e2318;border-color:#3f462e}.watch-page .chat-toggle{min-height:32px;font-size:10px}.watch-page .chat-panel{border-left:0}.watch-page .native-chat-composer{padding:9px 12px max(10px,env(safe-area-inset-bottom))}}
@media(max-width:370px){.header-inner{padding-left:12px!important;padding-right:12px!important;gap:8px!important}.header-inner .brand-full{width:135px!important}.site-header .account-login{font-size:10px!important;padding:8px!important}}
/* Preserve the existing cinema/mobile interaction models. */
@media(min-width:901px){body.expime-theater .layout{border:0;border-radius:0}body.expime-theater .page{padding:0}body.expime-theater .site-footer{display:none!important}}
@media(prefers-reduced-motion:reduce){a,button,.stream-card{transition:none!important}}

/* Shared understated footer: same canvas and spacing on home and channel. */
body .site-footer,body.home-page>.directory-footer,body:not(.home-page) .site-footer{width:100%!important;max-width:none!important;box-sizing:border-box;margin:28px 0 0!important;padding:74px 40px 24px!important;min-height:130px;background:#141510!important;border-top:1px solid #c4a46c18;display:flex;align-items:center;justify-content:space-between;gap:20px}
body .site-footer:before{inset:0;background:url('/brand/expime-v3/chunjo-footer-landscape.svg') center bottom/cover no-repeat;opacity:.6}
body .site-footer .footer-left{display:flex;flex-direction:row;align-items:center;gap:18px}
body .site-footer .footer-copy{display:flex;flex-direction:row;align-items:center;gap:14px}
@media(max-width:900px){body .site-footer,body.home-page>.directory-footer,body:not(.home-page) .site-footer{padding:64px 20px 22px!important;min-height:152px;flex-direction:column;gap:15px}body .site-footer:before{background-size:auto 150px;opacity:.5}body .site-footer .footer-copy{flex-direction:column;align-items:flex-start;gap:3px}}

/* Match the centered 1600px header container on wide screens. */
@media(min-width:901px){
 body .site-footer,body.home-page>.directory-footer,body:not(.home-page) .site-footer{
  padding-left:max(40px,calc((100% - 1600px)/2 + 40px))!important;
  padding-right:max(40px,calc((100% - 1600px)/2 + 40px))!important;
 }
}

/* Compact footer: vertically centered content, no empty illustration band. */
body .site-footer,body.home-page>.directory-footer,body:not(.home-page) .site-footer{
 min-height:82px;padding-top:22px!important;padding-bottom:22px!important;align-items:center;
}
body .site-footer:before{background-position:center center;opacity:.35}
@media(max-width:900px){
 body .site-footer,body.home-page>.directory-footer,body:not(.home-page) .site-footer{
  min-height:0;padding-top:20px!important;padding-bottom:20px!important;gap:12px;
 }
}

/* ChunjoTV offline scene: live player hooks stay intact. */
.watch-page .screen .overlay{background:#12130f;isolation:isolate;padding:7%;text-align:left;align-items:flex-start;justify-content:center}
.watch-page .screen .overlay:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 82% 35%,#af772329,transparent 55%),linear-gradient(115deg,#151611,#10110e)}
.watch-page .screen .overlay:after{content:'';position:absolute;inset:12px;border:1px solid #c69d4c29;pointer-events:none;z-index:-1;clip-path:polygon(0 0,24% 0,24% 1px,1px 1px,1px 100%,0 100%,0 0,100% 0,100% 100%,76% 100%,76% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 0)}
.chunjo-offline-art{position:absolute;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(90deg,#12130f 22%,#12130f55 70%),url('/brand/expime-v3/chunjo-village-scene.svg') right bottom/90% auto no-repeat}
.chunjo-offline-seal{position:absolute;right:11%;top:15%;width:24%;aspect-ratio:1;border:1px solid #c9a45c70;transform:rotate(45deg);background:#17170fe6;box-shadow:0 0 0 9px #b7944f09,0 0 70px #d89b2110;display:flex;align-items:center;justify-content:center}
.chunjo-offline-seal img{width:78%;height:78%;object-fit:cover;border-radius:50%;transform:rotate(-45deg);filter:sepia(.4);opacity:.9}
.chunjo-offline-seal>span{position:absolute;right:-18%;bottom:10%;transform:rotate(-45deg);background:#803b26;color:#f6dfb2;font-size:clamp(8px,1vw,14px);font-weight:800;letter-spacing:4px;padding:7px 14px;border:1px solid #b5794455}
.watch-page .screen .offline-copy{max-width:58%;gap:clamp(9px,1.7vw,23px)}
.watch-page .screen .offline-name{font-size:clamp(8px,.9vw,12px);letter-spacing:2px;color:#c4a575}
.watch-page .screen .overlay strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,3.2vw,52px);font-weight:400;line-height:1.08;max-width:440px;color:#f0e4cb;letter-spacing:-1px;text-wrap:balance}
.watch-page .screen .offline-brand-line{font-size:clamp(10px,1.1vw,15px);color:#b3ae9b;line-height:1.6}
.watch-page .screen .offline-inline-brand{display:block;margin:12px 0 0}
.watch-page .screen .offline-inline-brand img{width:clamp(105px,13vw,190px);height:auto}
@media(max-width:700px){.watch-page .screen .overlay{padding:6%;padding-bottom:12%}.watch-page .screen .offline-copy{max-width:59%;gap:9px}.watch-page .screen .overlay strong{font-size:clamp(19px,5.2vw,32px)}.watch-page .screen .offline-name{font-size:7px;letter-spacing:1.2px}.watch-page .screen .offline-brand-line{font-size:9px}.watch-page .screen .offline-inline-brand{margin-top:7px}.watch-page .screen .offline-inline-brand img{width:105px}.chunjo-offline-seal{right:10%;top:19%;width:23%}.chunjo-offline-seal>span{font-size:7px;letter-spacing:2px;padding:4px 8px}.chunjo-offline-art{background-size:110% auto;background-position:65% bottom}}

/* Portrait-led offline artwork, ChunjoTV gold and vermilion. */
.watch-page .screen .overlay{background:#100f0d url('/brand/expime-v3/essex-offline-chunjo-v2.png') center/cover no-repeat;padding:7%;padding-bottom:9%}
.watch-page .screen .overlay:before,.watch-page .screen .overlay:after{display:none}
.watch-page .screen .offline-copy{max-width:48%;gap:18px}
.watch-page .screen .offline-name{color:#d3ab6c;letter-spacing:2px;font-weight:700}
.watch-page .screen .overlay strong{font-size:clamp(24px,3.4vw,54px);color:#f4e6cd;max-width:380px}
.watch-page .screen .offline-brand-line{color:#c4b7a1}
.watch-page .screen .offline-inline-brand{margin-top:14px}
@media(max-width:700px){.watch-page .screen .overlay{padding:5%;padding-bottom:12%}.watch-page .screen .offline-copy{max-width:51%;gap:8px}.watch-page .screen .overlay strong{font-size:clamp(20px,5vw,32px)}.watch-page .screen .offline-inline-brand{margin-top:6px}}

/* Painted EsseX warrior — offline splash v3. */
.watch-page .screen .overlay{background:#11110f url('/assets/essex-warrior-5ad1f1b76751f5eafee2.webp') center/cover no-repeat;padding:6%;padding-bottom:9%}
.watch-page .screen .offline-copy{max-width:40%;gap:18px}
.watch-page .screen .offline-name{font-size:clamp(7px,.8vw,11px);letter-spacing:1.5px;color:#d6b477;padding-bottom:14px;border-bottom:1px solid #bb924c66}
.watch-page .screen .overlay strong{font-size:clamp(22px,3vw,46px);line-height:1.12;letter-spacing:-.9px;color:#f4e8d2;text-wrap:balance}
.watch-page .screen .offline-brand-line{font-size:clamp(10px,1vw,14px);line-height:1.5;color:#bfb39d}
.watch-page .screen .offline-inline-brand{margin-top:18px}
.watch-page .screen .offline-inline-brand img{width:clamp(110px,14vw,190px);height:auto}
@media(max-width:700px){.watch-page .screen .overlay{padding:5%;padding-bottom:12%}.watch-page .screen .offline-copy{max-width:43%;gap:7px}.watch-page .screen .offline-name{font-size:6px;letter-spacing:.7px;padding-bottom:6px}.watch-page .screen .overlay strong{font-size:clamp(16px,4.3vw,28px);letter-spacing:-.4px}.watch-page .screen .offline-brand-line{font-size:8px}.watch-page .screen .offline-inline-brand{margin-top:8px}.watch-page .screen .offline-inline-brand img{width:95px}}

/* Compact channel details below the player. */
@media(min-width:901px){
 .watch-page .channel-overview{padding:14px 20px;gap:18px;align-items:center}
 .watch-page .channel-actions{gap:7px}
 .watch-page .channel-support .support-link{min-height:36px;padding:8px 14px;gap:8px}
 .watch-page .channel-support .support-icon{width:19px;height:19px}
 .watch-page .channel-support .support-icon svg{width:19px;height:19px}
 .watch-page .channel-support .support-link strong{font-size:12px}
 .watch-page .broadcast-bar{height:28px;min-height:0}
 .watch-page .channel-overview #streamTitle{gap:5px}
 .watch-page .stream-base-title{font-size:20px}
 .watch-page .channel-overview .stream-subtitle{font-size:12px}
 .watch-page .channel-meta{margin-top:7px;font-size:10px}
 .watch-page .channel-language{padding:2px 7px;font-size:9px}
 .watch-page .avatar{width:50px;height:50px;flex-basis:50px}
}

@media(min-width:901px){
 .watch-page .native-chat-composer{box-sizing:border-box;min-height:var(--channel-details-height,110px);flex-shrink:0;display:flex;flex-direction:column;justify-content:center}
 .watch-page .channel-overview{min-height:110px}
}

/* Center the signed-out prompt as one group within the chat footer. */
@media(min-width:901px){
 .watch-page .native-chat-composer:has(#chatSignIn:not([hidden])){align-items:center;justify-content:center;padding:8px 12px 16px!important;gap:10px}
 .watch-page .native-chat-composer #chatLoginHint{width:100%;margin:0;text-align:center}
 .watch-page .native-chat-composer #chatSignIn{width:100%;margin:0;flex-shrink:0;text-align:center;justify-content:center;align-items:center}
 .watch-page .native-chat-composer #chatFormStatus:empty{display:none}
}

/* Fit only stream cards into the remaining desktop space; preserve the hero. */
@media(min-width:901px){
 body.home-page:not(.directory-readable){height:100dvh;min-height:0;display:grid;grid-template-rows:76px minmax(0,1fr) 82px}
 .home-page:not(.directory-readable)>.site-header{height:76px;min-height:0}
 .home-page:not(.directory-readable) .directory{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding-bottom:34px!important}
 .home-page:not(.directory-readable) .directory-content{min-height:0;grid-auto-rows:minmax(0,1fr);align-items:start;container-type:size}
 .home-page:not(.directory-readable) .stream-card:not([hidden]){display:flex;flex-direction:column;width:min(100%,calc((100cqh - 106px)*16/9));max-height:100%;min-height:0}
 .home-page:not(.directory-readable) .card-preview{aspect-ratio:16/9;flex:1 1 auto;min-height:0;width:100%}
 .home-page:not(.directory-readable) .card-bottom{flex:0 0 auto;min-height:70px;padding:8px 12px;gap:9px}
 .home-page:not(.directory-readable) .card-avatar{width:34px;height:34px}
 .home-page:not(.directory-readable) .card-channel h2{font-size:16px;margin-bottom:3px}
 .home-page:not(.directory-readable) .card-open{font-size:10px}
 .home-page:not(.directory-readable) .preview-fallback{gap:6px}
 .home-page:not(.directory-readable) .preview-fallback img{width:48px;height:48px}
 .home-page:not(.directory-readable) .directory-empty{min-height:0!important;height:100%;padding:12px 20px}
 body.home-page:not(.directory-readable)>.directory-footer{margin-top:0!important}
}

/* Live broadcast indicators use the red TV tile from the ChunjoTV logo. */
:root{--live-red:#b91f24;--live-red-ink:#ff6267}
.stream-card.is-live .card-status{background:var(--live-red)!important;color:#fff!important}
.stream-card.is-live .card-status i{background:#fff!important;box-shadow:none}
.in-player-live.is-live{background:var(--live-red);color:#fff;padding:4px 7px;border-radius:4px}
.in-player-live.is-live i{background:#fff;box-shadow:none}
.badge.live{color:var(--live-red-ink)!important}
.home-page .section-label i{background:var(--live-red)!important;box-shadow:0 0 0 4px #b91f241c}

@media(hover:hover) and (pointer:fine){
 .screen .player-controls{opacity:1;will-change:opacity;transition:opacity .1s ease-out!important}
 .screen.hide-controls .player-controls{opacity:0}
 .screen:focus-within .player-controls:has(:focus-visible){opacity:1}
}

/* Recognizable service and donation actions. */
.support-link.discord{background:#5865f2!important;color:#fff!important;border-color:#7882ff!important}
.support-link.discord:hover{background:#4752c4!important;border-color:#9098ff!important}
.support-link.donate{background:#087f5b!important;color:#fff!important;border-color:#16a779!important}
.support-link.donate:hover{background:#066649!important;border-color:#36c99a!important}
.support-link.discord .support-icon,.support-link.donate .support-icon{color:inherit}

/* Clips are not listed below the public channel player. */
.watch-page #channelClips{display:none!important}

/* Standard desktop watch mode: fit the complete 16:9 player and details above the fold. */
@media(min-width:901px){
 .watch-page:not(.expime-theater) .page{
   --desktop-chat-width:clamp(260px,21vw,326px);
   --watch-top-gap:clamp(14px,2.6dvh,28px);
   width:100%;
   max-width:min(1600px,calc((100dvh - 76px - var(--watch-top-gap) - var(--channel-details-height,110px) - 30px - 2px)*16/9 + var(--desktop-chat-width) + 82px));
   padding-top:var(--watch-top-gap);padding-left:40px;padding-right:40px;margin-inline:auto;
 }
 .watch-page:not(.expime-theater) .layout{grid-template-columns:minmax(0,1fr) var(--desktop-chat-width)}
 .watch-page:not(.expime-theater) .screen:not(:fullscreen){aspect-ratio:16/9}
 .watch-page:not(.expime-theater) .channel-overview{flex-wrap:wrap;row-gap:10px}
 .watch-page:not(.expime-theater) .channel-identity{flex-basis:180px}
}

/* One desktop row down to the actual 850px mobile breakpoint. */
@media(min-width:851px){
 .watch-page:not(.expime-theater) .page{--desktop-chat-width:clamp(260px,21vw,326px);--watch-top-gap:clamp(14px,2.6dvh,28px);width:100%;max-width:min(1600px,calc((100dvh - 76px - var(--watch-top-gap) - 110px - 32px)*16/9 + var(--desktop-chat-width) + 82px));padding:var(--watch-top-gap) 40px 0;margin-inline:auto}
 .watch-page:not(.expime-theater) .layout{grid-template-columns:minmax(0,1fr) var(--desktop-chat-width)}
 .watch-page .stream-column{container-type:inline-size}
 .watch-page:not(.expime-theater) .channel-overview{height:110px;min-height:110px;max-height:110px;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:14px 20px;gap:16px}
 .watch-page:not(.expime-theater) .channel-identity{flex:1 1 0;min-width:0;align-items:center;gap:10px}
 .watch-page:not(.expime-theater) .channel-actions{width:auto;flex:0 0 auto;gap:7px}
 .watch-page:not(.expime-theater) .broadcast-stats{justify-content:flex-end}
 .watch-page .channel-overview .stream-subtitle{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .watch-page:not(.expime-theater) .native-chat-composer{min-height:110px;box-sizing:border-box}
}
@container(max-width:620px){
 .watch-page .channel-overview .channel-support .support-link{padding:8px;min-width:35px;min-height:35px}
 .watch-page .channel-overview .support-link>span:not(.support-icon){display:none}
 .watch-page .channel-overview .stream-base-title{font-size:18px}
 .watch-page .channel-overview .avatar{width:40px;height:40px;flex-basis:40px}
 .watch-page .channel-overview .channel-support .support-row{gap:6px}
}

/* Keep the watch footer at the bottom when the stream fits a tall desktop viewport. */
@media(min-width:851px){
 body.watch-page:not(.expime-theater){min-height:100dvh;display:flex;flex-direction:column}
 body.watch-page:not(.expime-theater)>.site-header{flex-shrink:0}
 body.watch-page:not(.expime-theater)>.page{flex:1 0 auto;margin-bottom:0}
 body.watch-page:not(.expime-theater)>.site-footer{flex-shrink:0;margin-bottom:0!important}
}

/* Complete painted Chinese dragons, scaled to the existing footer height. */
body .site-footer:before{background-image:url('/brand/expime-v3/chunjo-footer-ink-dragons.svg');background-size:auto 76%;background-position:center center;opacity:.18}

/* Mobile hero: fit the complete village into a shallow band below the copy. */
@media(max-width:900px){
 .home-page .directory-heading{display:block;min-height:0;padding:24px 0 0;margin-bottom:22px}
 .home-page .directory-heading:after{position:relative;display:block;inset:auto;width:100%;height:clamp(105px,30vw,155px);margin-top:8px;background:url('/brand/expime-v3/chunjo-village-scene.svg') center bottom/contain no-repeat;opacity:.85}
}
@media(max-width:900px){
 .home-page .directory-heading{padding-top:18px;margin-bottom:16px}
 .home-page .directory-heading h1{font-size:40px!important;line-height:1.02;margin-bottom:10px!important}
 .home-page .directory-heading p{margin-top:0;margin-bottom:0;max-width:none;line-height:1.5}
 .home-page .directory-heading:after{height:clamp(68px,19vw,95px);margin-top:4px}
}
/* Place the mobile village beside the heading instead of below it. */
@media(max-width:900px){
 .home-page .directory-heading{display:flex;align-items:center;min-height:165px;padding:20px 0;margin-bottom:18px}
 .home-page .directory-heading>div{width:58%;max-width:58%;z-index:1}
 .home-page .directory-heading h1{font-size:clamp(29px,5.9vw,40px)!important;letter-spacing:-1.3px;line-height:1.07;margin-bottom:10px!important}
 .home-page .directory-heading p{font-size:11px;max-width:210px;line-height:1.5}
 .home-page .directory-heading:after{position:absolute;inset:0 -12px 0 49%;width:auto;height:auto;margin:0;background:url('/brand/expime-v3/chunjo-village-scene.svg') center/contain no-repeat;opacity:.8}
}
@media(max-width:900px){
 .home-page .directory-heading{flex-direction:row;justify-content:flex-start;text-align:left}
 .home-page .directory-heading>div{margin:0;flex:0 0 58%}
}
/* Mobile keeps the desktop hero composition: large scenery fading behind left copy. */
@media(max-width:900px){
 .home-page .directory-heading{min-height:160px;padding:24px 0;align-items:center;justify-content:flex-start}
 .home-page .directory-heading>div{width:65%;max-width:65%;flex:0 0 65%;margin:0}
 .home-page .directory-heading h1{font-size:clamp(29px,7.4vw,44px)!important;line-height:1.04;letter-spacing:-1.3px;margin-bottom:12px!important}
 .home-page .directory-heading p{max-width:175px;font-size:10px;line-height:1.5}
 .home-page .directory-heading:after{position:absolute;inset:0 -18px 0 28%;width:auto;height:auto;margin:0;background:linear-gradient(90deg,#111210 0%,#11121000 42%),url('/brand/expime-v3/chunjo-village-scene.svg') center 54%/cover no-repeat;opacity:.9}
}

/* Footer access links share the existing logo/copyright row. */
.site-footer .footer-copy{column-gap:16px;row-gap:8px}
.site-footer .footer-access-link{color:inherit;text-decoration:none;white-space:nowrap;transition:color .15s}
.site-footer .footer-access-link:hover{color:#dfb265}
.site-footer .footer-access-link:focus-visible{outline:2px solid #dfb265;outline-offset:4px;border-radius:2px}
@media(max-width:600px){.site-footer .footer-left{flex-wrap:wrap;justify-content:center;row-gap:12px}.site-footer .footer-copy{justify-content:center;column-gap:14px}}
/* Mobile footer: three compact centered rows, with no trailing page space. */
@media(max-width:900px){
 body:not(.watch-page),body.watch-page.mobile-chat-collapsed{min-height:100dvh;display:flex;flex-direction:column}
 body>.site-header{flex-shrink:0}
 body.watch-page.mobile-chat-collapsed{height:auto;padding-bottom:0}
 body.watch-page.mobile-chat-collapsed>.page{flex:1 0 auto;margin-bottom:0;padding-bottom:0}
 body>.creator-page,body>.account-page{width:100%;flex:1 0 auto}
 body .site-footer,body.home-page>.directory-footer,body:not(.home-page) .site-footer{flex-shrink:0;width:100%!important;margin:24px 0 0!important;padding:20px 16px max(20px,env(safe-area-inset-bottom))!important;min-height:0;gap:14px;flex-direction:column;align-items:center;justify-content:center;text-align:center}
 body .site-footer .footer-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%}
 body .site-footer .footer-logo{width:130px;height:auto}
 body .site-footer .footer-copy{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;font-size:11px;line-height:1.5}
 body .site-footer .footer-copy a{padding-block:5px}
 body .site-footer .footer-right{justify-content:center;gap:7px;font-size:11px;line-height:1.5}
 body .site-footer .footer-heart{width:13px;height:13px}
 body .site-footer:before{background-size:auto 80%;opacity:.07}
}

/* External channel identity link, separate from donations/subscriptions. */
.watch-page .channel-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;max-width:100%}
.watch-page .channel-platform-link{display:inline-flex;align-items:center;flex:none;gap:6px;min-height:27px;padding:5px 8px;border:1px solid #62684966;border-radius:6px;background:#b6bb8408;color:#b8bea4;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:0;line-height:1.2;white-space:nowrap}
.watch-page .channel-platform-link:hover{background:#dfb26512;border-color:#b79a5d;color:#efcf96}
.channel-platform-link .platform-mark{width:12px;height:12px;color:#b4cda0}.channel-platform-link .platform-external{width:10px;height:10px;opacity:.65}
@media(min-width:851px) and (max-width:1350px){.watch-page .channel-title-line{gap:7px}.watch-page .channel-platform-link{font-size:9px;min-height:24px;padding:4px 6px;gap:4px}.channel-platform-link .platform-external{display:none}}
@media(max-width:550px){.watch-page .channel-title-line{gap:7px 10px}.watch-page .channel-platform-link{font-size:10px;padding:5px 7px}}


/* Readable directory cards: fixed type scale, flexible 16:9 imagery. */
.home-page .stream-card{min-width:0;container-type:inline-size}
.home-page .card-preview{aspect-ratio:16/9;flex:0 0 auto!important;height:auto;min-height:0}
.home-page .card-bottom{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:12px!important;box-sizing:border-box;min-height:104px;height:auto;flex:0 0 auto}
.home-page .card-avatar{width:36px;height:36px;min-width:36px}
.home-page .card-channel{min-width:0;overflow:hidden}
.home-page .card-channel h2{font-size:16px!important;line-height:1.3;letter-spacing:0;margin:0 0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.home-page .card-stream-title{font-size:12px!important;line-height:1.4;max-width:none;white-space:normal;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px!important}
.home-page .card-stream-title:empty{display:none}
.home-page .card-channel p:not(.card-stream-title){font-size:11px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.home-page .card-open{font-size:0!important;gap:0;margin:0;justify-content:center;width:20px}
.home-page .card-open>span{font-size:20px}
.home-page .card-status,.home-page .card-viewers{max-width:calc(50% - 16px);font-size:11px;overflow:hidden;white-space:nowrap}
.home-page .card-viewers .viewer-label{display:none}
.home-page .stream-card:focus-visible{outline:2px solid #dfb265;outline-offset:3px}
@media(min-width:901px){
 .home-page.directory-many:not(.directory-readable) .directory-content{grid-template-columns:repeat(var(--card-columns,3),var(--card-width,250px));grid-auto-rows:auto;gap:16px;justify-content:center;align-content:start}
 .home-page.directory-many:not(.directory-readable) .stream-card:not([hidden]){box-sizing:border-box;width:var(--card-width,250px);max-height:none;height:auto}
 .home-page.directory-many:not(.directory-readable) .card-bottom{height:104px}
 .home-page.directory-readable{height:auto;min-height:100dvh;display:flex;flex-direction:column}
 .home-page.directory-readable .directory{display:block;height:auto;min-height:0;flex:1}
 .home-page.directory-readable .directory-content{container-type:normal;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-auto-rows:auto;gap:20px;align-items:start}
 .home-page.directory-readable .stream-card:not([hidden]){width:100%;max-height:none;height:auto}
}
@media(max-width:900px){
 .home-page .directory-content{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;align-items:start}
 .home-page .stream-card{width:100%;max-height:none}
 .home-page .card-bottom{min-height:104px}
}
@media(max-width:360px){
 .home-page .directory{padding-left:12px!important;padding-right:12px!important}
 .home-page .card-bottom{grid-template-columns:32px minmax(0,1fr) 18px;gap:8px;padding:10px!important}
 .home-page .card-avatar{width:32px;height:32px;min-width:32px}
}

/* Larger channel portrait only where the desktop metadata row has room.
   75px fits inside the existing 110px panel; compact layouts stay unchanged. */
@media(min-width:1100px){
 @container(min-width:621px){
  .watch-page:not(.expime-theater) .channel-overview .avatar{width:75px;height:75px;flex:0 0 75px}
 }
}

/* Owner preference: no focus outlines for pointer or keyboard navigation. */
:focus,:focus-visible{outline:none!important;box-shadow:none!important}*{-webkit-tap-highlight-color:transparent}
