/* Shared public navigation and comfortable reading controls. */
.public-site{--public-header-height:76px;--public-nav-height:86px;padding-bottom:calc(var(--public-nav-height) + env(safe-area-inset-bottom));scroll-padding-top:calc(var(--public-header-height) + 16px)}
html{scroll-padding-top:100px}
.public-header{position:sticky;top:0;z-index:60;background:#111713f5;border-bottom:1px solid #344033;backdrop-filter:blur(18px);padding-top:env(safe-area-inset-top)}
.public-header-inner{max-width:1700px;min-height:76px;margin:auto;padding:10px 28px;display:flex;align-items:center;gap:24px}
.public-header .brand{flex-shrink:0}
.header-tagline{font-size:12px;letter-spacing:.3px;color:#8f9d91;margin-right:auto}
:is(.public-header,.admin-header) .language-switch{margin-left:auto;padding:5px;gap:5px;display:flex;align-items:center;position:static;border:1px solid #354133;border-radius:19px;background:#20291f;flex-shrink:0}
:is(.public-header,.admin-header) .language-chip{min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 13px;border:1px solid transparent;border-radius:13px;color:#c4cec2;font-size:13px;font-weight:600;transition:background .18s,transform .18s}
.language-flag{width:27px;height:22px;display:grid;place-items:center;flex-shrink:0;transform:rotate(-6deg);filter:drop-shadow(0 2px 2px #0003)}
.language-flag svg{width:27px;height:18px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px #ffffff30}
:is(.public-header,.admin-header) .language-chip[aria-current=true]{background:#c5f76c;color:#1b3013;border-color:#d6ffa5;box-shadow:0 2px 10px #c5f76c15}
:is(.public-header,.admin-header) .language-chip[aria-current=true] .language-flag{transform:rotate(0)}
:is(.public-header,.admin-header) .language-chip:hover{background:#35452d;color:#fff}
:is(.public-header,.admin-header) .language-chip[aria-current=true]:hover{background:#d3ff88;color:#15260e}
.public-site a:focus-visible,.public-site button:focus-visible,.public-site input:focus-visible,.public-site textarea:focus-visible{outline:2px solid #d4fb9a;outline-offset:4px}
:is(.public-header,.admin-header) .language-chip:active,.public-bottom-nav a:active{transform:scale(.96)}
.public-site .sidebar{top:var(--public-header-height);height:calc(100dvh - var(--public-header-height));padding-top:20px}
.public-site .sidebar>.brand{display:none}
.public-site .sidebar .side-caption{margin-top:0}
.public-site .topbar{height:auto;min-height:74px;padding-top:12px;padding-bottom:12px;flex-wrap:nowrap}
.public-site .topbar .mobile-brand{display:none}
.public-site .topbar .global-search{order:0;flex:1;margin:0;height:46px}
.public-site .topbar .global-search input{margin:0;border:0;padding:0;min-width:0;width:100%;font-size:15px}
.public-site .topbar .breadcrumb{flex-shrink:0}
.public-site .topbar .icon-button,.public-site .topbar .avatar{width:44px;height:44px;min-width:44px;min-height:44px}
.public-bottom-nav{position:fixed;z-index:55;bottom:14px;left:50%;right:auto;transform:translateX(-50%);width:min(480px,calc(100% - 32px));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px;background:#182119f5;border:1px solid #3f5138;border-radius:23px;backdrop-filter:blur(20px);box-shadow:0 8px 38px #0007}
.public-bottom-nav .bottom-nav-item{min-height:56px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 3px;position:relative;border-radius:16px;color:#98aa91;font-size:11px;font-weight:500;text-decoration:none;transition:background .18s,color .18s,transform .18s}
.public-bottom-nav .bottom-nav-item.active{background:#c5f76c12;color:#cbf791}
.public-bottom-nav .bottom-nav-item.active:before{content:'';width:23px;height:3px;position:absolute;top:-8px;border-radius:0 0 5px 5px;background:#c9f882;box-shadow:0 0 14px #c5f76c66}
.public-bottom-nav .bottom-nav-item:hover{background:#c5f76c0d;color:#e1f5d0}
.nav-icon-wrap{height:24px;position:relative;display:inline-flex}
.public-bottom-nav .icon{width:23px;height:23px}
.nav-live-dot{position:absolute;right:-4px;top:0;width:5px;height:5px;border-radius:50%;background:#bef36b;box-shadow:0 0 8px #a7ff5866}
.public-site .article-page{max-width:880px;margin:30px auto 36px;overflow-wrap:anywhere}
.public-site .watch-page{padding-bottom:32px}
.detail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px;border-bottom:1px solid #303d2d;padding-bottom:14px}
.detail-toolbar .text-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:13px}
.detail-toolbar .icon{width:17px;height:17px;transform:rotate(180deg)}
.reading-actions{display:flex;gap:7px;align-items:center}
.reading-actions button{min-height:44px;min-width:44px;border:1px solid #3b4b34;border-radius:12px;padding:8px 13px;color:#bdcdb1;font-size:12px;background:#1a2419}
.reading-actions button[aria-pressed=true]{color:#cdf995;border-color:#a0c579}
.public-site .article-page h1{font-size:clamp(29px,4.2vw,48px);line-height:1.18;letter-spacing:-.5px}
.public-site .article-author{font-size:12px;flex-wrap:wrap;line-height:1.7}
.public-site .rich-content{font-size:17px;line-height:1.95}
.public-site .article-page.large-text .rich-content{font-size:21px}
.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:3px;appearance:none;border:0;background:transparent;color:#c5f76c}
.reading-progress::-webkit-progress-bar{background:transparent}.reading-progress::-webkit-progress-value{background:#c5f76c}.reading-progress::-moz-progress-bar{background:#c5f76c}
.navigation-feedback{position:fixed;bottom:calc(108px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:80;max-width:calc(100vw - 32px);padding:12px 20px;border:1px solid #94b670;border-radius:14px;background:#d0f6a8;color:#1b2c12;box-shadow:0 8px 30px #0005;font-size:13px;text-align:center}
.navigation-feedback[hidden]{display:none}
.public-site .watch-room{margin-top:32px;scroll-margin-top:95px}
.public-site .room-messages{max-height:380px;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;border-radius:14px;background:#101910;border:1px solid #31422a;padding:12px;scrollbar-width:thin}
.public-site .room-message{padding:11px 13px;border-bottom:1px solid #2d3a29;overflow-wrap:anywhere;font-size:14px}
.public-site .room-message strong{color:#bfdbab;font-size:12px}.public-site .room-message p{margin:6px 0;white-space:pre-wrap;line-height:1.7}
.room-compose{display:grid;grid-template-columns:minmax(110px,1fr) minmax(180px,2fr);gap:0 16px;margin-top:20px}
.room-compose label input:not([type=checkbox]),.room-compose label textarea{font-size:16px;min-height:48px;margin-bottom:12px}
.room-compose .chat-send-row{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.chat-send-row .button{min-height:46px}
.chat-counter{font-size:12px;color:#91a085;margin-left:auto}.chat-feedback{flex-basis:100%;font-size:13px;color:#bcd6a6}
.chat-latest{margin:10px 0 0;font-size:12px;min-height:40px}.chat-latest[hidden]{display:none}
.public-site.keyboard-open .public-bottom-nav{display:none}
@media(min-width:761px){.public-site .page-content{padding-bottom:40px}}
@media(max-width:760px){
 .public-site{--public-header-height:74px;--public-nav-height:82px}
 .public-header-inner{padding:9px 14px;min-height:74px;gap:8px}
 .public-header .brand{font-size:22px;gap:5px}.public-header .brand-mark{font-size:40px;width:25px}
 .header-tagline{display:none}:is(.public-header,.admin-header) .language-switch{padding:3px;gap:3px;border-radius:16px}
 :is(.public-header,.admin-header) .language-chip{padding:6px 8px;gap:6px;font-size:12px;min-height:44px;border-radius:12px}
 .language-flag,.language-flag svg{width:23px}.language-flag svg{height:16px}
 .public-site .topbar{padding:10px 14px;min-height:66px;gap:7px}.public-site .topbar .global-search{height:44px;padding:8px 10px;flex-basis:auto;width:auto}
 .public-site .topbar .global-search input{font-size:16px!important}.public-site .topbar .icon-button,.public-site .topbar .avatar{min-width:42px;width:42px;height:44px}
 .public-site .page-content{padding-top:16px;padding-bottom:24px}
 .public-bottom-nav{bottom:0;left:0;right:0;transform:none;width:100%;gap:2px;padding:6px 8px calc(7px + env(safe-area-inset-bottom));border:0;border-top:1px solid #3a4a33;border-radius:18px 18px 0 0}
 .public-bottom-nav .bottom-nav-item{font-size:10px;min-height:58px;border-radius:13px;gap:5px}
 .public-bottom-nav .bottom-nav-item.active:before{top:-7px}
 .public-site .article-page{margin-top:18px;padding:0 17px}.detail-toolbar{gap:8px;margin-bottom:20px;padding-bottom:10px}.detail-toolbar .text-link{font-size:12px}.reading-actions button{padding:8px 10px}
 .public-site .article-page h1{font-size:31px;line-height:1.25}.public-site .article-page:lang(my) h1{font-size:26px;line-height:1.7}.public-site .rich-content{font-size:16px;line-height:1.95}.public-site .article-page.large-text .rich-content{font-size:19px}
 .public-site .watch-page{padding-top:18px}.public-site .watch-page h1{font-size:26px}.public-site .watch-room{padding:18px 14px}.public-site .room-messages{max-height:330px;padding:6px}
 .room-compose{grid-template-columns:minmax(0,1fr);gap:0}.chat-send-row .button{flex:1}.room-compose .chat-send-row{gap:8px}
 .public-site .analytics-consent{bottom:calc(90px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.public-header-inner{padding-left:10px;padding-right:10px}.public-header .brand{font-size:19px}.public-header .brand-mark{width:20px;font-size:34px}:is(.public-header,.admin-header) .language-chip{padding:6px;gap:4px;font-size:11px}.language-flag,.language-flag svg{width:20px}:is(.public-header,.admin-header) .language-switch{padding:2px}.public-bottom-nav .bottom-nav-item{font-size:9px}}
@media(prefers-reduced-motion:reduce){:is(.public-header,.admin-header) .language-chip,.public-bottom-nav .bottom-nav-item{transition:none}}

.admin-header{position:sticky;top:0;z-index:60;background:#111713f5;flex-wrap:wrap;gap:14px;padding:16px 24px}.admin-header .language-switch{margin-left:auto}.admin-site:lang(my) .admin-page h1{line-height:1.7}.admin-site:lang(my) label,.admin-site:lang(my) button,.admin-site:lang(my) .text-link{line-height:1.8}.admin-site .header-actions{flex-wrap:wrap}.admin-site:lang(my) th{letter-spacing:0}@media(max-width:760px){.admin-header{padding:12px 15px}.admin-header>.brand{font-size:23px}.admin-header .studio-label{display:none}.admin-header .header-actions{order:3;width:100%;gap:12px}.admin-header .language-switch{margin-left:auto}.admin-site .admin-page{padding-top:20px}}
