/* The viewport is the face of a pocket field unit. The rim never catches taps. */
html{background:radial-gradient(ellipse at top,#433a42,#15131a 70%);scroll-padding-block:36px}
body{width:calc(100% - 20px);max-width:760px;margin:12px auto;min-height:calc(100dvh - 24px);padding:20px 9px max(24px,env(safe-area-inset-bottom));border-radius:36px;background:repeating-linear-gradient(0deg,#dec5d604 0 1px,transparent 1px 4px),linear-gradient(115deg,#645361,#382f3c 35%,#332b39 72%,#705b6b);box-shadow:inset 0 0 0 2px #c1acb0,inset 0 0 0 7px #211b27,0 10px 0 #131017,0 18px 35px #000b}
.device-bezel{position:fixed;z-index:25;top:10px;bottom:10px;left:50%;transform:translateX(-50%);width:calc(100% - 16px);max-width:764px;pointer-events:none;border:10px solid #766774;border-top-color:#c4b6b6;border-left-color:#a497a2;border-right-color:#4b3e50;border-bottom-color:#3e3347;border-radius:38px;box-shadow:inset 0 0 0 2px #e4d6d255,inset 0 0 0 5px #1b1720,inset 5px 0 12px #08060caa,0 0 0 2px #15131b,1px 4px 0 3px #08060b,7px 9px 24px #0008}
.device-bezel:before{content:'';position:absolute;inset:6px;border:1px solid #ab8e9c55;border-radius:22px;box-shadow:inset 1px 2px 3px #0008}
.device-bezel:after{content:'';position:absolute;top:31%;bottom:31%;left:-10px;right:-10px;border-left:4px solid #342d39;border-right:4px solid #261f2d;border-radius:5px;box-shadow:inset 1px 0 #d3bfca55}
.case-screw{position:absolute;width:10px;height:10px;border:1px solid #302633;border-radius:50%;background:linear-gradient(135deg,#e0d7c8,#8d8d86 45%,#545563);box-shadow:inset 0 1px #ffffde,1px 2px 3px #000b}.case-screw:after{content:'';position:absolute;height:2px;background:#3b3441;top:3px;left:1px;right:1px;transform:rotate(-35deg);box-shadow:0 1px #ded6be88}.case-tl{top:1px;left:7px}.case-tr{top:1px;right:7px}.case-bl{bottom:1px;left:7px}.case-br{bottom:1px;right:7px}
.ship-header{margin:0 6px;border:2px solid #251e2d;border-top-color:#a38a9c;border-radius:20px 20px 7px 7px;height:auto;min-height:72px;padding:14px 12px;box-shadow:inset 0 2px #d4bac444,0 3px 5px #120d19aa}
.pod-page{padding:0 14px 12px}.deck-strip{padding:0 4px}.containment-bay{border-radius:18px;margin-top:5px;box-shadow:inset 0 3px 8px #0a0611aa,0 1px #a2899d77}.workout-console{border-radius:13px;border:2px solid #1c1722;border-top-color:#b39aa8;box-shadow:inset 0 2px #c4adbe44,inset -2px -3px 7px #1b102955,0 5px 0 #211926,0 8px 12px #0e0a15aa}.coach-line{border:1px solid #201928;border-bottom-color:#9e839877;border-radius:8px;background:#221c2a;box-shadow:inset 1px 3px 6px #0008;padding:10px 12px}.crew-footer{margin-top:18px}.sync-badge{padding:12px 8px;font-size:11px}
.coach-dock{bottom:max(17px,env(safe-area-inset-bottom));margin:0 7px;border:2px solid #292030;border-top-color:#bca4b4;border-radius:10px 10px 20px 20px;padding:14px 10px 20px;box-shadow:inset 0 2px #ecdae344,0 5px 0 #201826,0 8px 12px #0e0a15aa;backdrop-filter:none}
.launch-panel{max-height:calc(100dvh - 68px);border-width:6px;border-radius:24px;padding:24px 20px;box-shadow:inset 0 0 0 2px #251c30,inset 0 3px #f8e6d944,0 7px 0 #1e1725,5px 16px 40px #000b}.launch-panel::backdrop{background:#110d17d9}.launch-panel header{position:relative}.launch-panel:not(.accomplishments-panel) header:before{content:'';position:absolute;left:0;right:0;bottom:-5px;height:3px;background:repeating-linear-gradient(90deg,#16121d 0 5px,transparent 5px 10px);opacity:.7}.launch-panel .fields>label{min-width:0}.launch-panel input,.launch-panel select{min-width:0}.launch-panel .entry-copy{overflow-wrap:anywhere}
.meal-scan-stage{position:relative;margin:18px 0;border:5px solid #252832;border-top-color:#7e8c8d;border-bottom-color:#13121c;border-radius:15px;overflow:hidden;isolation:isolate;background:#08171a;box-shadow:inset 0 0 14px #000,0 2px #acc5b866}
.launch-panel .meal-scan-stage .meal-preview{height:300px;max-height:48dvh;min-height:230px;margin:0;border-radius:0;object-fit:contain;background:#0a1419}
.meal-scan-overlay{position:absolute;inset:0;pointer-events:none;color:#c3ffec;font:12px/1.5 var(--pixel-font);text-shadow:0 1px 3px #000;background:linear-gradient(#00191dd9,transparent 25%,transparent 64%,#001519f2);box-shadow:inset 0 0 35px #47e6d31c}
.scan-heading{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:8px;letter-spacing:1px}.scan-heading time{font-variant-numeric:tabular-nums;color:#e2ffb6;flex-shrink:0}.scan-readout{position:absolute;bottom:12px;left:12px;right:12px;background:#001b21d9;border-left:2px solid #9dffe1;padding:8px 10px}.scan-readout>span{display:block}.launch-panel .scan-readout progress{height:7px;margin-top:7px;accent-color:#a8ffc9}.scan-grid{position:absolute;inset:0;background:linear-gradient(90deg,#78fbe410 1px,transparent 1px),linear-gradient(#78fbe410 1px,transparent 1px);background-size:32px 32px;opacity:.45}.scan-reticle{position:absolute;inset:24% 20% 29%;border:1px solid #bbffe940;border-radius:16px;box-shadow:0 0 0 10px #60ecc709}.scan-reticle:before,.scan-reticle:after{content:'';position:absolute;width:23px;height:23px;border:3px solid #a3ffdf}.scan-reticle:before{left:-2px;top:-2px;border-right:0;border-bottom:0}.scan-reticle:after{right:-2px;bottom:-2px;border-left:0;border-top:0}.scan-beam{display:none;position:absolute;left:0;right:0;top:20%;height:2px;background:#b0ffe0;box-shadow:0 0 20px 7px #56ffd955}
.meal-scan-overlay:is([data-state=preparing],[data-state=loading],[data-state=analyzing]) .scan-beam{display:block;animation:food-sweep 3.8s ease-in-out infinite}.meal-scan-overlay[data-state=result] .scan-reticle{border-color:#c5ffc777}.meal-scan-overlay[data-state=error]{color:#ffe4bf}.scan-actions{margin:16px 0}.scan-note{font-size:12px!important}.launch-panel #foodSuggestions button{text-transform:capitalize}
@keyframes food-sweep{0%,100%{top:22%;opacity:.4}50%{top:73%;opacity:.8}}
.reminder-tuning{padding:20px 16px 16px;border:3px solid #26202d;border-top-color:#b399a8;border-radius:13px;background:repeating-linear-gradient(0deg,#ecd5e306 0 1px,transparent 1px 3px),linear-gradient(130deg,#735d70,#3c3246);box-shadow:inset 0 2px #dbc6d944,0 4px #211929;margin:10px 0;display:grid;gap:24px}.reminder-tuning label{font:700 12px var(--pixel-font);letter-spacing:1px}.tone-control{text-align:center}.tone-control>output{display:block;font:750 24px var(--pixel-font);margin-top:16px}.tone-dial-row{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px}.tone-dial-row>button{width:44px;min-width:44px;padding:0;font-size:22px}.tone-dial{position:relative;width:110px;height:110px;flex-shrink:0;border:3px solid #2b2330;border-radius:50%;background:repeating-conic-gradient(#b6a4ac 0deg 4deg,#68566a 4deg 8deg);box-shadow:0 0 0 5px #201926,0 0 0 7px #ae91a166,0 9px 9px #0009;touch-action:none;cursor:grab}.tone-dial:before{content:'';position:absolute;inset:8px;border:2px solid #c2afbc;border-radius:50%;background:radial-gradient(circle at 32% 22%,#b1a0ad,#79667f 55%,#4c3b59);box-shadow:inset 0 3px #e0cdd355,inset 0 -4px #21172f66}.tone-dial i{position:absolute;inset:12px;transform:rotate(var(--turn,0deg));transition:transform .15s}.tone-dial i:after{content:'';position:absolute;width:5px;height:21px;top:0;left:calc(50% - 2.5px);background:#ffdb95;border:1px solid #fce8be;border-radius:2px;box-shadow:0 1px 3px #000b}.tone-dial:focus-visible{outline:3px solid #ffe0a5;outline-offset:10px}.tone-dial:active{cursor:grabbing}.tone-scale{font:10px var(--pixel-font);color:#d3bacb;letter-spacing:.6px;margin-top:9px}.consistency-control output{display:block;font:600 16px/1.5 var(--pixel-font);margin-top:10px;min-height:24px}.launch-panel #consistencySlider{appearance:none;width:100%;height:46px;border:0;padding:0;margin:8px 0 0;background:none;box-shadow:none;cursor:pointer;touch-action:pan-y}.launch-panel #consistencySlider::-webkit-slider-runnable-track{height:10px;border:2px solid #1c1721;border-bottom-color:#b899ac;background:linear-gradient(90deg,#d4ad70 var(--fill),#1c1822 var(--fill));border-radius:4px;box-shadow:inset 1px 2px 4px #0009}.launch-panel #consistencySlider::-webkit-slider-thumb{appearance:none;width:30px;height:36px;margin-top:-15px;border:2px solid #dbbeb9;border-radius:5px;background:repeating-linear-gradient(90deg,#967c90 0 5px,#4b3e55 5px 6px);box-shadow:inset 0 2px #eddccf,2px 5px 5px #0008}.launch-panel #consistencySlider::-moz-range-track{height:8px;background:#211829;border:2px solid #b899ac;border-radius:4px}.launch-panel #consistencySlider::-moz-range-thumb{width:28px;height:34px;border:2px solid #dbbeb9;border-radius:5px;background:repeating-linear-gradient(90deg,#967c90 0 5px,#4b3e55 5px 6px);box-shadow:2px 4px 4px #0008}.cadence-scale{display:flex;justify-content:space-between;font:10px var(--pixel-font);color:#cdb5c8}.message-preview{padding:14px;border:2px solid #201827;border-bottom-color:#b28a9a;border-radius:7px;background:#24212b;box-shadow:inset 1px 3px 6px #0009}.message-preview small{font:10px var(--pixel-font);letter-spacing:1px;color:#b7d0bd}.launch-panel .message-preview p{font:15px/1.6 var(--pixel-font);color:#e7edc9;margin:7px 0 0}.reminder-controls{flex-wrap:wrap}
.install-transfer{border-block:2px solid #241b2d;margin-top:22px;padding:0 0 24px;box-shadow:0 1px #b998a355}.install-qr{display:block;width:min(100%,294px);margin:18px auto;padding:0;background:#fff;border:7px solid #dfd8c8;border-radius:12px;box-shadow:0 4px 0 #756e78,0 8px 12px #0008;overflow:hidden}.install-qr img{display:block;width:100%;height:auto}.install-transfer .actions{margin-top:14px}.install-transfer #installLink{font:12px/1.5 var(--pixel-font)}
@media(min-width:800px){body{margin-block:24px;padding:22px 14px 30px}.device-bezel{top:22px;bottom:22px}.ship-header{padding-inline:22px}.pod-page{padding-inline:24px}.coach-dock{bottom:29px}.reminder-tuning{grid-template-columns:1fr 1fr;align-items:center;gap:24px 22px}.message-preview{grid-column:1/-1}}
@media(max-width:430px){body{width:calc(100% - 12px);padding:20px 7px max(22px,env(safe-area-inset-bottom));margin-block:8px}.device-bezel{width:calc(100% - 8px);top:6px;bottom:6px;border-width:7px;border-radius:29px}.device-bezel:before{inset:4px;border-radius:20px}.device-bezel:after{left:-7px;right:-7px;border-width:3px}.ship-header{margin-inline:3px;padding-inline:10px;gap:8px}.ship-location{font-size:8px;letter-spacing:.2px}.ship-location small{font-size:7px;letter-spacing:.4px}.mom-brand{gap:4px}.mom-brand img{width:28px}.pod-page{padding-inline:10px}.workout-console{padding:15px 10px}.calibration-grid{grid-template-columns:minmax(0,1fr) 78px;padding:15px 0;gap:8px}.exercise-control{padding-right:0}.dial-controls{gap:4px}.dial-controls button{width:28px;min-width:28px;padding:0}.exercise-dial{width:64px;height:64px;flex-shrink:0}.signal-control .rocker-switch{min-width:54px;width:54px}.signal-control>small{font-size:10px}.calibration-grid label{font-size:9px}.exercise-control>strong{font-size:15px}.coach-dock{margin-inline:4px;bottom:max(12px,env(safe-area-inset-bottom));padding:12px 7px 17px;gap:7px}.coach-dock button{min-height:65px}.launch-panel{width:calc(100% - 26px);padding:20px 12px;border-width:5px;border-radius:20px}.launch-panel h2{font-size:21px}.reminder-tuning{padding-inline:12px}.tone-dial-row{gap:18px}.scan-heading{font-size:10px}.launch-panel .meal-scan-stage .meal-preview{height:270px}.launch-panel .reminder-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){.scan-beam{animation:none!important;top:45%!important;opacity:.4}.tone-dial i{transition:none}}
