:root{--cream: #f8edce;--cream-2: #efdfb3;--ink: #493b29;--muted: #877142;--olive: #718043;--olive-dark: #5b6a33;--gold: #f5d86e;--sand: #e3d39f;--sand-dark: #cdb27a;--red: #b6573a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--cream-2);overflow:hidden}.stage{position:fixed;top:0;right:0;bottom:0;left:0}.pond-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#86a641}canvas.pond{display:block;image-rendering:pixelated;image-rendering:crisp-edges;cursor:crosshair}.notice{position:absolute;top:14px;left:12px;right:12px;margin:0 auto;width:fit-content;max-width:720px;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;border:3px solid var(--sand-dark);border-radius:12px;background:linear-gradient(105deg,#fff1b8f7,#f5d86ef7);box-shadow:0 8px 24px #34432640;color:var(--ink);font-size:14px;line-height:1.35}.notice-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 #b6573a99;animation:notice-ping 1.6s ease-out infinite}@keyframes notice-ping{0%{box-shadow:0 0 #b6573a99}to{box-shadow:0 0 0 9px #b6573a00}}.notice-close{flex:none;margin-left:4px;width:26px;height:26px;border:0;border-radius:8px;background:#493b291a;color:var(--ink);font-size:18px;line-height:1;cursor:pointer}.notice-close:hover{background:#493b2933}@media (max-width: 760px){.notice{top:8px;font-size:13px}}.duck-icon{image-rendering:pixelated}.panel{position:absolute;top:22px;right:22px;width:min(clamp(400px,30vw,520px),calc(100% - 44px));max-height:calc(100% - 44px);display:flex;flex-direction:column;overflow:hidden;border:3px solid var(--sand-dark);border-radius:18px;background:linear-gradient(105deg,#f8edcef2,#efdfb3f2);box-shadow:0 14px 44px #34432647,inset 0 0 0 2px #fffae699;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.window-body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 24px 20px;scrollbar-width:thin;scrollbar-color:var(--sand-dark) transparent}.grip{flex:none;height:18px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#cdb27a40;border-bottom:1px solid rgba(205,178,122,.5)}.grip span{width:44px;height:4px;border-radius:2px;background:var(--sand-dark);box-shadow:0 -5px 0 var(--sand-dark),0 5px 0 var(--sand-dark);opacity:.8;transform:scaleY(.6)}.grip:hover span{opacity:1}.grip:active,.window-dragging .grip{cursor:grabbing}.rs{position:absolute;width:18px;height:18px;z-index:2;touch-action:none}.rs:after{content:"";position:absolute;width:8px;height:8px;border:2px solid var(--sand-dark);opacity:.55;transition:opacity .15s}.window:hover .rs:after{opacity:.9}.rs-nw{top:0;left:0;cursor:nwse-resize}.rs-ne{top:0;right:0;cursor:nesw-resize}.rs-sw{bottom:0;left:0;cursor:nesw-resize}.rs-se{bottom:0;right:0;cursor:nwse-resize}.rs-nw:after{top:3px;left:3px;border-right:0;border-bottom:0;border-top-left-radius:6px}.rs-ne:after{top:3px;right:3px;border-left:0;border-bottom:0;border-top-right-radius:6px}.rs-sw:after{bottom:3px;left:3px;border-right:0;border-top:0;border-bottom-left-radius:6px}.rs-se:after{bottom:3px;right:3px;border-left:0;border-top:0;border-bottom-right-radius:6px}body.window-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}body.window-dragging canvas.pond{pointer-events:none}@media (max-width: 760px){.pond-wrap{height:58%}.panel{top:auto;right:12px;left:12px;bottom:12px;width:auto;max-height:52vh}.window-body{padding:16px}}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:600}h1,h2{font-family:Pixelify Sans,monospace;font-weight:700;margin:4px 0;letter-spacing:1px;line-height:1}h1{font-size:46px}h2{font-size:30px}.landing{text-align:center}.duck-row{display:flex;justify-content:center;align-items:flex-end;gap:14px;margin:18px 0 10px}.tagline{font-family:Pixelify Sans,monospace;font-size:22px;margin:4px 0 10px}.lede{color:#5d4d35;font-size:15px;line-height:1.5;margin:0 0 18px}.btn{font-family:Pixelify Sans,monospace;font-size:21px;font-weight:600;letter-spacing:.5px;width:100%;padding:14px 16px;margin:6px 0;border:0;border-radius:12px;color:#fff6d5;background:var(--olive);cursor:pointer;box-shadow:inset 0 -4px #0003,0 4px #3443262e;transition:transform .08s,background .15s}.btn:hover:not(:disabled){background:var(--olive-dark);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 -2px #0003}.btn:disabled{opacity:.6;cursor:default}.btn.secondary{background:var(--sand);color:var(--ink)}.btn.secondary:hover:not(:disabled){background:#d8c48a}.btn.small{font-size:17px;padding:9px 12px;width:auto;margin:0;white-space:nowrap}.num{font-family:DM Sans,sans-serif;font-weight:800;font-variant-numeric:tabular-nums}.btn.big{font-size:24px;padding:16px;margin-top:12px;background:linear-gradient(180deg,#7b8c4a,#66753a)}.link{background:none;border:0;padding:0;font:inherit;color:var(--olive-dark);text-decoration:underline;cursor:pointer}.mute{font-family:Pixelify Sans,monospace;font-size:12px;letter-spacing:.5px;background:#fffae6b3;border:2px solid var(--sand-dark);border-radius:8px;color:var(--muted);padding:2px 8px;cursor:pointer;margin-top:6px}.audio-toggles{display:inline-flex;gap:6px;justify-content:center;flex-wrap:wrap}.who .audio-toggles{justify-content:flex-end}.mute:hover{color:var(--ink);background:#fff8e2}.link:disabled{opacity:.5;cursor:default}.note{font-size:13px;color:var(--muted);line-height:1.45;margin:8px 0}.fine{font-size:11.5px;color:#9a875c;line-height:1.4;margin:18px 0 0}.error{font-size:13.5px;color:var(--red);background:#b6573a1a;border:1px solid rgba(182,87,58,.3);border-radius:8px;padding:8px 10px;margin:10px 0 0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.who{text-align:right;font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:2px;padding-top:4px}.who a{color:var(--olive-dark);font-weight:600;text-decoration:none}.balances{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.bal{background:#fffae6b3;border:2px solid var(--sand-dark);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.bal span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.bal strong{font-family:DM Sans,sans-serif;font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;word-break:break-all}.row{display:flex;gap:6px;align-items:center}.row.tiny{margin-top:6px}.row input{flex:1;min-width:0;font:inherit;font-size:15px;padding:9px 10px;border:2px solid var(--sand-dark);border-radius:10px;background:#fff8e2;color:var(--ink)}.row input:focus{outline:2px solid var(--olive);outline-offset:1px}.pending{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f5d86e59;border:2px dashed #c9a53a;font-size:13.5px;display:flex;gap:10px;align-items:center;justify-content:space-between}.section-title{font-family:Pixelify Sans,monospace;font-size:18px;font-weight:600;margin:18px 0 8px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.section-title .link{font-family:DM Sans,sans-serif;font-size:12.5px}.note.tight{margin:-4px 0 8px}.spend{margin-top:10px;padding:14px 14px 12px;border-radius:12px;background:linear-gradient(180deg,#fff1b8,#ffe58c);border:2px solid #c9a53a;box-shadow:0 0 0 3px #f5d86e73;text-align:center;animation:spend-pulse 1.6s ease-in-out infinite}@keyframes spend-pulse{0%,to{box-shadow:0 0 0 3px #f5d86e73}50%{box-shadow:0 0 0 6px #f5d86e33}}.spend-count{font-family:Pixelify Sans,monospace;font-size:24px;font-weight:700;color:var(--ink)}.spend-count .num{font-size:30px}.spend p{margin:4px 0 6px;font-size:13.5px;color:#5d4d35}.busy{margin:8px 0 0;font-family:Pixelify Sans,monospace;font-size:16px;color:var(--olive-dark)}.qty.buy{cursor:pointer}.qty.buy:hover:not(:disabled){border-color:#c9a53a;background:#fff1b8}.qty-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}@media (max-width: 400px){.qty-grid{grid-template-columns:repeat(3,1fr)}}.qty{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 7px;border:2px solid var(--sand-dark);border-radius:10px;background:#fffae6b3;color:var(--ink);cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.qty:hover:not(:disabled){background:#fff8e2}.qty.on{border-color:#c9a53a;background:#fff1b8;box-shadow:0 0 0 2px #f5d86e99}.qty .n{font-family:DM Sans,sans-serif;font-size:22px;font-weight:800;line-height:1}.qty .per{font-size:10px;color:var(--muted);text-align:center;line-height:1.2}.qty .disc{position:absolute;top:-8px;right:-4px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;background:var(--red);color:#fff6d5;padding:1px 5px;border-radius:6px}.hauls,.stocks,.prizes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.hauls li{background:#fffae6b3;border:2px solid var(--sand-dark);border-radius:10px;padding:8px 10px}.haul-head{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:5px}.haul-head a{color:var(--olive-dark)}.haul-prizes{display:flex;flex-wrap:wrap;gap:5px}.prize-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:3px 8px;border-radius:999px;background:#fff8e2;border:1.5px solid var(--c)}.prize-chip i,.tier i{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--c);box-shadow:inset 0 0 0 1.5px #0000002e}.stocks li,.prizes li{display:flex;align-items:center;gap:10px;background:#fffae6b3;border:2px solid var(--sand-dark);border-radius:10px;padding:7px 10px;font-size:14px}.logo{width:26px;height:26px;border-radius:7px;flex:none;object-fit:cover;background:#fff}.logo.fallback{display:inline-flex;align-items:center;justify-content:center;font-family:Pixelify Sans,monospace;font-size:12px;font-weight:700;background:var(--sand)}.sym{font-weight:700}.stocks .amt{margin-left:auto;font-family:DM Sans,sans-serif;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.pinfo{display:flex;flex-direction:column;line-height:1.15;min-width:0}.pinfo .company{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chance{margin-left:auto;font-family:DM Sans,sans-serif;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800;color:var(--ink);min-width:48px;text-align:right}.tier{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#5d4d35;min-width:78px;justify-content:flex-end}
