:root{--bg: #0c0e0c;--panel: #101610;--panel-hi: #161d15;--line: #1f271f;--line-soft: #2a332a;--ink: #e8f0e0;--ink-dim: #c9d6c3;--ink-mute: #8fa387;--ink-low: #5c6b57;--ink-ghost: #3d4a3a;--accent: #9be564;--accent-deep: #4d7a2b;--gold: #ffd23f;--gold-bg: #14180c;--gold-line: #2b2a12;--blue: #4fc3f7;--red: #ff5c5c;--bd: 3px;--pad: 16px;--tabbar-h: 66px;--f-pixel: "Press Start 2P", "Handjet", ui-monospace, monospace;--f-text: "Handjet", ui-monospace, monospace;--safe-top: 0px;--safe-bottom: 0px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,.chip,.tab,.seg button,.pad button{user-select:none;-webkit-user-select:none;touch-action:manipulation}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-text);font-weight:600;font-size:18px;line-height:1.3;overscroll-behavior-y:none;-webkit-font-smoothing:none}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer;padding:0}input,select,textarea{font:inherit;color:inherit}input,select,textarea,button{outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{box-shadow:0 0 0 3px var(--accent)}.p8{font-family:var(--f-pixel);font-weight:400;letter-spacing:0}.px{font-family:var(--f-text);font-weight:600;letter-spacing:.01em}.app{min-height:100%;padding-top:var(--safe-top);padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom));background:var(--bg)}.screen{display:flex;flex-direction:column}.hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px var(--pad) 13px;border-bottom:var(--bd) solid var(--line)}.panel{background:var(--panel);border:var(--bd) solid var(--line)}.panel.gold{background:var(--gold-bg);border-color:var(--gold)}.row{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.col{display:flex;flex-direction:column}.grow{flex-grow:1;min-width:0}.none{flex:none}.wrap{flex-wrap:wrap}.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lbl{font-family:var(--f-pixel);font-size:10px;line-height:1;color:var(--ink-low)}.ttl{font-family:var(--f-pixel);font-size:14px;line-height:1;color:var(--ink)}.big{font-family:var(--f-pixel);font-size:32px;line-height:1;color:var(--accent)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--bg);border-top:var(--bd) solid var(--line)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-family:var(--f-pixel);font-size:8px;line-height:1;color:var(--ink-ghost);transition:color 90ms steps(2)}.tab[data-active=true]{color:var(--accent)}.tab:active{transform:translateY(1px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;font-family:var(--f-pixel);font-size:11px;line-height:1;background:var(--accent);color:var(--bg);box-shadow:0 5px 0 var(--accent-deep);transition:transform 80ms steps(2),box-shadow 80ms steps(2)}.btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--accent-deep)}.btn:active{transform:translateY(5px);box-shadow:0 0 0 var(--accent-deep)}.btn[disabled]{opacity:.35;pointer-events:none}.btn.ghost{background:var(--panel);color:var(--ink-low);border:var(--bd) solid var(--line-soft);box-shadow:none}.btn.ghost:hover{transform:none;border-color:var(--accent);color:var(--accent)}.btn.danger{background:var(--red);box-shadow:0 5px #8f2020}.btn.block{width:100%}.chip{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;font-family:var(--f-pixel);font-size:10px;line-height:1;background:var(--panel);color:var(--ink-mute);border:var(--bd) solid var(--line);white-space:nowrap;transition:background 90ms steps(2),color 90ms steps(2),border-color 90ms steps(2)}.chip[data-active=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.chip.dashed{border-style:dashed;border-color:var(--line-soft)}.chip.dashed:hover{border-color:var(--accent);color:var(--accent)}.seg{display:flex;gap:3px}.seg button{flex-grow:1;padding:11px 6px;font-family:var(--f-pixel);font-size:9px;line-height:1;background:var(--panel);color:var(--ink-low);border:var(--bd) solid var(--line);transition:background 90ms steps(2),color 90ms steps(2),border-color 90ms steps(2)}.seg button[data-active=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:8px}.field label{font-family:var(--f-pixel);font-size:9px;line-height:1.3;color:var(--ink-low)}.field input,.field select,.field textarea{padding:13px 12px;background:var(--bg);color:var(--ink);border:var(--bd) solid var(--line);font-family:var(--f-text);font-weight:600;font-size:20px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:none}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;text-align:left;transition:background 90ms steps(2),padding-left 90ms steps(2)}.list-item:hover{background:var(--panel-hi);padding-left:18px}.list-item+.list-item{border-top:var(--bd) solid var(--line)}.bar{display:flex;gap:4px}.bar>div{height:20px}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;font-family:var(--f-pixel);font-size:9px;line-height:1;border:2px solid currentColor}.pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pad button{padding:18px 0;font-family:var(--f-pixel);font-size:18px;line-height:1;background:var(--panel);color:var(--ink);border:var(--bd) solid var(--line);transition:background 80ms steps(2),transform 80ms steps(2)}.pad button:active{background:var(--accent);color:var(--bg);transform:translateY(2px)}.sheet-bd{position:fixed;inset:0;background:#000000b8;z-index:100;animation:fadeIn .14s steps(3)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:101;max-height:88vh;overflow-y:auto;padding:16px var(--pad) calc(var(--pad) + var(--safe-bottom));background:var(--panel);border-top:var(--bd) solid var(--accent);animation:riseIn .2s steps(6)}.sheet h3{margin:0 0 16px;font-family:var(--f-pixel);font-size:13px;line-height:1.4;color:var(--ink)}@keyframes fadeIn{0%{opacity:0}}@keyframes riseIn{0%{transform:translateY(100%)}}.a-blk{animation:blkIn .3s steps(3) both}@keyframes blkIn{0%{transform:scaleY(.15);opacity:0}}.a-grow{animation:growX 1.4s steps(10) both;transform-origin:left}@keyframes growX{0%{transform:scaleX(0)}}.a-caret{animation:caret .9s steps(1) infinite}@keyframes caret{0%,55%{opacity:1}56%,to{opacity:0}}.a-hop{animation:hop 2.6s steps(4) infinite}@keyframes hop{0%,72%,to{transform:translateY(0)}80%{transform:translateY(-4px)}88%{transform:translateY(0)}}.a-in{animation:slideIn .32s steps(4) both}@keyframes slideIn{0%{transform:translate(-8px);opacity:0}}.a-pulse{animation:pulseBox 2.2s steps(2) infinite}@keyframes pulseBox{0%,60%,to{opacity:1}70%,90%{opacity:.3}}.a-pop{animation:popIn .7s steps(5) both}@keyframes popIn{0%{opacity:0;transform:translateY(-6px)}}.skel{background:var(--line);animation:skelPulse 1.2s steps(3) infinite}@keyframes skelPulse{0%,to{opacity:.5}50%{opacity:1}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 16px);z-index:200;max-width:calc(100vw - 32px);padding:12px 16px;font-family:var(--f-pixel);font-size:10px;line-height:1.5;background:var(--accent);color:var(--bg);box-shadow:0 4px 0 var(--accent-deep);animation:fadeIn .14s steps(3)}.empty{padding:40px 20px;text-align:center;color:var(--ink-low)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.pig-fill{transform-box:fill-box;transform-origin:bottom;animation:pigUp 1.9s steps(12) both}@keyframes pigUp{0%{transform:scaleY(0)}}.pig-coin{animation:coinDrop 3.4s steps(7) infinite}@keyframes coinDrop{0%,8%{transform:translateY(-9px);opacity:0}14%{opacity:1}30%,to{transform:translateY(0);opacity:0}}.scroll-x{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:0 var(--pad);scroll-snap-type:x proximity}.scroll-x::-webkit-scrollbar{display:none}.scroll-x>*{scroll-snap-align:start}
