@font-face{font-family:Maru;src:url('../assets/MaruBuri-Regular.otf')}*{box-sizing:border-box}body{margin:0;background:#f3f1e8;color:#343e30;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #607e51;outline-offset:5px}#lab{position:relative;height:100svh;min-height:580px;overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pinch-zoom;cursor:grab}#scene:active{cursor:grabbing}#scene:focus-visible{outline:2px solid #97a58c;outline-offset:-6px}header{position:absolute;left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px);top:max(20px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;pointer-events:none}header a{pointer-events:auto;line-height:0}header img{object-fit:contain;width:86px;height:43px}.edition,.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#8a8f7d}.title{position:absolute;left:clamp(22px,4vw,64px);top:110px;pointer-events:none}.title h1{font-family:Maru,serif;font-size:clamp(36px,4.2vw,66px);line-height:1.22;letter-spacing:-3px;font-weight:400;margin:17px 0 23px}.title h1 span{color:#ef954b}.title p{font-size:13px;color:#838975;line-height:1.9;letter-spacing:-.2px}.controls{position:absolute;right:clamp(22px,4vw,64px);bottom:86px;width:228px;padding:22px 22px 15px;background:#fffdf4cf;border:1px solid #fffef7;border-radius:23px;box-shadow:0 8px 38px #6c685709;backdrop-filter:blur(14px)}.panel-title{font-family:Maru,serif;font-size:15px;display:flex;align-items:center;justify-content:space-between}.small-orange{font-size:29px;color:#dfa357;line-height:1}.flavors{border:0;padding:0;display:flex;gap:13px;margin:19px 0 23px}.flavor{width:23px;height:23px;border:3px solid #fff7;border-radius:50%;background:var(--color);box-shadow:0 1px 4px #0001}.flavor[aria-pressed=true]{outline:1px solid #92947b;outline-offset:4px}.orange{--color:#ef9b37}.grapefruit{--color:#e47d70}.lime{--color:#a6b75f}label{display:flex;justify-content:space-between;font-size:12px;margin-top:15px}output{font-size:10px;color:#989d8c}input{width:100%;accent-color:#7e9169;height:19px;margin:9px 0 0;cursor:pointer}.nudge{border:0;width:100%;padding:11px 0;border-radius:12px;background:#e9eddd;margin-top:20px;font-size:12px}.nudge span{font-size:18px;vertical-align:-1px;margin-right:6px}.nudge:active{background:#dbe4c7}.minor-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.minor-actions button{border:0;background:none;color:#89917c;padding:6px 0;font-size:11px}.minor-actions button[aria-pressed=true]{color:#436244;text-decoration:underline;text-underline-offset:4px}.readout{position:absolute;left:clamp(22px,4vw,64px);bottom:54px;display:flex;gap:28px;align-items:center;pointer-events:none}.readout small{display:block;font-size:10px;color:#929783;letter-spacing:.5px;margin-bottom:8px}.readout strong{font-size:22px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-1px}.readout strong span{font-size:11px;margin-left:3px}.live-dot{width:6px;height:6px;border-radius:50%;background:#a4b286;margin-right:1px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#technical{position:absolute;right:clamp(22px,4vw,64px);bottom:max(20px,env(safe-area-inset-bottom));font-size:10px;color:#929783;max-width:280px}#technical summary{text-align:right;cursor:pointer}#technical[open]{background:#fffff5ef;padding:14px;border-radius:10px;z-index:3}#technical p{line-height:1.7}#status{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);max-width:80%;text-align:center;font-size:13px;background:#fffff0e8;padding:18px 24px;border-radius:14px}#status[hidden]{display:none}
@media(max-width:700px){#lab{min-height:650px}.edition{font-size:8px;letter-spacing:1px}.title{top:85px}.eyebrow{font-size:8px;letter-spacing:1.3px}.title h1{font-size:38px;margin:12px 0}.title p{font-size:11px;line-height:1.7}.controls{bottom:max(28px,env(safe-area-inset-bottom));left:22px;right:22px;width:auto;padding:15px 18px;display:grid;grid-template-columns:1fr 1fr;gap:3px 22px;border-radius:21px}.panel-title{font-size:13px}.small-orange{display:none}.flavors{margin:2px 3px 9px;justify-content:flex-end}.controls label{margin-top:7px}.controls label[for=firmness]{grid-column:1;grid-row:2}.controls label[for=damping]{grid-column:2;grid-row:2}.controls input{margin:0}.nudge{margin:11px 0 0;padding:9px 0}.minor-actions{margin-top:12px;align-items:center}.minor-actions button{font-size:10px}.readout{bottom:236px;gap:20px}.readout strong{font-size:17px}.readout small{font-size:9px;margin-bottom:4px}.live-dot{width:5px;height:5px}#technical{bottom:5px;right:25px;font-size:9px}#technical[open]{bottom:24px}.controls output{font-size:9px}}
@media(max-height:550px) and (min-width:701px){#lab{min-height:340px}.title{top:70px}.title h1{font-size:35px;margin:9px 0}.title p{font-size:11px}.eyebrow{font-size:8px}.controls{bottom:46px;width:210px;padding:14px 18px}.flavors{margin:10px 0 15px}.nudge{margin-top:12px}.readout{bottom:28px}.edition{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.tools{display:flex;gap:5px;margin:17px 0 12px;background:#e9e7dc;padding:4px;border-radius:12px}.tools button{flex:1;border:0;border-radius:9px;background:transparent;padding:9px 2px;font-size:11px}.tools button[aria-pressed=true]{background:#5a6e4d;color:#fffdf4}.watermelon{--color:#de474e}.gold{--color:#eac153}.pink{--color:#ee94a3}.flavors{margin:12px 0 18px}#feedback{position:absolute;bottom:22%;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:20px;background:#fffff0e8;font-size:12px;pointer-events:none}#feedback[hidden]{display:none}#scene.cutting{cursor:crosshair}
@media(max-width:700px){.title h1{font-size:34px}.title p{font-size:10px}.controls{bottom:max(28px,env(safe-area-inset-bottom));gap:3px 18px;padding:12px 16px}.panel-title{grid-row:1;grid-column:1}.flavors{grid-row:1;grid-column:2;margin:0 0 5px}.tools{grid-row:2;grid-column:1 / -1;margin:6px 0}.controls label[for=firmness]{grid-row:3}.controls label[for=damping]{grid-row:3}.readout{bottom:268px}.nudge{margin-top:8px}.minor-actions{margin-top:8px}#feedback{bottom:42%;font-size:11px;max-width:85%;width:max-content}}
@media(max-height:550px) and (min-width:701px){.controls{width:202px;bottom:35px;padding:10px 14px}.tools{margin:9px 0 5px}.tools button{padding:7px 0;font-size:10px}.flavors{margin:7px 0}.controls label{margin-top:8px}.controls input{height:15px;margin-top:4px}.nudge{margin-top:9px;padding:9px 0}.minor-actions{margin-top:4px}.title h1{font-size:31px}}
