:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,a,input{touch-action:manipulation}.app-install{min-height:42px;border:1px solid #fff9;border-radius:24px;padding:0 15px;background:var(--surface);font-size:13px}.native-app #install-button{display:none}.download-app{text-decoration:none;text-align:center}.install-icon{border-radius:18px;display:block;margin-bottom:20px}.install-steps{font-size:14px;line-height:1.9;color:#647466;padding-left:20px;margin-top:20px}.placement-bar{position:absolute;bottom:140px;left:50%;transform:translateX(-50%);width:320px;padding:15px;background:var(--surface);border:1px solid #fff9;border-radius:16px;box-shadow:0 10px 35px #183a2533;z-index:5}.placement-bar[hidden]{display:none}.placement-bar>span{font-size:14px;font-weight:600}.placement-bar p{font-size:13px;color:#74816f;margin:6px 0 12px}.placement-bar>div{display:flex;gap:7px}.placement-bar button{flex:1;border-radius:9px;min-height:44px;font-size:14px;background:#e7eddf}.placement-bar #confirm-placement{background:#2a493d;color:white;flex:1.6}.placement-bar #confirm-placement:disabled{opacity:.4}.native-app .brand .place span{display:none}#install-dialog .eyebrow{font-size:11px}
@media(pointer:coarse),(max-width:760px){
  .topbar{top:calc(12px + var(--safe-top));left:calc(14px + var(--safe-left));right:calc(14px + var(--safe-right));gap:8px;align-items:flex-start}.brand{min-width:0}.brand strong{font-size:22px;letter-spacing:2px}.brand strong span,.brand .place{display:none}.utilities{gap:4px;flex-shrink:0}.utilities .icon-button{width:40px;height:40px}.utilities .icon-button svg{width:19px;height:19px}.weather{width:auto;height:40px;padding:0 10px}.weather #time-label{display:inline;font-size:12px;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#time-button{display:none}.app-install{min-height:42px;padding:0 12px;font-size:13px}#help-button{display:inline-flex}
  .view-controls{top:calc(71px + var(--safe-top));left:calc(14px + var(--safe-left));right:calc(14px + var(--safe-right));max-width:none;display:flex;flex-wrap:nowrap;gap:5px;overflow:auto;scrollbar-width:none}.view{flex-shrink:0;min-height:40px;padding:8px 12px;font-size:12px;white-space:nowrap}
  .dock{bottom:calc(10px + var(--safe-bottom));padding:7px;gap:3px;max-width:calc(100% - 20px - var(--safe-left) - var(--safe-right));border-radius:19px}.dock button{min-width:56px;padding:9px 7px;min-height:66px;font-size:12px}.dock button svg{width:22px;height:22px}.dock-divider{margin:0 1px;height:35px}
  .panel{top:auto;bottom:calc(106px + var(--safe-bottom));left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));width:auto;max-height:43dvh;padding:17px 18px;border-radius:19px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel:before{content:'';display:block;width:34px;height:4px;background:#bbc7b2;border-radius:8px;margin:-7px auto 9px}.panel-head{margin-bottom:14px}.panel .eyebrow{display:none}.panel .icon-button{width:40px;height:40px;margin:-8px -5px -8px 0}.panel h1{font-size:22px}.panel p{font-size:14px;line-height:1.7}.panel h2{font-size:14px}.panel .small{font-size:12px!important}
  .catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.item-card img{height:70px}.item-card strong{font-size:12px;padding:4px 8px 10px}.choice-list{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{font-size:13px;padding:11px 8px;min-height:61px}.choice small{font-size:11px}.choice .swatch{display:none}.swatches button{min-width:44px;min-height:44px}.swatches .swatch{width:31px;height:31px}.toggle-row{min-height:44px}.toggle-row input{height:24px;width:24px}input[type=range]{min-height:36px}.primary{min-height:46px;font-size:14px}
  .seed-buttons button{min-height:44px;font-size:13px}.plot-button{min-height:62px;font-size:12px}.plot-button b{font-size:17px}.selection{bottom:calc(114px + var(--safe-bottom));max-width:calc(100% - 20px);padding:8px;gap:4px}.selection button{min-height:42px;min-width:44px;font-size:13px}.selection strong{font-size:12px}.bottom-left{left:calc(16px + var(--safe-left));bottom:calc(95px + var(--safe-bottom))}.bottom-left .save-state{font-size:11px}.bottom-left .control-hint{display:none}.bottom-right{right:calc(16px + var(--safe-right));bottom:calc(95px + var(--safe-bottom))}.bottom-right #harvest-count{display:none}.bottom-right button{min-height:30px;font-size:12px;padding:4px 12px}.toast{bottom:calc(116px + var(--safe-bottom));z-index:10;max-width:calc(100% - 30px);font-size:13px;width:max-content}.placement-bar{bottom:calc(112px + var(--safe-bottom));width:min(350px,calc(100% - 24px));}.placing .bottom-left,.placing .bottom-right{display:none}dialog{max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom));overflow:auto;padding:28px 25px}dialog .icon-button{min-height:44px;min-width:44px}
}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){
  .topbar{top:calc(8px + var(--safe-top));left:calc(14px + var(--safe-left));right:calc(14px + var(--safe-right))}.view-controls{top:calc(60px + var(--safe-top));max-width:calc(100% - 305px)}.panel{left:auto;right:calc(12px + var(--safe-right));width:282px;top:calc(62px + var(--safe-top));bottom:calc(12px + var(--safe-bottom));max-height:none;padding:16px}.panel .catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.dock{left:calc(14px + var(--safe-left));transform:none;bottom:calc(10px + var(--safe-bottom));padding:5px}.dock button{min-width:53px;min-height:54px;padding:6px;font-size:11px;gap:3px}.dock button svg{width:19px;height:19px}.bottom-left,.bottom-right{display:none}.toast{bottom:calc(80px + var(--safe-bottom));max-width:calc(100% - 310px);left:30%}.placement-bar{left:calc(14px + var(--safe-left));transform:none;bottom:calc(81px + var(--safe-bottom));width:315px}.selection{left:calc(14px + var(--safe-left));transform:none;bottom:calc(80px + var(--safe-bottom))}.panel .choice-list{grid-template-columns:1fr}.panel .choice{min-height:44px}.panel .choice small{display:none}
}
@media(max-width:370px){.dock{gap:0;padding:5px}.dock button{min-width:50px;padding:8px 5px}.utilities{gap:3px}.utilities .icon-button{width:40px;height:40px}.weather{height:40px;padding:0 8px}.weather #time-label{font-size:11px;max-width:34vw}.app-install{padding:0 9px;font-size:12px}.view{padding:8px 10px;font-size:11px}}
body.sitting .leave-sit{bottom:calc(18px + var(--safe-bottom))}
.welcome{padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom))}
.welcome-card{padding:28px 22px 22px}
@media(pointer:coarse),(max-width:760px){body.sitting .leave-sit{bottom:calc(18px + var(--safe-bottom))}}

.camera-tools{position:absolute;top:154px;left:32px;display:flex;gap:5px;z-index:2}.camera-tools button{width:44px;height:44px;border:1px solid #fff9;border-radius:12px;background:var(--surface);font-size:23px;box-shadow:0 3px 15px #16352214}.camera-tools button:hover{background:#e2ebdb}.camera-tools button:focus-visible{outline:2px solid #2a493d;outline-offset:2px}
@media(min-width:761px) and (max-width:1000px) and (pointer:fine){.camera-tools{top:202px;left:22px}}
@media(pointer:coarse),(max-width:760px){.camera-tools{top:calc(121px + var(--safe-top));left:calc(14px + var(--safe-left))}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px){.camera-tools{top:calc(110px + var(--safe-top))}}
