:root{--bg:#e9ecef;--surface:#fff;--ink:#16202b;--muted:#5b6773;--line:#cbd2d9;--accent:#c8352e;--accent-ink:#fff;--good:#1f7a4d;--warn:#a85f00;--hold:#2b5fa8;--bar:#8a949e;--chip:#dde2e7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12181e;--surface:#1b232b;--ink:#e7ecf0;--muted:#98a4af;--line:#2d3843;--accent:#e0493f;--good:#4cc08a;--warn:#e3a33b;--hold:#6e9be0;--bar:#6b7580;--chip:#26303a}}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0px);font-family:Barlow,system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.45}.shell{max-width:560px;margin:0 auto;padding:22px 16px 48px}.shell.app{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.brand{letter-spacing:.01em;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:2.2rem;font-weight:700;line-height:1}.tag{color:var(--muted);margin:6px 0 22px}.card,.panel{background:var(--surface);border-radius:14px;margin-bottom:16px;padding:20px}h1,h2{margin:0 0 4px;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-weight:700}h1{font-size:1.8rem}h2{font-size:1.5rem}h3{margin:22px 0 10px;font-size:1rem;font-weight:600}.muted{color:var(--muted)}.small{margin:0 0 4px;font-size:.95rem}.top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.center{min-height:60vh;color:var(--muted);text-align:center;place-items:center;padding:16px;display:grid}.tabs{background:var(--chip);border-radius:10px;margin-bottom:18px;padding:4px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:9px;font:600 .95rem Barlow,sans-serif}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink)}.google{border:1px solid var(--line);background:var(--surface);width:100%;height:48px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;font:600 1rem Barlow,sans-serif;display:flex}.divider{color:var(--muted);align-items:center;gap:10px;margin:18px 0 4px;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}label{margin:14px 0 6px;font-size:.92rem;font-weight:600;display:block}input:not([type=radio]):not([type=checkbox]),.txt{border:1px solid var(--line);background:var(--surface);width:100%;height:46px;color:var(--ink);border-radius:8px;padding:0 12px;font:500 1rem Barlow,sans-serif}input:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hint{color:var(--muted);margin:6px 0 0;font-size:.88rem}.primary{background:var(--accent);width:100%;color:var(--accent-ink);letter-spacing:.02em;cursor:pointer;border:0;border-radius:10px;margin-top:18px;padding:13px;font:700 1.2rem Barlow Condensed,Arial Narrow,sans-serif;display:block}.secondary{border:2px solid var(--ink);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;margin-top:16px;padding:11px;font:700 1.1rem Barlow Condensed,Arial Narrow,sans-serif;display:block}.primary:disabled,.secondary:disabled,.google:disabled{opacity:.55;cursor:default}.link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 12px 0 0;font:500 .92rem Barlow,sans-serif;text-decoration:underline}.error{color:var(--accent);margin:12px 0 0;font-size:.92rem}.notice{color:var(--good);margin:12px 0;font-size:.95rem;font-weight:600}.expt{border:1px solid var(--line);background:var(--bg);width:100%;min-height:150px;color:var(--ink);resize:vertical;border-radius:8px;margin-top:12px;padding:10px;font:.82rem/1.4 ui-monospace,Menlo,Consolas,monospace;display:block}.choice{border:1px solid var(--line);cursor:pointer;border-radius:10px;margin:0 0 8px;padding:12px 14px;font-size:1rem;font-weight:400;display:block}.choice:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice input{accent-color:var(--accent);margin:0 8px 0 0}.choice b{font-weight:600}.choice>div{color:var(--muted);margin-left:26px;font-size:.92rem}.opt .line{color:var(--ink);margin-top:2px;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:1.15rem}.opt .proj .up{color:var(--good);font-weight:600}.opt .why{color:var(--ink);margin-top:4px}.badge{background:var(--accent);color:var(--accent-ink);vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-block}.lifts{scrollbar-width:none;gap:8px;margin:0 -16px 16px;padding:0 16px 6px;display:flex;overflow-x:auto}.lifts::-webkit-scrollbar{display:none}.lifts button{background:var(--chip);color:var(--ink);cursor:pointer;white-space:nowrap;border:0;border-radius:8px;flex:none;padding:9px 14px;font:500 .95rem Barlow,sans-serif}.lifts button[aria-current=true]{background:var(--accent);color:var(--accent-ink)}.lifts button.add{border:1.5px dashed var(--line);color:var(--muted);background:0 0}.lifts button.add[aria-current=true]{border-color:var(--accent);color:var(--accent);background:0 0}.dot{opacity:.55;vertical-align:middle;background:currentColor;border-radius:50%;width:6px;height:6px;margin-left:7px;display:inline-block}.big{margin:20px 0 2px;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:4.2rem;font-weight:700;line-height:.95}.big small{color:var(--muted);margin-left:4px;font-size:1.6rem;font-weight:500}.scheme{font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:1.5rem;font-weight:500}.plate-wrap{margin:14px 0 4px;overflow-x:auto}.plate-wrap svg{width:100%;max-width:420px;height:auto;display:block}.plate-note{color:var(--muted);margin:8px 0 0;font-size:.92rem}.set{border-top:1px solid var(--line);grid-template-columns:58px 1fr;align-items:center;gap:6px 12px;padding:12px 0;display:grid}.set .n{grid-row:span 2;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:1.25rem;font-weight:700}.set .sw{color:var(--muted);font-family:Barlow,sans-serif;font-size:.8rem;font-weight:500;display:block}.set .sw.hv{color:var(--accent);font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row label,.rowlabel{color:var(--muted);margin:0;font-size:.9rem;font-weight:400}.stepper{border:1px solid var(--line);border-radius:8px;align-items:center;width:max-content;display:flex;overflow:hidden}.stepper button{background:var(--chip);width:42px;height:42px;color:var(--ink);cursor:pointer;border:0;font-size:1.3rem}.stepper input:not([type=radio]){text-align:center;appearance:textfield;border:0;border-radius:0;width:56px;height:42px;padding:0;font:600 1.15rem Barlow,sans-serif}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seg{gap:4px;display:flex}.seg label{margin:0;position:relative}.seg input{opacity:0;margin:0;position:absolute;inset:0}.seg span{text-align:center;background:var(--chip);min-width:40px;color:var(--ink);cursor:pointer;border-radius:6px;padding:7px 8px;font-size:.95rem;font-weight:600;display:block}.seg input:checked+span{background:var(--ink);color:var(--bg)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.check{align-items:flex-start;gap:10px;margin-top:16px;font-size:.95rem;font-weight:400;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);margin:2px 0 0}.total{border:2px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-top:18px;padding:12px 14px;display:flex}.total .lbl{font-weight:600}.total .tval{font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:2rem;font-weight:700;line-height:1}.total .cmp{width:100%;color:var(--muted);font-size:.9rem}.total .cmp.up{color:var(--good)}.result{border-left:5px solid var(--hold);background:var(--surface);border-radius:10px;margin-bottom:16px;padding:14px 16px}.result.good{border-color:var(--good)}.result.warn{border-color:var(--warn)}.result strong{margin-bottom:2px;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:1.3rem;display:block}.result p{margin:0}.hist{margin:8px 0 0;padding:0;list-style:none}.hist li{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:2px 14px;padding:10px 0;font-size:.95rem;display:grid}.hist li:first-child{border-top:0}.hist .d{color:var(--muted);grid-row:span 2;min-width:58px;font-size:.86rem}.hist .w{font-weight:600}.hist .r{color:var(--muted)}.swatch{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.units{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.units button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:7px 18px;font:600 .95rem Barlow,sans-serif}.units button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.calhead{justify-content:space-between;align-items:center;gap:8px;display:flex}.navbtn{background:var(--chip);width:42px;height:42px;color:var(--ink);cursor:pointer;border:0;border-radius:8px;font-size:1.6rem;line-height:1}.calsum{text-align:center;margin:4px 0 12px}.calgrid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.wd{text-align:center;color:var(--muted);padding-bottom:4px;font-size:.78rem;font-weight:600}.day{aspect-ratio:1;min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font:500 .95rem Barlow,sans-serif;display:flex}.day.has{background:var(--chip);font-weight:700}.day.today span:first-child{text-underline-offset:3px;text-decoration:underline}.day.sel{box-shadow:inset 0 0 0 2px var(--accent)}.dots{gap:2px;height:6px;display:flex}.dots i{border-radius:50%;width:6px;height:6px}.toast{background:var(--surface);border-left:5px solid var(--accent);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:.95rem;display:flex}.toast .link{padding:0}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));z-index:10;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{max-width:180px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:12px 8px;font:600 1rem Barlow,sans-serif}.tabbar button[aria-current=page]{color:var(--accent);background:var(--chip)}@media (hover:hover) and (pointer:fine){.lifts{flex-wrap:wrap;margin:0 0 16px;padding:0;overflow-x:visible}}
