:root{--rq-head:max(74px,calc(env(safe-area-inset-top,0px) + 60px));--rq-scene:clamp(190px,34dvh,320px);--rq-bottom:env(safe-area-inset-bottom,0px)}
/* REPQUARTERS 0.9 — one spatial workspace across every feature.
   Live Three.js scenery stays visible; controllers retain their own data/inputs. */
:root,body,#appFrame,.nutrition-feature,.training-feature,dialog {
 --rq-bg:#171c28;--rq-paper:#f3eee4;--rq-muted:#abb3c0;--rq-accent:#c9ad83;--rq-line:#c9ad832b;
 --bg:#171c28;--surface:#202938;--surface-2:#293344;--panel:#202938;--panel-2:#293344;
 --text:#f3eee4;--muted:#abb3c0;--line:#c9ad832b;--acc:#d8be96;--acc-lite:#e5cfac;--lime:#c9ad83;
 --game-gold:#d8be96;--game-text:#f3eee4;--game-muted:#abb3c0;

 color-scheme:dark;
}
body{background:#171c28;color:#f3eee4;font-family:ui-rounded,'Avenir Next',system-ui,sans-serif}
body button,body input,body select,body textarea{font-family:inherit;touch-action:manipulation}
body button:focus-visible,body a:focus-visible,body input:focus-visible,body select:focus-visible,body summary:focus-visible{outline:2px solid #d8be96!important;outline-offset:3px}
body button:disabled{opacity:.45;cursor:not-allowed}
body :is(input,select,textarea){font-size:16px!important;accent-color:#c9ad83}
#rq-root{background:radial-gradient(ellipse at 50% 35%,#303b4b,#171c28 72%)!important}
.rq-top{inset:max(14px,env(safe-area-inset-top)) 18px auto;z-index:8}
.rq-brand{font-size:13px;letter-spacing:1.8px}.rq-version{font-size:10px;color:#abb3c0}
#rq-root .rq-top-actions .rq-icon{background:#20293888!important;border:1px solid #c9ad8320!important;border-radius:50%;opacity:1}
#rq-root .rq-camera-tools{border-color:#c9ad832b;background:#202938e8;box-shadow:0 8px 30px #0003}
#rq-root .rq-marker-label{color:#e5dfd4;background:#171c28cc}.rq-marker{border-color:#c9ad8355!important}
#rq-root .rq-primary,.rq-build-toggle{background:#d8be96!important;color:#171c28!important;box-shadow:none!important}
#rq-root .rq-secondary{background:#293344!important;color:#eee8dc!important;border:1px solid #c9ad832b!important}
#rq-root .rq-panel{background:#1c2533f5!important;color:#f3eee4;border:1px solid #c9ad8333!important;border-radius:24px;box-shadow:0 20px 60px #0005;backdrop-filter:blur(18px)}
#rq-root .rq-panel :is(input,select){background:#151d2a;color:#f3eee4;border-color:#c9ad8333}
#rq-root .rq-panel :is(p,label,small){color:#b9c0cb}
#rq-root .rq-compartments button[aria-pressed=true]{background:#d8be96;color:#171c28!important}
#rq-root .rq-batch{background:#293344}.rq-batch small{color:#bbc2cd}
/* Split composition on phones. No outer frame or second title/navigation layer. */
body.rq-object #appFrame{
 inset:calc(var(--rq-head) + var(--rq-scene)) 0 0!important;width:100%!important;height:auto!important;
 background:#171c28!important;border:0!important;border-radius:0!important;box-shadow:none!important;
 transform:none!important;overflow:visible!important;isolation:auto;z-index:6;
 --bg:#171c28;--surface:#202938;--surface-2:#293344;--panel:#202938;--panel-2:#293344;
 --text:#f3eee4;--muted:#abb3c0;--line:#c9ad832b;--acc:#d8be96;--acc-lite:#e5cfac;--lime:#c9ad83;
}
body.rq-object #appFrame:before{content:'';position:absolute;bottom:100%;height:60px;left:0;right:0;background:linear-gradient(transparent,#171c28);pointer-events:none}
body.rq-object #rq-root .rq-canvas,body.rq-object #rq-root .rq-pins{inset:var(--rq-head) 0 auto!important;height:calc(var(--rq-scene) + 30px)!important}
body.rq-object #rq-root .rq-heading,body.rq-object #rq-back{display:none!important}
body.rq-object #rq-object-bar{background:#171c28!important;padding:8px 20px 10px;border:0;z-index:2;color:#f3eee4}
body.rq-object #rq-object-bar>div{gap:10px}
body.rq-object .rq-station-seal{display:none}
body.rq-object .rq-station-title small{font-size:9px;letter-spacing:1.7px;color:#c9ad83}
body.rq-object .rq-station-title strong{font-size:18px;font-weight:650}
body.rq-object #rq-object-size,body.rq-object #rq-object-close{width:44px;height:44px;background:#252e3c;border:1px solid #c9ad8324;border-radius:50%;font-size:20px}
body.rq-object:not(.rq-compact) #rq-object-tabs{display:none}
body.rq-object #screenViewport{background:#171c28!important;padding:4px 20px calc(24px + var(--rq-bottom))!important;scrollbar-width:thin;scrollbar-color:#c9ad8344 transparent;overscroll-behavior:contain}
body.rq-object.rq-expanded{--rq-scene:70px}
body.rq-object.rq-expanded #appFrame{top:calc(var(--rq-head) + var(--rq-scene))!important}
body.rq-object.rq-compact #appFrame{top:auto!important;bottom:0!important;max-height:220px!important;padding-bottom:var(--rq-bottom)!important;border-radius:26px 26px 0 0!important}
body.rq-object.rq-compact #rq-root .rq-canvas{inset:92px 0 205px!important;height:auto!important}
body.rq-object.rq-compact #rq-object-bar{padding:16px 20px 20px;border-radius:26px 26px 0 0}
body.rq-object.rq-compact #rq-object-tabs{display:flex;gap:8px}
body.rq-object #rq-object-tabs button{background:#263141;border:1px solid #c9ad8338;color:#eee6d9;border-radius:14px;padding:12px;min-height:48px}
body.rq-object #rq-object-tabs button:first-child{background:#d8be96;color:#171c28}
body.rq-object #rq-object-tabs button i{color:inherit}
/* Neutral surfaces, quiet hierarchy, and room to touch. Applies to fallback too. */
body :is(#screenViewport,dialog,.nutrition-feature .sheet){color:#f3eee4;font-family:ui-rounded,'Avenir Next',system-ui,sans-serif}
body.rq-object #screenViewport :is(h1,h2,h3),body dialog :is(h1,h2,h3){font-family:inherit!important;color:#f3eee4;letter-spacing:-.5px;text-shadow:none!important}
body.rq-object #screenViewport h1{font-size:26px!important;line-height:1.15}body.rq-object #screenViewport h2{font-size:21px!important;line-height:1.25}
body.rq-object #screenViewport :is(.eyebrow,.shead){color:#c9ad83!important;letter-spacing:1px;font-family:inherit!important}
body.rq-object #screenViewport :is(.card,.panel,.sheet,.jobrow,.recipe-book-dish,.route-training-option,.weight-instrument,.diary-summary,.provision-header,.journal-chart-panel,.profile-crew-banner,.meal-picker-hero,.history-heading,.profile-character-compact,[data-art-scene],.profile-category,.stat-card,.history-card,.settings-card){background:#202938!important;background-image:none!important;border:1px solid #c9ad8325!important;box-shadow:none!important;border-radius:18px;color:#f3eee4}
body.rq-object #screenViewport :is(.page-heading,.adventure-banner,.history-heading,.weight-station-header,.profile-heading,.provision-header){background:none!important;border:0!important;padding:8px 0 18px!important;min-height:0!important;text-align:left;box-shadow:none!important}
body.rq-object #screenViewport :is(.adventure-banner,.page-heading,.history-heading,.weight-station-header):before,body.rq-object #screenViewport :is(.adventure-banner,.page-heading,.history-heading,.weight-station-header):after{display:none!important}
body.rq-object #screenViewport :is(.adventure-banner,.history-heading,.weight-station-header)>p:not(.eyebrow){color:#abb3c0;font-size:13px}
body.rq-object #screenViewport :is(.adventure-landscape,.adventure-selection,.adventure-journey){background:transparent!important;background-image:none!important;min-height:0!important;padding:0!important}
body.rq-object #screenViewport :is(.adventure-landscape,.adventure-selection,.adventure-journey):before,body.rq-object #screenViewport :is(.adventure-landscape,.adventure-selection,.adventure-journey):after{display:none!important}
body.rq-object #screenViewport :is(input,select,textarea),body dialog :is(input,select,textarea){background:#141d2a!important;color:#f3eee4!important;border:1px solid #c9ad8336!important;border-radius:12px;min-height:46px;padding:10px 12px;max-width:100%;box-sizing:border-box}
body :is(#screenViewport,dialog) input:is([type=checkbox],[type=radio]){min-height:20px;width:20px;padding:0}
body :is(#screenViewport,dialog) input[type=range]{padding:0}
body.rq-object #screenViewport :is(button,.btn),body dialog button{border:1px solid #c9ad832b!important;background:#293344!important;color:#e9e3d8!important;border-radius:14px;min-height:44px;box-shadow:none!important;font-family:inherit;font-weight:550}
body.rq-object #screenViewport :is(.btn.accent,.btn.solid,.primary-button,.primary,.focus-save,.rest-main-button,.adventure-start,.route-training-start),body dialog :is(.primary,.primary-button,.personal-primary,#formSave){background:#d8be96!important;color:#171c28!important;border-color:#d8be96!important;box-shadow:none!important;font-weight:700}
body.rq-object #screenViewport :is(button[aria-pressed=true],button[aria-selected=true],.active.btn),body dialog button[aria-pressed=true]{background:#d8be96!important;color:#171c28!important;border-color:#d8be96!important}
body.rq-object #screenViewport :is(.muted,.sub,.subtext,.jobhint,.hint,.chart-note){color:#abb3c0!important}
body.rq-object #screenViewport :is(.danger,.danger-button),body dialog :is(.danger,.danger-button){color:#e6a58e!important;background:#382c2d!important}
body.rq-object #screenViewport :is(.empty-state,.empty,.no-data){padding:32px 16px;background:none;border:0;color:#bbc2cd;text-align:center}
/* Training: focus on the current set, with a distinct pause state. */
body.rq-object #screenViewport .training-feature .app-content{padding:0!important;overflow:visible!important}
body.rq-object #screenViewport .training-feature .focus-session{padding:4px 0!important;gap:16px;min-height:0!important}
body.rq-object #screenViewport .training-feature .focus-header{padding:0;background:none;gap:8px}
body.rq-object #screenViewport .training-feature .focus-header .eyebrow{display:none}
body.rq-object #screenViewport .training-feature .focus-header h1{font-size:15px!important}
body.rq-object #screenViewport .training-feature .rq-training-progress{padding:0;border:0;background:none}
body.rq-object .rq-training-progress small{display:none}
body.rq-object .rq-training-progress progress{height:4px;margin:7px 0;background:#2b3442}
body.rq-object .rq-training-progress progress::-webkit-progress-value{background:#c9ad83}
body.rq-object #screenViewport .training-feature .focus-exercise{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;gap:16px}
body.rq-object #screenViewport .training-feature .focus-title{min-height:0!important;gap:12px;align-items:center}
body.rq-object #screenViewport .training-feature .focus-art{width:70px!important;height:70px!important;flex:0 0 70px;border-radius:16px;overflow:hidden}
body.rq-object #screenViewport .training-feature .focus-title h2{font-size:23px!important;margin:4px 0}
body.rq-object #screenViewport .training-feature .focus-title p{font-size:12px;color:#abb3c0}
body.rq-object #screenViewport .training-feature .focus-stepper{border:1px solid #c9ad8333;background:#202938;min-height:66px;border-radius:20px;padding:4px}
body.rq-object #screenViewport .training-feature .focus-stepper input{border:0!important;background:none!important;font-size:26px!important;padding:2px!important;min-width:0;text-align:center}
body.rq-object #screenViewport .training-feature .focus-stepper button{background:#303b4b!important;border-radius:50%;width:40px;min-height:40px;padding:0;flex-shrink:0}
body.rq-object #screenViewport .training-feature .focus-inputs{gap:12px}
body.rq-object #screenViewport .training-feature .focus-rir{gap:8px}.focus-rir>span{color:#c9ad83!important}
body.rq-object #screenViewport .training-feature .focus-rir button{min-height:46px}
body.rq-object #screenViewport .training-feature .focus-save{min-height:58px;border-radius:22px;font-size:17px}
body.rq-object #screenViewport .training-feature .focus-save small{font-size:11px;opacity:.75}
body.rq-object #screenViewport .training-feature .focus-bottom{gap:8px;flex-wrap:wrap}
body.rq-object #screenViewport .training-feature .focus-bottom button{flex:1;font-size:12px;padding:10px}
body.rq-object #screenViewport .training-feature .focus-rest{background:none!important;border:0!important;box-shadow:none;padding:8px 0;gap:8px}
body.rq-object #screenViewport .training-feature .focus-rest:not(.running){font-size:12px}
body.rq-object #screenViewport .training-feature .focus-rest .rest-clock{font-variant-numeric:tabular-nums}
body.rq-object #screenViewport .training-feature .focus-rest.running{border:1px solid #c9ad8333!important;background:#202938!important;padding:14px;border-radius:20px}
body.rq-object #screenViewport .training-feature .focus-session[data-pausing=true] .focus-rest{order:3;display:flex;flex-direction:column;text-align:center;padding:20px 12px}
body.rq-object #screenViewport .training-feature .focus-session[data-pausing=true] .rest-clock>span{font-size:56px;font-weight:650;letter-spacing:-2px;line-height:1.2}
body.rq-object #screenViewport .training-feature .focus-session[data-pausing=true] .rest-clock small{display:none}
body.rq-object #screenViewport .training-feature .focus-session[data-pausing=true] .focus-exercise{order:4}
body.rq-object #screenViewport .training-feature .focus-session[data-pausing=true] :is(.focus-inputs,.focus-rir,.focus-save,.focus-set-nav){display:none}
.rq-saved-strip{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#263344;border:1px solid #c9ad8333;border-radius:16px;font-size:13px}
.rq-saved-strip span{flex:1}.rq-saved-strip button{font-size:12px;background:transparent!important}
body.rq-object #screenViewport .training-feature .route-training-option{padding:18px!important;margin:10px 0!important;border-radius:18px}
/* Kitchen: one navigation, disclosure for secondary management actions. */
body.rq-object #kitchenHeader>.adventure-banner{display:none}
body.rq-object #screenViewport .nutrition-feature .kitchen-tabs{position:static;display:flex;background:#202938;padding:4px;border:1px solid #c9ad832b;border-radius:16px;margin:0 0 20px;gap:4px}
body.rq-object #screenViewport .nutrition-feature .kitchen-tabs button{flex:1;min-width:0;background:transparent!important;border:0!important;font-size:13px;padding:10px 4px}
body.rq-object #screenViewport .nutrition-feature .kitchen-tabs button[aria-selected=true]{background:#d8be96!important;color:#171c28!important}
body.rq-object #screenViewport .nutrition-feature #nutrition-content{padding:0!important}
body.rq-object #screenViewport .nutrition-feature .view{padding:0!important}
body.rq-object #screenViewport .nutrition-feature :is(.tabs,#dayTabs){position:static;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
body.rq-object #screenViewport .nutrition-feature #dayTabs>*{flex:1;min-width:38px;font-size:12px}
body.rq-object #screenViewport .nutrition-feature .btnrow{gap:8px;flex-wrap:wrap}
body.rq-object #screenViewport .nutrition-feature .btnrow>.btn{flex:1 1 100px}
body.rq-object .rq-cooking-journey{padding:0}.rq-journey-map{margin-bottom:16px}
body.rq-object .rq-journey-map button{background:#202938!important;border-color:#c9ad8333!important}
body.rq-object .rq-journey-map button[aria-current=true]{background:#d8be96!important;color:#171c28!important}
body.rq-object .rq-journey-map button[aria-current=true] b{background:#171c28;color:#d8be96}
body.rq-object .rq-cook-stage .jobstep{background:#202938;border-color:#c9ad8338;padding:20px;min-height:140px}
.rq-secondary-actions{margin:16px 0;border-top:1px solid #c9ad832b;padding-top:8px}
.rq-secondary-actions>summary{cursor:pointer;padding:12px 0;color:#c9ad83;font-size:13px}
/* Overlay tasks retain the room above and never stack a second header. */
body.rq-object #screenViewport .nutrition-feature .ov{position:fixed!important;inset:calc(var(--rq-head) + var(--rq-scene)) 0 0!important;background:#171c28!important;padding:0!important;z-index:25;overflow:auto}
body.rq-object #screenViewport .nutrition-feature .sheet{background:#171c28!important;border:0!important;border-radius:0!important;padding:20px 20px calc(24px + var(--rq-bottom))!important;max-height:none!important;min-height:100%;box-shadow:none!important;width:100%!important}
body.rq-object dialog[open]{inset:calc(var(--rq-head) + var(--rq-scene)) 0 0!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;margin:0!important;padding:20px 20px calc(24px + var(--rq-bottom))!important;border:0!important;border-radius:0!important;background:#171c28!important;box-sizing:border-box;overflow:auto;color:#f3eee4}
body.rq-object dialog::backdrop{background:#10172244;backdrop-filter:none}
body.rq-object dialog :is(.personal-top,.onboarding-top){position:static;background:none!important;border:0;padding:0 0 16px}
body.rq-object :is(.modal-backdrop,.modal-overlay){background:#171c28ee!important;backdrop-filter:blur(12px)}
body.rq-object :is(.modal,.modal-card){background:#202938!important;border-color:#c9ad8333!important;color:#f3eee4;max-height:85dvh;overflow:auto;border-radius:24px}
body.rq-object dialog .personal-navigation{display:flex;gap:6px;overflow:auto;margin:16px 0;padding:3px 0 8px;background:none}
body.rq-object dialog .personal-navigation button{white-space:nowrap;font-size:12px}
body.rq-object .personal-section{border:0;background:none}.personal-section-body{padding:16px 0!important}
body.rq-object :is(.personal-actions,.modal-actions,.sheet-actions){gap:10px;padding-top:16px;background:#171c28}
body.rq-object .personal-actions>button{flex:1}
body.rq-object .profile-character-compact{padding:18px!important;min-height:0!important;display:flex!important;gap:16px;align-items:center}
body.rq-object .profile-character-art{min-height:0!important;width:82px!important;height:82px!important;flex:0 0 82px;background:none!important}
body.rq-object .profile-character-art>img{width:82px!important;height:82px!important;object-fit:cover;border-radius:50%}
body.rq-object .profile-character-art .profile-level-seal{display:none}
body.rq-object .profile-intro{display:none}
body.rq-object .profile-menu{display:grid;gap:12px;margin-top:20px}
body.rq-object .profile-category>summary{padding:18px;min-height:72px}
body.rq-object .profile-category>summary h2{font-size:16px!important}
body.rq-object .profile-category>summary p{font-size:12px;color:#abb3c0}
body.rq-object .profile-entry{width:100%;min-height:60px!important;padding:14px;text-align:left;display:flex;align-items:center;gap:10px;margin:8px 0}
body.rq-object .profile-entry-label{flex:1}.profile-entry-label small{color:#abb3c0}
body.rq-object #settings{padding:0!important}body.rq-object #settings>details{background:#202938;border:1px solid #c9ad832b;border-radius:18px;padding:16px;margin:12px 0}
body.rq-object :is(#settings,.sheet) summary{min-height:40px;cursor:pointer}
body :is(.toast,#rq-toast){border-radius:16px!important;background:#293344!important;color:#f3eee4!important;border:1px solid #c9ad8333;box-shadow:0 8px 30px #0003}
body #rq-toast:empty{display:none}
body.rq-tool #appFrame{background:#171c28;max-width:760px;margin:auto}
body.rq-tool #rq-return{background:#202938;color:#e5cfac;border-color:#c9ad8333}
.rq-avatar-button{width:82px;height:82px;border-radius:50%!important;background:#283343!important;border:2px solid #c9ad83!important;color:#e5cfac!important;font-size:27px!important;overflow:hidden;padding:0;position:relative}
.rq-avatar-button img{width:100%;height:100%;object-fit:cover}.rq-avatar-button:after{content:'✎';position:absolute;bottom:0;right:0;font-size:15px;background:#293344;width:25px;height:25px;border-radius:50%}
.rq-photo-preview{width:192px;height:192px;border-radius:50%;display:block;margin:20px auto;object-fit:cover;background:#293344}
#rq-profile-photo label{display:block;margin:16px 0}#rq-profile-photo .rq-photo-actions{display:flex;gap:10px;flex-wrap:wrap}#rq-profile-photo .rq-photo-actions button{flex:1}
@media(min-width:800px){
 body.rq-object #appFrame,body.rq-object.rq-expanded #appFrame{inset:90px 24px 24px auto!important;width:min(520px,46vw)!important;border-radius:24px!important;padding-top:12px!important;background:#171c28ed!important}
 body.rq-object #appFrame:before{display:none}
 body.rq-object #rq-root .rq-canvas,body.rq-object #rq-root .rq-pins{inset:100px min(550px,49vw) 40px 15px!important;height:auto!important}
 body.rq-object.rq-compact #appFrame{top:auto!important;bottom:24px!important;width:460px!important}
 body.rq-object.rq-compact #rq-root .rq-canvas{inset:100px 10px 160px!important}
 body.rq-object dialog[open],body.rq-object #screenViewport .nutrition-feature .ov{inset:90px 24px 24px auto!important;width:min(520px,46vw)!important;border-radius:24px!important}
}
@media(max-height:700px) and (max-width:799px){:root,body{--rq-scene:150px}body.rq-object.rq-expanded{--rq-scene:35px}}
@media(max-width:359px){body.rq-object #screenViewport{padding-left:12px!important;padding-right:12px!important}body.rq-object #screenViewport .training-feature .focus-inputs{gap:6px}body.rq-object #screenViewport .training-feature .focus-stepper button{width:32px;min-height:36px}.rq-brand{font-size:11px!important}}
@media(prefers-reduced-motion:no-preference){body.rq-object #appFrame{transition:top .3s ease}body.rq-object #screenViewport>section:not([hidden]){animation:rq-task-in .2s ease-out}@keyframes rq-task-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){body *,body *:before,body *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
body.rq-keyboard.rq-object{--rq-scene:0px}body.rq-keyboard.rq-object #appFrame,body.rq-keyboard.rq-object dialog[open],body.rq-keyboard.rq-object .nutrition-feature .ov{top:70px!important}
/* Override legacy feature root backgrounds as well as their internal cards. */
body.rq-object #screenViewport{animation:none!important;transform:none!important}
body.rq-object #screenViewport :is(.nutrition-feature,.training-feature,.app-shell,.app-content){background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important}
body.rq-object #screenViewport .training-feature .focus-rest{box-shadow:none!important}
body.rq-object #screenViewport .training-feature .focus-session[data-pausing=true] .rest-clock>span{color:#f3eee4!important;font-size:56px!important}
body.rq-object #screenViewport .training-feature .focus-title{background:none!important;border:0!important}
body.rq-object #screenViewport .training-feature .rest-actions button.rest-main-button{background:#d8be96!important;color:#171c28!important}
body.rq-object #screenViewport .training-feature .focus-title .focus-art{display:none}
body.rq-object #screenViewport .training-feature .focus-title p{margin:2px 0}
body.rq-object #screenViewport .training-feature .focus-session[data-pausing=true] .focus-exercise-nav{display:none}
body.rq-object #screenViewport .profile-crew{display:none}
body.rq-object #screenViewport #adventurerProfile [data-action=worlds]{display:none}
body.rq-object #screenViewport #adventurerProfile .profile-character-compact{padding:16px!important;background:transparent!important;border:0!important}
body.rq-object #screenViewport .profile-character-compact .profile-xp-button{background:none!important;border:0!important;text-align:left;padding:0}
body.rq-object #screenViewport .profile-character-compact .profile-card-link{display:block;margin-top:8px;color:#c9ad83}
body.rq-object #screenViewport .profile-character-compact h2{font-size:26px!important}
body.rq-object #screenViewport .profile-heading{padding:0!important;margin:0 0 16px}
body.rq-object #screenViewport #adventurerProfile{padding:0!important}
body.rq-object #screenViewport [data-training-view=history]:has(.empty-state) :is(.stat-grid,.section-heading){display:none}
body.rq-object #screenViewport .training-feature .focus-dialog :is(h2,p){margin:12px 0}
body.rq-object #screenViewport .training-feature .focus-dialog>div>button{margin:6px 4px 6px 0}
/* The set editor fits the phone: one compact header, one exercise, one action. */
body.rq-object:has(#training-feature:not([hidden]) .focus-session){--rq-scene:155px}
body.rq-object #screenViewport .training-feature .focus-session{gap:10px}
body.rq-object #screenViewport .training-feature .focus-session:not([data-pausing=true]) .focus-rest{display:none}
body.rq-object #screenViewport .training-feature .rq-training-progress{display:none}
body.rq-object #screenViewport .training-feature .focus-title{gap:0}
body.rq-object #screenViewport .training-feature .focus-title h2{font-size:20px!important}
body.rq-object #screenViewport .training-feature .focus-title small{display:none}
body.rq-object #screenViewport .training-feature .focus-exercise{gap:12px}
body.rq-object #screenViewport .training-feature .focus-exercise-nav>label>span{display:none}
body.rq-object #screenViewport .training-feature .focus-exercise-nav select{min-height:42px}
body.rq-object #screenViewport .training-feature .focus-exercise-nav{margin:0}
body.rq-object #screenViewport .training-feature .focus-rir{margin:0;gap:6px}
body.rq-object #screenViewport .training-feature .focus-rir>span{font-size:12px}
body.rq-object #screenViewport .training-feature .focus-stepper{min-height:58px}
body.rq-object #screenViewport .training-feature .focus-save{min-height:52px}
body.rq-object #screenViewport .training-feature .focus-save small{display:none}
body.rq-object #screenViewport .training-feature .focus-header .timer-pill{background:none;border:0;color:#abb3c0;font-size:12px}
body.rq-object #screenViewport #kitchenHeader .kitchen-tabs{background:#202938!important;border-color:#c9ad8330}
body.rq-object #screenViewport .profile-category>summary h2{font-size:17px!important}
body.rq-object #screenViewport .profile-character-compact{margin:16px 0!important;padding:0!important;min-height:100px!important;height:auto!important}
body.rq-object #screenViewport .profile-character-compact>div:last-child{padding:0!important}
body.rq-object #screenViewport .profile-character-compact .profile-xp-button{margin:0!important;min-height:44px!important;font-size:11px}
body.rq-object.rq-expanded:has(#training-feature:not([hidden]) .focus-session){--rq-scene:45px}
/* Consistent typography includes legacy disclosure headings and first-run dialogs. */
body.rq-object #screenViewport :is(strong,summary),body dialog :is(h1,h2,h3,strong,summary){font-family:ui-rounded,'Avenir Next',system-ui,sans-serif!important}
body dialog{--bg:#171c28;--surface:#202938;--surface-2:#293344;--line:#c9ad8333;--text:#f3eee4;--muted:#abb3c0;--acc:#d8be96;--lime:#c9ad83;background:#171c28!important;color:#f3eee4;border-color:#c9ad8333!important;border-radius:24px}
body dialog :is(.onboarding-hero,.onboarding-top,.personal-top,.character-card-identity){background:none!important;background-image:none!important;text-shadow:none!important}
body dialog :is(.onboarding-hero,.personal-top):before,body dialog :is(.onboarding-hero,.personal-top):after{display:none!important}
body dialog :is(.onboarding-note,.onboarding-path,.onboarding-review,.personal-section,.preference-group,.character-worlds article){background:#202938!important;border-color:#c9ad8333!important;color:#d7dce3;border-radius:16px}
body dialog :is(.onboarding-hero p,.eyebrow){color:#c9ad83!important}
body dialog .onboarding-top{font-family:inherit;letter-spacing:1px}
body.rq-object #screenViewport .nutrition-feature :is(.diary-summary,.provision-header,.meal-picker-hero){text-shadow:none!important}
.rq-character-initials{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;border:2px solid #c9ad83;background:#293344;color:#e5cfac;font-size:32px;flex-shrink:0}
#characterCard .character-card-identity img{width:90px;height:90px;object-fit:cover;border-radius:50%}
#characterCard .rq-legacy-rewards{margin:20px 0;padding:14px;border:1px solid #c9ad8333;border-radius:16px}
body.rq-object #screenViewport .training-feature .modal-backdrop{position:fixed!important;inset:calc(var(--rq-head) + var(--rq-scene)) 0 0!important;z-index:30;background:#171c28!important;backdrop-filter:none!important;padding:0!important;align-items:stretch!important;overflow:auto}
body.rq-object #screenViewport .training-feature .exercise-modal{background:#171c28!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;padding:20px 20px calc(24px + var(--rq-bottom))!important;color:#f3eee4}
body.rq-object #screenViewport .training-feature .exercise-modal .modal-handle{display:none}
body.rq-object #screenViewport .training-feature .exercise-modal header{background:transparent!important;border-bottom:1px solid #c9ad832b}
body.rq-object #screenViewport .training-feature .exercise-modal :is(.modal-form,.swap-list){padding:16px 0;gap:12px}
body.rq-object #screenViewport .training-feature .exercise-modal :is(h2,strong){font-family:inherit!important}
body.rq-object #screenViewport .training-feature .exercise-modal :is(.swap-option,.drop-toggle){background:#202938!important;border-color:#c9ad8333!important;color:#f3eee4}
body.rq-object #screenViewport #view-recipes>.adventure-banner{padding:0!important;background:none!important;border:0!important}
body.rq-object #screenViewport #view-recipes>.adventure-banner>p{display:none}
body.rq-object #screenViewport #view-recipes .rq-secondary-actions{margin:8px 0}
body.rq-object #screenViewport #view-recipes .rq-recipe-notes{font-size:11px;color:#abb3c0;margin:8px 0 16px}
body.rq-object #screenViewport #view-recipes #newLibraryRecipe{font-size:12px;min-height:40px;margin:10px 0}
@media(min-width:800px){body.rq-object #screenViewport .training-feature .modal-backdrop{inset:90px 24px 24px auto!important;width:min(520px,46vw)!important;border-radius:24px}}
body:has(.modal-backdrop) #rq-root :is(.rq-top-actions,.rq-canvas),body:has(.ov.open) #rq-root :is(.rq-top-actions,.rq-canvas){pointer-events:none}
/* A forwards-filled legacy transform animation otherwise makes fixed overlays
   relative to the scrolling viewport. Keep the viewport itself untransformed. */
html body.rq-object:not(.rq-compact) #screenViewport{animation:none!important;transform:none!important;will-change:auto!important}
body.rq-object #personalDialog :is(.personal-top,.personal-actions){background:#171c28!important;box-shadow:none!important;border-color:#c9ad832b}
body.rq-object #personalDialog .personal-navigation{flex-wrap:nowrap!important}
body.rq-object #personalDialog .personal-navigation button{flex:0 0 auto!important}
body.rq-object #screenViewport #recipeResults .catalog-recipe{background:#202938!important;border:1px solid #c9ad832b!important;border-radius:18px}
body.rq-object #screenViewport .catalog-recipe>summary{font-family:inherit!important}
#rq-root{--rq-accent:#c9ad83;--rq-muted:#abb3c0;--rq-paper:#f3eee4}
body.rq-object #screenViewport .nutrition-feature #ov{height:auto!important;min-height:0!important;max-height:none!important}
body.rq-object #screenViewport .nutrition-feature #ov #sheet{height:100%!important;min-height:0!important;max-height:100%!important;overflow:auto!important}
