*{box-sizing:border-box}body{margin:0;font:16px/1.4 system-ui,-apple-system,sans-serif;background:#f5f5f5;color:#222;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
header{background:#d32f2f;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}header h1{font-size:20px;margin:0}header a{color:#fff}
main{max-width:760px;margin:auto;padding:12px}.tab{display:none}.tab.on{display:block}
.small{font-size:13px;color:#666}.err{color:#c00}
.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}select,input,textarea,button{font:inherit}select,textarea,input[type=password]{padding:8px;border:1px solid #ccc;border-radius:8px;width:100%}.bar select{width:auto}
button{background:#d32f2f;color:#fff;border:0;border-radius:8px;padding:10px 16px;cursor:pointer;margin:4px 0}button.ghost{background:#fff;color:#d32f2f;border:1px solid #d32f2f}button:disabled{opacity:.5}
.deal{display:flex;gap:12px;background:#fff;border-radius:10px;padding:10px;margin:8px 0;color:inherit;text-decoration:none;box-shadow:0 1px 2px #0001}.deal.hit{outline:2px solid #2e7d32}
.pct{background:#d32f2f;color:#fff;font-weight:700;border-radius:8px;min-width:64px;display:flex;align-items:center;justify-content:center;font-size:18px}
.info{display:flex;flex-direction:column;gap:2px}.now{color:#d32f2f;font-weight:700}s{color:#888}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px}.chk{display:flex;gap:6px;align-items:center}
input[type=range]{width:100%}pre{white-space:pre-wrap;background:#fff;padding:8px;border-radius:8px}
.src{display:block;background:#fff;padding:14px;border-radius:10px;margin:8px 0;color:#d32f2f;font-weight:600;text-decoration:none}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #ddd;padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;background:none;color:#666;border-radius:0;margin:0;display:flex;flex-direction:column;align-items:center;font-size:20px;padding:6px}.tabs button span{font-size:12px}.tabs button.on{color:#d32f2f}
.login{max-width:320px;margin:15vh auto;text-align:center}.login button{width:100%}
