:root{--radius:14px;--radius-sm:10px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, sans-serif}[data-theme=dark]{--page:#000;--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--line:#38383a;--text:#f5f5f7;--text-2:#aeaeb2;--muted:#8e8e93;--accent:#4c8dff;--accent-fill:#2a6ae0;--accent-ink:#fff;--accent-soft:#4c8dff26;--done:#22c55e;--done-soft:#22c55e26;--warm:#f5a524;--drop:#b197fc;--fail:#f87171;--gold:#f5c518;--shadow:0 30px 80px #0009}[data-theme=light]{--page:#e7eaf0;--bg:#fff;--surface:#f4f6f9;--surface-2:#eaedf2;--line:#e2e6ed;--text:#101318;--text-2:#4b5563;--muted:#626a77;--accent:#1f6fe5;--accent-fill:#1f6fe5;--accent-ink:#fff;--accent-soft:#1f6fe51a;--done:#16a34a;--done-soft:#dcf7e6;--warm:#d98a00;--drop:#7c5cd6;--fail:#dc2626;--gold:#c99a00;--shadow:0 30px 80px #141e3240}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--page);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea{font:inherit;color:inherit}.seg{background:var(--surface-2);border-radius:10px;padding:3px;display:inline-flex}.seg button{color:var(--text-2);border-radius:8px;padding:6px 12px;font-size:.8125rem}.seg button.on{background:var(--bg);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0003}.tabbar button{color:var(--muted);flex-direction:column;align-items:center;gap:3px;width:90px;font-size:.6875rem;display:flex}.tabbar button.on{color:var(--accent)}.banner.show{display:flex}.banner b{font-variant-numeric:tabular-nums}.banner .go{margin-left:auto;font-weight:700}.dot-live{background:#fff;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}@keyframes pulse{50%{opacity:.3}}.head{background:var(--bg);z-index:5;align-items:center;gap:10px;padding:8px 18px 12px;display:flex;position:sticky;top:0}.head h2{letter-spacing:-.02em;font-size:1.375rem;font-weight:800}.head .title-sm{text-align:center;flex:1;font-size:1.0625rem;font-weight:700}.head .right{align-items:center;gap:8px;margin-left:auto;display:flex}.icon-btn{width:38px;height:38px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn svg{width:22px;height:22px}.btn{border-radius:12px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-size:.9375rem;font-weight:650;display:inline-flex}.btn-primary{background:var(--accent-fill);color:var(--accent-ink)}.btn-soft{background:var(--surface-2);color:var(--text)}.btn-ghost{color:var(--accent)}.btn-danger{color:var(--fail)}.btn-block{width:100%}.btn-sm{border-radius:10px;height:34px;padding:0 14px;font-size:.875rem}.section{margin-top:18px;padding:0 18px}.section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.8125rem;font-weight:700;display:flex}.card{background:var(--surface);border-radius:var(--radius);padding:14px 16px}.card+.card{margin-top:10px}.muted{color:var(--muted)}.t2{color:var(--text-2)}.tag{background:var(--surface-2);height:24px;color:var(--text-2);border-radius:12px;align-items:center;padding:0 9px;font-size:.75rem;font-weight:550;display:inline-flex}.tag.acc{background:var(--accent-soft);color:var(--accent)}.chips{scrollbar-width:none;gap:8px;padding:0 18px;display:flex;overflow-x:auto}.chip{background:var(--surface-2);height:32px;color:var(--text-2);border-radius:16px;flex-shrink:0;padding:0 14px;font-size:.8125rem;font-weight:600}.chip.on{background:var(--accent-fill);color:var(--accent-ink)}.stats-row{gap:22px;padding:0 18px 12px;display:flex}.stat .k{color:var(--muted);font-size:.75rem}.stat .v{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.0625rem;font-weight:700}.stat .v.acc{color:var(--accent)}.row-link{background:var(--surface);text-align:left;align-items:center;gap:14px;width:100%;padding:14px 16px;font-size:.9375rem;font-weight:550;display:flex}.row-link:first-child{border-radius:var(--radius) var(--radius) 0 0}.row-link:last-child{border-radius:0 0 var(--radius) var(--radius)}.row-link:only-child{border-radius:var(--radius)}.row-link+.row-link{border-top:1px solid var(--line)}.row-link .ico{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.row-link .ico svg{width:19px;height:19px}.row-link .end{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:.875rem;display:flex}.avatar{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}.ex-av{background:var(--surface-2);width:42px;height:42px;color:var(--text-2);border-radius:12px;flex-shrink:0;place-items:center;font-size:.8125rem;font-weight:800;display:grid}.week{justify-content:space-between;margin-top:14px;display:flex}.week .d{color:var(--muted);flex-direction:column;align-items:center;gap:6px;font-size:.75rem;display:flex}.week .d i{border:2px solid var(--line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.8125rem;font-style:normal;display:grid}.week .d.on i{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-ink)}.week .d.today i{border-color:var(--accent)}.streak{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:14px;padding-top:14px;font-size:.875rem;display:flex}.streak b{font-size:.9375rem}.hist .top{align-items:center;gap:12px;display:flex}.hist h3{font-size:1rem;font-weight:700}.hist .date{color:var(--muted);font-size:.8125rem}.hist .note{color:var(--text-2);margin:10px 0;font-size:.875rem}.hist .mini{gap:18px;margin:10px 0 12px;display:flex}.hist .mini .v{font-size:.9375rem}.hist ul{border-top:1px solid var(--line);padding-top:10px;list-style:none}.hist li{color:var(--text-2);gap:8px;padding:3px 0;font-size:.875rem;display:flex}.hist li b{color:var(--text);min-width:28px;font-weight:600}.hist .more{color:var(--accent);margin-top:6px;font-size:.8125rem}.photo{color:#9aa6b8;background:linear-gradient(135deg,#2b3646,#1a2230 60%,#3b2f2a);border-radius:12px;place-items:center;height:140px;margin-top:10px;font-size:.75rem;display:grid}.pr-pill{color:var(--gold);align-items:center;gap:4px;font-size:.8125rem;font-weight:700;display:inline-flex}.folder-h{text-align:left;align-items:center;gap:8px;width:100%;padding:6px 0 10px;font-size:.9375rem;font-weight:700;display:flex}.folder-h .chev{color:var(--muted);transition:transform .2s}.folder.closed .chev{transform:rotate(-90deg)}.folder.closed .folder-body{display:none}.folder-h .count{color:var(--muted);font-size:.8125rem;font-weight:500}.folder-h .dots{color:var(--muted);margin-left:auto}.routine h4{justify-content:space-between;align-items:center;font-size:1rem;font-weight:700;display:flex}.routine p{color:var(--muted);margin:5px 0 12px;font-size:.8125rem;line-height:1.45}.search{background:var(--surface-2);height:42px;color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin:0 18px 12px;padding:0 12px;display:flex}.search input{background:0 0;border:0;outline:0;flex:1;font-size:.9375rem}.lib-item{text-align:left;align-items:center;gap:12px;width:100%;padding:10px 18px;display:flex}.lib-item:hover{background:var(--surface)}.lib-item .n{font-size:.9375rem;font-weight:600}.lib-item .m{color:var(--muted);margin-top:2px;font-size:.8125rem}.lib-letter{color:var(--muted);padding:14px 18px 4px;font-size:.75rem;font-weight:700}.live-head{background:var(--bg);z-index:6;border-bottom:1px solid var(--line);position:sticky;top:0}.ex{border-bottom:8px solid var(--surface);padding:16px 0 6px}.ex-top{align-items:center;gap:12px;padding:0 18px;display:flex}.ex-top .name{color:var(--accent);text-align:left;flex:1;font-size:1rem;font-weight:700}.ex-note{margin:10px 18px 0}.ex-note textarea{width:100%;color:var(--text-2);resize:none;background:0 0;border:0;outline:0;padding:0;font-size:.875rem;display:block}.ex-note textarea::placeholder{color:var(--muted)}.note-field textarea{overflow:hidden}.note-field .note-count{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:.6875rem;font-weight:600;display:block}.note-field .note-count.full{color:var(--warm)}.rest-link{color:var(--accent);align-items:center;gap:6px;margin:6px 18px 8px;font-size:.875rem;font-weight:600;display:inline-flex}.sets{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.sets th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:6px 4px;font-size:.6875rem;font-weight:700}.sets th:first-child,.sets td:first-child{width:58px;padding-left:18px}.sets th:last-child,.sets td:last-child{width:56px;padding-right:14px}.sets td{text-align:center;height:48px;padding:5px 4px}.sets tr.set{transition:background .2s}.sets tr.set>td{touch-action:pan-y}.sets tr.set.swipe>td{transform:translateX(var(--swipe-x,0px));transition:transform .18s ease-out}.sets tr.set.swiping>td{transition:none}.sets tr.set.swipe-armed{background:color-mix(in srgb, var(--fail) 25%, transparent)}.sets tr.set:nth-child(2n){background:color-mix(in srgb, var(--surface) 55%, transparent)}.sets tr.set.done{background:var(--done-soft)}.type{border-radius:8px;width:34px;height:30px;font-size:.9375rem;font-weight:800}.type.W{color:var(--warm)}.type.D{color:var(--drop)}.type.X{color:var(--fail)}.prev{color:var(--muted);white-space:nowrap;font-size:.875rem}.prev:hover{color:var(--text-2)}.val{background:var(--surface-2);text-align:center;border:0;border-radius:9px;outline:0;width:64px;height:36px;font-size:1.0625rem;font-weight:700}.val::placeholder{color:var(--muted);font-weight:600}.val:focus{box-shadow:0 0 0 2px var(--accent)}.val.err{box-shadow:0 0 0 2px var(--fail);animation:.3s shake}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}tr.done .val{background:0 0}.check{background:var(--surface-2);width:38px;height:34px;color:var(--muted);border-radius:9px;place-items:center;margin:auto;display:grid}.check svg{width:20px;height:20px}tr.done .check{background:var(--done);color:#fff}.trophy{margin-left:2px;font-size:.8125rem;display:none}tr.pr .trophy{display:inline}.add-set{width:calc(100% - 36px);margin:8px 18px 10px}.rest-panel{background:var(--surface-2);z-index:22;border:1px solid var(--line);border-radius:20px;padding:14px 16px 16px;display:none;position:absolute;bottom:16px;left:10px;right:10px;box-shadow:0 10px 40px #00000073}.rest-panel.show{animation:.25s up;display:block}@keyframes up{0%{opacity:0;transform:translateY(30px)}}.rest-panel .lbl{color:var(--text-2);font-size:.8125rem}.rest-panel .time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2.5rem;font-weight:800;line-height:1.1}.rest-panel .bar{background:var(--line);border-radius:3px;height:6px;margin:10px 0 14px;overflow:hidden}.rest-panel .bar i{background:var(--accent);border-radius:3px;height:100%;transition:width .3s linear;display:block}.rest-panel .ctrls{gap:8px;display:flex}.rest-panel .ctrls .btn{flex:1}.subtabs{border-bottom:1px solid var(--line);margin:0 18px;display:flex}.subtabs button{color:var(--muted);border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:12px 0;font-size:.875rem;font-weight:600}.subtabs button.on{color:var(--accent);border-color:var(--accent)}.pane{display:none}.pane.on{display:block}.chart-wrap{margin-top:6px;position:relative}.chart-wrap svg{width:100%;display:block;overflow:visible}.tip{pointer-events:none;background:var(--text);color:var(--bg);white-space:nowrap;opacity:0;font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 9px;font-size:.75rem;font-weight:600;transition:opacity .1s;position:absolute;transform:translate(-50%,-110%)}.tip.show{opacity:1}.tip span{opacity:.7;font-weight:500;display:block}.hero{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:800}.hero small{color:var(--muted);font-size:.9375rem;font-weight:600}.delta{color:var(--done);font-size:.8125rem;font-weight:700}.rec-list{list-style:none}.rec-list li{border-bottom:1px solid var(--line);justify-content:space-between;padding:11px 0;font-size:.9375rem;display:flex}.rec-list li:last-child{border:0}.rec-list b{font-variant-numeric:tabular-nums}.reps-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.reps-grid div{background:var(--surface-2);text-align:center;border-radius:10px;padding:10px}.reps-grid .k{color:var(--muted);font-size:.75rem}.reps-grid .v{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1rem;font-weight:700}.steps{counter-reset:s;list-style:none}.steps li{counter-increment:s;color:var(--text-2);gap:12px;padding:10px 0;font-size:.9375rem;line-height:1.5;display:flex}.steps li:before{content:counter(s);background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.recap-hero{text-align:center;padding:10px 18px 6px}.recap-hero .big{font-size:2.75rem}.recap-hero h2{margin-top:6px;font-size:1.5rem;font-weight:800}.recap-grid{grid-template-columns:repeat(5,1fr);gap:6px;padding:14px 18px 0;display:grid}.recap-grid .card{text-align:center;padding:12px 4px}.recap-grid .card+.card{margin-top:0}.recap-grid .v{font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:800}.recap-grid .k{color:var(--muted);margin-top:3px;font-size:.6563rem}.field{margin-top:12px;display:block}.field span{color:var(--muted);margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.field input,.field textarea{background:var(--surface);border:1px solid var(--line);resize:none;border-radius:12px;outline:0;width:100%;min-width:0;padding:12px 14px;font-size:.9375rem}.field input[type=date]{appearance:none;text-align:left;min-height:46px;display:block}.field input[type=date]::-webkit-date-and-time-value{text-align:left}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.photo-add{border:1.5px dashed var(--line);height:96px;color:var(--muted);border-radius:12px;place-items:center;width:100%;margin-top:12px;font-size:.875rem;display:grid}.profile{align-items:center;gap:16px;padding:6px 18px 4px;display:flex}.profile .avatar{width:68px;height:68px;font-size:1.625rem}.profile h3{font-size:1.25rem;font-weight:800}.cal{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal .h{color:var(--muted);font-size:.6875rem;font-weight:700}.cal .c{aspect-ratio:1;font-variant-numeric:tabular-nums;color:var(--text-2);border-radius:50%;place-items:center;font-size:.8125rem;display:grid}.cal .c.on{background:var(--accent-fill);color:var(--accent-ink);font-weight:700}.cal .c.today{box-shadow:inset 0 0 0 2px var(--accent)}.cal .c.fut{color:var(--muted);opacity:.5}.hbar{grid-template-columns:86px 1fr 38px;align-items:center;gap:10px;padding:5px 0;font-size:.8125rem;display:grid}.hbar .track{height:10px}.hbar .fill{background:var(--accent);border-radius:0 4px 4px 0;height:10px}.hbar .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.set-row{background:var(--surface);justify-content:space-between;align-items:center;padding:13px 16px;font-size:.9375rem;display:flex}.set-row+.set-row{border-top:1px solid var(--line)}.set-row:first-child{border-radius:var(--radius) var(--radius) 0 0}.set-row:last-child{border-radius:0 0 var(--radius) var(--radius)}.set-row .seg button{padding:5px 10px}.switch{background:var(--line);border-radius:15px;width:50px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch.on{background:var(--done)}.switch.on:after{transform:translate(20px)}.scrim{z-index:40;background:#00000080;align-items:flex-end;display:none;position:absolute;inset:0}.scrim.show{display:flex}.sheet{background:var(--bg);border-radius:24px 24px 0 0;width:100%;padding:10px 18px 34px;animation:.25s up}.sheet .grab{background:var(--line);border-radius:3px;width:40px;height:5px;margin:0 auto 14px}.sheet h3{margin-bottom:8px;font-size:1.1875rem;font-weight:800}.sheet p,.sheet li{color:var(--text-2);font-size:.9375rem;line-height:1.5}.sheet ul{margin:10px 0 0 18px}.sheet .acts{flex-direction:column;gap:8px;margin-top:18px;display:flex}.menu{background:var(--surface-2);z-index:30;border:1px solid var(--line);border-radius:14px;min-width:210px;padding:6px;display:none;position:absolute;right:16px;box-shadow:0 10px 30px #0006}.menu.show{display:block}.menu button{text-align:left;border-radius:9px;width:100%;padding:10px 12px;font-size:.9375rem;display:block}.menu button:hover{background:var(--surface)}.menu .danger{color:var(--fail)}.toast{background:var(--text);color:var(--bg);z-index:60;opacity:0;pointer-events:none;white-space:nowrap;border-radius:12px;padding:9px 14px;font-size:.8125rem;font-weight:600;transition:opacity .2s;position:absolute;top:60px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.goal-line{align-items:baseline;gap:8px;margin:8px 18px 0;font-size:.8125rem;font-weight:650;line-height:1.4;display:flex}.goal-line .why{color:var(--text-2);font-weight:500}.goal-line.up{color:var(--done)}.goal-line.down{color:var(--warm)}.goal-line.eq{color:var(--text)}.goal-line .tag{flex-shrink:0;height:20px;margin-left:auto;font-size:.6875rem}.val.tgt{color:var(--accent)}tr.done .val.tgt{color:var(--text)}.goal-card .big{font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.25rem;font-weight:800}.goal-card .why{color:var(--text-2);margin-top:4px;font-size:.8125rem}.trend-info{color:var(--text-2);flex-direction:column;gap:6px;margin-top:10px;font-size:.8125rem;display:flex}.trend-info b{color:var(--text)}.legend{align-items:center;gap:6px;display:inline-flex}.legend i{border-top:2px dashed var(--accent);width:18px;display:inline-block}.legend i.gold{border-color:var(--gold)}.ok{color:var(--done);font-weight:700}.ko{color:var(--muted);font-weight:700}.goal-sum{color:var(--text-2);margin:-4px 0 10px;font-size:.8125rem}.logo{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);letter-spacing:-.04em;border-radius:9px;place-items:center;font-size:1.0625rem;font-weight:900;display:grid}.brand{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:18px 18px 6px;display:flex}.brand .logo{border-radius:18px;width:64px;height:64px;font-size:2.125rem}.brand h2{letter-spacing:-.02em;font-size:1.625rem;font-weight:850}.brand p{color:var(--text-2);font-size:.9375rem;line-height:1.45}.code-big{letter-spacing:.06em;text-align:center;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.625rem;font-weight:850}.field .hint{color:var(--done);margin-top:5px;font-size:.75rem;font-weight:600;display:block}.chips.wrap{flex-wrap:wrap;padding:0;overflow:visible}.link-c{text-align:center;color:var(--accent);width:100%;margin-top:14px;font-size:.875rem;font-weight:600;display:block}.re-ex .top{align-items:center;gap:10px;display:flex}.re-ex .top b{color:var(--accent);flex:1;font-size:.9375rem}.re-ex .grip{color:var(--muted);cursor:grab;font-size:1.125rem}.re-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:10px 0;font-size:.875rem;display:flex}.re-row small{color:var(--muted);font-size:.75rem;font-weight:500;display:block}.re-in{background:var(--surface-2);text-align:center;border:0;border-radius:9px;outline:0;width:78px;height:34px;font-size:.9375rem;font-weight:700}.re-in:focus{box-shadow:0 0 0 2px var(--accent)}.re-sets{flex-wrap:wrap;gap:6px;display:flex}.re-sets span{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:58px;height:32px;padding:0 8px;font-size:.8125rem;font-weight:650;display:inline-flex}.re-sets em{color:var(--muted);font-style:normal;font-weight:800}.re-sets em.W{color:var(--warm)}.body-thumb{overflow:hidden}.body-thumb .body-map{width:100%;height:100%}.body-pair{border-radius:var(--radius);background:var(--surface);justify-content:center;gap:18px;margin:0 18px 14px;padding:14px;display:flex}.body-pair .body-map{height:190px}.body-map .bm-base{fill:var(--text);fill-opacity:.14}.body-map .bm-secondary{fill:var(--accent);fill-opacity:.45}.body-map .bm-primary{fill:var(--accent)}@supports (font:-apple-system-body){html{font:-apple-system-body}}html,body,#root{height:100%}body{background:var(--bg);font-family:var(--font);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}input,textarea,select{font-size:1rem}:root{--safe-top:calc(env(safe-area-inset-top) + 14px);--tabbar-h:58px;--tabbar-bottom:max(12px, calc(env(safe-area-inset-bottom) - 8px))}.app{min-height:100%;padding-top:var(--safe-top);flex-direction:column;display:flex}.page>.head:first-child,.live-head{margin-top:calc(-1 * var(--safe-top));isolation:isolate;background:0 0;top:0}.page>.head:first-child{padding-top:calc(var(--safe-top) + 8px)}.live-head{padding-top:var(--safe-top);border-bottom:none}.page>.head:first-child:before,.live-head:before{content:"";z-index:-1;background:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 78%, transparent), color-mix(in srgb, var(--bg) 55%, transparent) calc(100% - 56px), transparent);-webkit-backdrop-filter:blur(16px)saturate(160%);--fade:linear-gradient(to bottom, #000 calc(100% - 56px), #000c calc(100% - 42px), #00000080 calc(100% - 28px), #00000038 calc(100% - 14px), #0000000f calc(100% - 5px), transparent);-webkit-mask-image:var(--fade);mask-image:var(--fade);-webkit-mask-image:var(--fade);pointer-events:none;position:absolute;inset:0 0 -28px}.live-head .head{background:0 0}.page{padding-bottom:calc(110px + env(safe-area-inset-bottom));flex:1}.page.no-tab{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.page.with-banner{padding-bottom:calc(170px + env(safe-area-inset-bottom))}.tabbar{left:50%;bottom:var(--tabbar-bottom);width:min(360px,100% - 48px);height:var(--tabbar-h);border-radius:calc(var(--tabbar-h) / 2);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--line);z-index:20;padding:4px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #00000073}.tabbar a{border-radius:calc((var(--tabbar-h) - 8px) / 2);color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.6875rem;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{color:var(--accent);background:var(--surface-2)}.tabbar svg{width:24px;height:24px}.banner{left:10px;right:10px;bottom:calc(var(--tabbar-bottom) + var(--tabbar-h) + 10px);background:var(--accent);color:var(--accent-ink);z-index:21;text-align:left;border-radius:14px;align-items:center;gap:10px;width:auto;padding:11px 14px;font-size:.875rem;display:flex;position:fixed;box-shadow:0 8px 24px #0000004d}.banner.other{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.scrim{position:fixed}.rest-panel{bottom:calc(16px + env(safe-area-inset-bottom));position:fixed}.toast{top:calc(12px + env(safe-area-inset-top));position:fixed}.menu{position:fixed}a{color:var(--accent)}.sync-pill{color:var(--muted);background:var(--surface-2);white-space:nowrap;border-radius:10px;padding:3px 8px;font-size:.75rem}.sync-pill.off{color:var(--warm)}.center-page{width:100%;max-width:480px;margin:0 auto}.error-text{color:var(--fail);margin-top:8px;font-size:.875rem}.empty{text-align:center;color:var(--muted);padding:40px 18px;font-size:.9375rem;line-height:1.5}@media (width>=700px){.page,.live-wrap{width:100%;max-width:640px;margin:0 auto}}.top-notices{top:calc(8px + env(safe-area-inset-top));z-index:30;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;right:12px}.icon-btn,.check,.btn-sm,.seg button,.type,.prev,.rest-link{position:relative}.icon-btn:after,.check:after,.btn-sm:after,.seg button:after,.type:after,.prev:after,.rest-link:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
