/* Shared phone, tablet and controller layouts */
:root{--safe-bottom:env(safe-area-inset-bottom,0px)}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff6880!important;outline-offset:3px}html[data-input=gamepad] :focus{outline:3px solid #ffd16b!important;outline-offset:4px}input,select,textarea{font-size:16px}body{overflow-x:hidden}.touch-controls{position:absolute;inset:0;pointer-events:none;z-index:8;display:none}html[data-input=touch] .touch-controls:not([hidden]){display:block}.touch-stick{position:absolute;left:max(24px,env(safe-area-inset-left));bottom:calc(30px + var(--safe-bottom));width:124px;height:124px;border:2px solid #ffffff50;border-radius:50%;background:#17101a99;pointer-events:auto;touch-action:none;display:grid;place-items:center}.touch-stick span{width:52px;height:52px;border-radius:50%;background:#ff5772cc;box-shadow:0 0 25px #ff577233;pointer-events:none}.touch-actions{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:calc(22px + var(--safe-bottom));display:grid;grid-template-columns:repeat(3,58px);gap:10px;pointer-events:auto}.touch-actions button{height:54px;border:1px solid #ffffff55;border-radius:18px;background:#241420d9;color:white;font-size:12px;font-weight:650;touch-action:none;box-shadow:0 4px 14px #0005}.touch-actions button[data-action=jump],.touch-actions button[data-action=fire]{background:#d83255}.touch-actions button:active{background:#ff7187}#world{touch-action:none}html[data-input=touch] .play-bottom{bottom:190px;left:18px;right:18px;pointer-events:none}html[data-input=touch] .hotbar{pointer-events:auto}html[data-input=touch] .controls-hint{bottom:165px;max-width:90%;font-size:12px;background:#140c16a0;border-radius:12px;padding:7px 12px}html[data-input=touch] .chat-toggle{right:18px;bottom:260px}html[data-input=touch] .chat-panel{bottom:310px;max-height:40vh}.overlay{z-index:30}.play-top,.objective{z-index:10}.modal{max-height:90dvh;overflow:auto}header a{overflow-wrap:anywhere}
@media(max-width:760px){body{font-size:16px}.auth{display:block;padding:16px;min-height:100dvh}.auth-visual{display:none}.auth-panel{padding:24px 10px;max-width:480px;margin:auto;min-height:90dvh}.auth-panel h2{font-size:30px}.auth-bottom{margin-top:25px}.rail{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:auto!important;min-height:0!important;padding:8px 10px calc(8px + var(--safe-bottom))!important;display:flex!important;flex-direction:row!important;gap:4px!important;align-items:center;justify-content:space-around;z-index:25;border-top:1px solid #ff5c7030;overflow-x:auto}.rail-links{display:contents!important}.rail .logo-btn,.rail-brand,.rail-foot{display:none!important}.rail-item{min-width:46px;padding:5px!important;gap:3px}.rail-item small{font-size:10px}.rail-item span{font-size:21px}.shell{margin-left:0!important;padding-bottom:95px}.topbar{padding:16px!important;height:auto!important;gap:12px;flex-wrap:wrap}.topbar .wordmark{width:100px}.topbar .search-wrap{order:3;max-width:none;width:100%;flex-basis:100%}.connection{margin-left:auto;font-size:12px}.profile-chip{max-width:130px}.profile-chip strong{overflow:hidden;text-overflow:ellipsis}.page{padding:22px 16px!important}.page-heading>span{display:none}.page-heading h1{font-size:32px}.hero{height:300px!important}.hero-content{left:24px!important;bottom:28px!important;padding:0!important}.hero h2{font-size:35px!important}.hero p{font-size:13px}.hero-label{display:none}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.game-card{min-width:0}.game-card h3{font-size:16px}.game-card .cover{height:130px!important}.filters{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.filters button{white-space:nowrap;min-height:44px;font-size:14px}.platform-stats{flex-wrap:wrap;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px!important}.platform-stats strong{font-size:25px!important}.platform-stats p{display:none}.settings-card{padding:18px!important}.settings-row{gap:15px;flex-wrap:wrap}.settings-row select,.settings-row input{max-width:100%;min-height:44px}.play-top{padding:12px!important;gap:7px}.play-top button{min-width:44px;min-height:44px}.game-heading{max-width:45vw}.game-heading span{display:none}.objective{top:78px!important;left:12px!important;width:210px!important;padding:12px!important}.objective strong{font-size:15px}.objective small{font-size:11px}.play-bottom .score{padding:8px!important}.play-bottom .score strong{font-size:22px}.play-bottom .vitals{max-width:170px;padding:10px!important}.play-bottom .hotbar{display:none}.chat-panel{right:12px!important;width:min(340px,calc(100vw - 24px))!important}.modal{width:calc(100vw - 30px)!important;padding:22px!important}.modal h2{font-size:26px}.section-heading{gap:12px}.section-heading h2{font-size:21px}.section-heading p{font-size:13px}footer{gap:15px;flex-wrap:wrap}.row{flex-wrap:wrap}.entry{overflow-wrap:anywhere}pre{overflow-wrap:anywhere}}
@media(max-height:520px) and (pointer:coarse){.touch-stick{width:104px;height:104px;bottom:18px}.touch-actions{grid-template-columns:repeat(4,52px);gap:7px;bottom:18px}.touch-actions button{height:46px}.objective{top:65px!important;width:180px!important}.objective .progress-track,.objective small{display:none}html[data-input=touch] .play-bottom{bottom:145px}.controls-hint{display:none!important}html[data-input=touch] .chat-toggle{bottom:150px}.game-heading{padding:8px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:760px){.owner-page .workspace{margin-left:0;height:calc(100dvh - 80px)}.owner-page .rail nav{display:flex;gap:3px;padding:0;overflow-x:auto}.owner-page .rail-link{white-space:nowrap;min-width:max-content;font-size:13px;padding:0 10px}.owner-page .console-topbar{padding:16px;height:auto}.owner-page .top-status{display:none}.owner-page .console-view{padding:18px 12px}.owner-page .metric-grid,.owner-page .overview-grid,.owner-page .metrics,.owner-page .dashboard-grid{grid-template-columns:1fr 1fr}.owner-page table{min-width:600px}.owner-page .table-wrap{overflow-x:auto}.owner-login form{width:min(400px,calc(100vw - 32px))!important;padding:24px!important}.owner-page .panel{overflow:auto}}
html[data-input=touch] .chat-toggle{top:auto!important;height:44px!important;min-width:76px}html[data-input=touch] .play-top{padding-top:max(12px,env(safe-area-inset-top))!important}.avatar-stage{height:340px;position:relative;background:radial-gradient(ellipse at center,#483142,#100c14 72%);border-radius:18px;overflow:hidden;margin:22px 0}.avatar-stage canvas{width:100%;height:100%;display:block;touch-action:none}.avatar-stage p{position:absolute;bottom:10px;left:18px;color:#e8d5de;font-size:14px;pointer-events:none}.outfit-grid .entry button{margin-right:8px}@media(max-width:760px){.avatar-stage{height:280px}.touch-actions button{font-size:13px}}

.ban-notice{position:fixed;inset:0;z-index:10000;overflow:auto;display:grid;place-items:center;background:#09090eeF;padding:24px}.ban-card{width:min(100%,560px);padding:clamp(24px,5vw,48px);border:1px solid #633040;border-radius:24px;background:#181219;color:#f8edf0;box-sizing:border-box}.ban-card h1{font-size:clamp(26px,6vw,40px);margin:16px 0}.ban-card h2{font-size:14px;margin-top:24px;color:#ff7b98}.ban-card p{line-height:1.6;overflow-wrap:anywhere}.ban-card button{margin-top:20px;min-height:48px;width:100%}
