:root{--pink: #ff2e93;--pink-d: #c4006b;--cyan: #00d9ff;--lime: #b6ff3b;--yellow: #ffe600;--purple: #6a1bff;--purple-d: #2b0a6e;--text: #2b0a4a;--muted: #7a4fa8;--line: #ff9ad0;--card: #fff;--ok: #14c45a;--warn: #ff9500;--bad: #e0005a;--bg: #ff7ac8}*{box-sizing:border-box}html{background:var(--purple-d)}body{margin:0;color:var(--text);font:16px/1.45 Trebuchet MS,Verdana,Comic Sans MS,sans-serif;background:radial-gradient(circle at 15% 10%,#ffffff55 0 2px,transparent 3px) 0 0 / 60px 60px,radial-gradient(circle at 70% 60%,#ffffff44 0 2px,transparent 3px) 0 0 / 90px 90px,linear-gradient(135deg,#ff2e93,#a21cff 45%,#00b8ff) fixed;min-height:100vh}#app{max-width:980px;margin:0 auto;padding:14px}h1{font:900 2.4rem/1.05 Impact,Arial Black,sans-serif;text-transform:uppercase;font-style:italic;letter-spacing:1px;margin:4px 0 2px;text-align:center;color:var(--yellow);-webkit-text-stroke:2px var(--purple-d);paint-order:stroke fill;text-shadow:3px 3px 0 var(--pink-d),6px 6px 0 var(--purple-d),0 0 18px #fff9;transform:rotate(-1.5deg)}h1 small{display:block;font:700 .9rem Trebuchet MS,sans-serif;letter-spacing:4px;color:#fff;-webkit-text-stroke:0;text-shadow:1px 1px 0 var(--purple-d);font-style:normal;margin-top:6px}h2{display:inline-block;margin:26px 0 10px;padding:4px 16px 4px 12px;font-size:1.05rem;color:#fff;text-transform:uppercase;letter-spacing:1px;font-style:italic;font-weight:800;background:linear-gradient(180deg,#ff6fb8 0%,var(--pink) 48%,var(--pink-d) 52%,#ff2e93 100%);border:2px solid #fff;border-radius:4px 20px 20px 4px;box-shadow:3px 3px 0 var(--purple-d);text-shadow:1px 1px 0 var(--purple-d)}.sub{color:#fff;margin:10px 0 16px;text-align:center;font-weight:700;text-shadow:1px 1px 0 var(--purple-d)}.marquee{overflow:hidden;white-space:nowrap;margin:10px -14px 14px;padding:5px 0;background:repeating-linear-gradient(90deg,var(--yellow) 0 20px,#fff 20px 40px);border-block:3px solid var(--purple-d);font:900 .95rem Impact,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--purple-d)}.marquee span{display:inline-block;padding-left:100%;animation:run 22s linear infinite}@keyframes run{to{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.marquee span{animation:none;padding-left:0}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.card{position:relative;overflow:hidden;padding:14px;text-align:center;color:#fff;background:linear-gradient(180deg,#5df0ff 0%,var(--cyan) 49%,#0090d4 51%,#00b8ff 100%);border:3px solid #fff;border-radius:22px;box-shadow:4px 4px 0 var(--purple-d),0 0 14px #fff8}.card:nth-child(2){background:linear-gradient(180deg,#d6ff7a 0%,var(--lime) 49%,#6fc800 51%,#9be600 100%);color:var(--purple-d)}.card:nth-child(3){background:linear-gradient(180deg,#ffef6b 0%,var(--yellow) 49%,#ffa800 51%,#ffc800 100%);color:var(--purple-d)}.card b{display:block;font:900 1.7rem Impact,sans-serif;text-shadow:1px 1px 0 #fff6}.card span{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.scroll{overflow-x:auto;background:var(--card);border:3px solid #fff;border-radius:14px;box-shadow:4px 4px 0 var(--purple-d)}table{border-collapse:collapse;width:100%}th,td{padding:8px 10px;text-align:left;white-space:nowrap;border-bottom:1px dashed var(--line)}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:#fff;font-weight:800;background:linear-gradient(180deg,#8a4bff,var(--purple));border-bottom:2px solid var(--purple-d)}tr:nth-child(2n) td{background:#fff0f8}tr:nth-child(odd) td{background:#f4fcff}tr:last-child td{border-bottom:0}td.n,th.n{text-align:right}.cell{width:34px;height:34px;border-radius:50%;border:2px solid var(--purple);background:#fff;color:var(--text);font-size:1rem;padding:0;font-weight:900}button.cell{cursor:pointer}button.cell:hover{box-shadow:0 0 8px var(--pink)}.cell.w{background:radial-gradient(circle at 35% 30%,#9dffbd,var(--ok) 60%);color:#fff;border-color:#0a7a38}.cell.e{background:radial-gradient(circle at 35% 30%,#ffd58a,var(--warn) 60%);color:#fff;border-color:#b36200}.owe{color:var(--bad);font-weight:800}.okc{color:#0a9a45;font-weight:800}.bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}select,input{font:inherit;padding:8px 12px;border-radius:99px;border:2px solid var(--purple);background:#fff;color:var(--text)}select:focus,input:focus{outline:3px solid var(--yellow)}button.btn{font:800 .95rem Trebuchet MS,sans-serif;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;padding:8px 18px;border-radius:99px;color:#fff;text-shadow:1px 1px 0 var(--purple-d);border:2px solid #fff;box-shadow:0 3px 0 var(--purple-d);background:linear-gradient(180deg,#ff8ccb 0%,var(--pink) 49%,var(--pink-d) 51%,#ff2e93 100%)}button.btn:hover{filter:brightness(1.12)}button.btn:active{transform:translateY(3px);box-shadow:none}button.btn.ghost{background:linear-gradient(180deg,#9a6bff 0%,var(--purple) 49%,#4a0fd0 51%,#6a1bff 100%)}.tabs{display:flex;gap:8px;margin-bottom:8px}.note{color:#fff;font-size:.85rem;font-weight:700;text-shadow:1px 1px 0 var(--purple-d)}.err{color:#fff;background:var(--bad);border:2px solid #fff;border-radius:10px;padding:6px 12px;font-weight:700}.pill{font-size:.72rem;padding:2px 10px;border-radius:99px;background:var(--yellow);color:var(--purple-d);border:2px solid var(--purple-d);font-weight:800;text-transform:uppercase;text-shadow:none}.foot{text-align:center;margin-top:28px;color:#fff;font-weight:700;text-shadow:1px 1px 0 var(--purple-d)}
