:root{--paper:#fbf4e4;--paper-2:#f3e8cf;--ink:#3d3326;--ink-soft:#6b5d4a;--line:#3d332624;--green:#5c8a53;--green-soft:#dcebcf;--red:#b8362b;--straw:#ecd28e;--beak:#f2b53a;--shadow:0 6px 18px #3d33262e;--font:"Baloo 2", ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#e2efe7;margin:0;overflow:hidden}#game-canvas{touch-action:none;display:block;position:fixed;inset:0}button{color:inherit;cursor:pointer;font-family:inherit}[hidden]{display:none!important}.card{background:var(--paper);border:1.5px solid var(--line);box-shadow:var(--shadow);border-radius:16px}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#hud>*{pointer-events:auto}.goals{top:calc(12px + var(--safe-t));left:calc(12px + var(--safe-l));width:min(320px,100vw - 88px);padding:4px 6px 6px;position:absolute}.goals-head{background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:17px;font-weight:800;display:flex}.goals-head .count{color:var(--ink-soft);margin-left:auto;font-size:14px;font-weight:700}.goals-head svg{transition:transform .2s}.goals.collapsed .goals-head svg{transform:rotate(-90deg)}.goals.collapsed li:not(.current){display:none}.goals.collapsed li.current{border-top:0}.goals ol{max-height:min(48vh,420px);margin:0;padding:0 4px;list-style:none;overflow-y:auto}.goals li{border-top:1px solid var(--line);grid-template-columns:22px 1fr;gap:8px;padding:6px 4px;font-size:14px;line-height:1.25;display:grid}.goals li .check{border:2px solid var(--ink-soft);border-radius:50%;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.goals li.done{color:var(--ink-soft)}.goals li.done .text{-webkit-text-decoration:line-through #3d332659;text-decoration:line-through #3d332659}.goals li.done .check{border-color:var(--green);background:var(--green);color:#fff}.goals li.current{background:var(--paper-2);border-radius:10px}.goals li .sub{color:var(--ink-soft);font-size:12.5px;display:block}.goals li .reward{color:var(--green);margin-top:2px;font-size:12px;font-weight:700;display:inline-block}.top-right{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));gap:8px;display:flex;position:absolute}.icon-btn{border:1.5px solid var(--line);background:var(--paper);width:46px;height:46px;box-shadow:var(--shadow);border-radius:14px;place-items:center;display:grid}.status{left:calc(12px + var(--safe-l));bottom:calc(12px + var(--safe-b));flex-direction:column;gap:6px;min-width:170px;padding:8px 12px;font-size:14px;font-weight:700;display:flex;position:absolute;pointer-events:none!important}.stat{align-items:center;gap:8px;display:flex}.bar{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;flex:1;height:10px;overflow:hidden}.bar i{background:var(--straw);width:100%;height:100%;transition:width .2s;display:block}.bar.mic i{background:var(--green);transition:none}.tickle{left:50%;bottom:calc(18px + var(--safe-b));width:min(380px,100vw - 32px);padding:10px 14px;position:absolute;transform:translate(-50%)}.tickle-label{justify-content:space-between;font-size:15px;font-weight:800;display:flex}.tickle-bar{border:1.5px solid var(--line);border-radius:9px;height:16px;margin:6px 0 4px;display:flex;position:relative;overflow:hidden}.tickle-bar .zone{height:100%}.zone.calm{background:#e9f0e0;width:35%}.zone.sweet{background:var(--green-soft);width:47%}.zone.danger{background:#f6d5cf;width:18%}.tickle-bar i{border-right:3px solid var(--ink);background:#f2b53ad9;width:0;position:absolute;top:0;bottom:0;left:0}.tickle-hint{color:var(--ink-soft);font-size:13px}.tickle.sweet .tickle-hint{color:var(--green);font-weight:700}.tickle.danger .tickle-hint{color:var(--red);font-weight:700}.toast{top:calc(16px + var(--safe-t));text-align:center;max-width:min(420px,100vw - 140px);padding:10px 18px;transition:transform .35s cubic-bezier(.3,1.4,.6,1);position:absolute;left:50%;transform:translate(-50%,-140%);pointer-events:none!important}.toast.show{transform:translate(-50%)}.toast b{font-size:17px;display:block}.toast span{color:var(--green);font-size:14px;font-weight:700}.hint{left:50%;bottom:calc(20px + var(--safe-b));border:1.5px solid var(--line);white-space:nowrap;text-overflow:ellipsis;background:#fbf4e4eb;border-radius:999px;max-width:calc(100vw - 32px);padding:6px 14px;font-size:15px;font-weight:700;transition:opacity .3s;position:absolute;overflow:hidden;transform:translate(-50%);pointer-events:none!important}.hint:empty{opacity:0}body:not(.touch) #hud.tickling .hint{bottom:calc(112px + var(--safe-b))}.crosshair{background:#ffffffd9;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1.5px #3d332659;pointer-events:none!important}#hud>.touch{position:absolute;inset:0;pointer-events:none!important}.joy{opacity:0;pointer-events:none;background:#fbf4e459;border:2px solid #fbf4e4cc;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;transition:opacity .15s;position:fixed}.joy.active{opacity:1}.knob{background:var(--paper);width:54px;height:54px;box-shadow:var(--shadow);border-radius:50%;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%}.touch-buttons{right:calc(14px + var(--safe-r));bottom:calc(14px + var(--safe-b));pointer-events:auto;grid-template-columns:repeat(2,auto);place-items:end;gap:10px;display:grid;position:absolute}.tbtn{border:1.5px solid var(--line);min-width:74px;height:56px;box-shadow:var(--shadow);touch-action:none;background:#fbf4e4f0;border-radius:18px;padding:0 12px;font-size:15px;font-weight:800}.tbtn.wide{grid-column:1/span 2;width:100%}.tbtn.big{background:var(--beak);border-color:#7a4a1659;grid-column:1/span 2;width:100%;height:72px;font-size:22px}.tbtn.on,.tbtn:active{background:var(--green-soft)}.tbtn.big:active{background:#e3a12b}body.touch .status{min-width:150px;bottom:calc(14px + var(--safe-b))}body.touch .crosshair,body:not(.touch) .touch{display:none}body.touch .tickle{bottom:auto;top:calc(12px + var(--safe-t));width:min(300px,100vw - 150px)}body.touch .hint{top:46%;bottom:auto}.screen{z-index:30;padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));background:#e4f1ec59;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.title-card{text-align:center;width:min(460px,100%);padding:24px 24px 20px}.title-card h1{letter-spacing:-.5px;margin:4px 0 0;font-size:clamp(40px,9vw,56px);font-weight:800;line-height:1}.title-card .tag{color:var(--ink-soft);margin:8px 0 16px;font-size:17px}.title-card .duck-face{width:112px;height:112px;margin:0 auto;display:block}.btn{border:1.5px solid var(--line);background:var(--paper-2);border-radius:16px;justify-content:center;align-items:center;gap:8px;height:50px;padding:0 26px;font-size:18px;font-weight:800;display:inline-flex}.btn.primary{background:var(--beak);border-color:#7a4a164d;min-width:200px;height:58px;font-size:22px}.btn.primary:hover{background:#f5bf51}.controls{background:var(--paper-2);text-align:left;border-radius:12px;margin:18px 0 0;padding:12px 14px;font-size:14px;line-height:1.6}.controls kbd{border:1.5px solid var(--line);background:var(--paper);text-align:center;border-radius:6px;min-width:22px;padding:0 6px;font-family:inherit;font-size:13px;font-weight:700;display:inline-block}.credit{color:var(--ink-soft);margin-top:14px;font-size:13px}.pause-card{text-align:center;width:min(360px,100%);padding:22px}.pause-card h2{margin:0 0 6px;font-size:30px}.pause-card p{color:var(--ink-soft);margin:0 0 16px}.stack{flex-direction:column;align-items:center;gap:10px;display:flex}.settings{z-index:40;width:min(420px,100vw - 24px);max-height:calc(100vh - 24px - var(--safe-t) - var(--safe-b));padding:18px 20px 20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.settings h2{margin:0;font-size:24px}.settings-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.settings section{border-top:1px solid var(--line);padding:10px 0}.settings h3{margin:0 0 6px;font-size:16px}.row{align-items:center;gap:10px;min-height:36px;font-size:15px;display:flex}.row label{flex:0 0 92px}.row input[type=range]{accent-color:var(--green);flex:1}.toggle{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:40px;padding:0;font-size:15px;display:flex}.switch{background:#d8d0bd;border-radius:13px;flex:none;width:46px;height:26px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle[aria-checked=true] .switch{background:var(--green)}.toggle[aria-checked=true] .switch:after{transform:translate(20px)}.toggle[disabled]{opacity:.45;cursor:default}.note{color:var(--ink-soft);margin:4px 0 0;font-size:13px;line-height:1.35}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--paper-2);border-radius:999px;height:36px;padding:0 12px;font-size:14px;font-weight:700}.chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.chip.locked{opacity:.5;cursor:default}.danger-btn{color:var(--red);background:0 0;border:1.5px solid #b8362b66;border-radius:12px;height:40px;padding:0 14px;font-size:15px;font-weight:700}#debug{z-index:50;color:#fff;white-space:pre;pointer-events:none;background:#0009;border-radius:8px;padding:6px 8px;font:12px/1.4 ui-monospace,monospace;position:fixed;bottom:8px;right:8px}@media (width<=640px){.goals li{font-size:13px}.goals-head{font-size:15px}}@media (prefers-reduced-motion:reduce){.toast{transition:none}}body.touch #hud.tickling .goals{display:none}
