:root{--bg: #0b1416;--panel: #10201f;--panel-2: #16302e;--line: #24413d;--teal: #0d4a54;--teal-2: #12727f;--accent: #35c2b0;--accent-soft: rgba(53, 194, 176, .15);--text: #eaf6f4;--muted: #8fb3ad;--green: #34c759;--green-soft: rgba(52, 199, 89, .16);--red: #ff5a5a;--red-soft: rgba(255, 90, 90, .14);--amber: #ffb020;--amber-soft: rgba(255, 176, 32, .16);--gold: #f5c542;--radius: 16px;--shadow: 0 6px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#123b40 0%,var(--bg) 55%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:680px;margin:0 auto;padding:0 16px 96px}.top{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,#0b1416f5,#0b1416d1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 -16px 8px;padding:14px 16px 12px;padding-top:calc(14px + env(safe-area-inset-top));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand .logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:20px;background:linear-gradient(135deg,var(--teal-2),var(--teal));box-shadow:var(--shadow)}.brand h1{font-size:20px;margin:0;letter-spacing:.2px}.brand .sub{font-size:12px;color:var(--muted);margin-top:1px}.who{margin-left:auto;text-align:right;font-size:12px;color:var(--muted)}.who b{color:var(--text);display:block;font-size:14px}.who button{margin-top:2px}.nav{display:flex;gap:6px;margin:10px 0 4px}.nav .btn{flex:1;text-align:center;padding:9px 4px;font-size:13px;white-space:nowrap}.nav .btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:12px 0;box-shadow:var(--shadow)}.card.today{border-color:var(--accent)}.card h3{margin:0 0 10px;font-size:16px}.section{display:flex;align-items:center;gap:10px;margin:22px 2px 4px}.section h2{font-size:15px;margin:0;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.section .rule{flex:1;height:1px;background:var(--line)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;border:1px solid var(--line)}.pill.ok{background:var(--green-soft);color:#b7f0c6;border-color:transparent}.pill.warn{background:var(--amber-soft);color:#ffd98a;border-color:transparent}.pill.bad{background:var(--red-soft);color:#ffc0c0;border-color:transparent}.pill.info{background:var(--accent-soft);color:#bff3ea;border-color:transparent}.delta.down{color:var(--green)}.delta.up{color:var(--red)}.delta.flat{color:var(--muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:9px 13px;border-radius:11px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .05s ease,background .15s ease}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(135deg,var(--teal-2),var(--teal));border-color:transparent}.btn.green{background:var(--green);color:#06210f;border-color:transparent}.btn.red{background:var(--red-soft);color:#ffc7c7;border-color:transparent}.btn.ghost{background:transparent}.btn.sm{padding:6px 10px;font-size:13px;border-radius:9px}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.btnrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:3px;gap:2px}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);padding:6px 11px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer}.seg button.on{background:var(--accent-soft);color:var(--text)}input,textarea,select{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:11px;padding:10px 12px;font-size:16px;font-family:inherit}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;max-width:100%;text-align:center}input[type=date]::-webkit-date-and-time-value{text-align:center;margin:0}input[type=date]::-webkit-calendar-picker-indicator{margin-left:4px}label{font-size:12px;color:var(--muted);display:block;margin:10px 0 4px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.tile{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.tile .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.tile .v{font-size:20px;font-weight:800;margin-top:3px;font-variant-numeric:tabular-nums}.tile .v small{font-size:12px;font-weight:600;color:var(--muted)}.lb{display:flex;flex-direction:column;gap:8px}.lbrow{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.lbrow.me{outline:2px solid var(--accent);outline-offset:1px}.lbrow.lead{border-color:var(--gold);background:linear-gradient(135deg,rgba(245,197,66,.1),var(--panel-2))}.rank{font-size:18px;font-weight:900;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.rank.g1{color:var(--gold)}.rank.g2{color:#cfd8dc}.rank.g3{color:#d59a63}.lbname{font-weight:700}.lbname small{display:block;color:var(--muted);font-weight:600;font-size:12px;margin-top:1px}.lbval{text-align:right;font-variant-numeric:tabular-nums}.lbval .big{font-size:18px;font-weight:800}.lbval .sub{font-size:12px;color:var(--muted)}.barwrap{grid-column:1 / -1;height:6px;border-radius:4px;background:var(--bg);overflow:hidden;margin-top:2px}.barwrap>span{display:block;height:100%;background:linear-gradient(90deg,var(--teal-2),var(--accent))}.lbrow.clickable{cursor:pointer}.lbexpand{grid-column:1 / -1;margin-top:10px;border-top:1px solid var(--line);padding-top:4px}.lbexpand table.mini td,.lbexpand table.mini th{padding:6px}.chart-wrap{margin-top:6px;overflow:hidden}.chart svg{display:block;width:100%;height:auto;touch-action:pan-y}.legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.legchip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.legchip.on{color:var(--text);border-color:transparent}.legchip .sw{width:10px;height:10px;border-radius:50%}.legchip.off{opacity:.45}.legchip.off .sw{background:var(--muted)!important}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px}.gate .box{width:100%;max-width:380px;text-align:center}.gate .logo-lg{width:66px;height:66px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;font-size:34px;background:linear-gradient(135deg,var(--teal-2),var(--teal));box-shadow:var(--shadow)}.gate h1{margin:0 0 4px}.gate p{color:var(--muted);margin:0 0 20px}.namegrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.namegrid .btn{justify-content:center;padding:14px}.err{color:var(--red);font-size:13px;margin-top:10px;min-height:18px}.pinrow{display:flex;gap:8px;justify-content:center;margin-top:8px}.pinrow input{width:54px;height:60px;text-align:center;font-size:26px;font-weight:800;letter-spacing:0;padding:0}.hint{font-size:12px;color:var(--muted);margin:8px 2px}.center{text-align:center}.spacer{height:8px}.muted{color:var(--muted)}.big-weight{font-size:40px;font-weight:900;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:-1px}.stepper{display:flex;align-items:center;gap:12px;justify-content:center;margin:8px 0}.stepper button{width:48px;height:48px;border-radius:50%;font-size:22px;font-weight:800}.stepper .val{font-size:34px;font-weight:900;min-width:130px;text-align:center;font-variant-numeric:tabular-nums}.stepper .weightfield{width:160px;height:60px;line-height:60px;text-align:center;font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:0 6px;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none}.stepper .weightfield:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.stepper button{flex:0 0 auto}.logrow{display:flex;gap:10px;align-items:flex-start;padding:10px;border-bottom:1px solid var(--line)}.logrow:last-child{border-bottom:0}.logdot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:0 0 10px}.logbody{flex:1;min-width:0}.logtext{font-size:14px;line-height:1.35}.logwhen{font-size:12px;color:var(--muted);margin-top:2px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);background:var(--accent);color:#06231f;padding:11px 18px;border-radius:12px;font-weight:700;font-size:14px;box-shadow:var(--shadow);z-index:80}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.scrolltable{max-height:380px;overflow-y:auto;margin:-4px;padding:4px}table.mini{width:100%;border-collapse:collapse;font-size:13px}.scrolltable table.mini thead th{position:sticky;top:0;background:var(--panel);z-index:1}table.mini th,table.mini td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line)}table.mini td.num,table.mini th.num{text-align:right;font-variant-numeric:tabular-nums}table.mini th{color:var(--muted);font-weight:600;font-size:12px}
