@font-face{font-family:Roboto;src:url('./assets/fonts/Roboto-regular.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:Roboto;src:url('./assets/fonts/Roboto-bold.ttf') format('truetype');font-display:swap;font-weight:700}@font-face{font-family:Anton;src:url('./assets/fonts/Anton.ttf') format('truetype');font-display:swap;font-weight:400}
:root{color-scheme:dark;--bg:#0b0b0d;--panel:#151518;--panel2:#1d1d22;--line:#2e2e35;--ink:#f6f5f8;--muted:#aaa8b4;--lime:#b6ff45;--purple:#9b4dff;--soft-purple:#cfa9ff;--display:Anton,'Arial Narrow',sans-serif;--body:Roboto,Arial,sans-serif;--coral:var(--lime);--lavender:var(--purple);--mint:#82e7b8}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;color:var(--ink);font:14px/1.5 var(--body);background:var(--bg);-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button,a{color:inherit}button{cursor:pointer;background:none;border:0}a{text-decoration:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:4px}img{max-width:100%;display:block}svg{max-width:100%}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h1{font:40px/1.04 var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.1px}h2{font-size:20px}h3{font-size:16px}small{font-size:11px}input,select,textarea{min-width:0;max-width:100%;width:100%;color:var(--ink);background:#101013;border:1px solid #3a3942;border-radius:10px;padding:12px 13px;min-height:46px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8b8996}input[type=checkbox],input[type=radio]{width:19px;min-height:19px;accent-color:var(--lime);flex:none}input[type=number]{appearance:textfield}label{color:#d3d1da}fieldset{min-width:0;border:0;padding:0;margin:0}legend{margin-bottom:10px;color:var(--muted);font-weight:700}.icon{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;top:-100px;left:20px;background:var(--lime);color:#111;padding:14px;z-index:100}.skip-link:focus{top:12px}.sidebar{display:none}.app-shell{max-width:520px;min-height:100vh;margin:auto;border-inline:1px solid #1d1d23}.content-shell{min-width:0}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #212127;background:#0b0b0df5}.mobile-brand{font:26px/1 var(--display);text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:7px}.mobile-brand::before{content:'↯';color:var(--lime);font:36px var(--display)}.mobile-brand span{color:var(--lime)}.breadcrumb,.today-label{display:none}.topbar-right{display:flex;align-items:center;gap:10px}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;background:#27232f;border:1px solid #4e3b66;border-radius:50%;font-size:12px;font-weight:700}.xp-pill{display:flex;gap:5px;align-items:center;color:var(--lime);font-size:11px;white-space:nowrap}.xp-pill .icon{width:15px}.page-footer{display:none}#main{padding:22px 18px 116px;outline:none;min-height:calc(100vh - 70px)}.mobile-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:520px;width:100%;display:grid;grid-template-columns:repeat(5,1fr);z-index:30;padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:#131316f5;border-top:1px solid #32313a;backdrop-filter:blur(18px)}.mobile-nav a{min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#a3a0af;font-size:10px;position:relative}.mobile-nav a.active{color:var(--lime)}.mobile-nav a.active::after{content:'';position:absolute;bottom:-7px;width:18px;height:3px;background:var(--lime);border-radius:3px}.mobile-nav a[href='#checkin'] .icon{width:29px;height:29px;padding:3px;box-sizing:content-box;background:var(--lime);color:#14170e;border-radius:12px;margin-top:-12px}.mobile-nav .icon{width:22px;height:22px}.storage-warning{background:#333124;padding:12px 18px;color:#fff5c7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 17px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:700;line-height:1.25;transition:transform .15s,background .15s}.btn:active{transform:translateY(1px)}.btn.primary,.btn.dark{background:var(--lime);color:#111608;border-color:var(--lime)}.btn.outline{background:#1b1b20;border-color:#39383f;color:var(--ink)}.btn.text,.btn.text-action{padding:9px 0;color:var(--lime);border:none;background:none;min-height:38px}.btn.full{width:100%}.btn .icon{width:18px;height:18px}.tool-button,.modal-close{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid #39383f;background:#202026;border-radius:10px;flex:none}.tool-button .icon{width:17px;height:17px}.eyebrow,.section-kicker,.micro-label{font-size:9px;letter-spacing:1.6px;font-weight:700;line-height:1.5;color:var(--muted);text-transform:uppercase}.v2-heading{margin-bottom:25px}.v2-heading h1{margin-top:6px;max-width:100%}.v2-heading p{font-size:13px;color:var(--muted);margin-top:10px;max-width:360px}.heading-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.mini-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 13px}.mini-heading h2{font-size:18px;letter-spacing:-.3px}.mini-heading button,.mini-heading>span{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.mini-heading .icon{width:15px}.mini-heading button span{font-weight:400}.section-description,.form-helper,.atlas-note,.section-description,.wardrobe-note{font-size:12px;color:var(--muted);line-height:1.6}.section-description{margin:-4px 0 14px}.progress-track{height:5px;background:#34333d;overflow:hidden;border-radius:4px}.progress-track>span{display:block;height:100%;background:var(--lime);border-radius:4px;transition:width .3s}.xp-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:11px}.xp-line span{font-size:10px;color:var(--muted)}.home-greeting{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.home-greeting h1{font:700 18px/1.25 var(--body);text-transform:none;margin-top:5px;overflow-wrap:anywhere;letter-spacing:-.4px}.home-greeting .eyebrow{font-size:8px}.level-badge{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;flex:none;border:1px solid #393044;background:#241a32;padding:7px 9px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.level-badge .icon{width:15px;color:var(--soft-purple)}.neon-hero{position:relative;height:366px;border:1px solid #39343f;overflow:hidden;border-radius:19px;background:radial-gradient(ellipse at 88% 30%,#532a78 0,transparent 55%),linear-gradient(135deg,#16171a,#1a1223 62%,#171c16)}.poster-grid{position:absolute;inset:0;background-image:radial-gradient(#fff2 .6px,transparent .7px);background-size:4px 4px;opacity:.38;pointer-events:none}.neon-hero::before{content:'';position:absolute;right:-40px;top:37px;bottom:80px;width:200px;border:1px solid #7e5e9d;transform:rotate(24deg);opacity:.4}.season-tag{position:absolute;top:18px;left:20px;font-size:8px;letter-spacing:1.3px;font-weight:700;color:#cdc5d9;display:flex;align-items:center;gap:7px}.season-tag i{width:5px;height:5px;background:var(--lime);border-radius:50%}.hero-headline{position:absolute;top:54px;left:20px;z-index:2;font:54px/.99 var(--display);letter-spacing:-.8px;pointer-events:none}.hero-headline em{font-style:normal;color:var(--lime)}.hero-doodle{position:absolute;top:231px;left:23px;font-size:14px;line-height:1.1;font-style:italic;transform:rotate(-7deg);color:#cbb5e2}.neon-hero-art{position:absolute!important;width:256px!important;height:256px!important;right:-38px;top:38px;transform:rotate(3deg);filter:drop-shadow(0 16px 15px #0008)}.hero-character-label{position:absolute;right:16px;bottom:77px;text-align:right;font:19px var(--display);text-transform:uppercase}.hero-character-label small{font:7px var(--body);display:block;letter-spacing:1.4px;color:#b5a7c8}.hero-action{position:absolute;bottom:16px;left:17px;right:17px;z-index:3}.hero-action .btn{height:49px;font-size:14px}.home-xp{display:flex;gap:12px;align-items:center;margin:17px 0 23px;padding:0 3px}.home-xp>div:nth-child(2){flex:1;min-width:0}.xp-symbol{height:36px;width:36px;border:1px solid #424630;display:grid;place-items:center;border-radius:10px;color:var(--lime);background:#1b2014}.xp-symbol .icon{width:18px}.xp-more{width:30px;height:40px;color:var(--muted)}.xp-more .icon{width:16px}.home-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-tile{text-align:left;background:#19191d;border:1px solid #343339;border-radius:14px;padding:14px 12px;min-width:0;overflow:hidden}.squad-tile{background:linear-gradient(130deg,#2e1b40,#20152e);border-color:#4c2c66}.tile-top{display:flex;align-items:center;gap:6px;margin-bottom:18px}.tile-top>.icon:first-child{width:20px;color:var(--lime)}.squad-tile .tile-top>.icon:first-child{color:var(--soft-purple)}.tile-top>.icon:last-child{width:13px;height:13px;margin-left:auto;transform:rotate(-35deg)}.tile-top>span{font-size:6px;letter-spacing:.6px;color:#bcb8c5;white-space:nowrap}.home-tile strong{display:block;font-size:15px;letter-spacing:-.3px}.home-tile small{display:block;color:#b9b5c2;font-size:10px;line-height:1.5;margin-top:7px}.home-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #29282f;margin:24px 0 4px;padding:17px 0}.home-stat-strip>div{text-align:center;border-right:1px solid #2f2d36}.home-stat-strip>div:last-child{border:0}.home-stat-strip strong{display:block;font:27px/1 var(--display)}.home-stat-strip strong small{font:14px var(--body);color:var(--muted)}.home-stat-strip span{display:block;margin-top:8px;font-size:7px;letter-spacing:.7px;color:var(--muted)}.quest-list{display:grid;gap:9px}.quest-card{display:flex;width:100%;align-items:center;text-align:left;gap:11px;padding:15px 12px;background:#17171c;border:1px solid #2d2c34;border-radius:12px}.quest-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#282132;color:var(--soft-purple);flex:none}.quest-icon.recover{background:#25262b;color:#b4b5c0}.quest-description{display:flex;flex-direction:column;gap:4px;flex:1}.quest-description strong{font-size:12px}.quest-description>span{font-size:10px;color:var(--muted)}.quest-description small{font-size:9px;color:var(--lime);margin-top:2px}.quest-state .icon{width:15px}.quest-done .quest-state{color:var(--lime)}.quest-done{border-color:#3d4c29}.week-calendar{width:100%;display:grid;grid-template-columns:repeat(7,1fr);padding:14px 5px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.week-day{display:flex;align-items:center;flex-direction:column;gap:7px;border-radius:8px;padding:4px 1px}.week-day small{font-size:9px;color:var(--muted)}.week-day b{font-size:12px}.week-day i{height:5px;width:5px;background:#38363f;border-radius:50%}.week-day i .icon{height:12px;width:12px}.week-day.today{background:#2a2136}.week-day.today b{color:var(--soft-purple)}.week-day.done i{background:var(--lime);color:#12180a;width:14px;height:14px}.next-training-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;display:flex;overflow:hidden}.next-training-art{width:103px;flex:none;position:relative;overflow:hidden;background:#2b1c39;display:grid;place-items:center}.next-training-art>img{width:125px;max-width:none}.training-art-icon{position:absolute;bottom:10px;left:10px;display:grid;place-items:center;width:23px;height:23px;background:#0008;border-radius:6px}.training-art-icon .icon{width:14px}.next-training-copy{padding:16px;min-width:0}.next-training-copy h3{font-size:15px;margin:6px 0}.next-training-copy p{font-size:11px;color:var(--muted)}.micro-label{font-size:7px;letter-spacing:1px}.home-shortcut{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:17px 3px;border-bottom:1px solid #2e2b34;margin-top:7px}.home-shortcut>span:nth-child(2){flex:1}.home-shortcut strong{display:block;font-size:12px}.home-shortcut small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.home-shortcut>.icon{width:16px}.shortcut-icon{display:grid;place-items:center;width:34px;height:34px;background:#24212c;border-radius:8px;color:var(--soft-purple)}.shortcut-icon .icon{width:18px}
/* Character wardrobe. Base sprites remain independent of equipped items. */
.creature-art{display:inline-block;position:relative;width:100%;height:auto;aspect-ratio:1;isolation:isolate;flex:none}.creature-base,.creature-layer,.ascension-aura,.evolution-armor{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.creature-base{z-index:2}.creature-layer{z-index:4}.layer-back{z-index:0}.ascension-aura{z-index:0;animation:aura-breathe 4s ease-in-out infinite}.evolution-armor{z-index:3}.character-progress-link{text-align:right;margin-top:-10px;margin-bottom:7px}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.collection-heading h1{font-size:37px;margin-top:5px}.collection-heading h1 span{color:var(--lime)}.collection-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.confirmed-xp{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--lime);white-space:nowrap}.confirmed-xp small{display:none}.confirmed-xp .icon{width:14px}.creature-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:17px}.creature-roster button{background:#19171f;border:1px solid #35303f;border-radius:12px;padding:7px 5px 12px;position:relative;min-width:0}.creature-roster button.selected{border-color:var(--lime);background:#232b1a}.roster-number{position:absolute;top:8px;left:9px;color:#a7a1b0;font-size:8px}.roster-art{width:85px;height:85px;max-width:100%;margin:auto}.creature-roster strong{display:block;font:19px var(--display);text-transform:uppercase}.creature-roster small{display:block;font-size:7px;color:var(--muted);margin-top:4px}.creature-showcase{position:relative;height:300px;border-radius:16px;border:1px solid #44334f;background:radial-gradient(ellipse at center,#38254d,#18131f 69%);overflow:hidden}.showcase-mark{position:absolute;inset:17px 18px auto;display:flex;justify-content:space-between;z-index:1}.showcase-mark>span{font-size:7px;letter-spacing:1.4px;color:#ac93c3}.showcase-mark>strong{font:62px/1 var(--display);color:#6a45804a}.form-status{position:absolute;top:42px;left:18px;font-size:9px;display:flex;gap:5px;align-items:center;color:var(--soft-purple);z-index:5}.form-status .icon{width:13px;height:13px}.showcase-rings{position:absolute;width:220px;height:220px;left:50%;top:48%;transform:translate(-50%,-50%);border:1px solid #806f9244;border-radius:50%;box-shadow:0 0 0 25px #6a47851a,0 0 0 50px #6a478512}.showcase-creature{position:absolute;width:258px;height:258px;left:50%;transform:translateX(-50%);top:15px;filter:drop-shadow(0 10px 9px #0008)}.showcase-foot{position:absolute;bottom:15px;left:17px;right:17px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:#c9b4df}.creature-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}.creature-title h2{font:35px var(--display);text-transform:uppercase}.creature-title .eyebrow{font-size:8px}.form-count{font:23px var(--display);color:var(--lime)}.form-count small{font:12px var(--body);color:var(--muted)}.creature-lore{font-size:12px;color:var(--muted)}.character-tabs,.squad-tabs,.builder-mobile-tabs,.kind-toggle{display:flex;padding:4px;background:#17151d;border:1px solid #332f3a;border-radius:11px;margin:21px 0 17px;gap:4px}.character-tabs>button,.squad-tabs>button,.builder-mobile-tabs>button,.kind-toggle>button{flex:1;min-height:42px;font-size:12px;font-weight:700;border-radius:8px;color:#a7a2b1;display:flex;align-items:center;justify-content:center;gap:7px}.character-tabs button.active,.squad-tabs button.active,.builder-mobile-tabs button.active,.kind-toggle button.active{background:#352146;color:#e1c8ff}.character-tabs .icon,.kind-toggle .icon{width:17px}.evolution-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.evolution-card{min-width:0;position:relative;background:#19171e;border:1px solid #35313f;border-radius:11px;padding:12px 4px}.evolution-card.selected{border-color:var(--lime)}.evolution-card>small{font-size:7px;letter-spacing:1.1px;color:var(--muted)}.evolution-art{display:block;width:85px;max-width:100%;margin:auto;height:85px}.evolution-card strong{font-size:10px;display:block;overflow-wrap:anywhere}.evolution-card>span:last-child{font-size:8px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:3px;margin-top:6px}.evolution-card .icon{width:10px;height:10px}.evolution-card.locked .evolution-art{opacity:.55}.evolution-auto,.toggle-field{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0}.evolution-auto strong{font-size:12px}.evolution-auto small,.toggle-field small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.creature-progress{padding:17px;border:1px solid var(--line);background:var(--panel);border-radius:12px}.creature-progress>div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:10px}.creature-progress p{font-size:10px;color:var(--muted);margin-top:10px}.character-equip{margin:21px 0 8px}.character-equip small{display:block;font-size:10px;text-align:center;color:var(--muted);margin:9px 10px}.wardrobe-slots{display:flex;gap:8px;margin:15px 0}.wardrobe-slots button{border:1px solid var(--line);border-radius:20px;padding:9px 16px;font-size:11px}.wardrobe-slots button.active{background:var(--lime);border-color:var(--lime);color:#14190f}.wardrobe-items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px}.wardrobe-item{min-width:0;padding:12px 7px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.wardrobe-item.selected{border-color:var(--lime)}.item-art{height:80px;display:flex;align-items:center;justify-content:center}.item-art>img{height:78px;width:78px;object-fit:contain}.item-art>svg{width:100%;height:100%}.wardrobe-item strong{display:block;font-size:10px;line-height:1.3;min-height:27px}.wardrobe-item small{display:flex;gap:3px;justify-content:center;font-size:8px;color:var(--muted);margin-top:6px}.wardrobe-item small .icon{width:10px;height:10px}.onboard-characters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.onboard-characters legend{grid-column:1/-1;font-size:12px}.onboard-characters label{background:var(--panel2);padding:8px;border:1px solid var(--line);border-radius:10px;text-align:center;position:relative}.onboard-characters label:has(:checked){border-color:var(--lime)}.onboard-characters input{position:absolute;top:7px;left:7px;width:14px;min-height:14px}.onboard-art{width:80px;max-width:100%;height:80px;margin-top:12px}.onboard-characters strong{display:block;font-size:11px}.profile-character{display:flex;gap:16px;align-items:center;padding:10px 0 22px}.profile-character>span{background:#30203c;border-radius:15px;width:85px;height:85px}.profile-character>div{display:flex;flex-direction:column;gap:5px}.profile-character small{font-size:8px;letter-spacing:1.5px}.profile-creature{width:85px;height:85px}.reward-creature{width:100px;height:100px}.evolution-unlocked{display:flex;gap:12px;align-items:center;background:#2b1b3d;border:1px solid #5c3876;border-radius:12px;padding:12px;margin:17px 0}.evolution-unlocked p{font-size:11px;color:var(--muted)}
/* Library and workout editor */
.training-hub-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:25px}.training-hub-nav .btn{font-size:10px;padding:10px 5px;gap:5px;min-height:42px}.training-hub-nav .icon{width:14px}.routine-grid,.exercise-grid{display:grid;gap:14px}.routine-card{border:1px solid var(--line);border-radius:15px;background:var(--panel);overflow:hidden}.routine-photo-cover{height:157px;position:relative;background:linear-gradient(120deg,#292038,#17121e);overflow:hidden}.routine-photo-cover>img{position:absolute;right:-12px;top:-20px;height:188px;width:188px;object-fit:contain;opacity:.7}.routine-days{position:absolute;top:15px;left:16px;font-size:8px;letter-spacing:1px;color:var(--soft-purple);padding:5px 7px;background:#17121eaa;border:1px solid #584064;border-radius:4px}.routine-photo-cover>.tool-button{position:absolute;right:12px;top:11px;width:32px;height:32px;background:#17121eaa}.routine-cover-title{position:absolute;bottom:17px;left:16px;max-width:70%;z-index:2}.routine-cover-title>span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.routine-cover-title h2{font:28px/1.05 var(--display);text-transform:uppercase;margin-top:7px;text-shadow:0 1px 10px #000}.routine-card-content{padding:15px}.routine-card-stats{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted)}.routine-card-stats>span{display:flex;align-items:center;gap:4px}.routine-card-stats .icon{width:12px;height:12px}.routine-peek{list-style:none;padding:12px 0 0;margin:0}.routine-peek li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #2b2930;font-size:10px}.routine-peek b{color:#c6c1ce;white-space:nowrap}.more-routine{color:var(--muted)}.routine-card-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin-top:15px}.routine-card-actions .btn{font-size:11px}.collection-empty{background:radial-gradient(ellipse at 50% 0,#44245b,#18141e 70%);border:1px solid #413049;border-radius:17px;text-align:center;padding:8px 25px 26px}.collection-empty>div:first-child{height:170px}.collection-empty img{height:180px;width:180px;object-fit:contain;margin:0 auto}.collection-empty h2{font:30px/1.12 var(--display);text-transform:uppercase;margin:8px 0 12px}.collection-empty p{font-size:12px;color:var(--muted)}.empty-actions{display:flex;flex-direction:column;gap:9px;margin-top:20px}.templates-section{margin-top:23px;border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:60px 1fr;gap:12px;background:var(--panel)}.template-photo{width:60px;height:75px;overflow:hidden}.template-photo img{height:75px;width:75px;object-fit:contain}.templates-section h2{font-size:16px;margin:6px 0}.templates-section p{font-size:11px;color:var(--muted)}.templates-section>.btn{grid-column:1/-1}.active-banner,.draft-banner,.replacement-banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px;border:1px solid #524164;background:#251b32;border-radius:12px;margin-bottom:17px}.active-banner>div{flex:1}.active-banner strong,.active-banner span{display:block;font-size:12px}.active-banner span{font-size:10px;color:var(--muted);margin-top:4px}.draft-banner>span{flex:1;font-size:12px}.catalogue-controls{margin:17px 0}.search-input{display:flex;align-items:center;gap:8px;background:#1a191f;border:1px solid #3d3947;border-radius:11px;padding:0 12px}.search-input input{background:none;border:0;padding:13px 0;font-size:13px;outline-offset:2px}.search-input .icon{width:18px;color:var(--muted)}.filter-row{display:flex;gap:8px;align-items:end;margin-top:10px}.filter-row label{flex:1;min-width:0;font-size:10px;color:var(--muted)}.filter-row select{margin-top:5px;font-size:11px;padding:10px 8px;min-height:40px}.filter-favorite{height:40px;width:40px;display:grid;place-items:center;border:1px solid #3a3642;border-radius:9px;background:var(--panel)}.filter-favorite.active{color:var(--lime)}.browse-muscles,.builder-muscle-pills,.muscle-buttons{display:flex;gap:7px;overflow:auto;margin:13px 0;padding-bottom:6px;scrollbar-width:none}.browse-muscles button,.builder-muscle-pills button,.muscle-buttons button{white-space:nowrap;border-radius:20px;padding:8px 13px;border:1px solid var(--line);background:var(--panel);font-size:10px}.browse-muscles button.active,.builder-muscle-pills button.active,.muscle-buttons button.active{background:var(--lime);color:#151b0b;border-color:var(--lime)}.muscle-picker,.builder-map{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.muscle-picker summary,.builder-map summary{padding:14px;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.muscle-picker summary span,.muscle-picker summary b{display:flex;align-items:center;gap:6px}.muscle-picker summary b{font-size:10px;font-weight:400;color:var(--muted)}.muscle-picker summary .icon,.builder-map summary .icon{width:17px}.atlas-panel{padding:17px}.atlas-title{display:flex;justify-content:space-between}.atlas-panel h2{font:29px/1.1 var(--display);text-transform:uppercase;margin:10px 0}.atlas-panel h2 em{color:var(--lime);font-style:normal}.map-switch{display:flex;justify-content:center;gap:4px}.map-switch button{padding:8px 16px;border-radius:7px;background:#292332;font-size:10px}.map-switch .active{background:var(--purple);color:#fff}.anatomy-stage{text-align:center;position:relative;height:290px;padding:10px 0}.anatomy-stage svg{height:260px;width:100%}.body-map .body-base{fill:#323239}.body-map [data-muscle]{cursor:pointer;fill:#66616e;stroke:#201a28;stroke-width:.7;transition:fill .15s}.body-map [data-muscle].selected,.body-map [aria-pressed=true]{fill:var(--lime)}.body-map [data-muscle]:hover{fill:var(--soft-purple)}.map-direction{position:absolute;bottom:2px;left:0;right:0;font-size:7px;letter-spacing:2px;color:var(--muted)}.map-selection{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:12px}.selection-dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}.map-selection .tool-button{margin-left:auto;width:26px;height:26px}.atlas-note{font-size:10px}.results-top{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px;gap:8px;font-size:10px;color:var(--muted)}.results-top .text-action{font-size:10px;color:var(--lime)}.exercise-grid{grid-template-columns:1fr 1fr;gap:10px}.exercise-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.exercise-card.is-added{border-color:#698c35}.exercise-visual{height:124px;width:100%;position:relative;background:#211a2b;overflow:hidden}.exercise-visual svg{height:150px;width:100%;margin-top:8px;opacity:.9}.exercise-map-thumb{height:100%;overflow:hidden}.exercise-map-thumb svg [data-muscle]{fill:#3e3549;stroke:#17121c;stroke-width:1}.exercise-map-thumb svg [aria-pressed=true],.exercise-map-thumb svg .selected{fill:var(--lime)}.visual-guide{position:absolute;bottom:7px;left:9px;right:9px;display:flex;justify-content:space-between;align-items:center;font-size:7px;color:#d9d2e2}.visual-guide .icon{width:12px;height:12px}.favorite-button{position:absolute;top:8px;right:8px;border-radius:50%;background:#0c0b10bb;width:27px;height:27px;display:grid;place-items:center}.favorite-button .icon{width:14px;height:14px}.favorite-button.on{color:var(--lime)}.exercise-card-body{padding:11px}.exercise-meta{display:flex;gap:3px;font-size:7px;color:var(--muted);min-height:12px;justify-content:space-between}.added-label{color:var(--lime);display:flex;align-items:center;gap:2px;font-size:6px}.added-label .icon{width:8px;height:8px}.exercise-name{display:block;text-align:left;padding:8px 0;font-size:12px;font-weight:700;line-height:1.3;min-height:48px}.exercise-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:3px}.equipment-label{font-size:8px;color:var(--muted);display:flex;align-items:center;gap:3px}.equipment-label .icon{width:10px;height:10px}.add-exercise{border-radius:8px;background:var(--lime);color:#18200c;width:32px;height:32px;display:grid;place-items:center;flex:none}.add-exercise .icon{width:16px;height:16px}.add-exercise.added{background:#303b25;color:var(--lime)}.load-more{margin:18px 0;width:100%}.catalogue-photo-note{font-size:9px;color:var(--muted);margin-top:15px}.selection-bar{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:480px;z-index:21;display:flex;align-items:center;gap:9px;padding:11px;background:#292033;box-shadow:0 8px 30px #0008;border:1px solid #614775;border-radius:12px}.selection-number{background:var(--purple);padding:5px 10px;border-radius:7px;font-size:14px;font-weight:700}.selection-bar>div{flex:1;min-width:0}.selection-bar strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-bar>div span{display:block;font-size:9px;color:var(--muted)}.selection-bar .btn{font-size:10px;padding:10px;min-height:37px}.builder-layout.show-catalog #editor-panel,.builder-layout.show-editor .builder-library{display:none}.mobile-builder-footer{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);max-width:480px;width:calc(100% - 36px);z-index:20}.routine-editor{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.editor-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:16px}.draft-indicator{font-size:8px;color:var(--lime)}.workout-name-label,.editor-notes-label{display:block;font-size:10px;color:var(--muted)}.workout-name-label input{margin-top:6px;font-size:16px;font-weight:700}.draft-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 0;text-align:center}.draft-summary strong{display:block;font:27px var(--display)}.draft-summary span{font-size:9px;color:var(--muted)}.draft-muscles{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px}.draft-muscles>span{font-size:9px;padding:5px 7px;border-radius:5px;background:#27212e;color:var(--soft-purple)}.draft-muscles p{font-size:11px;color:var(--muted)}.editor-row{background:#1e1c23;border:1px solid #36303f;border-radius:10px;padding:11px;margin-bottom:10px}.editor-row-top{display:flex;align-items:center;gap:8px}.editor-row-top>div{flex:1;min-width:0}.editor-row-top strong{font-size:11px;display:block}.editor-row-top small{font-size:8px;display:block;color:var(--muted);margin-top:3px}.slot-number{font:17px var(--display);color:var(--soft-purple)}.drag-handle{display:none}.editor-row-actions{display:flex;gap:3px}.editor-row-actions .tool-button{width:28px;height:30px;border:0;background:#28232f}.editor-row-actions .icon{width:12px}.slot-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.slot-fields label{font-size:8px;color:var(--muted)}.slot-fields input{min-height:38px;padding:9px 7px;font-size:12px;margin-top:4px;text-align:center}.editor-notes-label textarea{margin-top:7px;font-size:12px}.draft-days{margin:18px 0;font-size:11px}.draft-days>div{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:9px 0}.draft-days button{min-height:34px;font-size:9px;background:#24202b;border:1px solid #3e344b;border-radius:6px;padding:0}.draft-days button.active{background:var(--lime);color:#17200c}.draft-days small,.editor-footer small{display:block;font-size:9px;color:var(--muted);line-height:1.5}.editor-footer{display:grid;gap:10px}.training-tip{display:flex;gap:10px;align-items:center;background:#28202f;border:1px solid #44324f;border-radius:11px;padding:14px;font-size:11px;color:#c4b4d0;margin:16px 0}.training-tip .icon{color:var(--soft-purple)}.template-list{display:grid;gap:9px}.template-list>button{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.template-list strong{font-size:12px;display:block}.template-list small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.template-letter{font:24px var(--display);color:var(--lime)}.quick-template-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.quick-template-buttons .btn{font-size:10px}.routine-menu-actions{display:grid;gap:8px}.routine-menu-actions .btn{justify-content:flex-start}
/* Workout execution and real history */
.session-header{position:relative;min-height:145px;padding:20px;background:linear-gradient(130deg,#33203f,#1b1423);border:1px solid #4b325b;border-radius:15px;overflow:hidden;margin-bottom:16px}.session-header h1{font-size:32px;max-width:80%;position:relative}.session-header p{font-size:11px;color:var(--muted);margin-top:8px}.session-photo{position:absolute;right:0;top:0;max-width:180px;opacity:.5}.session-letter{font:35px var(--display);color:var(--lime)}.session-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:15px 0}.session-clock{display:flex;align-items:center;gap:6px;font:20px var(--display)}.session-actions{display:flex;gap:7px}.session-actions .btn{font-size:10px;min-height:38px;padding:9px}.session-progress{margin:15px 0}.session-progress>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.v2-session{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden;margin-bottom:12px}.v2-session>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer}.v2-session>summary::-webkit-details-marker{display:none}.exercise-number{font:18px var(--display);color:var(--lime);flex:none}.exercise-summary-text{flex:1;min-width:0}.exercise-summary-text strong{display:block;font-size:13px}.exercise-summary-text small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.exercise-count{font-size:10px;color:var(--soft-purple)}.exercise-content{padding:0 12px 15px}.session-movement-photo{height:105px;background:#221a2d;border-radius:8px;margin-bottom:12px;overflow:hidden}.session-movement-photo svg{width:100%;height:140px}.set-labels,.set-row{display:grid;grid-template-columns:30px 1fr 1fr 40px;align-items:center;gap:8px}.set-labels{font-size:8px;color:var(--muted);padding:5px 0 8px;text-align:center}.set-row{margin-bottom:8px}.set-row input{padding:9px 4px;text-align:center;min-height:42px;font-size:14px}.set-number{font-size:11px;text-align:center;color:var(--muted)}.set-check{height:42px;width:40px;display:grid;place-items:center;border:1px solid #4f415d;border-radius:8px;background:#2c2235}.set-check .icon{width:18px}.set-row.done .set-check{background:var(--lime);color:#17200c;border-color:var(--lime)}.set-row.done input{border-color:#3c4c27;background:#20271a}.session-exercise-tools,.session-series-tools{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.session-exercise-tools .btn,.session-series-tools .btn{font-size:10px;min-height:32px;padding:8px}.exercise-notes{display:block;font-size:10px;color:var(--muted);margin-top:13px}.exercise-notes textarea{min-height:60px;margin-top:6px;font-size:11px}.v2-stats,.result-stats,.draft-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v2-stats{grid-template-columns:1fr 1fr;margin-bottom:20px}.v2-stats>div,.result-stats>div{padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:11px}.v2-stats .icon{width:17px;color:var(--soft-purple);margin-bottom:8px}.v2-stats strong,.result-stats strong{display:block;font:29px var(--display)}.v2-stats span,.result-stats small{display:block;font-size:9px;color:var(--muted);margin-top:6px}.panel{padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:13px;margin-bottom:15px}.panel-heading{margin:0 0 17px}.panel-heading h2{font-size:17px;margin-top:5px}.panel-heading .section-kicker{font-size:8px}.chart-select{font-size:10px;display:block;color:var(--muted)}.chart-select select{font-size:11px;margin-top:7px}.v2-chart{margin:20px 0}.data-chart{width:100%;height:auto;color:var(--lime)}.data-chart text{fill:#aca6b6;font:9px var(--body)}.data-chart line{stroke:#39333f}.data-chart path{stroke:var(--lime)}.data-chart circle{fill:var(--lime)}.level-panel .player-stage{height:170px;position:relative;display:grid;place-items:center;overflow:hidden}.level-panel .creature-art{width:170px;height:170px}.player-level{font:25px var(--display);color:var(--lime)}.player-orbit{display:none}.level-panel h3{font-size:19px;margin:10px 0}.xp-caption,.xp-next{font-size:10px;color:var(--muted);margin:10px 0}.measurement-summary{display:grid;gap:7px;font-size:11px}.measurement-summary span{border-top:1px solid var(--line);padding-top:8px}.history-filter{display:flex;gap:10px;align-items:end;margin-bottom:20px;font-size:10px}.v2-history-list{display:grid;gap:10px}.v2-history-list>button{display:flex;gap:12px;text-align:left;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.v2-history-list strong{font-size:13px;display:block}.v2-history-list small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.history-letter{font:22px var(--display);color:var(--lime)}.history-exercise{font-size:13px;margin:18px 0 8px}.history-setline{font-size:12px;padding:6px 0;border-bottom:1px solid var(--line);color:var(--muted)}.agenda-grid{display:grid;gap:11px}.agenda-day{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:15px}.agenda-day-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.agenda-day-top strong{font-size:14px}.agenda-day-top span{font-size:10px;color:var(--muted)}.agenda-day-content h3{font-size:13px}.agenda-day-content p{font-size:11px;color:var(--muted);margin:6px 0}.agenda-select-label{font-size:9px;color:var(--muted)}.agenda-select-label select{font-size:11px;min-height:38px;margin:7px 0}.agenda-done{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--lime);margin:9px 0}.recovery-banner{display:flex;gap:15px;padding:17px;border:1px solid #3a3c43;background:#202125;border-radius:13px;margin-bottom:22px}.recovery-banner h2{font-size:17px}.recovery-banner p{font-size:11px;color:var(--muted);margin:7px 0 10px}.recovery-symbol{color:#c2c5ce}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.achievement-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 12px;opacity:.65}.achievement-card.unlocked{opacity:1;border-color:#53742e}.achievement-icon,.achievement-medal{display:grid;place-items:center;border:1px solid #5b3d77;color:var(--soft-purple);background:#2e1e40;width:45px;height:45px;border-radius:13px;margin-bottom:12px}.achievement-card h3{font-size:12px}.achievement-card p{font-size:10px;color:var(--muted);margin:6px 0 13px}.achievement-bottom{font-size:9px;display:flex;justify-content:space-between;gap:5px;color:var(--lime)}.achievement-hero{padding:25px;background:#291b37;border-radius:14px;margin-bottom:20px}.journey-path{display:grid;gap:9px}.path-stop{display:flex;gap:12px;text-align:left;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.path-stop>span:nth-child(2){flex:1}.path-stop strong,.path-stop small,.path-stop>span:nth-child(2)>span{display:block}.path-stop strong{font-size:12px;margin:4px 0}.path-stop small,.path-stop>span:nth-child(2)>span{font-size:9px;color:var(--muted)}.path-stop b{font-size:11px}.path-marker{color:var(--soft-purple)}
/* Presence and squads */
.presence-card{border:1px solid #3e4532;border-radius:16px;background:radial-gradient(ellipse at 50% 0,#26361e,#141810 75%);padding:25px 20px;text-align:center;position:relative;overflow:hidden}.presence-orbit{width:62px;height:62px;display:grid;place-items:center;color:var(--lime);border:1px solid #8ab94d;border-radius:50%;box-shadow:0 0 0 9px #b6ff4508,0 0 0 18px #b6ff4505;margin:8px auto 27px}.presence-orbit .icon{width:28px;height:28px}.presence-card .eyebrow{font-size:8px;color:#b7c7a1}.presence-card h2{font:30px var(--display);margin:8px 0}.presence-card p{font-size:11px;color:#b3bca9}.status-chip{display:inline-block;font-size:8px;padding:5px 9px;border-radius:5px;background:#1d2517;border:1px solid #3f4e31;margin-top:15px;color:#bfcdb1}.checkin-form{margin-top:20px}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:11px;color:#c5bfce}.form-field textarea{font-size:12px}.photo-upload{display:flex;align-items:center;gap:12px;background:var(--panel);padding:14px;border:1px dashed #5b456c;border-radius:12px;margin:15px 0;cursor:pointer;position:relative}.photo-upload>input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.photo-upload strong{font-size:12px;display:block}.photo-upload small{font-size:10px;display:block;color:var(--muted);margin-top:5px}.photo-preview{width:49px;height:49px;display:grid;place-items:center;background:#2b1f38;border-radius:9px;overflow:hidden;color:var(--soft-purple)}.photo-preview img{width:100%;height:100%;object-fit:cover}.location-button{width:100%;display:flex;gap:8px;align-items:center;min-height:42px;text-align:left;color:#c4b5d1;font-size:11px}.location-button .icon{width:18px}.checkin-form .form-helper{font-size:10px;margin:2px 0 17px}.scoring-note{font-size:10px;line-height:1.6;color:var(--muted);text-align:center;margin-top:12px}.share-squads{padding:14px;border:1px solid var(--line);border-radius:12px;margin:15px 0}.share-squads legend{font-size:11px}.share-squads label{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12px}.share-squads small{display:block;font-size:9px;color:var(--muted);margin-top:9px}.checkin-done{display:flex;flex-direction:column;gap:12px;padding:20px 0;color:var(--lime);text-align:center}.checkin-done>span{display:flex;justify-content:center;gap:8px;font-size:13px}.checkin-record{display:flex;gap:11px;padding:15px 0;border-bottom:1px solid var(--line);align-items:center}.checkin-record-icon{display:grid;place-items:center;background:#27202f;color:var(--soft-purple);border-radius:9px;width:44px;height:44px;flex:none;overflow:hidden}.checkin-record-icon img{width:44px;height:44px;object-fit:cover}.checkin-record>div:nth-child(2){flex:1;min-width:0}.checkin-record strong{display:block;font-size:12px;overflow-wrap:anywhere}.checkin-record span{font-size:9px;color:var(--muted)}.checkin-record p{font-size:11px;color:#b5abbf;margin-top:4px;overflow-wrap:anywhere}.checkin-record>.tool-button{width:30px;height:32px;background:none;border:0}.checkin-record>.tool-button .icon{width:14px}.squad-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:9px;margin-bottom:20px}.squad-actions .btn{font-size:12px;padding:12px 9px}.squad-intro{background:radial-gradient(ellipse at 50% 65%,#412661,#1c1325 80%);border:1px solid #513168;padding:22px 18px 24px;border-radius:17px;overflow:hidden;text-align:center}.squad-intro h2{font:43px/.99 var(--display);text-align:left;margin-top:14px}.squad-intro h2 em{font-style:normal;color:var(--lime)}.squad-intro .eyebrow{font-size:7px;display:block;text-align:left;color:#c9acdf}.squad-mascots{position:relative;height:190px;margin:0 -15px}.squad-mascot{position:absolute;width:170px;height:170px;bottom:5px}.mascot-0{left:0;transform:rotate(-9deg);z-index:2}.mascot-1{left:50%;transform:translateX(-50%);bottom:18px;width:195px;height:195px;z-index:3}.mascot-2{right:0;transform:rotate(10deg);z-index:2}.squad-intro p{font-size:12px;color:#ccb8de;max-width:270px;margin:auto}.connection-card{padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--panel);margin-top:15px;display:flex;gap:13px;flex-wrap:wrap;align-items:flex-start}.connection-symbol{width:35px;height:35px;display:grid;place-items:center;background:#2a2036;color:var(--soft-purple);border-radius:9px}.connection-card>div{flex:1;min-width:150px}.connection-card strong{font-size:13px}.connection-card p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:6px}.squad-empty{border:1px dashed #4a3d56;border-radius:16px;text-align:center;padding:35px 25px}.squad-empty h2{font:31px/1.1 var(--display);margin:20px 0 13px}.squad-empty p{font-size:12px;color:var(--muted)}.squad-empty-icon{color:var(--soft-purple)}.squad-empty-icon .icon{width:40px;height:40px}.squad-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:14px 0}.squad-selector{margin-top:22px}.invite-card{display:flex;align-items:center;justify-content:space-between;background:#1e1827;border:1px solid #4f355f;border-radius:12px;padding:15px}.invite-card small{display:block;font-size:7px;letter-spacing:1.4px;color:#bc9dd3}.invite-card strong{font:23px var(--display);letter-spacing:2px}.invite-card .btn{font-size:10px;min-height:36px;padding:9px}.boss-card{position:relative;overflow:hidden;background:#212717;border:1px solid #465b30;border-radius:14px;padding:19px;margin-top:17px}.boss-card h2{font:25px/1.07 var(--display);margin:8px 0;max-width:75%;color:#e5f8c8}.boss-card p{font-size:10px;color:#c4d2b1}.boss-card .eyebrow{color:#b0c790;font-size:7px}.boss-emblem{position:absolute;right:19px;top:35px;color:var(--lime)}.boss-emblem .icon{width:45px;height:45px}.boss-health{height:8px;background:#11170b;border-radius:5px;overflow:hidden;margin-top:18px}.boss-health span{height:100%;display:block;background:var(--lime);border-radius:5px;transition:width .3s}.boss-card small{display:block;margin-top:9px;font-size:8px;color:#abb99b}.ranking-list{display:grid;gap:8px}.ranking-row{display:flex;align-items:center;gap:9px;padding:13px 10px;border:1px solid var(--line);background:var(--panel);border-radius:11px}.ranking-row.is-you{border-color:#5e7c36;background:#1d2417}.ranking-place{width:22px;font:17px var(--display);color:var(--muted);text-align:center}.ranking-place .icon{width:20px;color:var(--lime)}.ranking-avatar{width:42px;height:42px;background:#2b1e38;border-radius:9px;overflow:hidden}.ranking-row>div{flex:1;min-width:0}.ranking-row strong{font-size:12px;display:block;overflow-wrap:anywhere}.ranking-row strong small{font-size:6px;letter-spacing:1px;color:var(--lime);margin-left:4px}.ranking-row>div>span{font-size:9px;color:var(--muted)}.ranking-row>b{font:23px/1 var(--display)}.ranking-row>b small{display:block;font:7px var(--body);margin-top:5px;color:var(--muted);text-align:right}.squad-bottom{display:flex;justify-content:space-between;margin-top:19px}.squad-bottom .btn{font-size:11px}.squad-feed{display:grid;gap:13px}.feed-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:15px;overflow:hidden}.feed-top{display:flex;align-items:center;gap:9px;margin-bottom:13px}.feed-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#39234a;color:var(--soft-purple);font-weight:700}.feed-top strong{font-size:12px}.feed-top small{font-size:9px;display:block;color:var(--muted);margin-top:3px}.feed-photo{width:100%;max-height:320px;object-fit:cover;border-radius:9px}.feed-card p{font-size:12px;margin:13px 0;overflow-wrap:anywhere}.cheer-button{display:flex;gap:7px;align-items:center;font-size:10px;border:1px solid #514035;border-radius:8px;padding:9px 11px;color:var(--lime)}.cheer-button .icon{width:15px;height:15px}.cheer-button.cheered{opacity:1;background:#28311d;border-color:#49602f}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rules-grid>div{padding:20px 10px;text-align:center;background:#26202f;border:1px solid #42354e;border-radius:12px}.rules-grid strong{font:36px var(--display);color:var(--lime);display:block}.rules-grid span{font-size:11px;color:var(--muted)}.loading-card{text-align:center;padding:40px;color:var(--muted)}
/* Dialogs, feedback and exercise guides */
dialog{border:1px solid #4b3a5b;background:#17141d;color:var(--ink);padding:0;border-radius:19px;width:calc(100% - 24px);max-width:480px;max-height:88dvh;overflow:auto;box-shadow:0 24px 100px #000a}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 20px 16px;border-bottom:1px solid #33283e}.modal-header h2{font:26px/1.1 var(--display);text-transform:uppercase;max-width:80%}.modal-close{height:32px;width:32px;background:#2b2235}.modal-close .icon{width:16px}.modal-body{padding:20px}.modal-intro{font-size:12px;color:#beb4ca;line-height:1.65;margin-bottom:20px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}.modal-actions .btn{font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{color:#f1acdb;font-size:12px;line-height:1.5;margin:10px 0}.form-error:empty{display:none}.check-fieldset{margin:15px 0}.check-fieldset legend{font-size:12px}.check-fieldset>div{display:flex;flex-wrap:wrap;gap:7px}.check-fieldset label{display:flex;gap:6px;align-items:center;font-size:10px;background:#282030;padding:9px;border-radius:7px}.check-fieldset input{width:15px;min-height:15px}.check-fieldset small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.backup-section{border-top:1px solid #3b2e46;padding-top:21px;margin-top:22px}.backup-section h3{font-size:14px;margin:10px 0}.backup-section p{font-size:11px;color:var(--muted);line-height:1.6;margin:8px 0 15px}.backup-actions{display:flex;gap:7px;flex-wrap:wrap}.backup-actions .btn{font-size:10px}.profile-switcher{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.profile-switcher button{display:flex;align-items:center;gap:6px;padding:10px;border:1px solid #3d3049;border-radius:8px;background:#26202d;font-size:11px}.profile-switcher button.active{border-color:var(--lime)}.profile-switcher .icon{width:14px;height:14px}.profile-links{display:grid;gap:8px;margin-top:24px}.about-list{font-size:12px;color:#c6bbd1;line-height:1.7;padding-left:20px}.about-list li{padding:6px 0}.v2-empty{padding:33px 21px;text-align:center;background:var(--panel);border:1px dashed #403847;border-radius:14px}.v2-empty>.icon{height:35px;width:35px;color:#b094c6;margin-bottom:15px}.v2-empty h3{font-size:16px}.v2-empty p{font-size:12px;color:var(--muted);margin:10px auto 18px;max-width:290px}.v2-empty .btn{font-size:12px}.guide-mini-map,.exercise-guide-top{background:#23192e;border-radius:12px;overflow:hidden}.guide-mini-map{height:200px}.guide-mini-map svg{width:100%;height:240px}.exercise-guide-top img{height:180px;object-fit:contain;margin:auto}.guide-heading{display:flex;justify-content:space-between;gap:10px;align-items:start;margin:16px 0}.guide-heading h3{font-size:20px}.guide-heading p{color:var(--muted);font-size:11px;margin-top:6px}.guide-muscle-summary{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.tag{background:#2d2238;color:var(--soft-purple);padding:5px 8px;border-radius:5px;font-size:9px}.guide-steps{padding-left:20px;color:#c0b4ce;font-size:12px;line-height:1.7}.guide-steps li{padding:5px 0}.reference-link{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;border:1px solid #4d375e;border-radius:10px;color:var(--soft-purple);font-size:12px;margin-top:20px}.result-hero{text-align:center;margin:0 auto 20px}.result-hero .achievement-medal{margin:0 auto 15px}.result-hero h3{font:27px var(--display);text-transform:uppercase}.result-hero p{font-size:12px;color:var(--muted);margin-top:7px}.result-stats>div{padding:14px 8px;text-align:center}.result-stats strong{font-size:26px}.result-stats small{font-size:7px}.timer-float{position:fixed;bottom:91px;left:50%;transform:translateX(-50%);max-width:480px;width:calc(100% - 28px);display:flex;align-items:center;gap:11px;padding:13px;background:#30233d;border:1px solid #6b4a83;border-radius:13px;box-shadow:0 10px 30px #0008;z-index:40}.timer-ring{color:var(--soft-purple)}.timer-float>div:nth-child(2){flex:1}.timer-float small{display:block;font-size:9px;color:#cdb8de}.timer-float strong{font:25px var(--display)}.timer-controls{display:flex;gap:6px;align-items:center}.timer-controls>button{width:32px;height:36px;background:#493355;display:grid;place-items:center;border-radius:7px}.timer-controls>button.timer-more{width:40px;font-size:10px}.timer-controls .icon{width:15px}.timer-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.timer-presets button{background:#32243f;border:1px solid #563d68;border-radius:10px;padding:15px 4px;font:22px var(--display)}.timer-custom{display:flex;gap:10px;align-items:end}.timer-custom .form-field{flex:1;margin:0}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:170px;width:max-content;max-width:calc(100% - 32px);padding:13px 18px;background:#e9fbd3;color:#16210b;display:flex;align-items:center;gap:9px;border:1px solid #b6ff45;border-radius:11px;box-shadow:0 7px 25px #0006;z-index:100;font-size:12px}.toast .icon{width:17px}.confetti-piece{position:fixed;z-index:60;width:7px;height:9px;background:var(--lime);top:-20px;left:var(--x);animation:confetti-fall 2s ease-out forwards;animation-delay:var(--delay)}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(540deg);opacity:0}}@keyframes aura-breathe{50%{opacity:.5;transform:scale(.97)}}
@media(min-width:520px){body{background:radial-gradient(ellipse at 50% 0,#271b35,#09090b 70%);background-attachment:fixed}.app-shell{box-shadow:0 0 100px #0008;background:var(--bg)}#main{padding-inline:24px}.neon-hero{height:397px}.hero-headline{font-size:65px;top:58px}.neon-hero-art{width:295px!important;height:295px!important;right:-24px;top:36px}.hero-doodle{top:278px}.hero-character-label{bottom:80px}.home-tile{padding:17px}.tile-top>span{font-size:7px}.squad-mascot{width:190px;height:190px}.mascot-1{width:215px;height:215px}.squad-mascots{height:210px}}
@media(max-width:359px){#main{padding-inline:12px}.topbar{padding-inline:14px}.mobile-brand{font-size:24px}.xp-pill{font-size:9px}.hero-headline{font-size:46px;left:15px}.neon-hero-art{width:224px!important;height:224px!important;right:-37px;top:55px}.hero-doodle{font-size:12px;left:17px;top:207px}.neon-hero{height:335px}.hero-character-label{font-size:16px;right:14px;bottom:76px}.season-tag{font-size:6px;left:17px}.home-tile{padding:12px 9px}.home-tile strong{font-size:13px}.tile-top>span{font-size:5px}.home-tile small{font-size:9px}.mobile-nav a{font-size:9px}.squad-actions .btn{font-size:10px}.collection-heading h1{font-size:30px}.collection-heading .eyebrow{font-size:6px}.confirmed-xp{font-size:10px}.hero-action .btn{font-size:12px}.showcase-foot{font-size:6px}.evolution-art{height:74px}.squad-mascot{width:145px;height:145px}.mascot-1{width:170px;height:170px}.form-grid{gap:8px}.ranking-row{gap:6px}.ranking-row strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.creature-layer.layer-back{left:17%;top:36%;width:66%;height:61%;inset:auto auto auto 17%;top:36%}.creature-layer.item-scarf{left:37%;top:57%;width:33%;height:26%;inset:auto auto auto 37%;top:57%}.creature-layer.item-jacket{left:29%;top:60%;width:46%;height:31%;inset:auto auto auto 29%;top:60%}.creature-layer.item-cap{left:38%;top:19%;width:36%;height:24%;inset:auto auto auto 38%;top:19%;transform:rotate(8deg)}.creature-layer.item-goggles{left:34%;top:39%;width:46%;height:18%;inset:auto auto auto 34%;top:39%;transform:rotate(13deg)}.rig-brum-3 .item-goggles{left:36%;top:45%;width:39%}.rig-brum-3 .item-cap{left:42%;top:31%;width:28%}.rig-brum-3 .item-scarf{left:35%;top:61%}.rig-mobi-2 .item-goggles,.rig-mobi-3 .item-goggles{top:31%}.rig-mobi-2 .item-cap,.rig-mobi-3 .item-cap{top:15%}.item-art img{width:68px;height:68px;object-fit:contain}.body-outline{fill:#302a38;stroke:#6f627e;stroke-width:1}.body-detail{fill:none;stroke:#635570;stroke-width:1}.muscle-region{fill:#5b4b69;stroke:#201827;stroke-width:1}.muscle-region.selected{fill:var(--lime)}.muscle-region.heated:not(.selected){fill:var(--purple);opacity:var(--heat)}.photo-muscle-label{position:absolute;bottom:9px;left:9px;font-size:8px;color:#e2c5fa}.exercise-map-thumb{position:relative;height:100%}
.session-page.v2-session{border:0;background:none;border-radius:0;overflow:visible}.back-button{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:var(--muted);padding:0 0 17px}.back-button .icon{width:15px}.session-header .session-letter{display:none}.session-header .session-photo{width:160px;height:160px;right:-20px;top:0}.session-header>div:not(.session-photo){position:relative;z-index:1}.session-header h1{font-size:29px;max-width:90%;margin:10px 0}.session-header .session-clock{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.session-clock button{font:11px var(--body);display:flex;align-items:center;gap:5px;background:#382547;border:1px solid #62417b;padding:8px 12px;border-radius:8px}.session-clock button .icon{width:14px;height:14px}.session-toolbar .session-progress{flex:1;min-width:170px}.session-progress label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:9px}.session-toolbar>.btn{font-size:10px;padding:9px;min-height:38px}.exercise{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:12px;overflow:hidden}.exercise.complete{border-color:#45602a}.exercise>summary{display:flex;align-items:center;gap:9px;padding:13px 11px;list-style:none;cursor:pointer}.exercise>summary::-webkit-details-marker{display:none}.exercise>summary>.icon{width:12px;height:12px;color:var(--muted)}.exercise-summary-text h3{font-size:12px;line-height:1.35}.exercise-summary-text p{font-size:8px;color:var(--muted);margin-top:5px}.exercise>summary .session-movement-photo{height:43px;width:34px;flex:none;margin:0;border-radius:5px}.session-movement-photo .body-map{height:54px;width:34px}.exercise>summary .exercise-number{font-size:13px;width:14px;flex:none}.exercise-number .icon{width:14px;height:14px}.session-page>.session-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}.session-page>.session-actions .btn{min-height:45px;font-size:11px}.exercise-content textarea.exercise-notes{width:100%;min-height:60px;background:#101013;border:1px solid #3a3942;padding:12px;font-size:11px}.session-series-tools .soft{background:#282131;color:#cbb1df;border-color:#473453}.recovery-banner{margin-top:22px;align-items:center}.recovery-banner>img{width:62px;height:80px;object-fit:contain;flex:none}.recovery-banner>.recovery-symbol{display:none}.week-progress{background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:12px;margin-bottom:18px}.week-progress>span{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.week-progress .icon{width:15px}.week-progress>strong{display:block;font:30px var(--display);margin:7px 0 13px}.week-progress>strong small{font:10px var(--body);color:var(--muted)}.agenda-day-top>b{font-size:8px;color:var(--lime)}.agenda-day-top strong small{font-size:9px;margin-left:5px;color:var(--muted)}.agenda-day.is-today{border-color:#5b7736}.agenda-icon{display:none}.data-chart polyline{stroke:var(--lime)}.profile-links a{min-height:46px}.guide-mini-map .body-map{max-height:100%}.selection-bar~.mobile-builder-footer{display:none}
.tile-top>span{font-size:8px;letter-spacing:.2px;white-space:normal;line-height:1.25}.home-stat-strip span{font-size:8px}.season-tag{font-size:8px}.micro-label{font-size:8px}.hero-character-label small{font-size:8px}.mobile-nav a{font-size:10px}.onboard-characters legend{width:100%}.squad-intro .eyebrow{font-size:8px}@media(max-width:359px){.tile-top>span{font-size:7px}.season-tag{font-size:7px}}
/* FitQuest 7: reliable image proportions, mission builder and desktop workspace. */
img{height:auto}
.next-training-card{height:166px;min-height:166px;max-height:166px;align-items:stretch}
.next-training-art{width:112px;height:100%;min-height:0;align-self:stretch;display:grid;place-items:center;padding:9px;flex:0 0 112px}
.next-training-art>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.next-training-copy{display:flex;flex-direction:column;justify-content:center;padding:14px 15px;min-width:0;flex:1}
.next-training-copy h3{line-height:1.25;overflow-wrap:anywhere}
.next-training-copy .btn.text{align-self:flex-start;font-size:11px;white-space:normal;text-align:left;justify-content:flex-start}
.routine-card-actions .routine-delete{grid-column:1/-1;min-height:34px;padding:7px;background:none;border:0;border-top:1px solid #302a36;border-radius:0;margin-top:2px;color:#b8acbf;font-size:10px}
.routine-delete .icon{width:13px;height:13px}
.btn.danger{background:#52273b;color:#ffe0ed;border-color:#925170}
.header-profile-label{font-size:10px;color:#c9bbd6;min-height:38px;padding:5px 0}
.profile-editor{margin:0}
.profile-editor .profile-character{padding:3px 0 24px;border-bottom:1px solid #33283d;margin-bottom:24px}
.profile-character>div strong{font:25px var(--display);text-transform:uppercase}
.profile-settings{min-width:0}
.profile-settings .backup-section:first-child{margin-top:18px}
.account-card{display:grid;gap:12px}
.account-heading{display:flex;align-items:center;gap:12px}
.account-heading h3{margin:0 0 4px}
.account-heading p,.account-card>p{margin:0}
.account-actions{display:grid;grid-template-columns:1fr;gap:9px}
.account-card>small{display:block;color:var(--muted);font-size:10px;line-height:1.55}
.profile-layout .profile-links{grid-template-columns:1fr 1fr}
.profile-layout .profile-links .btn{font-size:10px;padding:12px 8px}
.home-status-column,.home-hero-column,.home-missions-section,.home-week-section{min-width:0}
.mission-hud{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #51405f;background:linear-gradient(110deg,#2c1f38,#16121d);border-radius:14px;margin-bottom:16px;min-width:0}
.mission-avatar{display:block;width:56px;height:56px;flex:none;background:#3a2350;border:1px solid #63477a;border-radius:11px;overflow:hidden}
.mission-identity{flex:1;min-width:0}
.mission-identity .eyebrow{display:block;font-size:7px;letter-spacing:1px}
.mission-identity strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0}
.mission-identity>span:last-child{display:block;font-size:8px;color:#b8a9c7}
.mission-reward{flex:none;border-left:1px solid #51405f;padding-left:10px;text-align:right}
.mission-reward strong{display:block;font:23px/1 var(--display);color:var(--lime)}
.mission-reward>span{display:block;font-size:6px;color:#ad9dba;line-height:1.5;margin-top:6px;letter-spacing:.4px}
.mission-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0 22px}
.mission-steps button{min-width:0;padding:10px 7px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;border:1px solid #3c3048;background:#1d1725;border-radius:11px;min-height:77px;position:relative;color:#a799b2}
.mission-steps button>span{font:17px/1 var(--display)}
.mission-steps button>span .icon{width:16px;height:16px}
.mission-steps button>strong{font-size:9px;line-height:1.35;text-align:center}
.mission-steps button>.icon{display:none}
.mission-steps button.active{border-color:var(--lime);background:#242e19;color:#e4f8cf}
.mission-steps button.active>span{color:var(--lime)}
.mission-steps button.done{border-color:#6e487e;color:#d1b2e6}
.mission-focus-board{display:flex;flex-direction:column;gap:16px}
.mission-focus-map{background:#15121b;border:1px solid #3f304c;border-radius:15px;overflow:hidden}
.mission-focus-map .atlas-title{display:none}
.mission-focus-map .atlas-panel h2{font-size:27px;text-align:center;line-height:1.1}
.mission-focus-map .anatomy-stage{height:320px}
.mission-focus-map .anatomy-stage svg{height:290px}
.mission-brief{background:radial-gradient(ellipse at top right,#34203f,#17121d 75%);border:1px solid #4c345d;padding:19px;border-radius:15px}
.mission-brief>.section-kicker{display:block;font-size:8px;margin-bottom:14px}
.mission-brief>.workout-name-label input{font-size:17px}
.mission-brief p{font-size:12px;color:#b7a9c5;line-height:1.65;margin:14px 0}
.focus-target{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #3c2d49;margin-top:11px}
.focus-target>.icon{width:25px;height:25px;color:var(--lime)}
.focus-target small{font-size:7px;color:#aa99b9;letter-spacing:1px}
.focus-target strong{display:block;font-size:15px;margin-top:4px}
.mission-brief .btn{margin-top:10px;font-size:12px}
.mission-brief-tip{display:flex;gap:8px;align-items:start;padding:13px;background:#241b2d;border:1px solid #44314f;border-radius:9px;margin:15px 0;color:#baaac9;font-size:10px;line-height:1.6}
.mission-brief-tip .icon{width:16px;height:16px;color:var(--soft-purple);margin-top:1px}
.mission-deck-layout,.mission-sequence-layout{display:grid;gap:20px;min-width:0}
.mission-deck,.mission-loadout,.mission-sequence-layout>section{min-width:0}
.deck-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.deck-heading h2{font-size:17px;margin-top:6px;letter-spacing:-.3px}
.deck-heading .section-kicker{font-size:7px}
.deck-heading .btn{font-size:10px;padding:8px 10px;min-height:37px;white-space:nowrap}
.deck-heading .btn .icon{width:13px;height:13px}
.mission-deck .exercise-grid{gap:13px}
.mission-deck .exercise-card{border-radius:12px;border:1px solid #594064;background:linear-gradient(155deg,#27192f,#15131a 70%);box-shadow:0 5px 0 #09070c;transition:transform .16s,border-color .16s,box-shadow .16s}
.mission-deck .exercise-card.is-added{border-color:var(--lime);box-shadow:0 5px 0 #273717}
.mission-deck .exercise-card:hover{transform:translateY(-3px)}
.mission-deck .exercise-visual{height:150px;background:radial-gradient(ellipse at bottom,#56326b,#1b1424 80%)}
.mission-deck .exercise-visual svg{height:175px;margin-top:9px}
.mission-deck .exercise-card-body{padding:12px}
.mission-deck .exercise-name{font-size:12px;min-height:49px}
.mission-deck .exercise-meta{font-size:8px;color:#bca6ca}
.mission-deck .equipment-label{font-size:8px}
.loadout-board{background:#19151f;border:1px solid #49354f;border-radius:14px;padding:17px}
.loadout-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:17px}
.loadout-heading h2{font-size:16px;margin-top:6px}
.loadout-heading .section-kicker{font-size:7px}
.loadout-heading>span{font:24px var(--display);color:var(--lime);background:#2c381f;padding:0 9px;border-radius:5px}
.loadout-cards{list-style:none;margin:0 0 15px;padding:0;display:grid;gap:9px}
.loadout-cards li{display:flex;gap:9px;align-items:center;background:#241b2b;border:1px solid #48314f;border-radius:9px;padding:12px 9px}
.loadout-number{font:18px var(--display);color:var(--soft-purple);flex:none}
.loadout-cards li>div{min-width:0;flex:1}
.loadout-cards strong{font-size:11px;display:block;line-height:1.4}
.loadout-cards small{font-size:8px;color:#a998b9;display:block;margin-top:4px}
.loadout-cards .tool-button{width:24px;height:27px;background:#32233e;border:0}
.loadout-cards .tool-button .icon{width:12px;height:12px}
.loadout-cards .empty-loadout-slot{border-style:dashed;background:#17131d;color:#8a7b98}
.empty-loadout-slot>span{width:20px}
.empty-loadout-slot .icon{width:15px;height:15px}
.empty-loadout-slot strong{font-weight:400}
.loadout-board>p{font-size:9px;color:#9f8daa;text-align:center;margin-top:12px}
.mission-exercise .editor-row-top{gap:9px}
.mission-exercise .editor-row-top>div{min-width:0;flex:1}
.mission-exercise .editor-row-top h3{font-size:13px;line-height:1.3;margin:4px 0}
.mission-exercise .editor-row-top p{font-size:9px;color:#9e90ac}
.slot-muscle{font-size:7px;letter-spacing:1px;text-transform:uppercase;color:var(--soft-purple)}
.mission-exercise .slot-number{font-size:25px;line-height:1;color:var(--lime);align-self:center}
.mission-exercise>.editor-row-top>.tool-button{width:29px;height:31px;border:0;background:#302238}
.mission-exercise>.editor-row-top>.tool-button .icon{width:14px;height:14px}
.mission-exercise{padding:13px;background:linear-gradient(145deg,#281d32,#1b1521);border-color:#54375f;border-left:3px solid var(--purple)}
.mission-exercise .slot-fields{gap:8px;margin-top:17px}
.mission-exercise .slot-fields>label{font-size:9px}
.stat-stepper{display:flex;align-items:center;background:#120e18;border:1px solid #503659;border-radius:8px;overflow:hidden;margin-top:7px;min-height:41px}
.stat-stepper>button{display:grid;place-items:center;width:22px;min-width:22px;min-height:40px;background:#35223f;color:#d5afea;font-size:16px;padding:0}
.mission-exercise .stat-stepper>input{padding:6px 0;min-width:0;width:100%;margin:0;border:0;border-radius:0;font-size:12px;min-height:40px;background:none}
.mission-exercise .stat-stepper>input[type=number]{appearance:textfield;-moz-appearance:textfield}
.mission-exercise .stat-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}
.mission-exercise .editor-row-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.swap-card{display:flex;gap:5px;align-items:center;font-size:9px;color:#c0a4d3;padding:5px 0}
.swap-card .icon{width:12px;height:12px}
.mission-exercise .editor-row-actions>div{display:flex;gap:4px}
.mission-exercise .editor-row-actions .tool-button{width:29px;height:29px}
.mission-summary{border:1px solid #4a354f;border-radius:14px;padding:20px;background:#1c1424;align-self:start}
.mission-summary>h2{font:30px/1.1 var(--display);text-transform:uppercase;margin:12px 0 19px}
.mission-summary>p{font-size:11px;color:#b8a6c5;line-height:1.65;margin:17px 0}
.mission-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center;padding:16px 0;border-block:1px solid #3e2d46}
.mission-summary-stats strong{display:block;font:31px var(--display);color:var(--lime)}
.mission-summary-stats span{font-size:9px;color:#bda7ca}
.mission-bottom-bar{position:fixed;bottom:89px;left:50%;transform:translateX(-50%);max-width:480px;width:calc(100% - 28px);z-index:24;display:flex;justify-content:space-between;gap:9px;align-items:center;padding:11px;background:#292031f5;border:1px solid #76558b;border-radius:13px;box-shadow:0 10px 35px #0009;backdrop-filter:blur(15px)}
.mission-bottom-bar>div{flex:1;min-width:0}
.mission-bottom-bar>div strong{font-size:11px;display:block}
.mission-bottom-bar>div span{font-size:8px;color:#bea9cc;display:block;margin-top:4px}
.mission-bottom-bar>.btn{font-size:11px;min-height:42px;padding:10px 12px}
.mission-bottom-bar>.btn .icon{width:14px;height:14px}
#main[data-page=builder]{padding-bottom:180px}
@media(max-width:359px){.header-profile-label{display:none}.next-training-art{width:88px;flex-basis:88px;padding:7px}.next-training-copy{padding:12px}.next-training-copy h3{font-size:13px}.next-training-copy .btn.text{font-size:10px}.mission-avatar{width:44px;height:44px}.mission-reward strong{font-size:20px}.mission-reward>span{font-size:5px}.mission-hud{gap:8px;padding:11px}.mission-identity strong{font-size:11px}.mission-steps{gap:5px}.mission-steps button>strong{font-size:8px}.stat-stepper>button{width:18px;min-width:18px}.mission-exercise{padding:10px}.mission-exercise .slot-fields{gap:5px}.mission-exercise .stat-stepper>input{font-size:10px}.mission-bottom-bar>.btn{font-size:10px;padding:10px 9px}.profile-layout .profile-links{grid-template-columns:1fr}}
@media(min-width:760px) and (max-width:1023px){.app-shell,.mobile-nav{max-width:760px}#main{padding:26px 28px 120px}.home-screen{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-greeting{grid-column:1/-1;margin:0}.home-hero-column{grid-column:1/-1}.neon-hero{height:350px}.neon-hero-art{width:330px!important;height:330px!important;right:15px;top:10px}.hero-headline{font-size:64px;left:30px;top:53px}.hero-doodle{top:258px;left:33px}.hero-action{right:auto;min-width:280px;max-width:52%;left:28px}.hero-character-label{bottom:24px;right:35px}.home-xp{margin-bottom:0}.home-status-column{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.home-stat-strip{margin:0;padding:25px 0}.home-missions-section .mini-heading,.home-week-section .mini-heading:first-child{margin-top:3px}.home-screen>.home-shortcut{grid-column:1/-1}.routine-grid{grid-template-columns:1fr 1fr}.exercise-grid{grid-template-columns:repeat(3,1fr)}.mission-focus-board{display:grid;grid-template-columns:1.05fr 1fr;align-items:start}.mission-bottom-bar{max-width:704px}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-settings .backup-section:first-child{margin-top:0}.squad-intro .squad-mascots{max-width:400px;margin:auto}}
@media(min-width:1024px){
 body{background:radial-gradient(ellipse at 5% 0,#2e1d3d,#09090c 65%);background-attachment:fixed}
 .app-shell{max-width:1480px;width:calc(100% - 40px);margin:20px auto;display:grid;grid-template-columns:216px minmax(0,1fr);min-height:calc(100vh - 40px);border:1px solid #322939;border-radius:20px;overflow:clip;box-shadow:0 20px 100px #0006}
 .sidebar{display:flex;flex-direction:column;position:sticky;align-self:start;top:0;height:calc(100vh - 40px);max-height:1020px;padding:28px 17px 16px;background:linear-gradient(180deg,#17101e,#100e16);border-right:1px solid #33253d}
 .brand{display:flex;align-items:center;gap:9px;font:25px var(--display);text-transform:uppercase}
 .brand-symbol{font:21px/1 var(--display);background:var(--lime);color:#18220d;width:35px;height:35px;display:grid;place-items:center;border-radius:8px;position:relative}
 .brand-symbol span{display:none}.brand-dot{color:var(--lime)}
 .sidebar-caption{font-size:7px;letter-spacing:2px;color:#a487b7;margin:11px 0 24px}
 #desktop-nav{display:grid;gap:5px}
 .nav-link{display:flex;align-items:center;gap:10px;border:1px solid transparent;padding:11px 10px;min-height:43px;border-radius:9px;text-align:left;color:#b3a4be;font-size:11px;width:100%}
 .nav-link .icon{width:17px;height:17px;color:#a28bb3}
 .nav-link.active{background:#30233b;border-color:#604175;color:#f0d7ff}
 .nav-link.active .icon{color:var(--lime)}
 .nav-counter{margin-left:auto;background:#59416a;border-radius:4px;padding:1px 5px;color:#e6d1f4;font-size:9px}
 .nav-builder{margin-top:15px;background:var(--lime);color:#18220e;justify-content:flex-start;font-weight:700}
 .nav-builder .icon{color:#18220e}
 .sidebar-bottom{margin-top:auto;padding-top:20px}
 .sidebar-message{border:1px solid #4b2f61;background:radial-gradient(ellipse at bottom right,#362049,#1c1326);padding:15px;border-radius:12px;position:relative;overflow:hidden}
 .mini-spark{position:absolute;right:12px;top:9px;color:var(--lime);font-size:22px}
 .sidebar-card-label{font-size:6px;letter-spacing:1px;color:#a58cb7;display:block;margin:3px 0 10px}
 .sidebar-message strong{font:22px/1.1 var(--display);text-transform:uppercase;display:block}
 .sidebar-message p{font-size:9px;color:#b69bc9;line-height:1.6;margin-top:10px}
 .sidebar-message button{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--lime);padding:12px 0 0}
 .sidebar-message button .icon{width:13px;height:13px}
 .sidebar-install{display:flex;gap:8px;align-items:center;font-size:10px;color:#b3a1c0;padding:16px 2px;border-bottom:1px solid #38273f;width:100%}
 .sidebar-install .icon{width:15px;height:15px}
 .sidebar-profile{display:flex;align-items:center;gap:8px;text-align:left;width:100%;padding:17px 0 0}
 .sidebar-profile>span:nth-child(2){flex:1;min-width:0}.sidebar-profile strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile small{display:block;font-size:8px;color:#967fa5;margin-top:5px}.sidebar-profile .icon{width:15px;height:15px}
 .content-shell{min-width:0;max-width:none;background:#0d0b11}
 .topbar{height:78px;padding:0 32px;background:#100d15;border-bottom:1px solid #302335}
 .mobile-brand{display:none}.breadcrumb{display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:1.2px;color:#a58ab8}.online-dot{width:5px;height:5px;background:var(--lime);border-radius:50%}
 .today-label{display:block;font-size:10px;color:#9c87ae;margin-right:10px}.xp-pill{font-size:11px}.topbar-right{gap:15px}.header-profile-label{font-size:11px}
 #main{max-width:none;padding:30px 32px 40px;min-height:calc(100vh - 120px)}
 .mobile-nav{display:none}
 .v2-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.v2-heading h1{font-size:43px}.v2-heading p{max-width:540px}.heading-actions{margin:0;flex:none;max-width:50%;justify-content:flex-end}
 .home-screen{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 25px;align-items:start}
 .home-greeting{grid-column:1/-1;margin-bottom:0}.home-greeting h1{font-size:23px}.home-greeting .eyebrow{font-size:9px}
 .home-hero-column{grid-column:1}.home-status-column{grid-column:2;display:flex;flex-direction:column;justify-content:space-between;min-height:421px}
 .neon-hero{height:362px}.hero-headline{font-size:53px;top:55px;left:20px}.neon-hero-art{width:250px!important;height:250px!important;right:-42px;top:38px}.hero-doodle{font-size:13px;top:231px;left:23px}.hero-character-label{bottom:77px;right:16px}.hero-action{inset:auto 17px 16px}.home-xp{margin:19px 0 0}
 .home-tiles{grid-template-columns:1fr;width:100%;gap:13px}.home-tile{padding:19px 17px;min-height:136px}.home-tile strong{font-size:19px}.home-tile small{font-size:11px}.tile-top{margin-bottom:12px}.tile-top>span{font-size:8px;letter-spacing:1px}.home-tile .tile-top>.icon:first-child{width:22px;height:22px}
 .home-stat-strip{margin:15px 0 0;width:100%;padding:17px 0}.home-stat-strip strong{font-size:29px}.home-stat-strip span{font-size:7px}
 .home-missions-section{grid-column:1}.home-week-section{grid-column:2}.home-missions-section .mini-heading,.home-week-section>.mini-heading:first-child{margin-top:0}.home-screen>.home-shortcut{grid-column:1/-1;margin:0}
 .quest-card{padding:17px 13px}.quest-description strong{font-size:13px}.quest-description>span{font-size:11px}
 .next-training-art{width:100px;flex-basis:100px}.next-training-copy{padding:13px}.next-training-copy h3{font-size:14px}.next-training-copy p{font-size:10px}
 .training-hub-nav{display:flex;justify-content:flex-start;gap:9px;margin-bottom:28px}.training-hub-nav .btn{font-size:11px;padding:10px 17px}
 .routine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .collection-empty{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;text-align:left;padding:32px 40px;gap:20px}.collection-empty>div:first-child{height:240px}.collection-empty img{height:240px;width:240px}.collection-empty h2{font-size:38px}.empty-actions{flex-direction:row}.templates-section{grid-template-columns:75px 1fr auto;align-items:center}.templates-section>.btn{grid-column:auto}.template-photo{width:75px}
 .exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.exercise-visual{height:150px}.exercise-visual svg{height:180px}.exercise-name{font-size:13px}.exercise-meta{font-size:8px}.equipment-label{font-size:9px}.catalogue-controls{display:grid;grid-template-columns:minmax(230px,1fr) minmax(280px,.9fr);gap:14px;align-items:end}.filter-row{margin:0}.filter-row select{min-height:45px}
 .muscle-picker>.atlas-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center}.muscle-picker .anatomy-stage{grid-column:2;grid-row:1/span 5}.muscle-picker .muscle-buttons{grid-column:1/-1}
 #main[data-page=characters]{max-width:1060px;margin:auto}.creature-roster{gap:12px}.creature-roster button{display:grid;grid-template-columns:68px 1fr;text-align:left;padding:12px;align-items:center}.roster-art{grid-row:1/span 2;width:64px;height:64px}.creature-roster strong{font-size:21px}.creature-roster small{font-size:8px}.roster-number{display:none}.creature-showcase{height:380px}.showcase-creature{width:340px;height:340px;top:13px}.showcase-rings{width:280px;height:280px}.evolution-art{height:140px;width:140px}.evolution-card strong{font-size:13px}.evolution-card>small{font-size:9px}.character-equip .btn{min-height:50px}.character-page{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 24px;align-items:start}.character-progress-link{grid-column:1/-1}.collection-heading{grid-column:1/-1}.creature-roster{grid-column:1/-1}.creature-showcase{grid-column:1;grid-row:4/span 5}.creature-title{grid-column:2;grid-row:4;margin-top:8px}.creature-lore{grid-column:2;grid-row:5}.character-tabs{grid-column:2;grid-row:6}.evolution-cards,.wardrobe-items,.wardrobe-slots,.wardrobe-note,.evolution-auto,.creature-progress,.character-equip{grid-column:2}.character-equip{margin-top:20px}
 .profile-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}.profile-editor{padding:25px}.profile-settings .backup-section:first-child{margin-top:0;padding-top:0;border:0}.profile-settings .profile-links{grid-template-columns:1fr 1fr}
 .v2-stats{grid-template-columns:repeat(4,1fr)}.evolution-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px}.evolution-layout .panel{margin:0}.evolution-layout .full-width{grid-column:1/-1}.agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.achievement-grid{grid-template-columns:repeat(3,1fr)}
 #main[data-page=session]{max-width:960px;margin:auto}.session-header{padding:25px 28px}.session-header h1{font-size:38px}.session-header .session-photo{width:220px;height:220px}.exercise>summary{padding:17px}.exercise-summary-text h3{font-size:14px}.exercise-summary-text p{font-size:10px}.exercise-content{padding:0 22px 20px}.set-row,.set-labels{grid-template-columns:45px 1fr 1fr 54px;gap:18px}.set-check{width:54px}.session-page>.session-actions .btn{font-size:13px}
 .checkin-form{max-width:700px;margin-inline:auto}.checkin-history{max-width:700px;margin-inline:auto}.presence-card{max-width:700px;margin-inline:auto}.presence-card h2{font-size:40px}.squad-actions{display:flex;justify-content:flex-start}.squad-actions .btn{padding-inline:20px}.squad-intro{max-width:700px;margin:auto}.connection-card{max-width:700px;margin:20px auto}.squad-intro .squad-mascots{max-width:450px;margin:auto}.squad-tabs,.ranking-list,.squad-feed,.squad-meta,.invite-card,.boss-card,.squad-selector,.squad-bottom{max-width:800px;margin-inline:auto}.ranking-row{padding:17px}.ranking-row strong{font-size:14px}.ranking-avatar{width:48px;height:48px}
 #main[data-page=builder]{padding-bottom:32px}.mission-hud{padding:17px 20px;gap:15px}.mission-avatar{width:62px;height:62px}.mission-identity strong{font-size:19px}.mission-identity .eyebrow{font-size:8px}.mission-identity>span:last-child{font-size:10px}.mission-reward{padding-left:22px}.mission-reward strong{font-size:30px}.mission-reward>span{font-size:7px}.mission-steps{gap:12px}.mission-steps button{min-height:65px;flex-direction:row;justify-content:flex-start;gap:12px;padding:13px 17px}.mission-steps button>strong{font-size:11px;text-align:left;flex:1}.mission-steps button>span{font-size:22px}.mission-steps button>.icon{display:block;width:16px;height:16px;opacity:.7}
 .mission-focus-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:start;gap:23px}.mission-focus-map .atlas-panel{padding:25px}.mission-focus-map .atlas-panel h2{font-size:33px}.mission-focus-map .anatomy-stage{height:390px}.mission-focus-map .anatomy-stage svg{height:360px}.mission-focus-map .muscle-buttons{flex-wrap:wrap;overflow:visible;justify-content:center}.mission-brief{padding:24px}.mission-brief>.section-kicker{font-size:9px}.mission-brief .workout-name-label{font-size:11px}.mission-brief p{font-size:13px}.mission-brief-tip{font-size:11px}
 .mission-deck-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.mission-deck .exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mission-deck .catalogue-controls{display:block}.mission-deck .filter-row{margin-top:10px}.mission-deck .exercise-visual{height:150px}.mission-loadout{position:sticky;top:25px;align-self:start}.loadout-cards{max-height:480px;overflow:auto}.loadout-board{padding:15px}.loadout-heading h2{font-size:14px}.deck-heading h2{font-size:20px}.loadout-cards strong{font-size:10px}.loadout-cards small{font-size:8px}
 .mission-sequence-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.mission-summary{position:sticky;top:25px;padding:20px}.mission-summary>h2{font-size:28px}.mission-sequence-layout .routine-editor{padding:21px}.mission-exercise .slot-fields{gap:13px}.mission-exercise .stat-stepper>input{font-size:13px}.stat-stepper>button{width:28px;min-width:28px}.mission-exercise .editor-row-top h3{font-size:14px}.mission-exercise .drag-handle{display:grid;place-items:center;width:20px;padding:0;flex:none;color:#7c638f}.drag-handle .icon{width:16px}.mission-exercise .editor-row-actions .swap-card{font-size:10px}
 .mission-bottom-bar{position:sticky;bottom:15px;left:auto;transform:none;max-width:none;width:100%;margin-top:25px;padding:15px 20px}.mission-bottom-bar>div strong{font-size:13px}.mission-bottom-bar>div span{font-size:10px}.mission-bottom-bar>.btn{font-size:12px;padding:12px 22px}
 .selection-bar,.timer-float{left:calc(50% + 108px);max-width:640px;bottom:24px}
 dialog{max-width:600px}.modal-body{padding:25px}.modal-header{padding:23px 25px 19px}.modal-header h2{font-size:30px}.toast{bottom:40px;max-width:560px}
}
@media(min-width:1280px){.app-shell{grid-template-columns:228px minmax(0,1fr)}.sidebar{padding-inline:20px}.home-screen{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px 30px}.neon-hero{height:404px}.hero-headline{font-size:65px;top:54px;left:25px}.neon-hero-art{width:320px!important;height:320px!important;right:-48px;top:22px}.hero-doodle{top:278px;left:28px;font-size:15px}.hero-character-label{font-size:22px}.home-status-column{min-height:463px}.home-tile{min-height:151px;padding:20px}.tile-top{margin-bottom:15px}.home-tile strong{font-size:21px}.home-stat-strip{padding:22px 0}.routine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.exercise-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mission-deck-layout{grid-template-columns:minmax(0,1fr) 300px}.mission-sequence-layout{grid-template-columns:minmax(0,1fr) 300px}.mission-deck .exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.selection-bar,.timer-float{left:calc(50% + 114px)}.sidebar-message{padding:18px}.nav-link{font-size:12px}.agenda-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.outfit-frame{position:absolute;inset:0;display:block;overflow:hidden;z-index:2;pointer-events:none}
.outfit-atlas{position:absolute!important;display:block;width:300%!important;height:200%!important;max-width:none!important;max-height:none!important;left:calc(var(--outfit-column)*-100%);top:calc(var(--outfit-row)*-100%);object-fit:fill;pointer-events:none}
.outfit-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 16px}
.outfit-choice{position:relative;background:linear-gradient(150deg,#34203e,#18111f);border:1px solid #51335f;border-radius:12px;padding:7px 6px 13px;min-width:0;text-align:center}
.outfit-choice.selected{border-color:var(--lime);box-shadow:0 0 0 1px #b6ff4520}
.outfit-choice .outfit-preview{display:block;width:100%;height:auto;aspect-ratio:1;margin-bottom:8px}
.outfit-choice strong{display:block;font:21px/1.2 var(--display);text-transform:uppercase}
.outfit-choice>span:not(.creature-art){display:block;font-size:8px;color:#b3a1c0;line-height:1.5;min-height:32px;margin:6px 3px 8px}
.outfit-choice small{display:flex;gap:3px;align-items:center;justify-content:center;font-size:7px;color:#ccbed8}
.outfit-choice small .icon{width:10px;height:10px}
@media(min-width:1024px){.outfit-collection{grid-column:2}.outfit-choice{padding:9px 8px 16px}.outfit-choice strong{font-size:23px}.outfit-choice>span:not(.creature-art){font-size:9px}.outfit-choice small{font-size:8px}}
@media(min-width:1024px) and (max-height:850px){.sidebar-message{display:none}.sidebar{padding-top:21px}.sidebar-caption{margin-bottom:18px}.nav-link{padding-block:9px;min-height:40px}.sidebar-bottom{padding-top:10px}}
/* FitQuest 8: calm demonstration cards. The game UI stays around the deck. */
.exercise-card.clean-exercise-card,.mission-deck .exercise-card.clean-exercise-card{background:#19181d;border:1px solid #343139;border-radius:14px;box-shadow:none;overflow:hidden;transition:border-color .15s,background .15s}
.exercise-card.clean-exercise-card:hover,.mission-deck .exercise-card.clean-exercise-card:hover{transform:none;border-color:#605769;box-shadow:none}
.exercise-card.clean-exercise-card.is-added,.mission-deck .exercise-card.clean-exercise-card.is-added{border-color:#617c41;background:#1b2018;box-shadow:none}
.clean-exercise-card .exercise-media{position:relative;background:#f5f5f6;border-bottom:1px solid #343139;overflow:hidden}
.clean-exercise-card .exercise-visual,.mission-deck .clean-exercise-card .exercise-visual{position:relative;display:block;width:100%;height:auto;aspect-ratio:1/1;min-height:0;padding:0;background:#f5f5f6;color:#3e3a45;overflow:hidden}
.exercise-demo{position:absolute;inset:0;display:block;background:#f5f5f6;overflow:hidden}
.exercise-demo .demo-image{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;padding:7px;mix-blend-mode:multiply}
.demo-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7a7182;background:#eeecef}
.demo-fallback .body-map{height:77%!important;width:100%!important;margin:0!important}
.demo-fallback>span{font-size:8px;margin-top:5px}
.clean-exercise-card .exercise-thumb{position:absolute;inset:0;overflow:hidden;background:#eeecef}
.clean-exercise-card .exercise-thumb>.body-map,.mission-deck .clean-exercise-card .exercise-thumb>.body-map{width:100%;height:82%;margin-top:7px}
.clean-exercise-card .photo-muscle-label{display:none}
.clean-exercise-card .photo-illustrative{position:absolute;bottom:36px;left:0;right:0;font-size:7px;letter-spacing:.7px;color:#8b8194}
.demo-play-label{position:absolute;bottom:10px;left:10px;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:700;color:#3b3541;background:#fffffff2;border:1px solid #ddd8e2;border-radius:7px;padding:7px 9px;line-height:1;box-shadow:0 2px 8px #0000000a;z-index:2}
.demo-play-label .icon,.mission-deck .exercise-visual .demo-play-label .icon{width:11px;height:11px;margin:0}
.exercise-visual[aria-pressed=true] .demo-play-label{background:#222029e8;color:#fff;border-color:#413b4b}
.clean-exercise-card .favorite-button{top:9px;right:9px;width:29px;height:29px;border:1px solid #ddd8e1;background:#fffffff2;color:#7a7184;box-shadow:none;z-index:3}
.clean-exercise-card .favorite-button .icon{width:13px;height:13px}
.clean-exercise-card .favorite-button.on{background:#2d3525;border-color:#617c41;color:var(--lime)}
.clean-exercise-card .exercise-card-body,.mission-deck .clean-exercise-card .exercise-card-body{padding:13px}
.card-muscle{display:block;color:#b1a9ba;font-size:8px;font-weight:400;letter-spacing:.8px;text-transform:uppercase;margin-bottom:5px}
.clean-exercise-card .exercise-name,.mission-deck .clean-exercise-card .exercise-name{font-size:12px;line-height:1.4;font-weight:700;padding:0;min-height:35px;margin:0 0 9px;color:#f1edf5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-align:left;width:100%}
.clean-exercise-card .equipment-label,.mission-deck .clean-exercise-card .equipment-label{display:flex;align-items:center;gap:5px;font-size:9px;color:#a9a0b3;margin-bottom:13px;min-height:15px}
.clean-exercise-card .equipment-label .icon{width:12px;height:12px}
.clean-exercise-card .add-exercise{width:100%;height:36px;min-height:36px;border:1px solid #47404e;border-radius:8px;background:#29252f;color:#e2d9eb;display:flex;justify-content:center;gap:6px;align-items:center;font-size:10px;font-weight:700}
.clean-exercise-card .add-exercise .icon{width:13px;height:13px}
.clean-exercise-card .add-exercise:hover{background:#3a3045;border-color:#6e527f}
.clean-exercise-card .add-exercise.added{background:#2b3820;border-color:#4f6a32;color:#d1f2a4;cursor:default}
.clean-results{margin:20px 0 11px;font-size:11px;color:#aaa0b4}
.clean-results .text-action{font-size:10px;color:#b1a2bd}
.demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:11px 0 13px;border-bottom:1px solid #302a36}
.demo-toolbar>span{display:flex;align-items:center;gap:5px;color:#9f94aa;font-size:9px;line-height:1.5}
.demo-toolbar>span>.icon{width:12px;height:12px;display:none}
.gif-motion-control{border:1px solid #49404f;background:#211c28;border-radius:7px;color:#c4b1d5;min-height:32px;padding:8px;white-space:nowrap;flex:none}
.gif-motion-control>span{display:flex;align-items:center;gap:5px;font-size:8px;line-height:1}
.gif-motion-control .icon{width:11px;height:11px}
.gif-motion-control[aria-pressed=true]{border-color:#6c4d80;background:#32213f}
.exercise-guide-top:has(.exercise-demo){display:block;position:relative;background:none;border-radius:12px}
.exercise-guide-top>.exercise-demo{position:relative;inset:auto;aspect-ratio:1/1;width:100%;max-height:350px;border-radius:12px;border:1px solid #49404f;background:#f5f5f6}
.exercise-guide-top>.exercise-demo .demo-image{width:100%;height:100%;margin:0;object-fit:contain;padding:8px}
.guide-demo-toggle{display:block;min-height:38px;margin:11px 0 18px;padding:0;border:0;background:none}
.guide-demo-toggle>.demo-play-label{position:static;background:#2d2337;border-color:#574266;color:#d2b7e5;padding:10px 13px;font-size:11px;line-height:1}
.guide-demo-toggle .icon{width:14px;height:14px}
.exercise-guide-top>.guide-muscle-summary{padding:0;margin:18px 0;background:none}
.exercise-guide-top>.guide-muscle-summary>.guide-mini-map{display:none}
.exercise-guide-top>.guide-muscle-summary h3{font-size:12px;margin:5px 0}
.exercise-guide-top>.guide-muscle-summary p{font-size:11px;color:var(--muted);width:100%}
@media(max-width:359px){.clean-exercise-card .exercise-card-body,.mission-deck .clean-exercise-card .exercise-card-body{padding:11px}.clean-exercise-card .exercise-name,.mission-deck .clean-exercise-card .exercise-name{font-size:11px;min-height:32px}.demo-play-label{font-size:8px;padding:6px 7px;left:8px;bottom:8px}.clean-exercise-card .favorite-button{width:25px;height:25px;right:7px;top:7px}.demo-toolbar{gap:8px}.demo-toolbar>span{font-size:8px;max-width:150px}.gif-motion-control>span{font-size:7px}.gif-motion-control{padding:7px}.card-muscle{font-size:7px}}
@media(min-width:760px){.clean-exercise-card .exercise-name,.mission-deck .clean-exercise-card .exercise-name{font-size:13px;min-height:37px}.clean-exercise-card .equipment-label,.mission-deck .clean-exercise-card .equipment-label{font-size:10px}.clean-exercise-card .add-exercise{font-size:11px;height:39px}.demo-toolbar>span{font-size:10px}.demo-toolbar>span>.icon{display:block}.gif-motion-control>span{font-size:9px}.demo-play-label{font-size:10px}.card-muscle{font-size:9px}}
@media(min-width:1280px){.mission-deck .exercise-grid{gap:16px}.clean-exercise-card .exercise-card-body,.mission-deck .clean-exercise-card .exercise-card-body{padding:15px}.demo-play-label{bottom:12px;left:12px}.clean-exercise-card .favorite-button{top:11px;right:11px}}
.demo-variant{font-size:11px;color:#b9a9c7;padding:12px 0 18px;line-height:1.6}.demo-variant strong{font-weight:400;color:#dfd2e9}

/* V9 — Companion refuge, friendship flames and creature arena. */
.pet-home-card{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:#1b1920;border:1px solid #39323f;border-radius:15px;padding:10px 13px;margin-bottom:14px;min-height:106px}.pet-home-art{width:82px;height:82px;flex:none;background:radial-gradient(ellipse,#9b4dff22,transparent 70%)}.pet-home-art .creature-art{width:100%;height:100%}.pet-home-info{flex:1;min-width:0}.pet-home-info small{display:block;letter-spacing:1.5px;font-size:8px;color:var(--muted)}.pet-home-info strong{display:block;font:27px/1.15 var(--display);margin:5px 0}.pet-home-info>span{font-size:10px;color:#cbc7d4}.pet-home-bowl{display:grid;gap:10px;justify-items:center;color:var(--soft-purple)}.pet-home-bowl .icon{width:18px;height:18px}.pet-layout{display:grid;gap:22px}.pet-habitat{position:relative;overflow:hidden;border:1px solid #3b3048;background:radial-gradient(ellipse at 50% 34%,#3e2850 0,transparent 47%),#19171f;border-radius:22px;padding:18px}.pet-habitat-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.pet-status{display:flex;align-items:center;gap:6px;color:#b5b0c1;font-size:8px;font-weight:700;letter-spacing:1px}.pet-status i{width:6px;height:6px;border-radius:50%;background:#9e9e9e}.pet-status.is-fed i{background:var(--lime)}.pet-level{font:16px var(--display);border:1px solid #4a3b58;border-radius:7px;padding:5px 8px}.pet-speech{position:relative;max-width:240px;padding:10px 14px;border:1px solid #5c466e;border-radius:12px;background:#2b2335;color:#e7d9f4;font-size:12px;text-align:center;margin:22px auto 0;min-height:40px;overflow-wrap:anywhere}.pet-speech::after{content:'';position:absolute;bottom:-6px;left:50%;width:9px;height:9px;transform:rotate(45deg);border-right:1px solid #5c466e;border-bottom:1px solid #5c466e;background:#2b2335}.pet-touch{height:270px;position:relative;display:block;width:100%;isolation:isolate;margin-top:7px;padding:0}.pet-living-art{position:relative;display:block;width:260px!important;height:260px!important;margin:auto;z-index:2;animation:pet-breathe 3.7s ease-in-out infinite;transform-origin:50% 86%}.pet-halo{position:absolute;inset:14% 9% 0;background:radial-gradient(ellipse,#9b4dff30,transparent 68%);z-index:-1}.pet-floor{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:190px;height:30px;border:1px solid #65507788;background:#3a294b66;border-radius:50%;box-shadow:0 0 28px #9b4dff22;z-index:-1}.pet-spark{position:absolute;color:var(--soft-purple);font-size:23px;top:27%;left:13%}.pet-spark-two{top:58%;left:auto;right:10%;font-size:16px}.pet-nameplate{text-align:center;position:relative;margin-top:4px}.pet-nameplate>span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.pet-nameplate h2{font:38px/1.1 var(--display);margin:5px 0}.pet-nameplate p{font-size:10px;color:#a09aa9}.pet-force{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 16px;padding:16px 0;margin:15px 0;border-block:1px solid #3b3344}.pet-force>span{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.6px;color:#c1a6dc}.pet-force>strong{font:42px/1 var(--display);grid-column:2;grid-row:1/span 2}.pet-force>small{font-size:10px;color:var(--muted);margin-top:4px}.pet-care-meters{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pet-meter>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:10px}.pet-meter>div>span{display:flex;align-items:center;gap:4px;color:#c7c0cf}.pet-meter .icon{width:13px;height:13px}.pet-meter .progress-track>span{background:var(--soft-purple)}.pet-food-bag{margin:24px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.pet-food-bag>div{display:flex;align-items:center;gap:8px}.pet-food-bag .icon{width:25px;height:25px;color:#d4b7f0}.pet-food-bag span{font-size:11px}.pet-food-bag strong{font-size:21px}.pet-food-bag>small{font-size:9px;color:var(--muted)}.pet-safe-note{font-size:10px;color:#a39aa9;text-align:center;margin-top:12px;line-height:1.6}.pet-side{min-width:0}.pet-mission-panel,.pet-growth-panel{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-bottom:16px}.pet-mission-panel .mini-heading,.pet-growth-panel .mini-heading{margin:0 0 16px}.pet-mission-panel .mini-heading h2,.pet-growth-panel .mini-heading h2{font-size:16px}.pet-mission-panel .mini-heading>span{font-size:8px;letter-spacing:1px}.pet-mission{width:100%;display:flex;align-items:center;gap:10px;text-align:left;min-height:77px;padding:12px 0;border-top:1px solid var(--line)}.pet-mission>span:nth-child(2){flex:1}.pet-mission strong{display:block;font-size:12px}.pet-mission small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.pet-mission>b{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--soft-purple)}.pet-mission>b .icon{width:17px;height:17px}.pet-mission-icon{background:#27222f;color:#bba4d4;border-radius:10px;width:35px;height:35px;display:grid;place-items:center;flex:none}.pet-mission-icon .icon{width:17px;height:17px}.pet-mission.done .pet-mission-icon{color:#b8d7bb;background:#223026}.pet-mission.done>b{font-size:9px;color:#b8d7bb}.pet-mission-panel>p,.pet-mode-note p{font-size:10px;color:var(--muted);line-height:1.7;margin-top:10px}.pet-evolution-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px -5px 20px}.pet-evolution-trail>div{text-align:center;min-width:0;opacity:.45}.pet-evolution-trail>div.unlocked{opacity:1}.pet-evolution-art{width:100%;height:auto;aspect-ratio:1;display:block}.pet-evolution-trail strong{display:block;font-size:10px;overflow-wrap:anywhere}.pet-evolution-trail small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.pet-growth-panel .xp-line{font-size:10px}.pet-friends-card{background:#261c34;border:1px solid #493355;border-radius:16px;padding:22px;margin-bottom:14px}.pet-friends-card h2{font:34px/1.1 var(--display);margin:10px 0}.pet-friends-card p{font-size:12px;color:#c4b5d0;max-width:330px;margin-bottom:20px}.pet-mode-note{padding:4px 1px}.pet-mode-note>span{font-size:10px;font-weight:700;color:#d0c8d7}.pet-mode-note>.btn{float:right;font-size:10px;min-height:20px;padding:0}.pet-checkin-hint{display:flex;gap:10px;align-items:center;border:1px solid #403348;border-radius:12px;background:#201a28;padding:13px;margin:16px 0}.pet-checkin-hint>.icon{color:var(--soft-purple);flex:none;width:24px;height:24px}.pet-checkin-hint>span{font-size:10px;color:var(--muted);flex:1}.pet-checkin-hint strong{display:block;color:var(--ink);font-size:11px}.pet-checkin-hint .btn{font-size:10px;flex:none}.pet-result-reward{display:flex;gap:10px;align-items:center;background:#241d2e;border:1px solid #4a355a;border-radius:12px;padding:15px;margin:20px 0}.pet-result-reward>.icon{color:#cfa9ff;width:25px;height:25px}.pet-result-reward>div{flex:1}.pet-result-reward strong{display:block;font-size:12px}.pet-result-reward span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.pet-result-reward .btn{font-size:10px;padding:10px}.squad-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.squad-tabs button{min-width:0;min-height:44px;font-size:10px;padding-inline:4px}.pet-arena-hero{padding:21px;border-radius:16px;background:radial-gradient(ellipse at 24% 48%,#3a2855,transparent 70%),#1e1926;border:1px solid #483257;margin:16px 0}.pet-arena-hero h2{font:30px/1.1 var(--display);margin:10px 0}.arena-champion{display:flex;align-items:center;gap:10px;margin:10px 0}.arena-champion-art{width:145px;height:145px;flex:none}.arena-champion>div{flex:1;min-width:0}.arena-champion small{font-size:8px;letter-spacing:1px;color:var(--soft-purple)}.arena-champion strong{display:block;font-size:18px;margin-top:4px;overflow-wrap:anywhere}.arena-champion span:not(.creature-art){display:block;font-size:12px;margin-top:7px}.pet-arena-hero p{font-size:11px;color:#c1b6cd;margin-bottom:18px;line-height:1.7}.pet-rival-list{display:grid;gap:9px;margin:16px 0}.pet-rival{display:grid;grid-template-columns:22px 64px minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.pet-rival.is-you{border-color:#654b80;background:#211a2a}.pet-rank{font:16px var(--display);color:#9b90a9}.pet-rival-art{width:64px;height:64px}.pet-rival>div strong{display:block;font-size:12px;overflow-wrap:anywhere}.pet-rival>div strong small{font-size:7px;color:var(--soft-purple)}.pet-rival>div>span{font-size:9px;color:var(--muted);display:block;margin-top:5px}.pet-rival>b{font:27px/1.1 var(--display);text-align:right}.pet-rival>b>small{display:block;font:7px var(--body);letter-spacing:1px;color:var(--muted);margin-top:4px}.pet-rival>.btn{grid-column:3/5;min-height:35px;padding:7px;font-size:10px}.flame-intro{padding:26px 20px;margin:15px 0;text-align:center;background:#1e1b23;border:1px solid #3e3548;border-radius:16px}.flame-mark{display:grid;place-items:center;width:62px;height:62px;color:#cfa9ff;background:#31223f;border:1px solid #5f4574;border-radius:20px;margin:0 auto 17px}.flame-mark .icon{width:34px;height:34px}.flame-intro h2{font:35px/1.06 var(--display);margin:10px 0 14px}.flame-intro p{font-size:11px;color:var(--muted);max-width:300px;margin:auto}.friend-flames{display:grid;gap:11px;margin:16px 0}.friend-flame{display:grid;grid-template-columns:55px minmax(0,1fr);gap:13px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.flame-counter{display:grid;grid-template-columns:1fr;justify-items:center;color:#99909f}.flame-counter .icon{width:22px;height:22px}.flame-counter strong{font:27px/1.1 var(--display);margin:4px 0}.flame-counter small{font-size:7px;letter-spacing:1px}.friend-flame.is-lit{border-color:#604078;background:#211a2a}.friend-flame.is-lit .flame-counter{color:var(--soft-purple)}.friend-flame>div>strong{display:block;font-size:14px;overflow-wrap:anywhere}.friend-flame>div>span{display:block;font-size:10px;color:var(--muted);margin:4px 0 8px}.friend-flame>div>small{display:block;font-size:10px;color:#c8b4d9}.flame-daily{grid-column:2;display:flex;gap:12px}.flame-daily>span{display:flex!important;align-items:center;gap:4px;margin:0!important;color:#77717e!important}.flame-daily>span.done{color:#c5aed8!important}.flame-daily .icon{width:14px;height:14px}.flame-daily small{font-size:8px}.pet-duel-board{text-align:center}.pet-duel-fighters{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;gap:3px;margin:18px 0 26px}.pet-duel-fighters>span{font:24px var(--display);color:var(--soft-purple)}.duel-art{width:100%;height:auto;aspect-ratio:1}.pet-duel-fighters strong{display:block;font-size:12px;overflow-wrap:anywhere}.pet-duel-fighters b{display:block;font:32px var(--display);margin-top:7px}.pet-duel-board h2{font:30px/1.1 var(--display)}.pet-duel-board p{font-size:12px;color:#c9bbd5;margin:14px 0}.pet-duel-board>small{font-size:10px;color:var(--muted)}
@keyframes pet-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.025)}}
@keyframes pet-eat{0%,100%{transform:scale(1)}25%{transform:translateY(-12px) rotate(-5deg) scale(1.06)}60%{transform:translateY(-3px) rotate(5deg) scale(1.03)}}
.pet-fed .pet-living-art{animation:pet-eat .65s ease-in-out 2}.pet-fed .pet-spark{color:#fff;text-shadow:0 0 15px #cfa9ff}
@media(max-width:359px){.pet-habitat{padding:14px}.pet-touch{height:240px}.pet-living-art{width:230px!important;height:230px!important}.pet-food-bag{align-items:flex-start}.pet-food-bag>small{max-width:74px;text-align:right}.arena-champion-art{width:115px;height:115px}.pet-rival{grid-template-columns:18px 48px minmax(0,1fr) auto;gap:6px;padding:10px}.pet-rival-art{width:48px;height:48px}.pet-rival>b{font-size:23px}.pet-checkin-hint .btn{font-size:9px}.pet-checkin-hint>.icon{display:none}}
@media(min-width:760px){.pet-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.pet-habitat{position:sticky;top:24px}.pet-side{min-width:0}.pet-rival-list{grid-template-columns:1fr 1fr}.friend-flames{grid-template-columns:1fr 1fr}.pet-home-card{grid-column:1/-1;margin:0}.home-status-column>.pet-home-card{width:100%;margin-bottom:16px}.pet-arena-hero{max-width:720px;margin-inline:auto}.pet-arena-hero h2{font-size:39px}.arena-champion{max-width:420px;margin-inline:auto}.arena-champion-art{width:185px;height:185px}.pet-arena-hero>p{max-width:520px;margin-inline:auto;text-align:center}.pet-arena-hero>.btn{max-width:350px;display:flex;margin:auto}}
@media(min-width:1024px){#main[data-page=companion]{max-width:1120px;margin:auto}.pet-layout{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:25px}.pet-habitat{padding:25px}.pet-touch{height:320px}.pet-living-art{width:310px!important;height:310px!important}.pet-nameplate h2{font-size:46px}.pet-rival-list{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-flame{grid-template-columns:60px minmax(0,1fr) auto}.flame-daily{grid-column:auto;flex-direction:column}.home-status-column{min-height:0!important}.home-status-column .home-tiles{width:100%}.home-status-column .home-tile{min-height:125px}.home-status-column .home-stat-strip{width:100%;margin-top:18px}.pet-result-reward{max-width:100%}}
@media(prefers-reduced-motion:reduce){.pet-living-art,.pet-fed .pet-living-art{animation:none}.pet-meter .progress-track>span{transition:none}}

.pet-touch .pet-living-art{width:min(100%,var(--pet-size,260px))!important;height:auto!important;aspect-ratio:1}
@media(max-width:359px){.pet-touch{--pet-size:230px}}
@media(min-width:1024px){.pet-touch{--pet-size:310px}}

/* V10 — Clear steps, calm guidance, and reliable touch spacing. */
.mission-progress-caption{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;margin:-11px 0 18px;padding:10px 13px;border:1px solid #302c35;border-radius:12px;background:#151519}
.mission-progress-caption>span{font-size:8px;letter-spacing:1px;color:var(--muted)}
.mission-progress-caption>strong{font-size:12px;color:#eeeaf3}
.mission-progress-caption>.progress-track{grid-column:1/-1;height:4px}
.mission-steps>button{min-height:58px}
.mission-steps>button strong{font-size:clamp(8px,2.7vw,11px);line-height:1.25;text-wrap:balance}
#main[data-page=builder]{padding-bottom:calc(176px + env(safe-area-inset-bottom))}
.mobile-nav a{min-height:52px;padding-inline:2px;font-size:10px}
.mobile-nav a:focus-visible,.mission-steps>button:focus-visible{outline-offset:1px;border-radius:9px}
.squad-tabs{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:x proximity}
.squad-tabs>button{min-height:44px;scroll-snap-align:start}
.btn,.tool-button,.modal-close,.filter-favorite,.set-check,.location-button{min-height:44px}
@media(max-width:420px){
 .topbar{padding-inline:13px}
 .topbar-right{gap:7px}
 .header-profile-label{display:none}
 .xp-pill{font-size:10px}
 .v2-heading{gap:10px;margin-bottom:20px}
 .v2-heading h1{font-size:clamp(30px,9vw,38px)}
 .mission-hud{gap:8px;padding:11px}
 .mission-avatar{width:48px;height:48px}
 .mission-identity>span:last-child{font-size:9px}
 .mission-reward{min-width:54px}
 .mission-reward>strong{font-size:16px}
 .mission-steps{gap:5px;margin:14px 0 21px}
 .mission-steps>button{gap:5px;padding:8px 4px;min-height:62px}
 .mission-steps>button>span{width:22px;height:22px;font-size:9px}
 .mission-steps>button strong{font-size:8px}
 .mission-bottom-bar{bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100% - 20px);padding:9px;gap:7px}
 .mission-bottom-bar>div strong{font-size:10px}
 .mission-bottom-bar>div span{font-size:8px}
 .mission-bottom-bar>.btn{min-height:44px;padding:9px 10px;font-size:10px}
 .timer-float{bottom:calc(76px + env(safe-area-inset-bottom))}
 #main[data-page=builder]{padding-bottom:calc(166px + env(safe-area-inset-bottom))}
}
@media(min-width:760px){
 .mission-progress-caption{max-width:760px;margin-inline:auto}
 .mission-steps>button{min-height:64px}
}
@media(prefers-reduced-motion:reduce){.mission-steps>button,.mission-bottom-bar{scroll-behavior:auto;transition:none}}

/* Animações de cuidado: quadros próprios para cada personagem e forma. */
.pet-feed-sprite{position:absolute;left:50%;top:0;z-index:3;width:min(100%,var(--pet-size,260px));aspect-ratio:1;transform:translateX(-50%);background-size:200% 200%;background-position:0 0;background-repeat:no-repeat;opacity:0;pointer-events:none}
.pet-feed-sprite[data-feed="brum-1"]{background-image:url('./assets/companions/brum-1-feed.webp')}
.pet-feed-sprite[data-feed="brum-2"]{background-image:url('./assets/companions/brum-2-feed.webp')}
.pet-feed-sprite[data-feed="brum-3"]{background-image:url('./assets/companions/brum-3-feed.webp')}
.pet-feed-sprite[data-feed="mobi-1"]{background-image:url('./assets/companions/mobi-1-feed.webp')}
.pet-feed-sprite[data-feed="mobi-2"]{background-image:url('./assets/companions/mobi-2-feed.webp')}
.pet-feed-sprite[data-feed="mobi-3"]{background-image:url('./assets/companions/mobi-3-feed.webp')}
.pet-feed-sprite[data-feed="tork-1"]{background-image:url('./assets/companions/tork-1-feed.webp')}
.pet-feed-sprite[data-feed="tork-2"]{background-image:url('./assets/companions/tork-2-feed.webp')}
.pet-feed-sprite[data-feed="tork-3"]{background-image:url('./assets/companions/tork-3-feed.webp')}
.pet-touch.pet-action-feed .pet-feed-sprite,.pet-touch.pet-action-evolve .pet-feed-sprite{opacity:1;animation:pet-feed-frames 1.8s steps(1,end) both}
.pet-touch.pet-action-feed .pet-living-art,.pet-touch.pet-action-evolve .pet-living-art{opacity:0;animation:none}
.pet-touch.pet-action-love .pet-living-art{animation:pet-affection .7s ease-in-out 2}
.pet-touch.pet-action-love .pet-spark{animation:pet-love-spark .75s ease-out 2}
.pet-touch.pet-action-evolve .pet-halo{background:radial-gradient(ellipse,#b6ff4580 0,#9b4dff66 38%,transparent 72%);animation:pet-evolve-glow .9s ease-in-out 2}
.pet-touch.pet-action-evolve .pet-spark{color:#b6ff45;text-shadow:0 0 18px #b6ff45;animation:pet-love-spark .65s ease-out 3}
@keyframes pet-feed-frames{0%,12%{background-position:0 0}13%,31%{background-position:100% 0}32%,62%{background-position:0 100%}63%,88%{background-position:100% 100%}89%,100%{background-position:0 0}}
@keyframes pet-affection{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.055) rotate(-3deg)}70%{transform:scale(1.055) rotate(3deg)}}
@keyframes pet-love-spark{0%{opacity:.25;transform:scale(.7) translateY(5px)}55%{opacity:1;transform:scale(1.3) translateY(-9px)}100%{opacity:.55;transform:scale(1) translateY(-3px)}}
@keyframes pet-evolve-glow{0%,100%{opacity:.7;filter:saturate(1)}50%{opacity:1;filter:saturate(1.8) brightness(1.35)}}
.checkin-pulse{margin:18px 0;padding:18px;background:linear-gradient(135deg,#221a2d,#17151d);border:1px solid #4a355c;border-radius:16px;box-shadow:0 12px 30px #09070d33}.checkin-pulse-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.checkin-pulse-head h2{font:27px/1.05 var(--display);margin-top:6px}.checkin-pulse-total{font-size:10px;color:var(--soft-purple);white-space:nowrap}.checkin-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:17px 0 14px}.checkin-week-day{min-width:0;display:grid;justify-items:center;gap:5px;padding:8px 2px 7px;border:1px solid #37303f;border-radius:10px;background:#19171f;color:var(--muted);transition:transform .18s ease,border-color .18s ease,background .18s ease}.checkin-week-day:hover{transform:translateY(-2px);border-color:#76548c}.checkin-week-day>span{font-size:8px;letter-spacing:.5px}.checkin-week-day>i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-style:normal;font-size:14px;color:#766780}.checkin-week-day>i .icon{width:13px;height:13px}.checkin-week-day>small{font-size:7px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.checkin-week-day.done{border-color:#69507c;background:#2a2036;color:#e5d8ee}.checkin-week-day.done>i{background:#b6ff45;color:#14190f}.checkin-week-day.current{outline:2px solid #b6ff4566;outline-offset:1px}.checkin-pulse-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 14px}.checkin-pulse-stats>span{display:grid;grid-template-columns:18px 1fr;align-items:center;column-gap:5px;padding:8px 6px;background:#15131a;border-radius:9px}.checkin-pulse-stats .icon{grid-row:1/span 2;width:15px;height:15px;color:var(--lime)}.checkin-pulse-stats strong{font-size:15px;line-height:1}.checkin-pulse-stats small{font-size:7px;color:var(--muted);white-space:nowrap}.checkin-pulse .progress-track{height:7px}.checkin-pulse-hint{font-size:9px;color:var(--muted);margin-top:9px}.checkin-prompts{padding:12px 0 4px}.checkin-prompts>span{display:block;font-size:9px;color:var(--muted);margin-bottom:8px}.checkin-prompts>div{display:flex;flex-wrap:wrap;gap:6px}.checkin-prompts button{font-size:10px;color:#cdb9dc;border:1px solid #4a3857;border-radius:999px;background:#241b2e;padding:8px 10px;transition:background .18s ease,border-color .18s ease,transform .18s ease}.checkin-prompts button:hover{background:#352146;border-color:#80619a;transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){.pet-touch.pet-action-feed .pet-feed-sprite,.pet-touch.pet-action-evolve .pet-feed-sprite{display:none}.pet-touch.pet-action-feed .pet-living-art,.pet-touch.pet-action-evolve .pet-living-art{opacity:1;animation:none}.pet-touch.pet-action-love .pet-living-art,.pet-touch.pet-action-love .pet-spark,.pet-touch.pet-action-evolve .pet-spark,.pet-touch.pet-action-evolve .pet-halo{animation:none}}
.profile-management-actions{display:grid;gap:9px;margin-top:12px}.profile-delete-note{display:block;color:var(--muted);font-size:10px;line-height:1.55;margin-top:10px}
.onboard-welcome{text-align:center;padding:18px 4px 4px}.onboard-logo-orbit{width:110px;height:110px;position:relative;display:grid;place-items:center;margin:3px auto 22px;border:1px solid #6a4b7e;border-radius:50%;box-shadow:0 0 0 12px #9b4dff0d,0 0 50px #9b4dff33;animation:onboard-pulse 3s ease-in-out infinite}.onboard-logo-orbit span{display:grid;place-items:center;width:54px;height:54px;background:var(--lime);color:#14190f;border-radius:16px;font:40px var(--display)}.onboard-logo-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--lime);animation:onboard-orbit 4s linear infinite}.onboard-logo-orbit i:nth-child(2){top:5px;left:50%}.onboard-logo-orbit i:nth-child(3){right:3px;bottom:23px;animation-delay:-1.3s}.onboard-logo-orbit i:nth-child(4){left:14px;bottom:13px;animation-delay:-2.7s}.onboard-welcome h3,.onboard-step-copy h3,.onboard-account h3,.onboard-plan h3,.onboard-tour h3{font:36px/1.02 var(--display);margin:10px 0 14px}.onboard-welcome h3 em{font-style:normal;color:var(--lime)}.onboard-welcome p,.onboard-step-copy p,.onboard-account p,.onboard-tour p{font-size:12px;color:var(--muted);line-height:1.65}.onboard-actions{display:flex;gap:9px;margin-top:20px}.onboard-actions .btn{flex:1}.onboard-welcome .onboard-actions{display:grid}.onboard-skip,.onboard-local-start{border:0;background:none;color:var(--muted);font-size:10px;text-decoration:underline;margin:15px auto 0}.onboard-step-copy{margin-bottom:18px}.onboard-choice-grid,.onboard-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;border:0;padding:0}.onboard-choice-grid legend{grid-column:1/-1;font-size:11px;color:#c5bfce;margin-bottom:2px}.onboard-choice{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;font-size:11px;cursor:pointer}.onboard-choice:has(input:checked),.onboard-choice.selected{border-color:var(--lime);background:#242c1b;color:#efffd4}.onboard-choice input,.onboard-check input{accent-color:var(--lime)}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboard-check{display:flex;align-items:center;gap:7px;padding:9px 8px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:10px}.onboard-check:has(input:checked){border-color:#8860a0;background:#2d2038}.onboard-bmi{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin:16px 0;padding:14px;border:1px solid #4d3d59;border-radius:12px;background:#211a2a}.onboard-bmi span{font-size:10px;color:var(--muted)}.onboard-bmi strong{font:32px var(--display);color:var(--lime);grid-column:2;grid-row:1/span 2}.onboard-bmi small{font-size:9px;color:#c7b8d0}.onboard-prediction{display:grid;gap:5px;margin:17px 0;padding:15px;border-radius:12px;background:#27311c;border:1px solid #536536}.onboard-prediction span{font-size:8px;letter-spacing:1.5px;color:#c4d59f}.onboard-prediction strong{font-size:15px;color:#edffd0}.onboard-prediction small{font-size:10px;color:#bac8a9}.onboard-benefit-columns{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.onboard-benefit-columns article{padding:15px 12px;border-radius:12px;background:#1a181e;border:1px solid var(--line)}.onboard-benefit-columns article.benefit-highlight{background:#2b1f3a;border-color:#76508d}.onboard-benefit-columns span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:11px}.onboard-benefit-columns .benefit-highlight>span{color:#d5b9e9}.onboard-benefit-columns strong{display:block;font-size:14px;margin-bottom:7px}.onboard-benefit-columns p{font-size:10px;color:var(--muted);line-height:1.5}.onboard-notification{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #4b3b5a;border-radius:11px;background:#211a2a;text-align:left}.onboard-notification input{margin-top:3px;accent-color:var(--lime)}.onboard-notification strong{display:block;font-size:11px}.onboard-notification small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.onboard-benefit-stack{display:grid;gap:9px;margin:17px 0}.onboard-benefit-stack>div{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.onboard-benefit-stack>.icon{color:var(--lime)}.onboard-benefit-stack>div>svg{width:22px;height:22px;color:var(--lime);flex:none}.onboard-benefit-stack strong{display:block;font-size:12px}.onboard-benefit-stack small{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:3px}.onboard-plan.is-creating{min-height:390px;display:grid;place-items:center}.plan-loader{text-align:center}.plan-loader-ring{display:block;width:100px;height:100px;margin:0 auto 24px;border:2px solid #4e3b5c;border-top-color:var(--lime);border-radius:50%;animation:plan-spin 1s linear infinite;box-shadow:0 0 40px #b6ff4533}.plan-loader h3{font-size:27px}.plan-exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.plan-exercise-grid article{min-width:0;padding:7px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.plan-exercise-thumb{height:74px;overflow:hidden;border-radius:7px;background:#2a2034}.plan-exercise-thumb .exercise-thumb,.plan-exercise-thumb .exercise-demo{height:100%;min-height:0}.plan-exercise-grid strong{display:block;font-size:10px;line-height:1.25;margin-top:7px;overflow-wrap:anywhere}.plan-exercise-grid small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.onboard-account{text-align:center}.onboard-account-options{display:grid;gap:9px;margin:22px 0 13px}.onboard-account-options button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-weight:700}.onboard-account-options button.primary{background:var(--lime);border-color:var(--lime);color:#14190f}.onboard-account-options .icon{width:17px;height:17px}.oauth-placeholder{text-align:center;padding:12px}.oauth-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:17px;background:#2a2036;color:var(--soft-purple)}.oauth-mark .icon{width:28px;height:28px}.onboard-tour{text-align:center;padding:8px}.tour-number{display:block;font:58px var(--display);color:#8b62a0}.tour-art{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 18px;border-radius:50%;background:#30203d;color:var(--lime);box-shadow:0 0 0 12px #b6ff4512}.tour-art .icon{width:38px;height:38px}.onboard-tour .eyebrow{font-size:8px;color:var(--soft-purple)}.tour-dots{display:flex;justify-content:center;gap:7px;margin:22px 0 18px}.tour-dots i{width:7px;height:7px;border-radius:50%;background:#52445c}.tour-dots i.active{background:var(--lime);width:20px;border-radius:5px}@keyframes onboard-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 12px #9b4dff0d,0 0 50px #9b4dff33}50%{transform:scale(1.045);box-shadow:0 0 0 18px #9b4dff0d,0 0 70px #9b4dff55}}@keyframes onboard-orbit{from{transform:rotate(0deg) translateX(48px) rotate(0deg)}to{transform:rotate(360deg) translateX(48px) rotate(-360deg)}}@keyframes plan-spin{to{transform:rotate(360deg)}}
.neon-hero-art{animation:hero-creature-float 4.6s ease-in-out infinite;transform-origin:50% 86%;will-change:transform}.pet-home-art .creature-art{animation:pet-home-float 4.2s ease-in-out infinite;transform-origin:50% 86%;will-change:transform}@keyframes hero-creature-float{0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-8px)}}@keyframes pet-home-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.025)}}
@media(prefers-reduced-motion:reduce){.pet-touch.pet-action-feed .pet-feed-sprite,.pet-touch.pet-action-evolve .pet-feed-sprite{display:block!important;opacity:1!important;animation:pet-feed-frames 1.8s steps(1,end) both!important}.pet-touch.pet-action-feed .pet-living-art,.pet-touch.pet-action-evolve .pet-living-art{opacity:0!important}}
