#fieldwork{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}.bank-weed{position:absolute;width:52px;height:64px;border:0;background:none;padding:0;transform:translate(-50%,-87%);pointer-events:auto;touch-action:none;cursor:grab;filter:drop-shadow(0 4px 2px #35543244);z-index:2}.bank-weed .game-icon{width:100%;height:100%;transform:translate(var(--pull-x,0px),var(--pull-y,0px));transform-origin:50% 88%;transition:transform .15s}.bank-weed:hover .game-icon{filter:brightness(1.12)}.bank-weed.pulling{cursor:grabbing;z-index:10}.bank-weed.pulling .game-icon{transition:none}.bank-weed.ready{filter:drop-shadow(0 0 7px #fff2a9)}.bank-weed i{display:none}.bank-weed.uprooted{pointer-events:none;animation:weed-away .5s ease-out forwards;opacity:1}.bank-weed.uprooted i{display:block;position:absolute;left:50%;bottom:10px;width:7px;height:7px;background:#a17b46;box-shadow:-16px 9px #b78d54,16px 4px #866841,5px 20px #b99258;border-radius:50%}@keyframes weed-away{to{transform:translate(-50%,-210%) rotate(25deg);opacity:0}}.field-tip{position:absolute;top:18px;left:20px;display:flex;align-items:center;gap:10px;background:#fffcecf0;border:2px solid #e5d6a5;border-radius:18px;padding:10px 16px;box-shadow:0 5px 16px #2e574421}.field-tip[hidden],.test-card[hidden],.sample-point[hidden]{display:none}.field-tip svg{width:36px;height:36px}.field-tip b{font-size:14px}.field-tip small{display:block;color:#7f9174;font-size:11px;margin-top:3px}.sample-point{position:absolute;width:48px;border:2px solid #fff4cf;border-radius:16px;background:#e8f5e7;box-shadow:0 4px 0 #56867455;transform:translate(-50%,-70%);padding:4px;pointer-events:auto;color:#386b5a;z-index:1}.sample-point svg{width:34px;height:34px;display:block}.sample-point span{font-size:10px;font-weight:bold}.sample-point.collecting{animation:collect .85s ease-in-out}.sample-point.collecting span{visibility:hidden}@keyframes collect{40%{transform:translate(-50%,-10%) rotate(25deg)}75%{transform:translate(-50%,-110%) rotate(-10deg)}}.test-card{position:absolute;left:24px;bottom:24px;width:300px;border:2px solid #e2d6b6;border-radius:22px;background:#fffcee;pointer-events:auto;padding:16px;box-shadow:0 12px 35px #244e442b;color:#395f4c}.test-card header{display:flex;align-items:center;justify-content:space-between}.test-card header>span{display:flex;align-items:center;gap:8px}.test-card header svg{width:30px;height:30px}.test-card header button{background:#ececdb;border:0;width:32px;height:32px;border-radius:50%;color:#52725b;font-size:22px}.test-bench{height:150px;position:relative;background:linear-gradient(transparent 80%,#ece6cc 80%);margin:8px 0 12px;border-radius:12px}.small-sample{position:absolute;left:25px;bottom:12px;width:55px;height:70px;border:3px solid #8aa99a;border-top:6px solid #9db4a2;border-radius:4px 4px 13px 13px;background:#e8f4e7;overflow:hidden}.small-sample i{position:absolute;bottom:0;left:0;right:0;height:65%;background:#82bbae}.small-sample span{position:absolute;bottom:12px;left:12px;font-size:11px;color:#fffceb}.reagent{position:absolute;left:98px;top:6px;width:48px;height:86px;background:transparent;border:0;padding:0;touch-action:none;z-index:1;cursor:grab}.reagent svg{width:100%;height:100%;display:block}.test-instruction{position:absolute;right:8px;top:52px;font-size:12px;line-height:1.8;color:#84927a}.mixing .reagent{animation:reagent-drop .6s forwards}.mixing .small-sample i{background:#9bbf78;transition:background .6s}@keyframes reagent-drop{50%,100%{transform:translate(-70px,-12px) rotate(15deg)}}.test-foot{font-size:10px;color:#9b9f87}.water-result{display:flex;align-items:center;gap:22px;background:#edf1dd;border-radius:16px;margin:14px 0;padding:18px}.result-swatch{width:64px;height:72px;border:6px solid #fff7d9;border-radius:12px;background:#8abc81;box-shadow:0 3px 0 #375e4420}.care .result-swatch{background:#ddbf6b}.poor .result-swatch{background:#bc8b67}.water-result b{font-size:14px}.water-result strong{display:block;font-size:28px}.water-result small{font-size:12px;color:#8c987c}.water-scale{display:flex;gap:5px;margin:12px 0}.water-scale i{flex:1;font-style:normal;font-size:10px;border-top:5px solid #b98e72;text-align:center;padding:5px;opacity:.45}.water-scale i:nth-child(2){border-color:#d9b861}.water-scale i:nth-child(3){border-color:#81ae78}.water-scale .selected{opacity:1;font-weight:bold}.test-card details{font-size:10px;color:#83927c}.test-card details p{line-height:1.7}@media(max-width:620px){.field-tip{top:65px;left:10px;padding:7px 12px}.field-tip b{font-size:12px}.test-card{left:10px;bottom:48px;width:270px;padding:12px}.bank-weed{width:46px;height:56px}}@media(prefers-reduced-motion:reduce){.bank-weed,.sample-point,.reagent{animation-duration:.01ms!important}}

.water-result>div{display:grid;gap:3px}.water-result small{font-size:9px;color:#8c987c}.water-result b{font-size:16px}.water-result div>span{font-size:10px;color:#879482}
.test-result-meta{display:block;margin-top:10px;color:#84927a;font-size:11px}
.sample-progress__status{display:flex;align-items:center;gap:14px;margin:16px 0;padding:18px;border-radius:16px;background:#edf1dd}.sample-progress__status>i{width:22px;height:22px;flex:none;border:3px solid #a9c4a3;border-top-color:#3e8976;border-radius:50%;animation:sample-spin .9s linear infinite}.sample-progress__status>span{display:grid;gap:5px}.sample-progress__status b{font-size:14px}.sample-progress__status small{font-size:11px;color:#84927a}@keyframes sample-spin{to{transform:rotate(360deg)}}
@media(max-width:620px){.sample-progress__status{margin:12px 0;padding:14px;gap:10px}.sample-progress__status b{font-size:13px}}
@media(max-width:620px){.test-card{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-width:420px;margin:auto;max-height:68dvh;overflow:auto;padding:13px}.test-card header button{width:42px;height:42px}.water-result{gap:13px;margin:10px 0;padding:13px}.result-swatch{width:52px;height:58px}}
@media(orientation:landscape) and (max-height:520px){.test-card{left:8px;right:auto;bottom:8px;width:min(360px,48vw);max-height:calc(100dvh - 16px);padding:9px 12px}.sample-progress__status{margin:8px 0;padding:10px}.water-result{padding:9px;margin:7px 0}.water-scale{margin:6px 0}}
