@font-face{font-family:Geist\ Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist\ Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist\ Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist\ Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,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:Geist\ Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Geist Variable" , ui-sans-serif , system-ui , -apple-system , "Segoe UI" , sans-serif;--radius:14px;--radius-sm:10px;--sidebar-w:260px;--topbar-h:64px;--ease:cubic-bezier(.2,.7,.2,1)}[data-theme="dark"]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c0a;--bg-glow-1:#78a03c1a;--bg-glow-2:#465a8c14;--sidebar-bg:linear-gradient(180deg,#172012 0%,#121410 45%,#1d140f 100%);--sidebar-border:#ffffff0f;--surface:#ffffff06;--surface-2:#ffffff0d;--surface-solid:#141512;--border:#ffffff14;--border-strong:#ffffff29;--text:#f1f2ee;--muted:#9c9f97;--faint:#6d7069;--nav-active:#ffffff12;--pill-active-bg:#f4f4f1;--pill-active-text:#111210;--cta-bg:#c8f04a;--cta-text:#11140a;--cta-border:#d8f77a;--btn-bg:#f4f4f1;--btn-text:#111210;--good:#8fd16a;--watch:#f0b545;--risk:#f0765a;--focus:#c8f04a;--shadow:0 1px 0 #ffffff0a inset, 0 20px 40px -24px #000c;--overlay:#0009}[data-theme="light"]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f2ee;--bg-glow-1:#96be5a29;--bg-glow-2:#788cc81a;--sidebar-bg:linear-gradient(180deg,#eef2e2 0%,#f1f1ec 50%,#f3ece6 100%);--sidebar-border:#0000000f;--surface:#ffffff9e;--surface-2:#ffffffe6;--surface-solid:#fbfbf8;--border:#14161214;--border-strong:#14161229;--text:#141512;--muted:#6b6e67;--faint:#9a9d96;--nav-active:#fff;--pill-active-bg:#121310;--pill-active-text:#fff;--cta-bg:#557a1f;--cta-text:#fff;--cta-border:#4a6b1a;--btn-bg:#121310;--btn-text:#fff;--good:#4f8a2a;--watch:#c27c12;--risk:#d2432b;--focus:#557a1f;--shadow:0 1px 2px #1416120a, 0 18px 40px -28px #14161240;--overlay:#14161259}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:radial-gradient(900px 600px at 18% -10%,var(--bg-glow-1),transparent 60%) , radial-gradient(800px 700px at 100% 110%,var(--bg-glow-2),transparent 60%) , var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01" , "cv11";background-attachment:fixed;margin:0;font-size:15px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100%;display:grid}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;height:100vh;padding:18px 12px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:2px 10px 18px;text-decoration:none;display:flex}.brand-mark{flex:none;width:30px;height:30px}.brand-name{letter-spacing:-.02em;font-size:19px;font-weight:650}.brand-name i{color:var(--cta-bg);font-style:normal}[data-theme="light"] .brand-name i{color:var(--cta-bg)}.nav-group{margin-top:18px}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:0 12px 6px;font-size:11.5px;font-weight:550}.nav-item{color:var(--muted);border-radius:10px;align-items:center;gap:12px;padding:9px 12px;font-weight:500;text-decoration:none;transition:background .15s , color .15s;display:flex}.nav-item svg{opacity:.85;flex:none;width:18px;height:18px}.nav-item:hover{color:var(--text);background:var(--surface-2)}.nav-item.active{color:var(--text);background:var(--nav-active);box-shadow:var(--shadow)}.nav-item .soon{color:var(--faint);margin-left:auto;font-size:11px}.sidebar-foot{margin-top:auto;padding-top:16px}.gym-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.gym-card .meta{min-width:0}.gym-card .meta b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.gym-card .meta span{color:var(--muted);font-size:12.5px}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--topbar-h);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .context{align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.topbar .context span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar .spacer{flex:1}.content{width:100%;max-width:1480px;padding:32px 40px 64px}.imp-bar{z-index:25;color:var(--cta-text);background:var(--cta-bg);align-items:center;gap:12px;padding:8px 28px;font-size:14px;display:flex;position:sticky;top:0}.imp-bar>svg{flex:none;width:18px;height:18px}.imp-bar .imp-text{flex:1;min-width:0}.imp-bar .imp-note{opacity:.8}.imp-bar .btn{border-color:color-mix(in srgb,var(--cta-text) 35%,transparent);height:32px;color:var(--cta-text);background:0 0}.imp-bar .btn:hover{background:color-mix(in srgb,var(--cta-text) 12%,transparent)}.imp-bar+.topbar{top:48px}.initials{letter-spacing:.02em;color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:12.5px;font-weight:700;display:grid}.initials.lg{border-radius:11px;width:44px;height:44px;font-size:15px}.btn{border:1px solid var(--border-strong);height:40px;color:var(--text);cursor:pointer;transition:transform .12s var(--ease) , background .15s , opacity .15s;white-space:nowrap;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:550;text-decoration:none;display:inline-flex}.btn svg{width:17px;height:17px}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--btn-bg);color:var(--btn-text);border-color:#0000}.btn.primary:hover{opacity:.92}.btn.cta{background:var(--cta-bg);color:var(--cta-text);border-color:var(--cta-border)}.btn.cta:hover{opacity:.92}.btn.ghost{border-color:#0000}.btn.danger{color:var(--risk)}.btn.sm{height:34px;padding:0 12px;font-size:14px}.btn.icon{width:40px;padding:0}.btn.block{width:100%}.pills{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:4px;padding:4px;display:inline-flex}.pill{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:8px 16px 8px 12px;text-decoration:none;display:flex}.pill svg{flex:none;width:18px;height:18px}.pill b{color:var(--text);font-size:14.5px;font-weight:600;line-height:1.25;display:block}.pill small{color:var(--muted);font-size:12.5px;display:block}.pill.active{background:var(--pill-active-bg);color:var(--pill-active-text);box-shadow:var(--shadow)}.pill.active b,.pill.active small{color:var(--pill-active-text)}.pill.active small{opacity:.75}.badge{border:1px solid var(--border);background:var(--surface-2);height:26px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:550;display:inline-flex}.dot{border-radius:50%;flex:none;width:8px;height:8px}.dot.good{background:var(--good)}.dot.watch{background:var(--watch)}.dot.risk{background:var(--risk)}.text-good{color:var(--good)}.text-watch{color:var(--watch)}.text-risk{color:var(--risk)}.muted{color:var(--muted)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin:26px 0;display:flex}.eyebrow{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.eyebrow .date{color:var(--muted)}.h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(32px,4.2vw,50px);font-weight:700;line-height:1.04}.lead{color:var(--muted);text-wrap:pretty;max-width:62ch;margin:12px 0 0;font-size:17px}.head-actions{flex-wrap:wrap;gap:10px;display:flex}.kpis{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(4,1fr);margin-bottom:22px;display:grid;overflow:hidden}.kpi{border-left:1px solid var(--border);min-width:0;padding:18px 24px 20px}.kpi:first-child{border-left:0}.kpi span{color:var(--muted);font-size:14px;display:block}.kpi b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:26px;font-weight:650;display:block}.grid{gap:22px;display:grid}.grid.two{grid-template-columns:1.15fr 1fr}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);min-width:0;padding:24px 26px}.card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.card h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.card .sub{color:var(--muted);margin:4px 0 0}.list{flex-direction:column;display:flex}.row{border-top:1px solid var(--border);align-items:center;gap:14px;padding:14px 0;display:flex}.row:first-child{border-top:0;padding-top:4px}.row .grow{flex:1;min-width:0}.row .grow b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.row .grow span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.row .end{text-align:right;flex:none}.row .end b{font-variant-numeric:tabular-nums;font-weight:600;display:block}.row .end span{font-size:13.5px}.row-actions{flex:none;gap:6px;display:flex}.empty{text-align:center;color:var(--muted);padding:48px 20px}.empty svg{opacity:.6;width:34px;height:34px;margin-bottom:10px}.empty b{color:var(--text);margin-bottom:6px;font-size:17px;display:block}.form{gap:16px;display:grid}.form .cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field label{margin-bottom:6px;font-size:13.5px;font-weight:550;display:block}.field .hint{color:var(--muted);margin-top:6px;font-size:12.5px}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap .prefix{color:var(--muted);pointer-events:none;font-size:14px;position:absolute;left:12px}.input{border:1px solid var(--border-strong);background:var(--surface-2);width:100%;height:44px;color:var(--text);border-radius:10px;outline:none;padding:0 14px;transition:border-color .15s , box-shadow .15s}.input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 22%,transparent)}.input.has-prefix{padding-left:120px}.input-wrap .suffix{position:absolute;right:6px}.color-input{border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;border-radius:10px;width:44px;height:44px;padding:4px}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:6px 0 -4px;font-size:12px;font-weight:600}.alert{border:1px solid color-mix(in srgb,var(--risk) 40%,transparent);background:color-mix(in srgb,var(--risk) 10%,transparent);color:var(--text);border-radius:10px;padding:12px 14px;font-size:14px}.alert.ok{border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent)}.modal-back{z-index:60;background:var(--overlay);place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface-solid);border:1px solid var(--border);width:min(620px,100%);max-height:calc(100vh - 40px);animation:pop .18s var(--ease);border-radius:18px;padding:26px;overflow:auto;box-shadow:0 40px 80px -30px #0009}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.modal-head h2{letter-spacing:-.02em;margin:0;font-size:21px}.modal-foot{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.menu-wrap{position:relative}.menu{z-index:30;background:var(--surface-solid);border:1px solid var(--border);border-radius:12px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 40px -20px #00000080}.menu button{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.menu button:hover{background:var(--surface-2)}.menu button svg{width:17px;height:17px}.menu button .check{color:var(--good);margin-left:auto}.toast{z-index:80;background:var(--btn-bg);color:var(--btn-text);animation:pop .2s var(--ease);border-radius:12px;padding:12px 18px;font-weight:550;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 20px 40px -20px #0009}.auth{grid-template-columns:1.05fr 1fr;min-height:100%;display:grid}.auth-side{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;padding:40px 48px;display:flex;position:relative;overflow:hidden}.auth-side .big{margin-top:auto}.auth-side .big .h1{font-size:clamp(36px,4.6vw,60px)}.auth-route{opacity:.9;pointer-events:none;width:min(470px,70%);position:absolute;top:96px;right:24px}.auth-form{place-items:center;padding:40px 24px;display:grid}.auth-box{width:min(400px,100%)}.auth-box h2{letter-spacing:-.03em;margin:0 0 6px;font-size:28px}.auth-box .lead{margin:0 0 26px;font-size:15.5px}.auth-top{justify-content:space-between;align-items:center;display:flex}.loader{min-height:60vh;color:var(--muted);place-items:center;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{display:none}@media (width<=1100px){.grid.two{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(3){border-left:0}.kpi:nth-child(n+3){border-top:1px solid var(--border)}}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 16px;padding-top:env(safe-area-inset-top);height:calc(var(--topbar-h) + env(safe-area-inset-top))}.imp-bar{padding:calc(8px + env(safe-area-inset-top)) 16px 8px;flex-wrap:wrap;font-size:13px}.imp-bar+.topbar{height:var(--topbar-h);padding-top:0;position:static}.content{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.page-head{margin:12px 0 18px}.lead{font-size:15.5px}.kpi{padding:14px 16px 16px}.kpi b{font-size:22px}.card{padding:18px}.form .cols{grid-template-columns:1fr}.pills{max-width:100%;display:flex;overflow-x:auto}.pill small{display:none}.bottom-nav{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;background:color-mix(in srgb, var(--surface-solid) 88%, transparent);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:18px;grid-auto-columns:1fr;grid-auto-flow:column;padding:6px;display:grid;position:fixed;box-shadow:0 20px 40px -18px #0000008c}.bottom-nav a{color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;font-size:11.5px;font-weight:550;text-decoration:none;display:flex}.bottom-nav a svg{width:21px;height:21px}.bottom-nav a.active{color:var(--pill-active-text);background:var(--pill-active-bg)}.auth{grid-template-columns:1fr}.auth-side{border-right:0;border-bottom:1px solid var(--sidebar-border);padding:24px 20px 28px}.auth-side .big{margin-top:28px}.auth-route{display:none}.modal{border-radius:16px;padding:20px}.row-actions .label{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .search{flex:260px;position:relative}.toolbar .search svg{width:17px;height:17px;color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.toolbar .search .input{padding-left:38px}select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%) , linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 19px , calc(100% - 13px) 19px;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}textarea.input{resize:vertical;height:auto;min-height:72px;padding:11px 14px;line-height:1.45}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);min-width:40px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.chip[aria-pressed="true"]{background:var(--pill-active-bg);color:var(--pill-active-text);border-color:#0000}.tag{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:12.5px;display:inline-flex}.tag.on{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent)}.tag.off{color:var(--faint)}.tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.row .grow .tags span{font-size:12.5px;display:inline-flex}.link-row{border-radius:12px;margin:0 -10px;padding-left:10px;padding-right:10px;text-decoration:none;transition:background .15s}.link-row:hover{background:var(--surface-2)}.back{color:var(--muted);align-items:center;gap:6px;font-size:14px;font-weight:550;text-decoration:none;display:inline-flex}.back:hover{color:var(--text)}.back svg{width:16px;height:16px}.plan-card{flex-direction:column;gap:14px;display:flex}.plan-days{flex-wrap:wrap;gap:6px;display:flex}.plan-days span{border:1px solid var(--border);width:30px;height:30px;color:var(--faint);border-radius:8px;place-items:center;font-size:12.5px;font-weight:650;display:grid}.plan-days span.on{background:var(--cta-bg);color:var(--cta-text);border-color:#0000}.archive{margin-top:6px}.archive summary{cursor:pointer;color:var(--muted);font-size:14px;font-weight:550}.editor{gap:22px;display:grid}.editor-bar{z-index:15;background:color-mix(in srgb,var(--surface-solid) 90%,transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:10px;display:flex;position:sticky;bottom:16px;box-shadow:0 20px 40px -20px #00000080}.editor-bar .alert{margin-right:auto;padding:8px 12px}.day-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px}.day-card-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.day-card-head .day-badge{background:var(--cta-bg);width:42px;height:42px;color:var(--cta-text);border-radius:11px;flex:none;place-items:center;font-weight:700;display:grid}.ex-head,.ex-row{grid-template-columns:26px minmax(160px,2.2fr) 70px 96px minmax(90px,1fr) 90px 136px;align-items:center;gap:8px;display:grid}.ex-head{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:0 0 6px;font-size:12px;font-weight:600}.ex-row{border-top:1px solid var(--border);padding:6px 0}.ex-row .input{height:40px;padding:0 10px}.ex-row .num{color:var(--faint);text-align:center;font-size:13px;font-weight:600}.ex-row .ex-actions{gap:2px;display:flex}.ex-row .ex-actions .btn{width:32px;height:32px;padding:0}.ex-notes{grid-column:2/-1}.slot-row{border-top:1px solid var(--border);grid-template-columns:130px 1fr 110px;align-items:start;gap:10px;padding:10px 0;display:grid}.slot-row:first-child{border-top:0}.slot-row>b{padding-top:11px}.sup-row{border-top:1px solid var(--border);grid-template-columns:minmax(140px,1.4fr) 110px 170px 140px 100px auto;align-items:center;gap:8px;padding:6px 0;display:grid}.sup-row .input{height:40px;padding:0 10px}.sup-row select.input{background-position:calc(100% - 16px) 17px , calc(100% - 11px) 17px}.check{cursor:pointer;align-items:center;gap:10px;font-weight:550;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--cta-bg)}@media (width<=900px){.card-head{flex-wrap:wrap}.ex-head{display:none}.ex-row{grid-template-columns:1fr 1fr 1fr;padding:12px 0}.ex-row .num{display:none}.ex-row .ex-name{grid-column:1/-1}.ex-row .ex-actions{grid-column:1/-1;justify-content:flex-end}.ex-notes{grid-column:1/-1}.slot-row{grid-template-columns:1fr 110px}.slot-row>b{grid-column:1/-1;padding-top:0}.sup-row{grid-template-columns:1fr 1fr;padding:12px 0}.sup-row .sup-name{grid-column:1/-1}.editor-bar{bottom:calc(86px + env(safe-area-inset-bottom))}}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.ex-card{text-align:left;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:14px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.ex-card.pick{cursor:pointer;transition:border-color .15s , transform .12s var(--ease)}.ex-card.pick:hover{border-color:var(--border-strong)}.ex-card.picked{border-color:var(--cta-bg);box-shadow:0 0 0 2px var(--cta-bg) inset}.ex-card-body{padding:10px 12px 12px}.ex-card-body b{font-size:14.5px;font-weight:600;line-height:1.3;display:block}.ex-card-actions{gap:4px;display:flex;position:absolute;top:8px;right:8px}.ex-card-actions .btn{background:color-mix(in srgb,var(--surface-solid) 85%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ex-check{background:var(--cta-bg);width:28px;height:28px;color:var(--cta-text);border-radius:999px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.ex-check svg{width:17px;height:17px}.ex-img{aspect-ratio:3/2;background:#e9e9e4;position:relative;overflow:hidden}.ex-img img{object-fit:cover;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.ex-img img.alt{opacity:0}.ex-card:hover .ex-img img.alt,.ex-img:hover img.alt{opacity:1}.ex-img.empty{background:var(--surface);color:var(--faint);place-items:center;display:grid}.ex-img.empty svg{width:30px;height:30px}.ex-img.thumb{aspect-ratio:auto;border-radius:6px;width:26px;height:26px}.ex-img.thumb img.alt{display:none}.ex-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ex-pair figure{margin:0}.ex-pair img{border-radius:12px;width:100%;display:block}.ex-pair figcaption{color:var(--muted);margin-top:6px;font-size:13px}.modal:has(.ex-grid){width:min(1040px,100%)}@media (width<=900px){.ex-grid{grid-template-columns:repeat(2,1fr);gap:10px}.ex-pair{grid-template-columns:1fr}.toolbar .pills{width:100%}.ex-row .num{text-align:left;grid-column:1/-1;display:block}.ex-row .num:not(:has(.ex-img)){display:none}.ex-img.thumb{aspect-ratio:3/2;border-radius:10px;width:100%;height:auto}.chips{scrollbar-width:none;flex-wrap:nowrap;margin-right:-16px;padding-bottom:2px;padding-right:16px;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{flex:none}}