/* MOM's purple hardware. Gold readouts. Orange only on interaction. */
:root{--wall:#171020;--purple:#7a2fc4;--gold:#ffd36e;--cream:#f6eddf;--muted:#bcb0cd;--power:#eacb8b;--font:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#120e19;color:var(--cream);font-family:var(--font)}
body{background:radial-gradient(ellipse at 50% 25%,#38224d 0%,#171020 60%),#171020;max-width:640px;margin:auto;min-height:100dvh;box-shadow:0 0 120px #0009}
[hidden]{display:none!important}button,select,input{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,select,.file-label{min-height:44px;border:1px solid #6a537b;border-radius:10px;color:var(--cream);background:linear-gradient(160deg,#3b2b49,#271c32);padding:10px 14px;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:var(--gold);text-decoration:none}select{min-width:0}button:active:not(:disabled){border-color:#ff9f4a;box-shadow:0 0 14px #ff8b3833}
.ship-header{height:72px;display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid #90769b44;background:linear-gradient(#44324e,#21172c);box-shadow:inset 0 1px #ae95ba44,inset 0 -5px #0b07123d;position:relative}
.mom-brand{display:flex;align-items:center;gap:8px;color:#e9d3b1;font-weight:950;font-size:17px;line-height:.9;letter-spacing:-.6px}.mom-brand img{width:35px;height:36px;object-fit:contain}.mom-brand>span>span{display:block;font-size:10px;letter-spacing:5px;margin-top:5px}.ship-location{margin-left:auto;font:9px ui-monospace,monospace;letter-spacing:1px;color:#d6bddf}.ship-location small{display:block;font-size:8px;color:#9d8aaf;margin-top:6px;letter-spacing:1.2px}.icon-button{min-width:44px;font-size:22px;padding:6px;background:#24192e;box-shadow:inset 0 1px #ffffff13}
.pod-page{padding:0 18px 8px}.deck-strip{display:flex;justify-content:space-between;align-items:center;height:36px;font:9px ui-monospace,monospace;letter-spacing:1.4px;color:#b8a6c8}.status-light,.voice-led{display:inline-block;width:5px;height:5px;background:#d7aaf5;box-shadow:0 0 9px #d7aaf5;border-radius:50%;margin-right:8px}
.containment-pod{height:clamp(275px,43dvh,460px);position:relative;border:7px solid #49345c;border-radius:70px 70px 38px 38px;background:radial-gradient(ellipse at 50% 65%,#62308a50,transparent 60%),repeating-linear-gradient(0deg,#c4a2f104 0 1px,transparent 1px 4px),linear-gradient(120deg,#3e2b5066,#120e1ddd 28%,#171021 75%,#57376166);box-shadow:inset 0 0 0 2px #9a79ac77,inset 0 0 30px #0009,0 0 0 2px #100919,0 0 0 4px #574465,0 6px 18px #0006;isolation:isolate;overflow:hidden}
.containment-pod:before{content:'';position:absolute;inset:8px;border:1px solid #b88de755;border-radius:56px 56px 28px 28px;pointer-events:none;z-index:4;background:linear-gradient(110deg,transparent 12%,#dfcdff0b 16%,transparent 25%)}
.pod-rim{position:absolute;top:46px;bottom:24px;width:13px;border:1px solid #8d6ba266;border-radius:8px;background:linear-gradient(90deg,#191022,#6e4b84,#271931);z-index:5;box-shadow:0 0 12px #bb61ff33}.rim-left{left:7px}.rim-right{right:7px}.pod-rim:before{content:'';position:absolute;inset:12px 4px;background:repeating-linear-gradient(0deg,#debcff 0 4px,transparent 4px 23px);border-radius:5px;filter:drop-shadow(0 0 3px #d087ff)}
.pod-inscription{position:absolute;top:17px;left:0;right:0;text-align:center;color:#b28fc1;font:9px ui-monospace,monospace;letter-spacing:5px;z-index:3}.coach-mount{position:absolute;inset:26px 18px 39px;z-index:2}#coachLoading{position:absolute;top:40%;left:0;right:0;text-align:center;font-size:12px;color:#aa92be}
.pod-floor{position:absolute;bottom:2%;left:5%;right:5%;height:25%;border-radius:50%;transform:perspective(130px) rotateX(28deg);background:radial-gradient(ellipse,#9365bd30 20%,transparent 60%);border:1px solid #d7b8ff22;z-index:0}
.pod-nameplate{position:absolute;bottom:0;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;height:34px;padding:0 14px;background:linear-gradient(#493253,#25172f);border:1px solid #a1849166;border-radius:8px 8px 0 0;font:8px ui-monospace,monospace;letter-spacing:1.2px;z-index:6}.pod-nameplate a{font:10px var(--font);letter-spacing:0}
.myr5-companion-card{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:none!important;backdrop-filter:none!important;overflow:visible!important;box-shadow:none!important;pointer-events:none}
.myr5-companion-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:none!important}.myr5-companion-status,.myr5-customize,.myr5-hide{display:none!important}.myr5-companion-stage canvas{position:static!important;width:100%!important;height:100%!important;pointer-events:none!important}
.camera-preview{position:absolute;bottom:48px;right:23px;width:84px;height:108px;border-radius:13px;overflow:hidden;background:#191222;box-shadow:0 3px 14px #0006;border:1px solid #b08bc577;z-index:6;display:none}body[data-tracking=true] .camera-preview{display:block}.camera-preview video,.camera-preview canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.camera-preview canvas{pointer-events:none}.camera-preview span{position:absolute;bottom:0;left:0;right:0;background:#17101bd9;text-align:center;padding:4px;color:#e6d4f3;font:7px ui-monospace,monospace}
.coach-line{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 8px;gap:2px}.coach-line p{margin:0;font-size:12px;line-height:1.45;color:#d6c3e4;text-align:center;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.voice-led{flex:none;width:4px;height:4px}
.workout-console{padding:14px 16px 11px;background:linear-gradient(160deg,#493150,#30213a 55%,#23192d);border:1px solid #93789566;border-radius:20px;box-shadow:inset 0 1px #e1c7e12b,inset 0 -5px #09071144,0 7px 16px #0004}
.set-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}.set-heading label{grid-column:1/-1;font:8px ui-monospace,monospace;letter-spacing:1.3px;color:#bba4c7}.set-heading select{border:0;background:transparent;font-weight:650;font-size:20px;letter-spacing:-.6px;padding:4px 0;min-height:36px}.set-heading button{background:transparent;border:0;color:#e0c49c;font-size:11px;padding:5px;min-height:36px}
.simple-counter{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:8px;position:static!important;max-width:none!important;background:none!important}.simple-counter small{display:block;font:8px ui-monospace,monospace;letter-spacing:1.4px;color:#b19abf}.counter-number{display:flex;gap:9px;align-items:baseline;font-variant-numeric:tabular-nums;line-height:1.13}#primary{font-size:58px;font-weight:700;letter-spacing:-3px;color:var(--gold)}.goal-divider{font-size:24px;color:#8b739b;font-weight:200}#goalValue{font-size:29px;color:#ad94bd;letter-spacing:-1px}#primaryLabel{font-size:10px;color:#d4bfdb}.set-actions{display:flex;flex-direction:column;gap:4px;min-width:120px}.primary-action{display:flex;align-items:center;justify-content:center;gap:15px;border:1px solid #fff0bb88;background:linear-gradient(155deg,#ffe1a0,#d4ae64);color:#281b25;font-weight:750;font-size:13px;box-shadow:inset 0 1px #fff8,0 3px 0 #755237;min-height:48px;border-radius:10px;padding:10px 16px}.set-actions #stop{min-height:30px;padding:5px;background:none;border:0;color:#c7b0d4;font-size:11px}.set-track{height:3px;background:#190e22;border-radius:3px;margin-top:13px;overflow:hidden}#activity{height:100%;width:0;background:var(--gold);transition:width .2s}#status{font-size:10px;color:#bca6c9;line-height:1.4;margin:8px 0 0;min-height:14px}
.crew-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:9px}.crew-footer button{display:flex;gap:5px;align-items:center;text-align:left;min-height:44px;background:none;border:0;padding:0;font-size:10px;color:#cbb6da}.crew-footer button span:first-of-type{max-width:155px}.crew-footer>span{font:7px ui-monospace,monospace;letter-spacing:.7px;color:#90789e}.crew-footer canvas{position:static!important;width:24px;height:36px;image-rendering:pixelated}
.pod-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:22px;border:1px solid #a387b5;border-radius:23px;color:var(--cream);background:linear-gradient(140deg,#392640,#1c1426 65%);box-shadow:0 25px 80px #0009}.pod-dialog::backdrop{background:#100b19d9;backdrop-filter:blur(8px)}.pod-dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.pod-dialog h2{font-size:21px;letter-spacing:-.6px;margin:0}.pod-dialog p{font-size:12px;line-height:1.5;color:#c8b4d4}.settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px}.settings-fields label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#c7b0d3}.settings-fields select{width:100%;font-size:12px;padding:9px}.voice-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 14px}.voice-row span{width:100%;font-size:10px;color:#b9a2c6}.voice-row button{flex:1;font-size:12px}.settings-actions{display:flex;gap:8px}.settings-actions button{flex:1;font-size:11px}.pod-dialog details{border-top:1px solid #70578188;margin-top:18px;padding-top:15px;color:#bfa5d1;font-size:12px}.pod-dialog summary{cursor:pointer;min-height:35px}.pod-dialog pre{font-size:9px;white-space:pre-wrap;overflow-wrap:anywhere}#roundControl{display:none!important}#identity{text-align:center}#identityAvatar{position:static;width:96px;height:144px;image-rendering:pixelated}#identityName{font-size:17px;color:var(--gold)}.file-label{position:relative;cursor:pointer}.file-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.pod-dialog>a{display:block;padding:16px;font-size:13px}#identityStatus{font-size:10px}
.rest-page{padding:20px 22px 14px;min-height:calc(100dvh - 72px);display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 45%,#52247855,transparent 60%)}.rest-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.eyebrow{font:8px ui-monospace,monospace;letter-spacing:2px;color:#c59cda;margin:0 0 8px}.rest-heading h1{font-size:27px;letter-spacing:-1px;line-height:1.1;margin:0;font-weight:600;outline:none}.rest-receipt{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#ad93bf;padding:15px 0 0}#earnedXp{color:var(--gold);font:10px ui-monospace,monospace;white-space:nowrap}
.encounter{position:relative;flex:1;min-height:360px;height:48dvh;max-height:600px;isolation:isolate;overflow:hidden;margin:8px -12px 0}.encounter-orbit{position:absolute;width:75%;height:55%;border:1px solid #9870b633;left:12.5%;top:16%;border-radius:50%;box-shadow:0 0 80px #853eda15}.encounter-orbit:after{content:'';position:absolute;inset:12px;border:1px dashed #a184b422;border-radius:50%}.encounter-grid{position:absolute;left:-30%;right:-30%;bottom:-5%;height:45%;transform:perspective(150px) rotateX(55deg);background:linear-gradient(#b184d022 1px,transparent 1px),linear-gradient(90deg,#b184d022 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(transparent,black)}
.boss-status{position:absolute;top:11px;left:24px;right:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font:8px ui-monospace,monospace;letter-spacing:1px;color:#c8b0d8;z-index:5}.boss-health{width:100%;height:3px;background:#1b1224}.boss-health i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#7c3ca5,var(--power));box-shadow:0 0 5px #bb80e566;transition:width .25s}.rest-coach-mount{position:absolute;top:3%;left:-8%;width:116%;height:81%;z-index:2}.rest-coach-mount .myr5-companion-stage{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--power) 14%,transparent))}
.attack-target{position:absolute;inset:11% 8% 28%;background:none!important;border:0!important;box-shadow:none!important;z-index:6;border-radius:45%;touch-action:manipulation}.attack-target span{position:absolute;bottom:3px;left:0;right:0;text-align:center;font:8px ui-monospace,monospace;letter-spacing:2px;color:#d0afd7;opacity:.8}.attack-target:focus-visible{outline:2px solid var(--gold)}
.player-platform{position:absolute;bottom:7%;left:50%;width:166px;height:45px;transform:translateX(-50%);z-index:7;pointer-events:none}.platform-top{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(ellipse,#5b466a 0 10px,#6e547e 11px 12px);border:2px solid #d0aec6;box-shadow:0 -4px 22px #d6a3ff11,inset 0 2px #f4d9ff66;z-index:2}.platform-edge{position:absolute;inset:4px 0 -10px;border-radius:50%;background:linear-gradient(#6b4b7e,#20132c);border:2px solid #8b638f;box-shadow:0 4px 0 #b083d7,0 8px 26px #a661e544}.platform-thruster{position:absolute;top:40px;left:45px;right:45px;height:35px;border-radius:0 0 50% 50%;background:linear-gradient(#d8a3ff88,transparent);filter:blur(5px)}#restAvatar{position:absolute;width:90px;height:135px;bottom:12px;left:38px;z-index:3;image-rendering:pixelated;transform-origin:50% 100%;pointer-events:none}.player-name{position:absolute;bottom:0;left:0;right:0;display:flex;gap:10px;justify-content:center;align-items:center;color:#ceb6db;font-size:10px;z-index:9}#restLevel{color:var(--gold);font:9px ui-monospace,monospace}
.attack-flash{position:absolute;left:34%;top:36%;width:32%;height:25%;border:2px solid var(--power);border-radius:50%;opacity:0;z-index:5;pointer-events:none;box-shadow:0 0 16px color-mix(in srgb,var(--power) 30%,transparent)}.projectile{position:absolute;left:calc(50% - 3px);bottom:23%;width:5px;height:20px;border-radius:50%;background:#ffc478;box-shadow:0 0 9px #ffaa57;opacity:0;z-index:8;pointer-events:none}.damage-float{position:absolute;top:38%;left:0;right:0;text-align:center;color:var(--power);font:700 17px ui-monospace,monospace;z-index:9;opacity:0;pointer-events:none}.encounter.hit .attack-flash{animation:shield-hit .45s ease-out}.encounter.hit .projectile{animation:attack .28s ease-in}.encounter.hit .damage-float{animation:damage .65s ease-out}.encounter.hit #restAvatar{animation:player-hit .28s ease-out}
.rest-feedback{text-align:center;min-height:28px;color:#c4accf;font-size:11px;line-height:1.5;margin:18px 0 5px}.rest-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #87659255;padding-top:14px}.rest-clock small{display:block;font:8px ui-monospace,monospace;letter-spacing:1.5px;color:#b596c6}.rest-clock strong{display:block;color:var(--gold);font:500 37px var(--font);font-variant-numeric:tabular-nums;letter-spacing:-1.5px}.rest-bottom>div:last-child{min-width:155px}.rest-bottom .primary-action{width:100%}.text-button{display:block;background:none;border:0;box-shadow:none!important;font-size:10px;color:#c2a5d0;min-height:35px;padding:8px}.shield-note{text-align:center;color:#91789f;font:9px var(--font);line-height:1.4;margin:10px 0 0}
body[data-power=ember]{--power:#ff9d66}body[data-power=arc]{--power:#a4caff}body[data-power=frost]{--power:#b9eadf}
@keyframes shield-hit{0%{opacity:.8;transform:scale(.65)}100%{opacity:0;transform:scale(1.3)}}@keyframes attack{0%{opacity:1;transform:translateY(0)}100%{opacity:.3;transform:translateY(-155px)}}@keyframes damage{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-28px)}}@keyframes player-hit{40%{transform:translateY(-9px) rotate(-6deg)}}
#library{background:radial-gradient(ellipse at 20% 0%,#67437988,transparent 55%),#171020f7}#library .library-header small{color:#dbc095}#library .movement-card{background:linear-gradient(135deg,#60407244,#24152f99);border-color:#a783bd55}#library .holo-link{color:#e7c79a!important}#library .use-movement{background:#654978bb!important;border-color:#c0a0d388!important}#library #holoStage{background-color:#1a1026}#library button{border-color:#b493c455}
@media(min-width:700px){body{border-left:1px solid #a57aad33;border-right:1px solid #a57aad33}.pod-page{padding:0 34px 10px}.ship-header{padding:12px 32px}.containment-pod{height:45dvh;min-height:310px}.rest-page{padding:24px 38px 18px}.encounter{min-height:390px}.crew-footer>span{font-size:8px}}
@media(max-width:370px){.ship-header{padding:10px 14px;gap:8px}.ship-location{font-size:8px;letter-spacing:.3px}.pod-page{padding:0 13px 7px}.workout-console{padding:12px}.set-actions{min-width:108px}.set-heading select{font-size:18px}.rest-page{padding:17px}.rest-heading h1{font-size:24px}.counter-number{gap:6px}#primary{font-size:52px}}
@media(max-height:720px) and (orientation:portrait){.ship-header{height:60px}.containment-pod{height:36dvh;min-height:235px}.coach-line{min-height:44px}.rest-page{min-height:calc(100dvh - 60px)}.encounter{min-height:290px}.rest-heading h1{font-size:23px}.rest-feedback{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.encounter.hit .damage-float{opacity:1}.encounter.hit .attack-flash{opacity:.3}}
#restCoachLoading{position:absolute;top:40%;left:10%;right:10%;text-align:center;font-size:12px;color:#c9add8;z-index:3}
.set-actions .primary-action{gap:8px;padding:10px 11px;white-space:nowrap}
.coach-line #coachCaption{color:#e8d5b3}
body:has(#library[open]) .myr5-companion-card{display:none!important}
