/* Mobile UI scale: 12 metadata / 14 body / 15 action / 24 heading. */
:root{--f-mobile:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei",Roboto,Arial,sans-serif;--f-display:"Songti SC","Noto Serif SC",Georgia,serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--f-mobile);font-size:14px;line-height:1.5}button,input,select,textarea{font-family:var(--f-mobile)}
.top .wallet-login,.top .balance #balance-text,.top .header-lang{font-family:var(--f-mobile)!important;font-size:12px!important;font-weight:500!important;line-height:18px!important}
.page-title,#view-me .page-title,#view-claim .page-title,.companions-intro .page-title,.wallet-journey h1{font-family:var(--f-display)!important;font-size:24px!important;line-height:32px!important;font-weight:500!important;letter-spacing:2px!important;margin:12px 0!important}
.btn-primary,.btn-secondary{font-family:var(--f-mobile)!important;font-size:15px;line-height:22px;letter-spacing:.3px;min-height:46px}#join-btn{font-size:18px!important;line-height:26px!important}#claim-btn{font-size:17px!important;line-height:24px!important;min-height:48px}
#scenes .scene .hall-name{font:500 11px/16px var(--f-mobile)!important;letter-spacing:0!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}#scenes .scene .hall-price{font:600 13px/18px var(--f-mobile)!important}#scenes .scene small{font-size:10px!important}.room-heading{font-family:var(--f-display)!important;font-size:24px!important;line-height:32px!important;letter-spacing:3px!important}
.gather-status .lobby-pulse span,.btc-height-readout small,.btc-estimate small{font-family:var(--f-mobile)!important;font-size:10px!important;letter-spacing:0!important}.gather-status .lobby-pulse b,.gather-core .occ b,.gather-core #slot-info b,.btc-height-readout b,.btc-estimate b{font-family:var(--f-mobile)!important;font-variant-numeric:tabular-nums;letter-spacing:0!important}.gather-core .occ b{font-size:20px!important}.gather-core #slot-info b{font-size:20px!important}.fee b{font:600 17px/24px var(--f-mobile)!important}.fee span{font-size:12px!important}.fee small{font-size:11px!important}.remaining,.gesture-btn{font:12px/18px var(--f-mobile)!important}
.view:not(#view-game){padding-top:8px!important;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;gap:12px}.view:not(#view-game) .note,.view:not(#view-game) .hint,.view:not(#view-game) .notice{font:12px/1.7 var(--f-mobile)!important}.view:not(#view-game) .label{font:12px/18px var(--f-mobile)!important}.view:not(#view-game) .sec{font:600 16px/24px var(--f-mobile)!important}.wallet-main .amount,.claim-value .amount{font-family:var(--f-mobile)!important;font-size:36px!important;line-height:44px!important;font-weight:600!important;letter-spacing:0!important;font-variant-numeric:tabular-nums}.wallet-sub b,.stats3 b{font:600 20px/28px var(--f-mobile)!important;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.wallet-sub .label,.stats3 .label{font-size:12px!important}.wallet-main .two button{font-size:15px!important;min-height:46px}.wallet-journey .treasury-route b{font:600 18px/24px var(--f-mobile)}.wallet-journey .treasury-route span{font:12px/18px var(--f-mobile)}.wallet-journey>small{font:12px/18px var(--f-mobile)}
#view-claim .claim-hero{display:grid;justify-items:center;gap:10px;padding:12px!important;border-radius:16px}.claim-cat{width:180px!important;height:clamp(150px,24dvh,200px)!important;object-fit:contain}.claim-hero:before{width:170px!important;height:170px!important;left:calc(50% - 85px)!important;top:12px!important}.claim-value{padding:12px!important;border-radius:12px!important}.claim-value .label{font-size:14px!important}.claim-hero .hint:empty{display:none}.claim-hero .hint{margin:0!important;padding:0!important}.stats3{padding:12px 6px!important}.stats3>div{min-width:0}.stats3 b{display:block}
#view-me .me-card{display:grid;gap:8px;padding:18px!important;position:relative}.me-card:before{content:none!important;display:none!important}.me-card #me-name{font:600 16px/24px var(--f-mobile)!important;overflow-wrap:anywhere}.set-row{min-height:48px;padding-top:12px;padding-bottom:12px}.set-row,.set-row .seg button{font-family:var(--f-mobile)!important;font-size:14px!important;line-height:20px!important}.set-row .menu-status{font:12px/18px var(--f-mobile)!important}.seg button{min-height:36px}.motion-toggle{font:14px/20px var(--f-mobile)!important}#companions-menu{font:500 14px/20px var(--f-mobile)!important;padding:12px!important;min-height:46px}
.companions-intro{min-height:190px!important;padding:25px 18px!important;margin-bottom:0!important}.companions-intro .page-title{text-align:left}.companions-intro>p:last-child{font:14px/1.7 var(--f-mobile)!important;letter-spacing:1px!important}.companions-hero-guardian{height:220px!important;width:175px!important;right:0!important;top:0!important;object-fit:contain}.companions-hero-ring{width:150px!important;height:150px!important;top:20px!important}.companion-gate h2,.companion-invitation h2,.quest-title{font:500 20px/28px var(--f-display)!important;letter-spacing:1px!important}.companion-gate{padding:18px!important}.companion-gate .btn-primary{font:600 15px/22px var(--f-mobile)!important;min-height:46px;max-width:100%;white-space:normal}.companion-quest-link .quest-description,.companion-quest-link .quest-reward{font:12px/1.7 var(--f-mobile)!important;letter-spacing:0!important}.companion-quest-link .quest-cta{font:600 13px/20px var(--f-mobile)!important;min-height:40px}.quest-platforms span{font:10px/16px var(--f-mobile)!important}.quest-ticket-art{pointer-events:none}.companion-quest-link .quest-body{max-width:73%}.companions-intro .eyebrow,.companion-quest-link .eyebrow{font:10px/16px var(--f-mobile)!important;letter-spacing:2px!important}
.tabs .tab span{font:500 12px/18px var(--f-mobile)!important}.tabs .tab{min-height:56px}.sheet-head h2{font:600 20px/28px var(--f-mobile)!important}.sheet .note,.sheet .hint,.sheet .field label{font:12px/1.7 var(--f-mobile)!important}.sheet .btn-secondary,.sheet .btn-primary{font:600 15px/22px var(--f-mobile)!important}.sheet input{font-size:16px!important}.sheet code{overflow-wrap:anywhere}.rows li{font:13px/20px var(--f-mobile)!important}.rows .sub{font-size:12px!important}
@media(max-width:360px){.companions-intro{min-height:180px!important}.companions-hero-guardian{right:-8px!important;width:145px!important;height:195px!important}.companion-quest-link .quest-body{max-width:78%}.quest-ticket-art{opacity:.55}.fee b{font-size:15px!important}.fee span{font-size:11px!important}.wallet-journey .treasury-route span{font-size:11px}.page-title{font-size:24px!important}}
@media(max-height:700px){.claim-cat{height:140px!important}.companions-intro{min-height:175px!important}.claim-value .amount{font-size:32px!important;line-height:40px!important}}
.sheet{background:linear-gradient(145deg,#252a2e,#151b20)!important;isolation:isolate;border:1px solid #8b805a66}.sheet-head{position:relative;z-index:1}.sheet-body{position:relative;z-index:1}.sheet .wallet-choice{font:500 15px/22px var(--f-mobile)!important}.sheet .kv dt,.sheet .kv dd{font:13px/20px var(--f-mobile)!important;overflow-wrap:anywhere}.sheet .kv div{min-width:0}.sheet .result-total{font-size:40px!important;line-height:48px!important}.sheet .result-total small{font:12px/18px var(--f-mobile)!important}.claim-reward-card,.reward-card{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.share-app{width:100%;min-width:0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.share-app h1{font:500 24px/32px var(--f-display)!important;letter-spacing:2px!important}.share-app h2,.share-app .commission-heading{font:500 20px/28px var(--f-display)!important}.share-app p,.share-app .hint,.share-app .fine,.share-app .intro{font:12px/1.7 var(--f-mobile)!important}.share-app label,.share-app select,.share-app button{font:500 14px/22px var(--f-mobile)!important}.share-app input,.share-app textarea{font:16px/24px var(--f-mobile)!important;min-width:0;max-width:100%}.share-app .primary,.share-app .secondary{min-height:46px}.share-app .eyebrow{font-size:10px!important;letter-spacing:2px!important}.share-app .task-reward{font-size:40px!important}.share-app .task-reward small,.share-app .test-wallet small{font:12px/18px var(--f-mobile)!important}.share-app header{gap:10px;flex-wrap:wrap}.share-app pre{max-width:100%;overflow:auto}.share-app .reward-card h2{font-size:20px!important}.share-app .reward-card button{font:600 15px/22px var(--f-mobile)!important}
body:has(#rooms)>main,body:has(#proof)>main{font:14px/1.6 var(--f-mobile);max-width:100%;overflow-wrap:anywhere}body:has(#rooms) h1{font:500 24px/32px var(--f-display)}body:has(#rooms) h2{font:600 18px/26px var(--f-mobile)}body:has(#rooms) button{font:500 14px/22px var(--f-mobile);min-height:44px}body:has(#rooms) header{flex-wrap:wrap;gap:8px}body:has(#rooms) pre{max-width:100%;overflow:auto}
.result-ceremony .ceremony-counter{font:600 40px/48px var(--f-mobile)!important;font-style:normal!important;font-variant-numeric:tabular-nums;letter-spacing:0!important}.ritual-covenant strong{font:500 15px/24px var(--f-mobile)!important}.ritual-covenant small,.result-hall-label,.hero-result-details summary{font:12px/18px var(--f-mobile)!important;letter-spacing:0!important}.ritual-covenant .covenant-title{font:12px/18px var(--f-mobile)!important;letter-spacing:1px}.result-ceremony .ritual-phase{font:500 16px/24px var(--f-display)!important;letter-spacing:1px}.result-ceremony .sheet-head h2{font:600 20px/28px var(--f-mobile)!important}.result-ceremony .ceremony-replay{font:12px/18px var(--f-mobile)!important}
.plan-top{gap:8px;flex-wrap:wrap}.plan-top b,.plan-top span,.plan-bottom{font:12px/18px var(--f-mobile)!important}.plan-top b{font-weight:600!important}.plan-bottom{gap:8px;flex-wrap:wrap}.companion-row{min-width:0}.companion-row strong{font:500 13px/20px var(--f-mobile)!important}.tree-heading h2{font:500 20px/28px var(--f-display)!important}.tree-heading p,.tree-explanation{font:12px/1.7 var(--f-mobile)!important}.tree-node>strong{font:500 11px/16px var(--f-mobile)!important}.tree-node>small{font:10px/15px var(--f-mobile)!important}.tree-legend{font:11px/17px var(--f-mobile)!important}.tree-summary b{font:600 20px/28px var(--f-mobile)!important}.tree-summary span{font:11px/17px var(--f-mobile)!important}.companion-invitation .two{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-invitation .two button{font:500 13px/20px var(--f-mobile)!important;white-space:normal}
.sheet .input-wrap{display:flex;align-items:center;gap:8px;min-width:0}.sheet .input-wrap input{flex:1 1 0%;width:0;min-width:0;max-width:100%;font:500 16px/24px var(--f-mobile)!important}.sheet .input-wrap .btn-secondary{flex:0 0 auto;width:auto!important;min-width:56px;padding:6px 12px}.sheet .quote{gap:10px;min-width:0}.sheet .quote b{font:600 22px/30px var(--f-mobile);overflow-wrap:anywhere}.sheet .field{min-width:0}.share-app .workspace,.share-app .workspace>section{min-width:0}
.reward-card>strong{font:600 40px/48px var(--f-mobile)!important;font-variant-numeric:tabular-nums}.reward-card h2{font:500 20px/28px var(--f-display)!important}.reward-card small{font:12px/18px var(--f-mobile)!important}.reward-card .primary{font:600 15px/22px var(--f-mobile)!important;min-height:46px}.share-app #quest-realms button,.share-app #halls button{font-size:12px!important;padding:8px 4px}.share-app .reserved{font-size:12px}.share-app .section-title{flex-wrap:wrap}.share-app footer{display:flex;gap:10px;flex-wrap:wrap}.share-app footer small{font:12px/18px var(--f-mobile)}
@media(max-width:360px){html[lang="en"] .tabs .tab span{font-size:10px!important}html[lang="en"] .top .wallet-login{font-size:11px!important;padding:6px!important}}
body:has(#connection) main,body:has(#facts) main{font:14px/1.6 var(--f-mobile);overflow-wrap:anywhere}body:has(#connection) h1,body:has(#facts) h1{font:500 24px/32px var(--f-display);letter-spacing:2px}body:has(#connection) h2,body:has(#facts) h2{font:600 18px/26px var(--f-mobile)}body:has(#connection) button,body:has(#facts) button{font:500 14px/22px var(--f-mobile);min-height:44px}body:has(#connection) dl,body:has(#facts) dl{font:13px/20px var(--f-mobile)}body:has(#connection) header,body:has(#facts) header{flex-wrap:wrap;gap:8px}body:has(#connection) pre,body:has(#facts) pre{max-width:100%;overflow:auto}
/* Two real text rows prevent the emblem from pushing hall names out of TP WebView tabs. */
body[data-room-view="room"] .hall-crown #scenes .scene,body[data-room-view="room"] .hall-crown #scenes .scene[aria-selected="true"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:18px 20px!important;align-content:center!important;align-items:center!important;justify-items:center!important;gap:2px!important;height:54px!important;min-height:54px!important;padding:6px 2px!important;clip-path:none!important;border-radius:7px 7px 12px 12px!important;overflow:hidden}
body[data-room-view="room"] .hall-crown #scenes .scene .hall-name{display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;height:18px!important;min-height:18px!important;font:500 11px/18px var(--f-mobile)!important;white-space:nowrap;max-width:100%;overflow:hidden}
body[data-room-view="room"] .hall-crown #scenes .scene .hall-emblem{display:inline!important;flex:none;font:10px/18px var(--f-mobile)!important;margin:0!important}
body[data-room-view="room"] .hall-crown #scenes .scene .hall-price{display:flex;align-items:baseline;justify-content:center;gap:3px;height:20px;font:600 14px/20px var(--f-mobile)!important}.hall-price small{line-height:20px!important}
.gather-core{gap:9px!important;padding:5px 9px!important}.gather-core .occ{white-space:nowrap}.gather-core .occ b,.gather-core #slot-info b{font-size:18px!important;line-height:23px!important}.gather-core #slot-info span{font:10px/14px var(--f-mobile)!important}.mascot-caption{display:none!important}.online-players{cursor:pointer;color:inherit;background:none;border:0;font:inherit}.online-players:focus-visible{outline:2px solid #e8cf93;border-radius:8px}.online-players #online-label:after{content:' ›';font-size:10px}.online-list{display:grid;gap:8px;max-height:48dvh;overflow:auto;overscroll-behavior:contain}.online-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:12px;border:1px solid #bca16b44;border-radius:10px;background:#202621}.online-person strong{font:500 13px/20px var(--f-mobile);overflow-wrap:anywhere}.online-person small{grid-column:1/-1;font:12px/18px var(--f-mobile);color:#acb6ad}.online-mode{font:11px/18px var(--f-mobile);color:#c2c9c0}.online-mode.auto{color:#f0d28f}.online-mode.bot{color:#a8bdd5}@media(max-width:360px){#scenes .hall-emblem{display:none!important}.gather-core{padding:4px 6px!important;gap:6px!important}.gather-core .occ b,.gather-core #slot-info b{font-size:17px!important}}
.gather-status .lobby-pulse #online-players{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:1px!important;padding:0!important}.gather-status #online-players #online-count,.gather-status #active-rooms #active-count{font:600 20px/26px var(--f-mobile)!important;font-variant-numeric:tabular-nums}.gather-status #online-players #online-label{font:10px/16px var(--f-mobile)!important;white-space:nowrap}
/* Entry fees live in the confirmation sheet; the arena gets the recovered height. */
#view-game .entry-panel .fee,#view-game #slot-info,#view-game .gather-divider{display:none!important}#view-game .gather-core{min-height:42px!important;width:max-content;max-width:100%;padding:7px 14px!important;justify-self:center;border-radius:20px!important}.gather-core .occ b{font-size:21px!important}.gather-core .occ{font-size:12px!important}
#view-game>.entry-panel{padding:7px!important;gap:0!important;border-radius:21px!important;background:linear-gradient(135deg,#d1ad5c22,#111617e8)!important;border:1px solid rgba(var(--realm-light),.4)!important;box-shadow:inset 0 1px #f7deb729,0 5px 22px #0005!important}
#view-game #join-btn{position:relative;isolation:isolate;overflow:hidden;border-radius:15px!important;min-height:58px!important;height:58px;line-height:26px!important;font-size:19px!important;font-weight:650!important;letter-spacing:3px!important;touch-action:manipulation;box-shadow:inset 0 2px #fff1b8aa,inset 0 -3px #8d621a77,0 0 20px rgba(var(--realm-light),.15)!important}
#view-game #join-btn:not(.state-joined):not(:disabled){background:linear-gradient(120deg,#a87529 0%,#ecd08a 26%,#fff0ba 50%,#d6ab57 76%,#ac7d32)!important;border:1px solid #f8df9c!important;color:#302009!important}#view-game #join-btn:before{content:'';position:absolute;inset:5px;border:1px solid #fff3c666;border-radius:10px;pointer-events:none;z-index:-1}#view-game #join-btn:not(:disabled):after{content:'';display:block;position:absolute;inset:-40% auto -40% -35%;width:25%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-20deg);opacity:0;animation:seat-invitation 4.8s ease-in-out infinite;pointer-events:none;z-index:-1}#view-game #join-btn .join-glyph{filter:drop-shadow(0 1px #fff8)}@keyframes seat-invitation{0%,65%{transform:translateX(0) skewX(-20deg);opacity:0}72%{opacity:.35}95%,100%{transform:translateX(600%) skewX(-20deg);opacity:0}}@media(prefers-reduced-motion:reduce){#view-game #join-btn:after{animation:none!important}}
#view-game #join-btn .join-sigil{display:inline-block;font-size:22px;line-height:26px;margin-right:10px;vertical-align:-1px;text-shadow:0 1px #fff9;letter-spacing:0}#view-game #join-btn .join-label{font:inherit;letter-spacing:3px}
body[data-room-view="room"] .guardian-response-lane{position:relative;display:block!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;flex:none;isolation:isolate}
body[data-room-view="room"] .guardian-response-lane .guardian-feedback{position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;height:44px!important;max-height:44px!important;transform:none!important;display:flex;align-items:center;justify-content:center;text-align:center;padding:3px 10px!important;font:12px/18px var(--f-mobile)!important;white-space:normal;overflow:hidden;border:1px solid rgba(var(--realm-light),.25)!important;border-radius:10px!important;background:#151b20!important;box-shadow:none!important;pointer-events:none;visibility:hidden}
body[data-room-view="room"] .guardian-response-lane .guardian-feedback[data-active="true"]{visibility:visible;transform:none!important}
body[data-tab="game"] .app{padding-bottom:calc(var(--tabs-h) + 80px + env(safe-area-inset-bottom,0px))!important}
