/* Clay artwork uses one shared coordinate space for sprites and hit targets. */
.body-view{background:#b5e5d2}
.body-art{inset:30px 0 45px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;container-type:size;touch-action:pan-y;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#7dafa0 transparent}
/* Crop only the asset's empty mint margins; keep all organ coordinates together. */
.clay-crop{position:relative;width:100%;height:128cqw;flex:none;margin-block:auto;overflow:hidden}
.clay-stage{position:absolute;top:-7cqw;left:0;width:100%;height:auto;aspect-ratio:2/3}
.clay-plate{width:100%;height:100%;display:block;pointer-events:none}
.organ-sprite{position:absolute;display:block;background-size:800% 100%;background-repeat:no-repeat;pointer-events:none}
.organ-sprite{--organ-shadow:drop-shadow(2px 5px 3px #603d3d55);filter:var(--organ-shadow)}
.sprite-heart{--organ-shadow:drop-shadow(2px 5px 2px #50333370) drop-shadow(0 1px 1px #49323240)}
.sprite-lungs{--organ-shadow:drop-shadow(3px 6px 4px #60463960)}
.clay-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.clay-flow>path{fill:none;stroke:none}.flow-dots{opacity:.65}
.clay-hit{position:absolute;z-index:3;border-radius:30%;padding:0}
.clay-hit:hover,.clay-hit:focus-visible{outline:2px solid #fff5ce;background:#fff2}
.body-clue-pin{position:absolute;left:44%;top:54%;width:13%;aspect-ratio:1;border-radius:9px;background:linear-gradient(#f3bc9d,#d68b77);box-shadow:inset 0 2px 1px #ffe4c9,0 4px 0 #a66e62,0 7px 12px #593c3933;color:#8b5558;font-size:22px;font-weight:700;z-index:4}
.body-clue-pin span{position:absolute;right:-4px;top:-10px;color:#714b83;font-size:26px}
.body-status,.body-money,.body-rhythm{color:#485260;text-shadow:none}.body-rhythm{top:95px;left:12px;max-width:100px}.body-rhythm.aligned{color:#625272;text-shadow:none}
.body-floating button{background:#646579;border-color:#92939d;color:#f2ece7;box-shadow:inset 0 1px #fff5,0 3px 5px #3332}
.emotional .clay-plate{filter:saturate(.5)}.emotional .organ-sprite{filter:saturate(.5) var(--organ-shadow)}.emotional .flow-dots{opacity:1;filter:drop-shadow(0 0 4px #fff2b0)}
.body-discovery{position:absolute;inset:0;z-index:15;display:flex;flex-direction:column;background:#d0e6dc;color:#384853;padding:12px;overflow:hidden}
.body-discovery header{display:flex;justify-content:space-between;align-items:center;flex:none}.body-discovery header button{font-size:28px;width:44px;height:44px}.body-discovery h2{font-size:20px}.section-kicker{font-size:10px;letter-spacing:1.5px;color:#65737a}
.body-discovery .tree-shell{flex:1;min-height:180px}.body-discovery .tree-viewport{flex:1;height:auto;min-height:160px;background:#c1dbcf;border-color:#adc8bf}.body-discovery .tree-help{color:#536c65;font-size:10px;margin-bottom:4px}.body-discovery .tree-tools{padding:5px 0}.body-discovery .tree-tools button{background:#eef1e8;border-color:#a9bdb5;color:#475453;padding:5px 10px}.body-discovery .tree-tools output{color:#475453}
.discovery-body-ghost{position:absolute;left:70px;top:0;width:460px;height:780px;object-fit:contain;opacity:.28;pointer-events:none}
.discovery-pipes{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#ba8277;stroke-width:9;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.discovery-pipes .testing{stroke-dasharray:12 16;stroke:#8d819f}.discovery-pipes .supported{stroke:#759f8b}
.discovery-node{position:absolute;width:150px;min-height:75px;padding:10px;background:linear-gradient(#f6e1cd,#e6bea6);color:#644d4b;border-radius:13px;box-shadow:inset 0 2px #fff8,0 4px 0 #b89783,0 7px 12px #33442b25;text-align:left;display:flex;flex-direction:column;gap:4px}.discovery-node strong{font-size:15px}.discovery-node small{font-size:11px}.node-symbol{font-size:20px}.discovery-node.waiting{background:linear-gradient(#e3e4d9,#cad0c4);color:#64716a;box-shadow:inset 0 2px #fff7,0 4px #a7b5ac}.discovery-node[aria-pressed=true]{outline:3px solid #74708c;outline-offset:5px}.discovery-node.supported{background:linear-gradient(#cbe4cf,#abd0b9)}.mystery-box{background:linear-gradient(#edb495,#d7957d);min-height:90px}.evidence-segments{display:flex;gap:4px}.evidence-segments i{height:5px;flex:1;background:#6c5b612c;border-radius:3px}.evidence-segments i.filled{background:#658e78}
.discovery-caption{font-size:10px;color:#5c7067;padding:5px 0}#discovery-detail{max-height:29%;overflow:auto;flex:none}.clue-detail{padding:10px;background:#edf0e7;border-radius:12px}.clue-detail p{font-size:12px;line-height:1.45;margin:5px 0}.clue-detail small{font-size:11px;color:#687570}.clue-detail .main-action{margin-top:8px;height:36px;background:#aed4bc;color:#334b3c}.clue-detail details{font-size:11px;margin-top:8px}.clue-detail details .soft{font-size:10px;color:#6b7771}
.body-view:has(.body-discovery)~.body-playback{display:none}
.pressure-chip{background:linear-gradient(#eab2a4,#c67f79);border:0;color:#3e2830;box-shadow:inset 0 2px 1px #ffded0aa,inset 0 -2px 2px #8e535f55,0 3px 0 #754d6066;padding:8px 10px;font-weight:600}
.routine-card.day-block{box-shadow:inset 0 2px 2px #fff5,inset 0 -3px 2px #16223655,0 3px 0 #07132066,0 5px 6px #07132033}
@media(prefers-reduced-motion:reduce){.flow-dots{display:none}}
.body-discovery{bottom:38px}.discovery-node strong{font-size:20px}.discovery-node small{font-size:15px}.node-symbol{font-size:24px}
.body-money strong{color:#444857}
.routine-card.day-block{--card:#8fb5a1;color:#283c37;background:linear-gradient(165deg,color-mix(in srgb,var(--card),white 20%),var(--card))}
.routine-card.cat-work,.routine-card.cat-commitment{--card:#94acc4}.routine-card.cat-meal{--card:#deb691}.routine-card.cat-sleep,.routine-card.cat-meditate,.routine-card.cat-therapy{--card:#b5a7c4}.routine-card.cat-gaming,.routine-card.cat-tv{--card:#a4abc8}
.routine-card .activity-icon,.routine-card .card-time>span,.routine-card .card-title>span{color:#354650}
.routine-card.pressure-related{outline:2px solid #ffe0a7;outline-offset:-2px}
.pressure-explanation{font-size:11px;color:#d8dfde;padding:6px 0;line-height:1.4}.pressure-explanation:empty{display:none}.pressure-explanation button{color:#a9d7cd;text-decoration:underline;padding:0 6px}
.phone-shell .top-brand{display:grid;grid-template-columns:44px 1fr auto 28px;position:relative}
.top-brand .brand-name{position:absolute;left:50%;transform:translateX(-50%);pointer-events:none}
.top-brand .burger-menu{grid-column:1;width:44px;min-height:36px;font-size:22px;letter-spacing:0;padding:0;text-align:left;color:#bacce5}
.top-brand>small{grid-column:3}.top-brand>.metrics-toggle{grid-column:4;margin:0}
.game-menu{display:grid;gap:8px}.game-menu button{display:flex;justify-content:space-between;padding:16px;background:#24364c;border-radius:12px;text-align:left}.game-menu button:hover{background:#314761}
.menu-version{margin-top:20px;font-size:10px;color:#9aafc4;overflow-wrap:anywhere}.menu-back{display:block;margin-top:18px;padding:10px 0;color:#b6d5d4}.menu-actions{margin-top:20px}.motion-setting{display:flex;align-items:center;gap:12px;min-height:48px}.motion-setting input{width:20px;height:20px;accent-color:#90c9b6}.menu-guide{padding-left:22px}.menu-guide li{margin-bottom:18px}.menu-guide p{margin-top:5px;line-height:1.5;color:#bdcedc}.menu-tagline{font-size:18px;margin-bottom:15px}.game-disclaimer{padding:16px;margin:18px 0;background:#253449;border-radius:12px}.game-disclaimer p{margin-top:10px;font-size:13px;line-height:1.6}
.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion .flow-dots{display:none}
