:root{--page-bg:var(--tg-theme-secondary-bg-color,#0b1f17);--card-bg:var(--tg-theme-bg-color,#122a20);--surface:color-mix(in srgb, var(--card-bg) 88%, #000);--text:var(--tg-theme-text-color,#f2f7f4);--hint:var(--tg-theme-hint-color,#8aa396);--link:var(--tg-theme-link-color,#3dd68c);--border:color-mix(in srgb, var(--hint) 35%, transparent);--accent:#2fbf71;--accent-text:#062116;--danger:#ff6b6b;--radius:16px;--safe-bottom:env(safe-area-inset-bottom,0px);color:var(--text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(120% 80% at 10% -10%, #3dd68c2e, transparent 55%), radial-gradient(90% 60% at 100% 0%, #145a3c59, transparent 50%), var(--page-bg)}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{min-height:100dvh;padding-bottom:calc(72px + var(--safe-bottom));flex-direction:column;display:flex}.screen{flex:1;width:min(100%,560px);margin:0 auto;padding:16px 16px 24px}.screen-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.screen-header h1{letter-spacing:-.02em;margin:0;font-size:1.45rem}.muted{color:var(--hint)}.card{background:color-mix(in srgb, var(--card-bg) 92%, transparent);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.btn{appearance:none;background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:14px;padding:12px 16px;font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:color-mix(in srgb, var(--card-bg) 70%, #fff 8%);color:var(--text);border:1px solid var(--border)}.btn.danger{background:color-mix(in srgb, var(--danger) 85%, #000);color:#fff}.btn.ghost{color:var(--link);background:0 0;padding-inline:0}.tile-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tile{background:color-mix(in srgb, var(--card-bg) 88%, transparent);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;min-height:84px;padding:12px;display:flex}.tile strong{font-size:.95rem}.pill{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.bottom-nav{padding:10px 12px calc(10px + var(--safe-bottom));background:color-mix(in srgb, var(--page-bg) 88%, #000);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;justify-content:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{text-align:center;max-width:140px;color:var(--hint);border-radius:12px;flex:1;padding:10px 8px;font-size:.82rem;font-weight:600}.bottom-nav a.active{color:var(--accent-text);background:var(--accent)}.loading{min-height:40vh;color:var(--hint);place-items:center;display:grid}.error-banner{background:color-mix(in srgb, var(--danger) 18%, transparent);color:#ffd5d5;border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:12px;margin-bottom:12px;padding:10px 12px}.qty{align-items:center;gap:10px;display:inline-flex}.qty button{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:10px}.sheet-backdrop{z-index:30;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card-bg);width:min(100%,560px);padding:16px 16px calc(20px + var(--safe-bottom));border:1px solid var(--border);border-bottom:0;border-radius:20px 20px 0 0}.sheet h2{margin:0 0 12px;font-size:1.15rem}.media{aspect-ratio:16/10;object-fit:cover;background:var(--surface);border-radius:14px;width:100%}.prize-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.prize-list li{background:var(--surface);border-radius:12px;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}
