@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #ffffff;--surface: #f4f4f6;--surface-2: #ebebef;--ink: #131317;--ink-2: #44444c;--muted: #6e6e78;--line: #e8e8ec;--line-strong: #d2d2d8;--pink: #f70897;--pink-ink: #c4007b;--pink-soft: #fff3f9;--ok: #1f7a3d;--ok-soft: #eaf6ee;--danger: #c62828;--danger-soft: #fdecec;--warn: #8a5a00;--warn-soft: #fff6e0;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(19, 19, 23, .04), 0 8px 24px rgba(19, 19, 23, .06);--nav-h: 64px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--font: "Inter Variable", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;--font-num: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", var(--font)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--pink-ink)}:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--bg);padding-bottom:calc(var(--nav-h) + var(--safe-b) + 24px);position:relative}@media(min-width:600px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.topbar{position:sticky;top:0;z-index:20;background:#fffffff5;-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);padding:calc(var(--safe-t) + 6px) 12px 6px;display:flex;align-items:center;gap:8px;min-height:56px}.topbar h1{font-size:18px;margin:0;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand{font-family:var(--font-num);font-weight:800;letter-spacing:.12em;font-size:20px;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.brand small{font-weight:600;letter-spacing:.06em;font-size:11px;color:var(--muted)}.brand img{height:28px;width:auto;display:block}.brand-dot{width:8px;height:8px;background:var(--pink);border-radius:2px;display:inline-block}.page{padding:16px}.section{margin:20px 0}.section:first-child{margin-top:4px}.section-title{font-size:15px;font-weight:700;color:var(--ink-2);margin:0 0 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.hint{font-size:14px;color:var(--muted);margin:4px 0;line-height:1.6}.stack{display:grid;gap:10px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card.tinted{background:var(--surface);border-color:transparent;box-shadow:none}.list-card{padding:0;overflow:hidden}.list-item{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 14px;background:none;border:0;border-bottom:1px solid var(--line);text-align:left}.list-item:last-child{border-bottom:0}.list-item .grow{flex:1;min-width:0}.list-item .title{font-weight:700}.list-item .sub{font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.chev{color:var(--line-strong);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 18px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);font-weight:700;font-size:16px;text-decoration:none;color:var(--ink);text-align:center;line-height:1.35;max-width:100%;min-width:0}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--pink);border-color:var(--pink);color:#fff;font-size:17px}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.ghost{border-color:transparent;background:transparent}.btn.danger{color:var(--danger);border-color:#f0c4c4}.btn.block{width:100%}.btn.lg{min-height:56px;font-size:18px}.btn.sm{min-height:44px;padding:0 12px;font-size:15px}.icon-btn{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:0;background:transparent;color:var(--ink)}.icon-btn:active{background:var(--surface-2)}.icon-btn.bordered{border:1px solid var(--line)}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{display:grid;gap:4px}.field>span,.label{font-size:14px;font-weight:700;color:var(--ink-2)}.input,select.input,textarea.input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg);font-size:16px}textarea.input{min-height:88px;resize:vertical;line-height:1.6}.input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--pink) 18%,transparent)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-3{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid-3>:first-child{grid-column:1 / -1}@media(min-width:400px){.grid-3{grid-template-columns:1.3fr 1fr 1fr}.grid-3>:first-child{grid-column:auto}}.input{min-width:0}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface-2);border-radius:10px;padding:3px;gap:3px}.seg button{min-height:44px;border:0;border-radius:8px;background:transparent;font-weight:700;color:var(--ink-2);font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 6px}.seg button[aria-pressed=true]{background:var(--bg);color:var(--ink);box-shadow:0 1px 3px #0000001f}.seg button[aria-pressed=true]{font-weight:800}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg);font-size:15px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;line-height:1.6;white-space:nowrap}.badge.personal{background:var(--pink-soft);color:var(--pink-ink);border:1px solid #ffc2e3}.badge.self{background:var(--bg);color:var(--ink);border:1px solid var(--line-strong)}.badge.demo{background:var(--warn-soft);color:var(--warn);border:1px dashed #e0b860}.badge.cat{background:var(--surface-2);color:var(--ink-2)}.badge.active{background:var(--ink);color:#fff}.badge.new-badge{background:var(--pink, #e3008c);color:#fff;margin-left:8px;vertical-align:middle}.badge.warmup{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-strong)}.badge.assist{background:var(--surface-2);color:var(--ink-2);border:1px dashed var(--ink-2)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fffffffa;border-top:1px solid var(--line);padding-bottom:var(--safe-b)}.bottom-nav .inner{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav a{height:var(--nav-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:600;position:relative}.bottom-nav a[aria-current=page]{color:var(--ink);font-weight:800}.bottom-nav a[aria-current=page]:before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;background:var(--pink);border-radius:0 0 3px 3px}.bottom-nav .rec-dot{position:absolute;top:9px;right:calc(50% - 18px);width:9px;height:9px;border-radius:50%;background:var(--pink);border:2px solid #fff}html.kb .bottom-nav,html.kb .timer-fab,html.kb .sticky-actions{display:none}.banner{margin:0;padding:10px 14px;font-size:14px;display:flex;gap:8px;align-items:center}.banner.error{background:var(--danger-soft);color:var(--danger);font-weight:700}.banner.info{background:var(--surface);color:var(--ink-2)}.banner.warn{background:var(--warn-soft);color:var(--warn);font-weight:700}.save-state{font-size:13px;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.save-state.err{color:var(--danger);font-weight:700}.save-state.warn{color:var(--warn);font-weight:700}.save-state.ok{color:var(--ok)}.hero-actions{display:grid;gap:10px}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:var(--surface);border-radius:var(--radius);padding:12px 14px}.stat .k{font-size:13px;color:var(--ink-2);font-weight:700}.stat .v{font-family:var(--font-num);font-size:34px;font-weight:800;line-height:1.15}.stat .v small{font-size:15px;font-weight:700;margin-left:2px;font-family:var(--font)}.onboard{border:2px solid var(--ink);border-radius:var(--radius);padding:16px;background:var(--bg)}.onboard ol{margin:8px 0 12px;padding-left:1.4em}.onboard li{margin:4px 0}.wk-meta{display:grid;gap:12px}.ex-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow);overflow:hidden}.ex-head{display:flex;align-items:flex-start;gap:6px;padding:12px 8px 4px 14px}.ex-head .no{font-family:var(--font-num);font-weight:800;font-size:15px;color:var(--muted);padding-top:3px;min-width:18px}.ex-name{font-size:18px;font-weight:800;line-height:1.4;word-break:break-word}.ex-body{padding:0 14px 12px}.prev{background:var(--surface);border-radius:var(--radius-sm);padding:8px 10px;font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:8px;margin:6px 0 10px}.prev{flex-wrap:wrap}.prev .txt{flex:1 1 150px;min-width:0}.prev strong{color:var(--ink);font-family:var(--font-num)}.points{border-left:3px solid var(--pink);background:var(--pink-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 10px;margin:0 0 10px;font-size:15px}.points ul{margin:2px 0 0;padding-left:1.2em}.points .who{font-size:12px;color:var(--muted)}.sets-head,.set-row{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 56px;gap:6px;align-items:center}.sets-head{font-size:12px;color:var(--muted);font-weight:700;padding:0 0 2px}.sets-head>:last-child{text-align:center}.set-row{padding:4px 0;border-radius:10px}.set-row.done{background:var(--ok-soft)}.set-no{height:48px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-family:var(--font-num);font-weight:800;font-size:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;padding:0}.set-no small{font-size:10px;font-weight:700;font-family:var(--font);color:var(--ink-2)}.num-field{position:relative;display:flex;align-items:center}.num-field input{width:100%;height:48px;border:1px solid var(--line-strong);border-radius:10px;padding:0 34px 0 8px;text-align:right;font-family:var(--font-num);font-size:20px;font-weight:700;background:var(--bg)}.num-field input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--pink) 18%,transparent)}.num-field input::placeholder{color:#8a8a92;font-weight:600}.num-field .unit{position:absolute;right:8px;font-size:13px;color:var(--ink-2);font-weight:700;pointer-events:none}.num-field.static{height:48px;border:1px dashed var(--line-strong);border-radius:10px;justify-content:center;color:var(--ink-2);font-weight:700}.check{height:48px;width:56px;border-radius:10px;border:2px solid var(--line-strong);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);padding:0;line-height:1.1}.check svg{width:22px;height:22px}.check[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}.set-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.unit-bar{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}.unit-bar .seg{flex:1;min-width:140px}.item-note{margin-top:10px}.sticky-actions{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-b));z-index:25;pointer-events:none}.sticky-actions .inner{max-width:560px;margin:0 auto;padding:8px 16px;display:flex;gap:8px;justify-content:flex-end}.sticky-actions .inner>*{pointer-events:auto}.timer-fab{position:fixed;z-index:26;right:max(16px,calc(50% - 264px));bottom:calc(var(--nav-h) + var(--safe-b) + 12px);min-height:52px;padding:0 16px;border-radius:999px;border:0;background:var(--ink);color:#fff;font-weight:800;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 20px #00000038;font-size:16px}.timer-fab .t{font-family:var(--font-num);font-size:20px}.timer-fab.over{background:var(--pink)}.timer-big{font-family:var(--font-num);font-size:64px;font-weight:800;text-align:center;line-height:1.1;margin:8px 0 4px}.timer-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.timer-presets button{min-height:48px;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg);font-family:var(--font-num);font-weight:700;font-size:15px;padding:0}.timer-presets button[aria-pressed=true]{border:2px solid var(--ink)}.progress{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.progress>div{height:100%;background:var(--pink);transition:width .25s linear}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#0000005c;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:92vh;max-height:92dvh;background:var(--bg);border-radius:16px 16px 0 0;display:flex;flex-direction:column;padding-bottom:var(--safe-b);animation:up .18s ease-out}.sheet.full{height:92vh;height:92dvh}@keyframes up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.sheet-head{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-bottom:1px solid var(--line)}.sheet-head h2{flex:1;font-size:17px;margin:0}.sheet-body{overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch;flex:1;overscroll-behavior:contain}.sheet-foot{padding:10px 16px 12px;border-top:1px solid var(--line);display:flex;gap:8px}.sheet-foot .btn{flex:1}.dialog-backdrop{position:fixed;inset:0;z-index:60;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.dialog{width:100%;max-width:420px;background:var(--bg);border-radius:14px;padding:20px;box-shadow:0 10px 40px #00000040}.dialog h2{margin:0 0 8px;font-size:18px}.dialog p{margin:0 0 12px;color:var(--ink-2);white-space:pre-wrap}.dialog .btn-row{margin-top:16px}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-b) + 76px);z-index:70;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.toast{pointer-events:auto;background:var(--ink);color:#fff;border-radius:12px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:12px;max-width:528px;width:100%;box-shadow:0 8px 24px #00000040;font-size:15px;min-height:52px}.toast .msg{flex:1}.toast button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:8px;min-height:44px;padding:0 12px;font-weight:700}.toast.error{background:var(--danger)}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.cal-head .m{font-family:var(--font-num);font-weight:800;font-size:18px}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.card.cal-card{padding:12px 8px}.cal .dow{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:2px 0}.cal .dow.sun{color:var(--danger)}.cal .dow.sat{color:#1d4ed8}.cal-day{height:52px;min-width:0;border:1px solid transparent;border-radius:10px;background:transparent;padding:3px 0 0;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-num);font-size:15px;font-weight:600}.cal-day.out{visibility:hidden}.cal-day.today{border-color:var(--ink)}.cal-day.sel{background:var(--ink);color:#fff}.cal-day .marks{display:flex;gap:2px;height:16px;align-items:center}.mark{width:16px;height:16px;border-radius:4px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font);line-height:1}.mark.personal{background:var(--pink);color:#fff}.mark.self{background:var(--bg);color:var(--ink);border:1.5px solid var(--ink)}.cal-day.sel .mark.self{border-color:#fff;color:#fff;background:transparent}.legend{display:flex;gap:14px;font-size:13px;color:var(--ink-2);margin-top:8px;flex-wrap:wrap;align-items:center}.legend span{display:inline-flex;align-items:center;gap:5px}.view-item{padding:12px 0;border-bottom:1px solid var(--line)}.view-item:last-child{border-bottom:0}.view-sets{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:2px}.view-sets li{display:flex;gap:8px;font-size:15px;align-items:baseline}.view-sets .sn{font-family:var(--font-num);color:var(--muted);width:22px;text-align:right;flex:none}.view-sets .val{font-family:var(--font-num);font-weight:700}.view-sets li.undone{color:var(--muted)}.view-sets li.undone .val{font-weight:500;text-decoration:line-through}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15px}.kv dt{color:var(--muted)}.kv dd{margin:0}.chart-card{padding:14px 10px 10px}.chart-card h3{margin:0 4px 2px;font-size:16px}.chart-card .rule{margin:0 4px 6px;font-size:12.5px;color:var(--muted);line-height:1.5}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .axis-text{font-family:var(--font-num);font-size:12px;fill:var(--muted)}.chart .val-text{font-family:var(--font-num);font-size:12px;font-weight:700;fill:var(--ink)}.chart-tip{font-size:14px;background:var(--ink);color:#fff;border-radius:8px;padding:6px 10px;display:inline-block;margin:4px;font-family:var(--font-num)}.chart-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}.chart-table th,.chart-table td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:left}.chart-table td.n{text-align:right;font-family:var(--font-num);font-weight:700}details.more>summary{cursor:pointer;font-size:14px;color:var(--ink-2);padding:8px 4px;min-height:44px;display:flex;align-items:center}.empty{text-align:center;color:var(--muted);padding:28px 12px;font-size:15px}.empty .big{font-size:17px;color:var(--ink);font-weight:700;margin-bottom:4px}pre.line-preview{white-space:pre-wrap;word-break:break-word;font-family:var(--font);font-size:15px;margin:0}.star{color:var(--ink)}.star[aria-pressed=true]{color:var(--pink)}.divider{height:1px;background:var(--line);margin:16px 0}.ok-text{color:var(--ok);font-weight:700}.err-text{color:var(--danger);font-weight:700}@media(max-width:360px){.page{padding:12px}.ex-body{padding:0 10px 10px}.sets-head,.set-row{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 50px;gap:4px}.check{width:50px}.num-field input{font-size:18px;padding:0 24px 0 4px}.num-field .unit{right:5px;font-size:12px}}.app.wide{max-width:1180px}@media(min-width:1200px){.app.wide{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.app.wide .bottom-nav .inner{max-width:1180px}.app.wide .page{padding:16px 20px}.member-bar{position:sticky;top:56px;z-index:19;width:100%;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;background:var(--ink);color:#fff;border:0;padding:8px 16px;text-align:left;min-height:44px}.member-bar .mb-name{font-size:18px;font-weight:800}.member-bar .mb-sub{font-size:13px;color:#d6d6da}.search-bar{display:flex;gap:8px;margin-bottom:8px;position:sticky;top:56px;z-index:10;background:var(--bg);padding:4px 0}.member-grid{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:760px){.member-grid{grid-template-columns:1fr 1fr}}@media(min-width:1100px){.member-grid{grid-template-columns:1fr 1fr 1fr}}.member-row{display:flex;align-items:center;gap:8px;text-align:left;width:100%;min-height:72px;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.member-row:active{background:var(--surface)}.member-row .grow{flex:1;min-width:0}.mr-name{display:block;font-size:18px;font-weight:800}.mr-sub{display:block;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.carte-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:900px){.carte-grid{grid-template-columns:1.1fr 1fr;align-items:start}}.carte-col{display:grid;gap:0;min-width:0}.carte-col>.section:first-child{margin-top:0}.latest-card{display:grid;gap:6px;width:100%;text-align:left;cursor:pointer}.latest-card.plain{background:none;border:0;padding:0}.latest-line{display:block;font-size:15px}.latest-point{display:block;font-size:14px;color:var(--pink-ink);font-weight:600;margin-top:2px}p.points{display:block}.comment,.note{background:var(--surface);border-radius:var(--radius-sm);padding:10px 12px}.note.pinned{border-left:4px solid var(--ink)}.comment-body{white-space:pre-wrap}.comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-top:4px}.comment-meta .btn.sm{min-height:44px}.staff-only-label{font-size:13px;font-weight:700;color:var(--ink-2);background:var(--warn-soft);border-radius:6px;padding:4px 8px;margin:0 0 8px;display:inline-block}.badge.share-ok{background:var(--ok-soft);color:var(--ok);border:1px solid #a8d5b5}.meta-line{font-size:12.5px;margin:6px 0 0}.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:16px;background:var(--surface)}.auth-card{width:100%;max-width:420px;background:var(--bg);border-radius:16px;padding:24px 20px;box-shadow:var(--shadow);border:1px solid var(--line)}.auth-title{font-size:20px;margin:0 0 12px;text-align:center}.invite-box{margin-top:10px;border:2px solid var(--ink)}.admin-form{max-width:720px}.body-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 4px 10px;align-items:end}.body-form>:first-child{grid-column:1 / -1}@media(min-width:640px){.body-form{grid-template-columns:1.4fr 1fr 1fr 1fr auto}.body-form>:first-child{grid-column:auto}}.chart-sub{font-size:14px;margin:12px 4px 0;color:var(--ink-2)}.cal.compact .cal-day{height:44px}.conflict-banner{position:sticky;top:104px;z-index:18;box-shadow:0 6px 18px #0000002e;margin-bottom:12px}.role-chip{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;border:1px solid var(--line-strong);white-space:nowrap;max-width:46vw;overflow:hidden}.role-chip .rc-role{color:#fff;background:var(--ink);border-radius:999px;padding:1px 8px;margin-left:-7px}.role-chip.admin .rc-role{background:var(--pink-ink)}.role-chip .rc-name{overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}@media(max-width:560px){.role-chip .rc-name{display:none}.role-chip{padding:3px;border:0}.role-chip .rc-role{margin:0}}.demo-strip{background:var(--warn-soft);color:var(--warn);font-size:12.5px;font-weight:700;text-align:center;padding:3px 8px;border-bottom:1px dashed #e0b860}.app.editing .bottom-nav{display:none}.app.editing{padding-bottom:calc(84px + var(--safe-b))}.app.editing .timer-fab{bottom:calc(84px + var(--safe-b))}.editor-page{padding-top:10px}.editor-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fffffffa;border-top:1px solid var(--line);padding:8px 12px calc(8px + var(--safe-b));box-shadow:0 -4px 16px #0000000f}.editor-bar .inner{max-width:1180px;margin:0 auto;display:flex;gap:8px;align-items:center}.editor-bar .btn{min-height:52px}.editor-bar .icon-only{padding:0 12px}.bar-count{font-weight:800;font-size:18px;display:flex;flex-direction:column;align-items:center;line-height:1.1;min-width:62px}.bar-count small{font-size:12px;font-weight:700;color:var(--muted)}.bar-finish{flex:1;font-size:16px}html.kb .editor-bar{display:none}.wk-summary{margin-bottom:10px}.wk-summary-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;width:100%;background:var(--surface);border:0;border-radius:10px;padding:8px 12px;min-height:44px;text-align:left;font-weight:700;font-size:15px}.wk-summary-edit{margin-left:auto;font-size:13px;color:var(--ink-2)}.wk-detail{padding:10px 2px 0;display:grid;gap:8px}.ex-head{align-items:center;padding:10px 6px 4px 12px;gap:4px}.ex-title{flex:1;min-width:0}.ex-name{font-size:18px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.ex-count{font-size:12px;color:var(--muted);font-weight:700}.ex-prev{font-size:14.5px;color:var(--ink);line-height:1.45;margin-top:2px}.ex-prev-label{color:var(--muted);margin-right:6px;font-size:13px;font-weight:600}.prev-btn{flex:none}.ex-move{display:flex}.ex-body{padding:0 12px 10px}.points{margin:4px 0 8px;padding:6px 10px;font-size:14px}.set-prev{font-size:13px;color:var(--muted);text-align:right;padding-right:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sets-head.with-prev,.set-row.with-prev{grid-template-columns:48px 116px minmax(0,1fr) minmax(0,1fr) 88px}.check{width:auto;min-width:56px;gap:2px}.check:not([aria-pressed=true]){color:var(--ink-2);border-color:var(--line-strong)}.check-ring{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);display:block}.check[aria-pressed=true]{box-shadow:inset 0 0 0 1px #ffffff4d}.set-row.done .num-field input{border-color:#a8d5b5;background:#fbfffc}.set-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.add-set{flex:1 1 220px;min-height:52px;font-weight:800}@media(min-width:700px){.num-field input{height:56px;font-size:24px}.check{height:56px;font-size:13px}.set-no,.num-field.static{height:56px}}@media(max-width:699px){.set-prev{display:none}.sets-head.with-prev,.set-row.with-prev{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 64px}.ex-move{display:none}}@media(max-width:360px){.sets-head.with-prev,.set-row.with-prev{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 56px}.check{min-width:50px;font-size:12px}.prev-btn{padding:0 8px;font-size:13px}}.member-bar .mb-badge{margin-left:auto;font-size:12px;font-weight:700;color:var(--ink);background:#fff;border-radius:6px;padding:1px 8px}.draft-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--warn-soft);border:1px solid #e0b860;border-radius:var(--radius);padding:10px 12px;margin-bottom:10px}.draft-banner strong{flex:1 1 100%;color:var(--warn)}.staff-only-card{border:2px solid var(--ink)}.staff-only-card .section-title{color:var(--ink)}.member-facing-card{border:2px solid #ffc2e3}.member-facing-card .section-title{color:var(--pink-ink)}.flat-list .list-item{padding-left:0;padding-right:0}.stat-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;background:var(--surface);border-radius:var(--radius);padding:8px 12px;font-size:14px}.stat-strip strong{font-size:16px}.stat-strip .btn{margin-left:auto}details.fold>summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;list-style:none}details.fold>summary:before{content:"▸";margin-right:8px}details.fold[open]>summary:before{content:"▾"}.carte .section{margin:14px 0}.member-grid{grid-template-columns:minmax(0,1fr)}@media(min-width:760px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.member-row{min-width:0}.mr-badges{flex-shrink:1;min-width:0}.mr-badges .badge{white-space:normal;text-align:center}@media(min-width:700px){.reorder-row{display:none}}@media(max-width:560px){.demo-strip .ds-note{display:none}}.member-row .mr-sub:last-of-type{white-space:normal}.line-checks{margin:0;padding-left:1.3em;display:grid;gap:4px;color:var(--ink-2, #4a4a4f)}.invite-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin-top:16px}.invite-card{border:1.5px dashed #bbb;border-radius:8px;padding:14px;background:#fff;color:#111;text-align:center;break-inside:avoid}.ic-brand{font-size:12px;font-weight:700;color:#c2007a;letter-spacing:.04em}.ic-name{font-size:20px;font-weight:800;margin-top:6px}.ic-no{font-size:12px;color:#4a4a4f}.ic-qr{width:132px;height:132px;display:block;margin:6px auto}.ic-steps{text-align:left;font-size:12px;margin:4px auto;padding-left:1.4em;max-width:230px;line-height:1.5}.ic-exp{font-size:11px;color:#4a4a4f;margin-top:4px;line-height:1.5}@media print{@page{size:A4 portrait;margin:8mm}body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{position:absolute;left:0;top:0;width:100%;margin:0;grid-template-columns:1fr 1fr;gap:0}.invite-card{height:69mm;border-radius:0;padding:4mm;overflow:hidden;text-align:left;display:grid;grid-template-columns:34mm 1fr;column-gap:4mm;align-content:center;grid-template-areas:"qr brand" "qr name" "qr no" "qr steps" "qr exp"}.ic-qr{grid-area:qr;width:34mm;height:34mm;margin:0;align-self:center}.ic-brand{grid-area:brand;font-size:8pt}.ic-name{grid-area:name;font-size:14pt;margin-top:1mm}.ic-no{grid-area:no;font-size:8pt}.ic-steps{grid-area:steps;font-size:8pt;margin:2mm 0 1mm;max-width:none;line-height:1.45}.ic-exp{grid-area:exp;font-size:7.5pt;margin:0}}input[type=file]{min-height:44px;padding:8px 0;font-size:15px}input[type=file]::file-selector-button{min-height:40px;padding:0 14px;margin-right:10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:15px}@media(max-width:520px){.ex-head{flex-wrap:wrap}.ex-title{flex:1 1 calc(100% - 64px)}.ex-head .prev-btn{margin-left:auto}}@media(max-width:420px){.editor-bar{padding-left:8px;padding-right:8px}.editor-bar .inner{gap:6px}.editor-bar .btn:not(.bar-finish){padding:0 10px}.bar-count{min-width:52px;font-size:17px}.bar-finish{font-size:15px;padding:0 8px;line-height:1.25}}.pfc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}.pfc-row>div{background:var(--surface);border-radius:10px;padding:10px 4px;font-size:14px}.pfc-row span{display:block;font-size:13px;color:var(--ink-2);font-weight:700}.pfc-row b{font-size:24px;margin-right:2px}.calc-link{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);padding:14px 16px;min-height:56px;cursor:pointer;font:inherit;color:inherit}.calc-link .grow{flex:1;display:grid;gap:2px}.calc-link .sub{font-size:13px;color:var(--ink-2)}.reservations{padding:12px 14px}.res-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.res-head strong{font-size:17px}.res-head .hint{margin:0 auto 0 0}.res-head .icon-btn{font-size:26px;line-height:1}.res-row{gap:12px}.res-time{font-size:18px;font-weight:800;min-width:52px}.res-row.canceled{opacity:.55}.res-row.canceled .title{text-decoration:line-through}.badge.ok{background:var(--ok-soft);color:var(--ok);border:1px solid #b7e0c4}.next-res{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:baseline;background:var(--pink-soft);border:1px solid #ffc2e3;border-radius:var(--radius);padding:12px 14px;margin:0 0 12px}.next-res-k{font-size:13px;font-weight:800;color:var(--pink-ink);grid-row:span 2;align-self:center}.next-res-v{font-size:19px}.next-res-sub{font-size:13px;color:var(--ink-2)}.next-res-none{margin:0 0 10px}.avatar{border-radius:50%;object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2);font-weight:800;border:1px solid var(--line)}.avatar.initial{background:var(--pink-soft);color:var(--pink-ink);border-color:#ffc2e3}.member-row{gap:12px}.member-bar .avatar{align-self:center;border-color:#fff6}.photo-editor{display:flex;gap:14px;align-items:center}.home-greet{margin:0 0 8px;font-weight:700;font-size:17px;display:flex;align-items:center;gap:10px}.line-steps{margin:0;padding-left:1.4em;display:grid;gap:12px}.line-code{font-size:38px;font-weight:800;letter-spacing:.18em;text-align:center;background:var(--surface);border-radius:10px;padding:10px 0;margin-top:6px}body{background:var(--surface);letter-spacing:.01em}.app{background:var(--surface)}@media(min-width:600px){.app{border-color:transparent}}.topbar{background:#fffffff5;border-bottom:1px solid rgba(19,19,23,.06);min-height:58px;padding-left:16px;padding-right:12px}.topbar h1{font-size:17px;font-weight:700;letter-spacing:.02em}.brand{font-weight:800;letter-spacing:.22em;font-size:18px}.brand-dot{width:7px;height:7px;border-radius:50%}.brand small{letter-spacing:.18em;font-size:10.5px;font-weight:600}.role-chip{border-color:var(--line);background:var(--bg)}.role-chip .rc-role{background:var(--ink);font-weight:700;letter-spacing:.04em}.role-chip.admin .rc-role{background:var(--ink);box-shadow:inset 0 -2px 0 var(--pink)}.demo-strip{background:var(--ink);color:#f1f1f4;border-bottom:0;font-weight:600;letter-spacing:.04em;font-size:12px;padding:4px 8px}.demo-strip:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--pink);margin-right:8px;vertical-align:1px}.page{padding:20px 16px}.section{margin:24px 0}.section-title{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.08em;margin-bottom:10px;justify-content:flex-start}.section-title>.btn{margin-left:auto;letter-spacing:0}.title-ic{display:inline-flex;width:26px;height:26px;border-radius:8px;align-items:center;justify-content:center;background:var(--surface);color:var(--ink);flex:none}.card{border:1px solid rgba(19,19,23,.05);padding:16px}.card.tinted{background:var(--bg);border:1px dashed var(--line-strong)}.list-item{min-height:60px;padding:12px 16px;border-bottom-color:var(--line)}.list-item:active,.member-row:active,.calc-link:active,.latest-card:active{background:var(--surface)}.chev{color:#b9b9c2}.btn{border-radius:12px;border-color:var(--line-strong);font-weight:700;letter-spacing:.02em;transition:background .15s,box-shadow .15s,transform .05s}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 6px 18px #1313172e}.btn.primary svg{color:var(--pink)}.btn.primary:active{background:#000}.btn.lg{min-height:58px;font-size:17px;letter-spacing:.04em}.btn.dark{background:var(--ink)}.btn.ghost{color:var(--ink-2)}.input,select.input,textarea.input,.num-field input{border-color:var(--line-strong);border-radius:12px;background:#fff}.input:focus,.num-field input:focus{border-color:var(--ink);box-shadow:0 0 0 4px #13131714}.seg{background:var(--surface-2);border-radius:12px}.seg button[aria-pressed=true]{box-shadow:0 1px 2px #00000014,0 2px 8px #0000000f}.chip{border-color:var(--line);font-weight:600}.badge{border-radius:999px;padding:2px 10px;font-weight:700;letter-spacing:.02em}.badge.personal{background:var(--ink);color:#fff;border:0}.badge.self{border-color:var(--line-strong)}.badge.share-ok,.badge.ok{background:var(--ok-soft);border:0}.bottom-nav{background:#fffffff7;border-top:1px solid rgba(19,19,23,.06)}.bottom-nav a{color:var(--muted);font-size:12px;letter-spacing:.04em}.bottom-nav a[aria-current=page]{color:var(--ink)}.bottom-nav a[aria-current=page]:before{left:calc(50% - 3px);right:auto;top:auto;bottom:5px;width:6px;height:6px;border-radius:50%}.home-greet{font-size:22px;font-weight:800;letter-spacing:.02em;margin:0 0 16px}.home-greet .avatar{box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line)}.next-res{background:radial-gradient(120% 140% at 100% 0%,#2c2c36 0%,var(--ink) 55%);color:#fff;border:0;border-radius:20px;padding:18px 20px;box-shadow:0 12px 32px #13131738;grid-template-columns:1fr;row-gap:2px;margin-bottom:16px}.next-res-k{grid-row:auto;color:#ff5cb8;font-size:12px;letter-spacing:.16em}.next-res-v{font-family:var(--font-num);font-size:26px;font-weight:800;letter-spacing:.01em}.next-res-sub{color:#cfcfd8;font-size:13.5px}.onboard{border:0;background:var(--bg);box-shadow:var(--shadow);border-radius:var(--radius);position:relative;overflow:hidden}.onboard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pink)}.active-card{border:0;background:var(--bg);box-shadow:var(--shadow);position:relative;overflow:hidden}.active-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pink)}.stat{background:var(--bg);box-shadow:var(--shadow);border-radius:var(--radius);padding:16px}.stat .k{font-size:12px;color:var(--muted);letter-spacing:.06em}.stat .v{font-size:40px;letter-spacing:-.02em;margin-top:4px}.stat .v small{color:var(--muted);font-size:14px;margin-left:4px}.latest-card{gap:8px}.latest-point{color:var(--ink-2);font-weight:600;font-size:13.5px;padding-left:10px;border-left:2px solid var(--pink);margin:4px 0}.comment,.note{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.calc-link{border-radius:var(--radius);border:1px solid rgba(19,19,23,.05);padding:16px;gap:14px}.calc-ic{width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--pink);display:inline-flex;align-items:center;justify-content:center;flex:none}.empty{color:var(--muted)}.member-bar{background:var(--ink);padding:12px 20px;min-height:56px;align-items:center}.member-bar .mb-name{font-size:19px;letter-spacing:.02em}.member-bar .mb-sub{color:#b9b9c3}.member-bar .mb-badge{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:2px 10px}.member-row{border:1px solid rgba(19,19,23,.05);border-radius:var(--radius);min-height:76px;padding:12px 14px}.mr-name{font-size:17px;letter-spacing:.02em}.staff-only-card,.member-facing-card{border:1px solid rgba(19,19,23,.05)}.staff-only-card .section-title,.member-facing-card .section-title{color:var(--ink);font-size:15px;letter-spacing:.02em}.member-facing-card .title-ic{background:var(--pink-soft);color:var(--pink-ink)}.staff-only-label{background:var(--surface);color:var(--ink-2);font-weight:600;display:inline-flex;gap:6px;align-items:center;border-radius:8px;padding:6px 10px}.draft-banner{background:var(--bg);border:0;box-shadow:var(--shadow);position:relative;overflow:hidden;padding:14px 16px 14px 20px}.draft-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#d69e2e}.draft-banner strong{color:var(--ink);display:inline-flex;gap:8px;align-items:center}.stat-strip{background:var(--bg);box-shadow:var(--shadow)}.points{border-left-width:2px;background:var(--surface);border-radius:0 10px 10px 0}.ex-card{border:1px solid rgba(19,19,23,.05);border-radius:var(--radius)}.ex-head .no{color:var(--pink-ink)}.set-no,.check{border-radius:12px}.set-row.done{background:#f1f8f3}.timer-fab{box-shadow:0 10px 28px #13131747}.editor-bar{background:#fffffffa}.cal-day{border-radius:12px}.cal-day.today{border-color:var(--line-strong);background:var(--surface)}.cal-day.sel{background:var(--ink)}.sheet{border-radius:22px 22px 0 0}.sheet-head{padding-top:12px}.dialog{border-radius:20px}.toast{border-radius:14px}.auth-page{background:radial-gradient(120% 80% at 50% 0%,#2c2c36 0%,var(--ink) 60%)}.auth-card{border:0;border-radius:22px;padding:32px 24px 28px;box-shadow:0 24px 60px #00000059}.auth-card .brand{justify-content:center;width:100%;font-size:22px;flex-wrap:wrap;row-gap:2px}.auth-title{font-size:18px;margin:18px 0 20px;color:var(--ink-2);font-weight:700;letter-spacing:.06em}.card.reservations{padding:14px 12px 6px}.reservations .res-head{padding:0 2px}.reservations .list-card{border:0;box-shadow:none}.reservations .list-item{padding:12px 4px;gap:12px}.res-row .title,.res-row .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-time{font-family:var(--font-num);min-width:48px;font-size:17px}.avatar.initial{background:var(--surface-2);color:var(--ink);border-color:transparent}.member-bar .avatar.initial{background:#ffffff1f;color:#fff}.res-row .title,.res-row .sub{display:block}.search-bar{background:var(--surface)}input[type=checkbox],input[type=radio]{accent-color:var(--ink)}.brand img{height:20px;width:auto;display:block}.brand small{margin-left:2px}.brand-full{display:block;width:184px;max-width:70%;height:auto;margin:4px auto 0}.auth-app-name{font-family:var(--font-num);font-size:11px;font-weight:700;letter-spacing:.32em;color:var(--muted);margin-top:12px;padding-left:.32em}.auth-title{margin-top:12px}.trainer-line{display:inline-flex;align-items:center;gap:10px;min-width:0}.trainer-text{display:grid;line-height:1.3;min-width:0}.trainer-k{font-size:11.5px;color:var(--muted);font-weight:700;letter-spacing:.06em}.trainer-name{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-res .trainer-line{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.next-res .trainer-k{color:#a9a9b4}.next-res .trainer-name{color:#fff}.next-res .avatar.initial{background:#ffffff24;color:#fff}.badge.pb{background:var(--pink);color:#fff;border:0}.pb-card{display:grid;gap:4px;width:100%;text-align:left;border:0;cursor:pointer;color:#fff;border-radius:20px;padding:18px 20px;background:var(--grad);box-shadow:0 12px 30px color-mix(in srgb,var(--pink) 28%,transparent)}.pb-card .pb-k{font-size:12px;font-weight:800;letter-spacing:.18em;opacity:.9}.pb-card .pb-v{font-size:20px;font-weight:800;line-height:1.4}.pb-card .pb-sub{font-size:13px;opacity:.92}.goal-card{display:flex;align-items:center;gap:16px;background:var(--bg);box-shadow:var(--shadow);border-radius:var(--radius);padding:16px;border:0;width:100%;text-align:left;cursor:pointer;color:inherit}.goal-ring{position:relative;width:84px;height:84px;flex:none}.goal-ring svg{width:84px;height:84px;transform:rotate(-90deg)}.goal-ring .gr-num{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-num);font-weight:800;font-size:24px;line-height:1}.goal-ring .gr-num small{font-size:12px;color:var(--muted);font-weight:700}.goal-text{display:grid;gap:2px;min-width:0;flex:1}.goal-text .k{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.06em}.goal-text .v{font-size:16px;font-weight:800}.goal-text .sub{font-size:13px;color:var(--ink-2)}.goal-text .done{color:var(--pink-ink)}.goal-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.goal-options button{min-height:52px;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg);font-family:var(--font-num);font-weight:800;font-size:18px}.goal-options button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.type-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.type-dot.personal{background:var(--pink)}.type-dot.self{background:#a1a1aa}.badge.personal .type-dot{box-shadow:0 0 0 2px #ffffff26}.mark{width:8px;height:8px;font-size:0;border:0!important;border-radius:50%}.mark.personal{background:var(--pink)}.mark.self{background:#a1a1aa}.cal-day.sel .mark.self{background:#fff}.legend .mark{width:10px;height:10px}.install-card{display:flex;gap:14px;align-items:center;background:var(--bg);box-shadow:var(--shadow);border-radius:var(--radius);padding:14px 16px}.install-card img{width:48px;height:48px;border-radius:12px;flex:none}.install-card .grow{flex:1;min-width:0;display:grid;gap:2px}.install-card .sub{font-size:13px;color:var(--ink-2)}.install-steps{margin:0;padding:0;list-style:none;display:grid;gap:14px;counter-reset:st}.install-steps li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;counter-increment:st}.install-steps li:before{content:counter(st);width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--font-num);font-weight:800}.install-steps .ic{display:inline-flex;vertical-align:-5px;padding:2px 6px;border:1px solid var(--line-strong);border-radius:8px;margin:0 2px}.pb-inline{margin:0 0 8px;font-weight:700;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.install-icon{width:52px;height:52px;border-radius:14px;background:#000;flex:none;display:grid;place-items:center;box-shadow:0 4px 12px #0000002e}.install-icon img{width:38px;height:auto;filter:invert(1)}.trainer-line.clickable{cursor:pointer;border-radius:12px;padding:4px 8px 4px 4px;margin-left:-4px;min-height:44px}.trainer-line.clickable:active{background:#7f7f7f1f}.trainer-more{font-size:12.5px;font-weight:700;color:var(--pink-ink);margin-left:4px;white-space:nowrap}.next-res .trainer-more{color:#ff7cc4}.trainer-hero{display:flex;gap:16px;align-items:center;margin-bottom:12px}.trainer-hero-name{font-size:22px;font-weight:800;letter-spacing:.04em}.trainer-ig{font-size:13.5px;color:var(--pink-ink);font-weight:700;display:inline-flex;min-height:44px;align-items:center}.trainer-catch{font-size:17px;font-weight:800;line-height:1.6;margin:8px 0 12px;padding-left:12px;border-left:3px solid var(--pink)}.trainer-body{margin:0 0 10px;color:var(--ink-2);line-height:1.85;font-size:15px}.trainer-h{font-size:13px;color:var(--muted);letter-spacing:.08em;margin:20px 0 8px}.trainer-list{margin:0;padding-left:1.2em;display:grid;gap:4px;font-size:14.5px}.latest-wrap{display:grid;gap:10px}.latest-wrap .latest-card.plain{color:inherit;padding-top:10px;border-top:1px solid var(--line)}.latest-more{font-size:13px;font-weight:700;color:var(--ink-2);margin-top:4px}.dash{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:900px){.dash{grid-template-columns:repeat(4,minmax(0,1fr))}}.dash-tile{display:grid;gap:4px;text-align:left;background:var(--bg);border:1px solid rgba(19,19,23,.05);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;cursor:pointer;color:inherit;position:relative;overflow:hidden;min-height:120px}.dash-tile:active{background:var(--surface)}.dash-tile.warn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pink)}.dash-k{font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.04em}.dash-v{font-size:40px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.dash-v small{font-size:14px;color:var(--muted);margin-left:4px;font-family:var(--font)}.dash-sub{font-size:12.5px;color:var(--ink-2)}.dash-tile.warn .dash-v{color:var(--pink-ink)}.about-hero{background:#000;border-radius:20px;padding:28px 20px 22px;text-align:center}.about-hero .brand-full{filter:invert(1) hue-rotate(180deg);width:200px}.about-catch{color:#d6d6de;font-size:13.5px;letter-spacing:.08em;margin:14px 0 0}.about-hours{margin:0;display:grid;gap:8px}.about-hours>div{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:8px}.about-hours>div:last-child{border-bottom:0;padding-bottom:0}.about-hours dt{color:var(--ink-2);font-weight:700}.about-hours dd{margin:0;font-size:20px;font-weight:800}.about-steps{margin:0;padding-left:1.3em;display:grid;gap:4px;font-size:14.5px;color:var(--ink-2)}.welcome{background:var(--bg);border-radius:20px;box-shadow:var(--shadow);padding:20px;position:relative;overflow:hidden}.welcome:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--pink)}.welcome-k{font-size:11.5px;font-weight:800;letter-spacing:.2em;color:var(--pink-ink)}.welcome-title{font-size:22px;font-weight:800;margin:2px 0 6px}.welcome-lead{margin:0 0 12px;color:var(--ink-2);font-size:14.5px}.welcome-trainer{background:var(--surface);border-radius:14px;padding:10px 12px;margin-bottom:14px}.welcome-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px;counter-reset:w}.welcome-steps li{display:grid;grid-template-columns:28px 1fr;column-gap:12px;counter-increment:w}.welcome-steps li:before{content:counter(w);grid-row:span 2;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--font-num);font-weight:800;font-size:13px}.welcome-steps strong{font-size:15px}.welcome-steps span{font-size:13px;color:var(--ink-2)}.streak{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:grid;gap:12px}.streak-nums{display:grid;grid-template-columns:1fr 1fr}.streak-nums>div{display:grid}.streak-nums>div+div{border-left:1px solid var(--line);padding-left:16px}.streak-nums .k{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.06em}.streak-nums .v{font-size:32px;font-weight:800;line-height:1.15}.streak-nums .v small{font-size:13px;color:var(--muted);margin-left:3px;font-family:var(--font)}.streak-badges{display:flex;gap:8px;flex-wrap:wrap}.medal{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px dashed var(--line-strong);color:var(--muted);font-weight:800;font-size:13px;background:var(--bg)}.medal.got{border:0;background:var(--ink);color:#fff;box-shadow:inset 0 0 0 3px var(--pink)}.medal.next{border-style:solid;border-color:var(--pink);color:var(--pink-ink)}.streak-next{margin:0;font-size:13.5px;color:var(--ink-2)}.streak-next strong{color:var(--ink);font-size:16px;margin:0 2px}.install-card{padding:10px 12px;gap:12px;box-shadow:none;border:1px solid var(--line)}.install-card .install-icon{width:40px;height:40px;border-radius:11px}.install-card .install-icon img{width:30px}.install-card .grow strong{font-size:14px}.install-card .sub{font-size:12.5px}a.list-item{color:inherit;text-decoration:none}.streak-nums .v.restart{font-size:15px;font-weight:800;color:var(--pink-ink);line-height:2.4}.video-list{display:grid;gap:10px}.video-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.video-thumb{display:grid;gap:6px;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:pointer;font:inherit;min-width:0}.video-img{position:relative;display:block;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#131317}.video-img img{width:100%;height:100%;object-fit:cover;display:block}.video-play{position:absolute;inset:0;margin:auto;width:40px;height:40px;border-radius:50%;background:#131317c7;color:#fff;display:grid;place-items:center}.video-thumb.big .video-play{width:60px;height:60px;background:var(--pink)}.video-play svg{margin-left:3px}.video-title{font-size:13px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-thumb.big .video-title{font-size:15px}.video-frame{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tips-card{margin-top:12px}.tips-card ul{margin:6px 0 8px;padding-left:1.2em}.tips-card li{margin:3px 0}.video-btn{margin-bottom:8px;gap:4px}.video-btn svg{color:var(--pink)}.video-edit-row{gap:10px}.video-edit-row img{width:64px;aspect-ratio:16 / 9;object-fit:cover;border-radius:6px;flex:none}.video-edit-row .title{font-size:14px;font-weight:600;min-width:0}.video-ch{display:block;font-size:12px;color:var(--muted)}.video-shorts{display:grid;grid-auto-flow:column;grid-auto-columns:132px;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}.video-shorts::-webkit-scrollbar{display:none}.video-shorts>span{scroll-snap-align:start;min-width:0}.video-thumb.short .video-img{aspect-ratio:9 / 16}.video-thumb.short .video-title{font-size:12.5px}.video-frame.short{aspect-ratio:9 / 16;max-height:68vh;max-height:68dvh;margin:0 auto}.learn-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;border:0}.learn-card .grow{display:grid;gap:2px}.learn-card .sub{font-size:13px;color:var(--muted)}.learn-icon{width:40px;height:40px;border-radius:50%;background:#131317;color:#fff;display:grid;place-items:center;flex:none}.learn-icon svg{margin-left:2px;color:var(--pink)}.idle-banner{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;border:0;margin-bottom:12px;box-shadow:inset 4px 0 0 var(--pink)}.idle-banner .grow{display:grid;gap:2px}.idle-banner .sub{font-size:13px;color:var(--muted)}.badge.idle-hot{background:var(--pink-soft);color:var(--pink-ink)}.legal{font-size:14.5px;line-height:1.8}.legal h3{font-size:15px;margin:22px 0 6px}.legal p{margin:6px 0}.legal ul{margin:6px 0;padding-left:1.3em}.legal li{margin:3px 0}.legal-date{color:var(--muted);font-size:13px;margin-top:24px!important}.legal-links{text-align:center}.legal-links a{color:inherit;text-decoration:underline}.terms-gate{display:grid;gap:14px;padding-top:32px}.terms-gate h1{font-size:22px;margin:8px 0 0}.terms-gate>p{margin:0;line-height:1.7}.terms-scroll{max-height:50vh;overflow-y:auto;padding:4px 16px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.terms-check{display:flex;gap:10px;align-items:flex-start;font-weight:600;cursor:pointer}.terms-check input{width:22px;height:22px;margin:1px 0 0;accent-color:#131317;flex:none}.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 8px}.about-photos img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--radius-sm);display:block;background:#131317}.video-wide-row{display:grid;grid-auto-flow:column;grid-auto-columns:240px;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}.video-wide-row::-webkit-scrollbar{display:none}.video-wide-row>*{scroll-snap-align:start}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.usage-tile{background:var(--surface);border-radius:var(--radius-sm);padding:12px 14px;display:grid;gap:2px}.usage-tile .k{font-size:12.5px;color:var(--muted)}.usage-tile .v{font-size:26px;font-weight:700;line-height:1.1}.usage-tile .v small{font-size:13px;font-weight:600;margin-left:2px}.usage-tile .s{font-size:12px;color:var(--muted)}.usage-bars{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;align-items:end;height:120px;margin-top:8px}.usage-bar{display:grid;grid-template-rows:1fr auto;height:100%;gap:4px;text-align:center;font-size:11px;color:var(--muted)}.usage-bar .cols{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-items:end;height:100%}.usage-bar .cols span{display:block;border-radius:3px 3px 0 0;min-height:2px}.usage-bar .cols .o{background:#131317}.usage-bar .cols .r{background:var(--pink)}.usage-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:6px}.usage-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}.update-strip{display:block;width:100%;border:0;font:inherit;font-size:13px;font-weight:700;padding:8px 12px;background:var(--pink-ink, #c4007b);color:#fff;text-align:center;cursor:pointer}:root{--pink: #da0e87;--pink-ink: #c4007b;--pink-soft: #fdeff7;--purple: #a2009f;--grad: linear-gradient(135deg, #e30786 0%, #a2009f 100%);--grad-soft: linear-gradient(135deg, rgba(227, 7, 134, .1) 0%, rgba(162, 0, 159, .1) 100%);--font: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, -apple-system, BlinkMacSystemFont, sans-serif}.brand img{height:20px}.brand small{color:var(--pink-ink);letter-spacing:.2em}.brand-full{width:184px}.btn{border-radius:999px}.btn.primary{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 20px #da0e8747}.btn.primary svg{color:#fff}.btn.primary:active{background:var(--grad);filter:brightness(.88)}.btn.dark,.btn.danger{border-radius:999px}.goal-options button[aria-pressed=true]{background:var(--grad);border-color:transparent;color:#fff}.section-title{color:var(--pink-ink);letter-spacing:.1em}.section-title:before{content:"";width:14px;height:3px;border-radius:2px;background:var(--grad);flex:none}.section-title .title-ic{background:var(--pink-soft);color:var(--pink-ink)}.bottom-nav a[aria-current=page]{color:var(--pink-ink)}.bottom-nav a[aria-current=page]:before{background:var(--grad)}.badge.personal{background:var(--grad)}.badge.active{background:var(--pink-soft);color:var(--pink-ink)}.active-card:before,.onboard:before,.welcome:before{background:var(--grad)}.welcome-steps li:before{background:var(--grad)}.update-strip{background:var(--grad)}.demo-strip:before{background:#ff5cb8}.timer-fab{background:var(--grad);border:0}input[type=checkbox],input[type=radio]{accent-color:var(--pink)}.input:focus,.num-field input:focus{border-color:var(--pink);box-shadow:0 0 0 4px #da0e871f}.auth-page{background:radial-gradient(120% 90% at 100% 0%,#ffffff2e,#fff0 55%),var(--grad)}.auth-card{box-shadow:0 24px 60px color-mix(in srgb,var(--purple) 35%,black)}.auth-app-name{color:var(--pink-ink)}.home-hero{background:var(--grad);color:#fff;border-radius:24px;padding:20px 20px 18px;margin:0 0 20px;box-shadow:0 14px 34px color-mix(in srgb,var(--purple) 26%,transparent);position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;right:-50px;top:-60px;width:180px;height:180px;border-radius:50%;background:#ffffff1f;pointer-events:none}.hero-slogan{margin:0 0 8px;font-size:12.5px;letter-spacing:.18em;font-weight:700;opacity:.92}.home-hero .home-greet{color:#fff;margin:0 0 12px;position:relative}.home-hero .home-greet .avatar{box-shadow:0 0 0 3px #ffffff8c}.home-hero .next-res{background:#ffffff29;box-shadow:none;border:1px solid rgba(255,255,255,.28);margin:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.home-hero .next-res-k{color:#fff;opacity:.9}.home-hero .next-res-sub{color:#fff;opacity:.92}.home-hero .next-res-none{color:#fff;opacity:.9;margin:0}.pb-card{background:var(--grad);box-shadow:0 12px 30px color-mix(in srgb,var(--purple) 28%,transparent)}.goal-ring svg circle:last-child{stroke:url(#angin-grad)}.goal-my{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--ink-2)}.goal-my .k{font-size:10.5px;font-weight:800;letter-spacing:.16em;color:var(--pink-ink)}.goal-my strong{color:var(--ink)}.goal-my .days{font-family:var(--font-num);font-weight:800;color:var(--pink-ink)}.plan-k{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--pink-ink);margin-bottom:4px}.plan-card{border:0;background:var(--bg);box-shadow:var(--shadow);border-radius:var(--radius);padding:16px 16px 16px 20px;display:grid;gap:8px;position:relative;overflow:hidden}.plan-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad)}.plan-card .names{font-size:15px;font-weight:700;color:var(--ink);line-height:1.5}.plan-box{margin-top:8px;border:1px solid #f3bfdd;border-radius:14px;padding:10px 12px;background:#fff;display:grid;gap:8px}.plan-box ol{margin:0;padding-left:20px;display:grid;gap:4px}.plan-box li{font-size:14.5px}.plan-box li>span:first-child{display:block}.comment.has-plan,.comment.from-member{background:var(--pink-soft);border-color:#f3bfdd}.replies{display:grid;gap:6px;margin-top:8px}.reply{background:var(--surface);border-radius:12px;padding:8px 12px;margin-left:20px;border-left:3px solid var(--line-strong);font-size:14.5px}.reply.from-member{background:var(--pink-soft);border-left-color:var(--pink)}.reply .comment-meta{margin-top:2px}.reply-box{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);display:grid;gap:6px}.quick-replies{display:flex;flex-wrap:wrap;gap:6px}.quick-replies button{border-radius:999px;border:1px solid #f0b8d9;background:#fff;color:var(--pink-ink);font-weight:700;font-size:13.5px;min-height:38px;padding:0 12px}.quick-replies button:active{background:var(--pink-soft)}.strength{display:grid;gap:12px}.strength .big{font-size:30px;font-weight:800;font-family:var(--font-num);line-height:1.2}.plate-calc{border-top:1px dashed var(--line);padding-top:12px;display:grid;gap:6px}.plate-calc .num-field{width:150px}.plates{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.plate{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border-radius:10px;background:var(--ink);color:#fff;font-family:var(--font-num);font-weight:800;font-size:14px;box-shadow:inset 0 0 0 2px #ffffff40}.plate.p25{background:#c62828}.plate.p20{background:#1f4fd1}.plate.p15{background:#e0b000;color:#131317}.plate.p10{background:#1f7a3d}.plate.p5{background:#fff;color:#131317;box-shadow:inset 0 0 0 1px var(--line-strong)}.plate.p2-5{background:#3a3a40}.plate.p1-25{background:#8a8a92}.plate-hint{color:var(--muted)}.about-hero{background:#000}.about-hero .brand-full{filter:none;width:200px}.about-catch{color:#d6d6de}.install-icon{background:#000;box-shadow:0 4px 12px #0000002e}.install-icon img{width:40px;filter:none}.status-card{display:grid;gap:8px;width:100%;text-align:left;border:0;cursor:pointer;color:inherit;font:inherit;background:var(--bg);box-shadow:var(--shadow);border-radius:var(--radius);padding:14px 16px;position:relative;overflow:hidden}.status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad)}.sc-top{display:flex;align-items:center;gap:12px}.sc-lv{font-size:34px;font-weight:800;line-height:1;color:var(--pink-ink);display:inline-flex;align-items:baseline;gap:2px;flex:none}.sc-lv small{font-size:13px;font-weight:800;letter-spacing:.04em}.sc-title{display:grid;gap:1px;flex:1;min-width:0}.sc-title .k{font-size:10.5px;font-weight:800;letter-spacing:.18em;color:var(--pink-ink)}.sc-title strong{font-size:17px}.sc-title .sub{font-size:12.5px;color:var(--ink-2)}.xp-bar{display:block;height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.xp-bar>*{display:block;height:100%;background:var(--grad);border-radius:999px;transition:width .4s ease}.sc-xp{font-size:12px;color:var(--muted);font-weight:700}.sc-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.sc-badges .badge-card{width:auto;min-width:72px;padding:6px 8px}.sc-badges .badge-ic{width:32px;height:32px;font-size:18px}.sc-badges .badge-name{font-size:11px}.sc-badges .badge-date{display:none}.lv-hero{background:var(--grad);color:#fff;border-radius:24px;padding:20px;display:grid;gap:10px;box-shadow:0 14px 34px color-mix(in srgb,var(--purple) 26%,transparent);position:relative;overflow:hidden}.lv-hero:after{content:"";position:absolute;right:-50px;top:-60px;width:180px;height:180px;border-radius:50%;background:#ffffff1f;pointer-events:none}.lv-k{font-size:11px;font-weight:800;letter-spacing:.2em;opacity:.9}.lv-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.lv-num{font-family:var(--font-num);font-size:52px;font-weight:800;line-height:1;display:inline-flex;align-items:baseline;gap:3px}.lv-num small{font-size:16px;font-weight:800}.lv-title{font-size:22px;font-weight:800}.lv-hero .xp-bar{background:#ffffff40;height:12px}.lv-hero .xp-bar>*{background:#fff}.xp-text{font-size:12.5px;opacity:.95}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:560px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat-cell{background:var(--bg);box-shadow:var(--shadow);border-radius:14px;padding:10px 12px;display:grid;gap:2px}.stat-cell .k{font-size:11.5px;color:var(--muted);font-weight:700;letter-spacing:.04em}.stat-cell .v{font-size:22px;font-weight:800;line-height:1.2}.stat-cell .v small{font-size:12px;color:var(--muted);margin-left:2px;font-family:var(--font)}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.badge-card{display:grid;justify-items:center;gap:4px;text-align:center;background:var(--bg);border-radius:14px;padding:10px 6px;box-shadow:var(--shadow);border:1px solid transparent}.badge-ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:var(--surface-2);flex:none}.badge-card.got.t1 .badge-ic{background:#ffe3f1}.badge-card.got.t2 .badge-ic{background:linear-gradient(135deg,#ffd1e8,#ffb3dc)}.badge-card.got.t3 .badge-ic{background:linear-gradient(135deg,#ffe08a,#ffc24d);box-shadow:0 0 0 3px #fff,0 0 0 5px #f4b400}.badge-card.got.t4 .badge-ic{background:var(--grad);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--pink)}.badge-card.got{border-color:#f3bfdd}.badge-name{font-size:12px;font-weight:800;line-height:1.3}.badge-date{font-size:10.5px;color:var(--muted)}.badge-list{display:grid;gap:6px}.badge-row{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:14px;padding:8px 12px;box-shadow:var(--shadow)}.badge-row .badge-ic{width:40px;height:40px;font-size:20px;filter:grayscale(.6);opacity:.8}.badge-row .grow{flex:1;min-width:0;display:grid;gap:2px}.badge-row .badge-name{font-size:14px}.badge-desc{font-size:12px;color:var(--ink-2)}.badge-prog{display:block;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:2px}.badge-prog>span{display:block;height:100%;background:var(--grad)}.badge-remain{font-size:12.5px;font-weight:800;color:var(--pink-ink);white-space:nowrap}.report-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;cursor:pointer;color:inherit;font:inherit;padding:14px 16px}.report-card .grow{flex:1;min-width:0;display:grid;gap:2px}.report-card .sub{font-size:13px;color:var(--ink-2)}.report-ic{width:40px;height:40px;border-radius:12px;background:var(--pink-soft);display:grid;place-items:center;font-size:20px;flex:none}.report{background:var(--bg);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.report-head{background:#000;color:#fff;padding:18px 20px 16px;display:grid;gap:4px}.report-head .brand-full{width:150px;margin-bottom:6px}.report-k{font-size:11px;font-weight:800;letter-spacing:.22em;opacity:.9}.report-title{font-size:19px;font-weight:800;margin:0;line-height:1.4}.report-name{margin:0;font-size:15px;font-weight:700;opacity:.95}.report-hero{display:grid;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.rh-main{display:grid;gap:2px}.rh-main .k{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--pink-ink)}.rh-main .v{font-size:44px;font-weight:800;line-height:1.1}.rh-main .v small{font-size:16px;color:var(--muted);margin-left:3px;font-family:var(--font)}.rh-main .sub{font-size:14px;color:var(--ink-2)}.diff.up{color:#1f7a3d;font-weight:800}.diff.down{color:var(--pink-ink);font-weight:800}.rh-sub{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0}.rh-sub div{background:var(--surface);border-radius:12px;padding:8px 10px;display:grid;gap:2px}.rh-sub dt{font-size:11px;color:var(--muted);font-weight:700}.rh-sub dd{margin:0;font-size:16px;font-weight:800}.report-comment{padding:14px 20px;background:var(--pink-soft);display:grid;gap:4px}.report-comment .k{font-size:12px;font-weight:800;color:var(--pink-ink)}.report-comment p{margin:0;font-size:15px;line-height:1.7}.report-grid{display:grid;grid-template-columns:1fr;gap:12px;padding:16px 20px}@media(min-width:700px){.report-grid{grid-template-columns:1fr 1fr}}.report-grid .card{box-shadow:none;border:1px solid var(--line)}.report-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.report-list li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:14.5px}.report-list li strong{flex:1 1 120px}.report-list li .sub{font-size:12px;color:var(--muted)}.report-level{margin:0 0 6px;font-size:17px;font-weight:800}.report-level .num{color:var(--pink-ink)}.report-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.report-badges li{background:var(--pink-soft);border:1px solid #f3bfdd;border-radius:999px;padding:4px 10px;font-size:13.5px;font-weight:700}.report-foot{display:flex;justify-content:space-between;padding:10px 20px 14px;font-size:11.5px;color:var(--muted);letter-spacing:.06em}@media print{.no-print,.topbar,.bottom-nav,.member-bar,.timer-fab{display:none!important}.report.print-area{position:absolute;left:0;top:0;width:100%;box-shadow:none;border-radius:0}.report-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-grid{grid-template-columns:1fr 1fr}}.coach-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;border:0}.coach-card .grow{display:grid;gap:2px}.coach-card .sub{font-size:13px;color:var(--muted)}.coach-ic{width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none;font-family:var(--font-num);font-weight:800;font-size:14px;letter-spacing:.04em}.coach-hero{background:var(--grad);color:#fff;border-radius:var(--radius);padding:16px 18px;margin-bottom:4px}.coach-hero strong{font-size:17px}.coach-hero p{margin:6px 0 0;font-size:14px;line-height:1.6;opacity:.95}.coach-purpose-now{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.coach-purpose-now .btn{color:#fff;border-color:#fff9}.coach-input{display:flex;align-items:center;gap:8px}.coach-input .input{flex:1;min-height:48px;font-size:16px}.coach-input svg{color:var(--muted);flex:none}.coach-care{margin-top:8px;background:var(--pink-soft);border-left:4px solid var(--pink);padding:10px 12px;border-radius:0 10px 10px 0;font-size:14px;line-height:1.6}.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coach-q{font:inherit;font-size:14px;font-weight:700;color:var(--ink);text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px;min-height:60px;cursor:pointer;line-height:1.45;box-shadow:var(--shadow)}.coach-q:active{background:var(--surface)}.coach-bubble{border-radius:18px;padding:14px 16px;margin:0 0 10px;position:relative}.coach-bubble .who{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:4px;opacity:.8}.coach-bubble p{margin:0;font-size:15px;line-height:1.75}.coach-bubble.you{background:var(--pink-soft);margin-left:24px;border-top-right-radius:4px}.coach-bubble.ai{background:var(--bg);box-shadow:var(--shadow);margin-right:12px;border-top-left-radius:4px}.coach-bubble.ai .who{color:var(--pink-ink)}.coach-answer{font-size:16px!important;font-weight:600}.coach-note{margin-top:8px!important;font-size:13.5px!important;color:var(--ink-2);background:var(--surface);border-radius:10px;padding:8px 10px}.coach-purposes{display:grid;gap:8px;margin-top:10px}.coach-purpose{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;min-height:56px}.coach-purpose:active{background:var(--pink-soft)}.coach-purpose .no{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}.coach-purpose .grow{display:grid;gap:1px}.coach-purpose .title{font-weight:800;font-size:15px}.coach-purpose .sub{font-size:12.5px;color:var(--muted)}@media(min-width:700px){.coach-grid{grid-template-columns:1fr 1fr 1fr}}.reward-ticket{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:#fff;cursor:pointer;border:0;border-radius:var(--radius);padding:14px 16px;background:linear-gradient(135deg,#1c1c22,#3a2a00 45%,#1c1c22);box-shadow:0 8px 20px #00000040;position:relative;overflow:hidden;margin-bottom:10px}.reward-ticket:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,#fff0,#ffdc7859,#fff0);transform:rotate(20deg);animation:reward-shine 3s ease-in-out infinite;pointer-events:none}@keyframes reward-shine{0%{left:-60%}60%{left:120%}to{left:120%}}.reward-ticket .rt-gift{font-size:34px;line-height:1;flex:none}.reward-ticket .grow{display:grid;gap:2px;min-width:0}.reward-ticket .rt-head{font-family:var(--font-num);font-size:11px;font-weight:800;letter-spacing:.18em;color:#ffd166}.reward-ticket .rt-text{font-size:16px;line-height:1.45}.reward-ticket .rt-note{font-size:12.5px;color:#e2e2ea}.reward-ticket .chev{color:#ffd166}.reward-ticket .btn.dark{background:#ffd166;color:#1c1c22;border-color:#ffd166;flex:none}.reward-fold summary .sub{font-size:12.5px;color:var(--muted);font-weight:400}.reward-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.reward-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--surface)}.reward-row.unused{background:#fff6dc}.reward-row.locked{opacity:.6}.reward-row .rl-lv{font-weight:800;width:48px;flex:none}.reward-row .grow{display:grid;min-width:0}.reward-row .rl-title{font-weight:700;font-size:14px}.reward-row .rl-prize{font-size:12.5px;color:var(--ink-2)}.reward-row .rl-status{font-size:12px;color:var(--muted);white-space:nowrap}.reward-row.used .rl-status{color:var(--ok, #276749);font-weight:700}.reward-edit{display:grid;gap:8px}.column-list{display:grid;gap:10px}.column-card{position:relative;display:grid;gap:4px;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px 44px 14px 16px;box-shadow:var(--shadow)}.column-card:active{background:var(--surface)}.column-card .chev{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.column-kind{display:inline-block;justify-self:start;font-size:11px;font-weight:800;letter-spacing:.08em;border-radius:99px;padding:2px 9px;background:var(--pink-soft);color:var(--pink-ink)}.column-kind.diet{background:#fff6dc;color:#8a5a00}.column-kind.health{background:#e6f4ec;color:#276749}.column-kind.mind{background:#e8eef7;color:#1e3a5f}.column-filter{margin-bottom:10px}.column-title{font-size:16px;line-height:1.4}.column-summary{font-size:13.5px;color:var(--ink-2);line-height:1.55}.column-meta{font-size:12px;color:var(--muted)}.column-list.compact .column-card{padding:10px 40px 10px 14px;gap:2px}.column-list.compact .column-title{font-size:14.5px}.related-columns{margin-top:12px}.related-columns .rc-h{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--pink-ink);margin-bottom:6px}.column-article{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 18px 16px}.column-head h1{font-size:22px;line-height:1.4;margin:8px 0 6px}.column-lead{font-size:15px;color:var(--ink-2);line-height:1.7;margin:0 0 6px}.column-section{margin-top:20px}.column-section h2{font-size:17px;margin:0 0 8px;padding-left:10px;border-left:4px solid var(--pink);line-height:1.4}.column-section p{font-size:15.5px;line-height:1.9;margin:0 0 10px}.column-steps,.column-bullets{margin:4px 0 0;padding-left:22px;font-size:15px;line-height:1.8}.column-steps li,.column-bullets li{margin-bottom:6px}.column-steps li::marker{font-weight:800;color:var(--pink-ink)}.tip-card{display:grid;gap:6px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--pink);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);margin-bottom:16px}.tip-card:active{background:var(--surface)}.tip-card.after{margin:10px 0 12px;box-shadow:none}.tip-k{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--pink-ink);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.tip-k small{font-weight:600;color:var(--muted);letter-spacing:0}.tip-text{font-size:15px;line-height:1.6}.tip-src{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:2px}.tip-src .chev{width:16px;height:16px}.column-note{margin:6px 0 0;font-size:12.5px;color:var(--muted);background:var(--surface);border-radius:6px;padding:6px 10px}.home-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.home-tool{display:grid;justify-items:center;gap:4px;text-align:center;font:inherit;color:inherit;cursor:pointer;background:var(--bg);border:1px solid rgba(19,19,23,.05);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 6px 12px;min-height:104px}.home-tool:active{background:var(--surface)}.home-tool strong{font-size:14px;line-height:1.3}.home-tool .sub{font-size:12px;color:var(--muted);line-height:1.3}.home-tool .coach-ic,.home-tool .learn-icon,.home-tool .calc-ic{margin:0 auto 2px}.member-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:4px}.member-filters .field{margin:0}.content-grid{display:grid;gap:12px}@media(min-width:900px){.content-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.content-preview{position:sticky;top:72px;max-height:calc(100vh - 200px);overflow:auto}}.content-preview .column-article{box-shadow:none;padding:0}.content-section-edit textarea{min-height:120px}.content-actions{position:sticky;bottom:calc(var(--nav-h) + var(--safe-b));z-index:5;background:var(--surface, #f6f6f7);padding:10px 0;margin-top:12px;display:grid;gap:8px;border-top:1px solid var(--line)}.badge.content-edited{background:#e8eef7;color:#1e3a5f}.badge.content-added{background:#e6f4ec;color:#276749}.badge.content-hidden{background:#f1f1f3;color:#6b6b70}.content-video-preview{display:grid;gap:8px}.home-book{margin-top:10px;background:#ffffffeb}.booking-days .chip{display:grid;justify-items:center;gap:0;min-width:72px;line-height:1.25;padding-top:6px;padding-bottom:6px}.booking-count{font-size:11px;font-weight:600;opacity:.8}.booking-slot{align-items:center;gap:10px}.booking-slot.mine{background:#f0f8f3}.booking-slot.full .title{color:var(--muted)}.res-slots{margin-left:auto}.slot-card{gap:8px}.home-tools{grid-template-columns:repeat(4,1fr)}.home-tool{padding-left:2px;padding-right:2px}.meal-card{display:grid;gap:10px}.meal-top{display:flex;gap:12px;align-items:flex-start}.meal-photo{width:96px;height:96px;object-fit:cover;border-radius:10px;flex:none;background:var(--surface)}.meal-preview{width:100%;max-height:320px;object-fit:contain;border-radius:10px;background:var(--surface)}.meal-total{font-weight:700}.meal-items{width:100%;border-collapse:collapse;font-size:13.5px}.meal-items th,.meal-items td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:right}.meal-items th:first-child,.meal-items td:first-child{text-align:left}.meal-comment{background:var(--pink-soft);border-radius:8px;padding:8px 10px}.meal-bar{display:grid;grid-template-columns:80px 1fr auto;gap:8px;align-items:center;font-size:13.5px}.meal-bar-track{height:10px;background:var(--surface-2);border-radius:99px;overflow:hidden}.meal-bar-fill{display:block;height:100%;background:var(--pink);border-radius:99px}.meal-bar-fill.over{background:#975a16}.meal-bar-v{font-size:12.5px;color:var(--muted);white-space:nowrap}.balance-q{display:flex;align-items:center;gap:6px}.balance-q .chip{min-width:64px;justify-content:center}.balance-chip{font:inherit;font-size:13px;font-weight:700;border-radius:99px;padding:4px 10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.balance-chip.yes{background:#e6f4ec;color:#276749;border-color:transparent}.balance-chip.no{background:#fdf0e6;color:#975a16;border-color:transparent}.balance-chip:disabled{opacity:1;cursor:default}.balance-chip:not(:disabled){min-height:44px;padding:6px 14px;font-size:14px}.auto-advice{background:var(--surface);border-left:4px solid var(--pink);border-radius:8px;padding:10px 12px}.week-balance{font-size:14px}.home-steps{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;border:0}.home-steps strong{font-size:18px}.home-steps .latest-more{margin-left:auto}.step-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.step-nums>div{display:grid;gap:2px}.step-nums .big{font-size:24px;line-height:1.1}.step-chart{position:relative;display:grid;grid-template-columns:repeat(14,1fr);align-items:end;gap:3px;height:140px;padding-bottom:18px}.step-col{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}.step-bar{width:100%;max-width:18px;background:var(--muted, #c9cbd3);border-radius:4px 4px 0 0}.step-bar.ok{background:var(--pink)}.step-day{position:absolute;bottom:-18px;font-size:10px;color:var(--sub, #6b6f7b)}.step-day.today{font-weight:700;color:var(--ink)}.step-goal-line{position:absolute;left:0;right:0;border-top:1px dashed var(--sub, #6b6f7b);margin-bottom:18px;pointer-events:none}.step-goal-line span{position:absolute;right:0;top:-16px;font-size:10px;color:var(--sub, #6b6f7b)}.step-token{display:block;word-break:break-all;font-size:13px;background:var(--surface);padding:8px 10px;border-radius:8px;-webkit-user-select:all;user-select:all}.step-list{margin:0;padding-left:1.4em;display:grid;gap:6px}.food-row{display:flex;align-items:center;gap:6px}.food-qty{width:auto;min-width:84px;padding:6px 8px}.food-list{display:grid;gap:4px;max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch}.food-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer}.food-item.on{border-color:var(--pink);background:var(--surface)}.column-refs ol{margin:0;padding-left:1.4em;display:grid;gap:6px;font-size:13px;line-height:1.6}.column-refs a{color:inherit;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.food-item>.grow{flex:1;min-width:0}.food-item>.num{min-width:72px;text-align:right}.brand-logo-custom{height:28px;max-width:140px;object-fit:contain;display:block}.brand-custom{max-width:240px;max-height:96px;object-fit:contain}.brand-logo-custom.on-dark,.brand-custom.on-dark{background:#fff;border-radius:8px;padding:4px 8px}.brand-text{display:inline-flex;align-items:baseline;gap:6px}.brand-text strong{font-family:var(--font-num);font-weight:800;font-size:20px;letter-spacing:.02em;color:var(--ink)}.brand-text.full strong{font-size:32px}.brand-text.on-dark strong{color:#fff}.brand-text small{font-size:10px;letter-spacing:.12em;color:var(--muted)}.goal-card.compact{cursor:pointer}.goal-bar{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}.goal-bar>span{display:block;height:100%;background:var(--grad, var(--pink));border-radius:99px;transition:width .3s}.goal-nums{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--ink-2)}.goal-nums b{color:var(--ink)}.counsel-form section{padding-top:6px;border-top:1px solid var(--line)}.counsel-form .chips.wrap{flex-wrap:wrap}.counsel-form .balance-q{align-items:flex-start}.counsel-form .balance-q .grow{font-size:14px;line-height:1.5}.counsel-row{display:grid;grid-template-columns:7.5em 1fr;gap:8px;font-size:14px}.counsel-row .k{color:var(--muted)}.goal-card{display:grid!important;grid-template-columns:minmax(0,1fr);gap:10px}.goal-card .goal-bar{width:100%}.setup-steps{margin:0;padding:0;list-style:none;display:grid;gap:4px}.setup-steps .link-btn{font:inherit;color:var(--ink);background:none;border:0;padding:6px 0;text-align:left;cursor:pointer;width:100%}.setup-steps li.done .link-btn{color:var(--muted);text-decoration:line-through}.insight-table td,.insight-table th{text-align:right}.insight-table td:first-child,.insight-table th:first-child{text-align:left}.meal-reply{background:var(--surface);border-left:3px solid var(--accent, #1e3a5f);border-radius:8px;padding:12px 14px;display:grid;gap:4px;font-size:16px;line-height:1.7}.meal-reply.pending{color:var(--muted);border-left-color:var(--line)}.coach-q.sos{border:2px solid var(--warn)}.coach-badge{margin-right:8px;white-space:nowrap}.coach-badge .num{background:var(--warn);color:#fff;border-radius:999px;padding:0 7px;margin-left:4px;font-size:12px}.coach-sample{white-space:pre-wrap;font-family:inherit;font-size:14px;background:var(--surface);border-radius:8px;padding:10px 12px;margin:0}.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
