:root{--bg:#241243;--card:#fffdf7;--ink:#20222e;--muted:#5d6472;--green:#2f9e63;--amber:#e8930c;--gray:#c3cad4;--accent:#0e7a6d;--accent-ink:#ffffff;--ring:#e7e0cf;}body{background:linear-gradient(168deg,#2a1052 0%,#3a1470 26%,#1e2a6e 58%,#0d6e6a 115%) fixed #241243}h1{color:#ffffff;text-shadow:0 2px 14px rgba(0,0,0,.35)}.tagline{color:rgba(255,255,255,.85)}.streak{background:rgba(20,12,44,.55);border-color:rgba(255,255,255,.4);color:#fff}.card{border:1px solid rgba(231,224,207,.9);box-shadow:0 10px 30px rgba(10,4,32,.35)}.btn.primary{background:linear-gradient(180deg,#ff8a50,#f2600c);border-color:#c24e06;box-shadow:0 4px 0 #c24e06,0 8px 18px rgba(0,0,0,.25)}.btn.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #c24e06}.btn.ghost{background:#fffdf7;color:#0e7a6d;border-color:#0e7a6d}.chip{background:#eef7f4;border-color:#cfe5dd}.bar{background:#e9e2cf}.slot{background:linear-gradient(180deg,#fffef9,#fdf3d8);border-color:#cfc4a5;box-shadow:0 3px 0 #cfc4a5}.slot.filled{border-color:#0e7a6d}.slot.ok{background:#2f9e63;border-color:#237a4b;box-shadow:0 3px 0 #237a4b}.slot.maybe{background:#f0a020;border-color:#b97a0e;box-shadow:0 3px 0 #b97a0e}.slot.miss{background:#aeb9c6;border-color:#8b98a8;box-shadow:0 3px 0 #8b98a8}.key{background:linear-gradient(180deg,#ffffff,#f1ead6);border-color:#0e7a6d;box-shadow:0 3px 0 #0e7a6d;min-width:56px;min-height:58px;font-size:25px;padding:4px 6px}.key:active{transform:translateY(2px);box-shadow:0 1px 0 #0e7a6d}#gameView,#harvestView{background:rgba(255,253,247,.98);border-radius:20px;padding:14px;box-shadow:0 14px 40px rgba(10,4,32,.4)}.receipt{box-shadow:0 8px 22px rgba(10,4,32,.35)}.fine{color:rgba(255,255,255,.78)}select,input[type=text]{border-color:#cfc4a5}.hintmenu{background:#fff8e6;border:2px solid var(--amber);border-radius:14px;padding:10px 12px;margin:0 0 12px}.hm-head{font-size:14px;color:var(--muted);margin-bottom:6px}.hintopt{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:#fffdf7;border:2px solid var(--ring);border-radius:12px;padding:10px 12px;font-size:16px;font-weight:700;color:var(--ink);cursor:pointer;margin:6px 0;min-height:48px;font-family:inherit}.hintopt:disabled{opacity:.45;cursor:default}.ho-price{color:#b97a0e;white-space:nowrap;margin-left:10px}.hm-note{font-size:13px;color:var(--muted);margin:6px 0 0}.hv-title{margin:2px 0 4px;font-size:22px}.rankrow{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:17px;margin-top:10px}.hv-build{display:flex;gap:6px;justify-content:center;min-height:66px;margin:12px 0 4px;flex-wrap:nowrap;align-items:center}.hv-slot{width:54px;height:60px;border-radius:10px;border:2px dashed #cfc4a5;background:#fffef9;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;color:var(--ink)}.hv-slot.filled{border-style:solid;border-color:#0e7a6d}.hv-empty{font-size:15px;color:var(--muted);border:2px dashed #cfc4a5;border-radius:10px;padding:12px 16px}.hv-key{position:relative}.hv-key .cnt{position:absolute;top:-8px;right:-8px;background:#f2600c;color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:1px 6px;box-shadow:0 2px 6px rgba(0,0,0,.25)}.tray{display:flex;flex-wrap:wrap;gap:6px;max-height:118px;overflow-y:auto;margin-top:6px}.tray .tw{background:#eef7f4;border:2px solid #cfe5dd;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700}.trayhead{font-weight:800;margin-top:12px}.jarwrap{display:flex;gap:14px;align-items:center;margin-top:12px}.jar{position:relative;width:64px;height:84px;border:3px solid #8b98a8;border-top-width:9px;border-radius:10px 10px 16px 16px;overflow:hidden;background:#f4f8fb;flex:none}.jarfill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#ffd166,#f2a93b);height:0%;transition:height .5s ease}.jarcap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#5b4a12;text-shadow:0 1px 0 rgba(255,255,255,.75)}.jartext{font-size:15px;color:var(--muted)}h1{margin:4px 0}.tagline{margin:4px 0 8px}.fine{margin-top:10px}.wrap:has(#gameView:not(.hidden)) .fine,.wrap:has(#harvestView:not(.hidden)) .fine{display:none}#gameView,#harvestView{padding:10px 12px}#gameView .card{padding:10px 12px;margin-bottom:10px}#gameView .attempts{margin:8px 0 4px}#gameView .bank{margin:8px 0}#gameView .row{margin:8px 0}#gameView .questbar{margin:6px 0}#gameView .key{min-width:50px;min-height:52px;font-size:23px}#harvestView .key{min-width:50px;min-height:52px;font-size:23px}#harvestView .row{margin:8px 0}#harvestView .bank{margin:6px 0}#harvestView .msg{min-height:24px;margin:4px 0}.hv-title{font-size:20px;margin:0 0 2px}.rankrow{margin-top:6px}.hv-build{min-height:62px;margin:8px 0 2px}.hv-slot{height:56px}.jar{height:68px}.jarwrap{margin-top:8px}.tray{max-height:84px}.trayhead{margin-top:8px}.animal{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#eafaf3,#fff3d6);border:2px solid #2f9e63;border-radius:16px;padding:12px 14px;margin-bottom:14px;animation:pop .35s ease-out;text-align:left}.an-emoji{font-size:88px;line-height:1}.an-text{font-size:16px;color:var(--ink)}