:root{--bg: #eef1f8;--glow: radial-gradient(circle at 0% 18%, rgba(43, 230, 190, .3), transparent 45%), radial-gradient(circle at 100% 60%, rgba(150, 110, 255, .24), transparent 45%);--card: rgba(255, 255, 255, .62);--card-solid: #f8f9fc;--card-border: rgba(255, 255, 255, .95);--card-shadow: 0 8px 28px rgba(24, 32, 46, .08);--inner: rgba(255, 255, 255, .7);--bar: rgba(238, 241, 248, .92);--nav: rgba(255, 255, 255, .96);--text: #18202e;--muted: #4f596b;--line: rgba(24, 32, 46, .1);--accent: #0b6e63;--accent-text: #ffffff;--primary: #18202e;--primary-text: #ffffff;--active: #18202e;--active-text: #ffffff;--usual: rgba(123, 92, 255, .12);--usual-border: rgba(123, 92, 255, .5);--grad: linear-gradient(90deg, #12b892, #7b5cff);--ok: #0f8a6e;--over: #c0392b;--track: rgba(24, 32, 46, .08);--gold: #a86f00;--chart-trend: #0f9c7d;--chart-point: #7b5cff;color-scheme:light}:root[data-theme=night]{--bg: #050912;--glow: radial-gradient(circle at 0% 18%, rgba(43, 255, 207, .16), transparent 45%), radial-gradient(circle at 100% 60%, rgba(140, 90, 255, .2), transparent 45%);--card: rgba(255, 255, 255, .05);--card-solid: #0d1320;--card-border: rgba(122, 247, 225, .22);--card-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);--inner: rgba(255, 255, 255, .04);--bar: rgba(5, 9, 18, .92);--nav: rgba(13, 19, 32, .97);--text: #e6fffa;--muted: #93bab3;--line: rgba(255, 255, 255, .09);--accent: #7af7e1;--accent-text: #04121a;--primary: #2bffcf;--primary-text: #04121a;--active: rgba(43, 255, 207, .14);--active-text: #7af7e1;--usual: rgba(140, 90, 255, .16);--usual-border: rgba(160, 120, 255, .65);--grad: linear-gradient(90deg, #2bffcf, #8c5aff);--ok: #2bffcf;--over: #ff6b8a;--track: rgba(255, 255, 255, .08);--gold: #ffd166;--chart-trend: #2bffcf;--chart-point: #b78cff;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--glow);pointer-events:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;font-weight:600}h1,h2,h3,label{overflow-wrap:break-word;hyphens:auto}p{overflow-wrap:break-word}h1{font-size:1.15rem}h2{font-size:1rem}h3{font-size:1.05rem;margin-bottom:12px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.top{position:sticky;top:0;z-index:2;background:var(--bar);padding:8px 16px;min-height:52px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.top h1{font-size:1.35rem}main{max-width:640px;margin:0 auto;padding:12px 16px calc(10rem + env(safe-area-inset-bottom))}.datenav{display:flex;align-items:center;gap:8px}.date{min-width:140px;padding:8px 12px;background:none;border:0;font-weight:600;font-size:1.05rem;cursor:pointer}.card{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:18px;padding:14px 16px;margin-bottom:12px}.card>h2{margin-bottom:8px}.btn{border:1px solid var(--card-border);background:var(--card);border-radius:14px;padding:10px 14px;min-height:44px;cursor:pointer}.btn.small{padding:6px 10px;min-height:36px;font-size:.9rem}.btn.icon{width:44px;padding:0;font-size:1.5rem;line-height:1;flex:none}.btn.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);font-weight:600}.btn.primary:disabled{opacity:.5}.btn.danger{color:var(--over)}.btn.wide{display:block;width:100%;margin-top:12px}.btn.file{position:relative;text-align:center}.btn.file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}input[type=number],input[type=text],input[type=search],select,textarea{max-width:100%;border:1px solid var(--line);border-radius:12px;background:var(--inner);padding:10px 12px;min-height:44px}textarea{width:100%;min-height:110px;resize:vertical}.tabs{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;right:12px;z-index:2;max-width:616px;margin:0 auto;padding:4px;display:flex;gap:2px;background:var(--nav);border:1px solid var(--card-border);border-radius:24px;box-shadow:var(--card-shadow)}.tabs button{flex:1 1 auto;min-height:52px;border:0;border-radius:20px;background:none;color:var(--muted);cursor:pointer;font-size:.8rem;min-width:0;padding:4px 6px;overflow-wrap:break-word;hyphens:auto}.tabs button.active{background:var(--active);color:var(--active-text);font-weight:600}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--glow),var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-head{position:sticky;top:0;z-index:1;background:var(--bg);display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--line)}.sheet-head h2{flex:1;min-width:0}.search{display:block;width:calc(100% - 32px);margin:12px 16px;font-size:1.05rem}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{border:1px solid var(--card-border);background:var(--card);border-radius:999px;padding:6px 12px;min-height:36px;cursor:pointer}.chip.on{border-color:var(--accent);color:var(--accent);font-weight:600}.chips[role=group]{gap:2px;padding:4px;border-radius:16px;background:var(--card);border:1px solid var(--card-border)}.chips[role=group] .chip{flex:1 1 auto;border:0;border-radius:12px;background:none;color:var(--muted)}.chips[role=group] .chip.on{background:var(--active);color:var(--active-text)}.actions{display:flex;gap:12px}.actions .btn{flex:1}.actions+.actions{margin-top:12px}.form label{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;color:var(--muted)}.form select,.form input,.form textarea{color:var(--text)}.form label.check{flex-direction:row;align-items:center;gap:10px;color:var(--text)}.form label.check input{width:22px;height:22px;min-height:0;flex:none}.form select:disabled{opacity:.6}.form .col{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;color:var(--muted)}.form .col label{margin:0}.pad{padding:12px 16px;max-width:640px;margin:0 auto}.pad>h3{margin:8px 0 12px}.list-title{margin:16px 16px 0;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pad .list-title{margin:16px 0 8px}.link{background:none;border:0;padding:8px 0 0;min-height:36px;color:var(--accent);font-size:.9rem;cursor:pointer}.error-text{color:var(--over);margin:-8px 0 12px;font-size:.9rem}.update-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 16px 0;padding:8px 12px;border-radius:12px;background:var(--usual);border:1px solid var(--usual-border);font-size:.9rem}.entries,.results{list-style:none;margin:8px 0 0;padding:0}.entries li+li,.results li+li{border-top:1px solid var(--line)}.entry,.result{display:flex;width:100%;gap:10px;align-items:center;padding:12px 0;background:none;border:0;text-align:left;cursor:pointer}.result{padding:12px 16px}.entry-name{flex:1;min-width:0;overflow-wrap:anywhere}.chart{margin:0}.chart svg{width:100%;height:auto;display:block;touch-action:pan-y}.chart svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.chart .trend{fill:none;stroke:var(--chart-trend);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .point{fill:var(--chart-point);stroke:var(--card-solid);stroke-width:2}.chart .point.on{r:6}.chart .crosshair{stroke:var(--muted);stroke-width:1}.chart-tip{min-height:2.9em;margin:4px 0;font-size:.85rem}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th,table.data td{text-align:left;padding:6px;border-bottom:1px solid var(--line)}table.data th{color:var(--muted);font-weight:600;font-size:.8rem}.card>h2+table.data{margin-top:4px}.hero-head{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.hero-num{font-size:3rem;font-weight:200;line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}.hero-num small{font-size:1rem;font-weight:400;letter-spacing:0;color:var(--muted)}.hero p{margin:4px 0 0}.entry-static{cursor:default}.card .col{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.card .col select{color:var(--text)}.dot{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block;background:var(--muted)}.summary{margin:0 4px 10px}.ex-card{padding:0;overflow:hidden}.ex-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px 6px;background:none;border:0;text-align:left;cursor:pointer}.ex-head h2{flex:1;min-width:0}.setlist{list-style:none;margin:0;padding:0 16px 10px 36px}.setlist li{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;padding:2px 0;font-variant-numeric:tabular-nums}.setlist .note-line{flex-basis:100%;font-size:.85rem;color:var(--muted)}.setlist li.undone{opacity:.55}.trophy{width:18px;height:18px;color:var(--gold);flex:none}.comment-card{display:block;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit}.comment-card p{margin:4px 0 0;white-space:pre-wrap}.field{margin-bottom:12px}.field>label,.field>.lbl{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.stepper{display:flex;gap:8px;align-items:center}.stepper input{flex:1;min-width:0;text-align:center;font-size:1.4rem;font-weight:600;min-height:52px;color:var(--text)}.stepper .btn.icon{min-height:52px;width:52px}.stepper .colon{font-size:1.4rem;font-weight:600}.prev{margin:0 0 12px;font-size:.9rem}.sets{list-style:none;margin:0;padding:0}.sets li{display:flex;align-items:center;border-top:1px solid var(--line)}.sets li:first-child{border-top:0}.set-row{display:flex;flex:1;min-width:0;align-items:center;gap:10px;padding:12px 4px;background:none;border:0;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:12px}.sets li.sel .set-row{background:var(--active);color:var(--active-text)}.set-row .n{width:1.6em;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex:none}.set-row .v{flex:1;min-width:0;font-variant-numeric:tabular-nums;font-weight:500}.set-row .c{display:block;font-size:.85rem;color:var(--muted);font-weight:400}.tick{width:30px;height:30px;margin:0 4px;flex:none;accent-color:var(--accent)}.timer{position:fixed;left:50%;transform:translate(-50%);z-index:3;bottom:calc(86px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;padding:6px 6px 6px 16px;border-radius:999px;background:var(--primary);color:var(--primary-text);box-shadow:var(--card-shadow);font-weight:600}.timer.over{background:var(--gold);color:#1a1200}.timer .left{min-width:3.2em;font-size:1.15rem;font-variant-numeric:tabular-nums}.timer button{border:0;border-radius:999px;background:#00000024;color:inherit;min-height:40px;min-width:44px;padding:0 10px;font-weight:600;cursor:pointer}.toast{position:fixed;left:50%;transform:translate(-50%);z-index:20;margin:0;bottom:calc(150px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);padding:10px 16px;border-radius:14px;background:var(--primary);color:var(--primary-text);font-weight:600}.swatches{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 16px}.swatch{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer}.swatch.on{border-color:var(--text)}.cat-back{display:flex;align-items:center;gap:10px;margin:0 16px;padding:8px 0;background:none;border:0;color:var(--accent);cursor:pointer;font-weight:600}.count{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.ex-notes{margin:0 0 12px;white-space:pre-wrap}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.cal-head h2{flex:1;text-align:center;font-size:1.1rem}.cal-card{padding:10px 8px}.cal{display:flex;flex-direction:column;gap:4px}.cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-wd{text-align:center;font-size:.75rem;color:var(--muted);padding:2px 0}.cal-day{min-height:48px;padding:6px 0 4px;border-radius:12px;border:2px solid transparent;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:inherit;font:inherit}.cal-day.has{background:var(--inner)}.cal-day.out{opacity:.35}.cal-day.today{border-color:var(--accent)}.cal-day.cur{background:var(--active);color:var(--active-text);font-weight:600}.cal-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:30px;min-height:7px}.cal-dots .dot{width:7px;height:7px}
