@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0udrnr4-18tjo.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.18lx4otehud-r.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.1br53b7gww62p.woff2)format("woff2");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}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.3bgaltqld2gq2.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.0mlt1uo-cplt-.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.22m3f6pvfu2zf.woff2)format("woff2");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}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.35qbt1_6db49h.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.1-vmsm_v03uvy.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.092z1_2w2m55_.woff2)format("woff2");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}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8ffc259da9d23054-s.p.2heyes1wqz_kz.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9e486ba39c38fb8a-s.37omzjo7pfhh3.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6f42e0a3b0519c4d-s.p.31-z0m_4g_6pa.woff2)format("woff2");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}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.NpdJNG_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.NpdJNG_variable{--font-sans:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.p.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.p.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.p.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}._9uOsmG_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}._9uOsmG_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--accent:#2b63e0;--bg:#f6f7f9;--surface:#fff;--surface-2:#f2f4f7;--border:#e4e7ec;--border-strong:#d0d5dd;--text:#14171c;--text-2:#475061;--text-3:#5f6876;--header-bg:#f6f7f9db;--accent-soft:#edf2fd;--accent-line:#bfd0f6;--accent-text:#1f4fbf;--shadow:0 1px 2px #1018280a, 0 2px 8px #1018280a;--pv-bg:#fff;--pv-dim:#eef0f3;--pv-line:#e2e5ea;--pv-ink:#c5cad3;--pv-page:#fff;--pv-canvas:#f0f2f5;--tint-mix:100%}[data-theme=dark]{--bg:#0f1114;--surface:#16191d;--surface-2:#1d2126;--border:#262b32;--border-strong:#363c45;--text:#e7e9ec;--text-2:#b3bac5;--text-3:#929aa6;--header-bg:#0f1114db;--accent-soft:#1a2540;--accent-line:#2e4478;--accent-text:#9db9f7;--shadow:0 1px 2px #00000059;--pv-bg:#1e2227;--pv-dim:#262b31;--pv-line:#30363e;--pv-ink:#454c57;--pv-page:#2a2f36;--pv-canvas:#1a1d21;--tint-mix:60%}html{background:var(--bg)}body{margin:0}.sr{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;font-family:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;font-size:14px;line-height:1.5}.sr *{box-sizing:border-box}.sr h1,.sr h2,.sr h3,.sr p,.sr ul,.sr ol{margin:0}.sr ul,.sr ol{padding:0;list-style:none}:where(.sr) button{font:inherit;color:inherit;cursor:pointer}.sr :focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(.sr) a{color:var(--accent-text)}:where(.sr) a:hover{color:var(--text)}.ic{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none}.mono{font-family:var(--font-mono), ui-monospace, SFMono-Regular, Menlo, monospace}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px}.ell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:11.5px;font-weight:600}.sr-header{z-index:20;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.sr-header-in{justify-content:space-between;align-items:center;gap:12px;max-width:1240px;height:60px;margin:0 auto;padding:0 24px;display:flex}.sr-main{flex-direction:column;gap:24px;max-width:1240px;margin:0 auto;padding:28px 24px 56px;display:flex}.navlink{height:40px;color:var(--text-2);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.navlink:hover{background:var(--surface-2);color:var(--text)}.btn{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff29,0 1px 2px #10182824}.btn-primary:hover{color:#fff;background:#2354c4}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-lg{border-radius:12px;height:48px;padding:0 22px;font-size:15px}.btn-xl{border-radius:12px;height:52px;padding:0 26px;font-size:15.5px}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-text{height:34px;color:var(--text-2);background:0 0;margin-left:auto;padding:0 10px;font-size:13px;font-weight:500}.icon-btn{width:40px;height:40px;color:var(--text-3);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.kc{font-family:var(--font-mono), ui-monospace, monospace;background:var(--surface);border:1px solid var(--border-strong);min-width:26px;height:26px;box-shadow:0 1.5px 0 var(--border-strong);color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.kc-sm{min-width:22px;height:22px;padding:0 5px;font-size:11px}.stepno{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-text);border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.card-title{font-size:15px;font-weight:650}.drop{text-align:center;border:1.5px dashed var(--border-strong);background:var(--surface-2);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:188px;padding:24px 20px;transition:border-color .15s,background .15s;display:flex;position:relative}.drop:hover,.drop.is-over{border-color:var(--accent);background:var(--accent-soft)}.drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}.brow{border:1px solid #0000;border-radius:10px;align-items:center;gap:2px;padding-right:4px;display:flex}.brow:hover{background:var(--surface-2)}.brow.is-sel{background:var(--accent-soft);border-color:var(--accent-line)}.brow-main{text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;min-height:52px;padding:8px 10px;display:flex}.ext{border:1px solid var(--border);background:var(--surface);width:40px;height:30px;color:var(--text-2);letter-spacing:.02em;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:9.5px;font-weight:500;display:inline-flex}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.pill-accent{background:var(--accent);color:#fff}.tabs{scrollbar-width:none;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.tab{height:32px;color:var(--text-2);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.tab:hover{background:var(--surface-2);color:var(--text)}.tab.is-on{background:var(--text);color:var(--surface)}.tab .n{opacity:.65;font-variant-numeric:tabular-nums;font-size:11px}.search{flex:220px;max-width:300px;position:relative}.search .ic{color:var(--text-3);pointer-events:none;position:absolute;top:10px;left:11px}.input{border:1px solid var(--border);background:var(--surface);width:100%;height:36px;font:inherit;color:var(--text);border-radius:9px;padding:0 12px 0 34px;font-size:13.5px}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(128px,100%),1fr));grid-auto-rows:132px;gap:10px;display:grid}.tile{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;gap:1px;min-width:0;padding:6px 6px 9px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.tile.is-sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tile-media{border-radius:8px;flex:none;height:70px;margin-bottom:6px;display:block;position:relative;overflow:hidden}.tile-icon{justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:absolute;inset:0}.tile-peek{opacity:0;box-shadow:inset 0 0 0 1px var(--border);transition:opacity .2s,transform .2s;position:absolute;inset:0;transform:scale(1.05)}.tile:hover .tile-peek,.tile:focus-visible .tile-peek{opacity:1;transform:none}.tile:hover .tile-icon,.tile:focus-visible .tile-icon{opacity:0}.tick{background:var(--accent);color:#fff;width:20px;height:20px;box-shadow:0 0 0 2px var(--surface);z-index:2;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.tile-name{color:var(--text);padding:0 4px;font-size:13px;font-weight:600}.tile-cat{color:var(--text-3);padding:0 4px;font-size:11.5px}.pv{box-shadow:inset 0 0 0 1px var(--border);border-radius:8px;flex:none;position:relative;overflow:hidden}.pr{border-radius:1px;display:block;position:absolute}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:0 11px;font-size:13px;font-weight:500}.seg button:hover{color:var(--text)}.seg button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #10182824, 0 0 0 1px var(--border)}.num{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;height:38px;display:inline-flex}.num button{width:34px;height:36px;color:var(--text-2);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.num button:hover{background:var(--surface-2);color:var(--text)}.num span{text-align:center;font-variant-numeric:tabular-nums;min-width:46px;font-size:13px;font-weight:600}.switch{background:var(--border-strong);border:0;border-radius:999px;flex:none;width:42px;height:24px;padding:0;transition:background .15s;position:relative}.switch.is-on{background:var(--accent)}.switch .knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch.is-on .knob{transform:translate(18px)}.opt{flex-direction:column;gap:6px;display:flex}.opt-label{color:var(--text-3);font-size:12px;font-weight:500}.dot{border:1.5px solid var(--border-strong);width:28px;height:28px;color:var(--text-3);background:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.dot.is-done{background:var(--accent);border-color:var(--accent);color:#fff}.dot.is-cur{border-color:var(--accent);color:var(--accent-text);box-shadow:0 0 0 4px var(--accent-soft)}.bar{background:var(--surface-2);height:6px;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;overflow:hidden}.bar span{background:var(--accent);border-radius:999px;height:100%;display:block}@media (max-width:760px){.lbl,.hide-sm{display:none}.btn-xl{width:100%}.icon-btn{width:44px;height:44px}}.btn-sm{border-radius:9px;height:34px;padding:0 12px;font-size:13px;font-weight:500}.btn-danger{color:#fff;background:#c8362d}.btn-danger:hover{color:#fff;background:#a92b24}.icon-sm{width:34px;height:34px}.seg-sm button{height:26px;padding:0 9px;font-size:12px}.drop.is-hot{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.bar span.is-wait{opacity:.45;animation:1.2s ease-in-out infinite alternate bar-wait}@keyframes bar-wait{0%{opacity:.2}to{opacity:.6}}.note-err{color:var(--text);background:color-mix(in srgb, #c8362d 10%, var(--surface));border:1px solid color-mix(in srgb, #c8362d 35%, var(--border));border-radius:10px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:13px;display:flex}.home-grid{grid-template-columns:minmax(0,3.5fr) minmax(0,6.5fr);align-items:stretch;gap:16px;display:grid}@media (max-width:960px){.home-grid{grid-template-columns:minmax(0,1fr)}}.up-card{flex-direction:column;gap:14px;display:flex}.up-main,.up-lib{flex-direction:column;gap:14px;min-width:0;display:flex}.search.search-sm{flex:0 auto}.search.search-sm .input{height:32px}.search.search-sm .ic{top:8px}.lib{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;gap:4px;max-height:420px;margin:-4px -6px 0;display:flex;overflow-y:auto}.tile.is-off{opacity:.4;cursor:not-allowed}.tile.is-off:hover{border-color:var(--border);box-shadow:none}.tile.is-off:hover .tile-peek{opacity:0}.tile.is-off:hover .tile-icon{opacity:1}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.input.plain{padding-left:12px}.textarea{border:1px solid var(--border);background:var(--surface);width:100%;font:inherit;color:var(--text);resize:vertical;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.55}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.preview{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dlg{border:1px solid var(--border);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;border-radius:14px;padding:0;font-size:14px;line-height:1.5;box-shadow:0 24px 64px #00000047}.dlg[open]{flex-direction:column;display:flex}.dlg::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c1080}.dlg[open]{animation:.22s cubic-bezier(.2,.9,.3,1.15) dlg-in}.dlg[open]::backdrop{animation:.2s ease-out dlg-fade}.dlg.is-closing{animation:.16s ease-in forwards dlg-out}.dlg.is-closing::backdrop{animation:.16s ease-in reverse forwards dlg-fade}@keyframes dlg-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes dlg-out{to{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes dlg-fade{0%{opacity:0}}.dlg-step{flex-direction:column;gap:14px;animation:.24s ease-out dlg-step;display:flex}@keyframes dlg-step{0%{opacity:0;transform:translate(8px)}}@media (prefers-reduced-motion:reduce){.dlg[open],.dlg[open]::backdrop,.dlg.is-closing,.dlg.is-closing::backdrop,.dlg-step{animation:none}}.dlg *{box-sizing:border-box}.dlg h3,.dlg p{margin:0}.dlg button{font:inherit;cursor:pointer}.dlg-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 10px 14px 18px;display:flex}.dlg-titles{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dlg-sub{color:var(--text-3);font-size:12.5px;line-height:1.4}.dlg-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-line);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.dlg-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.dlg-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.sel{--sel-h:36px;--sel-r:9px;--sel-fs:13.5px;--sel-px:12px;--sel-bg:var(--surface);--sel-fg:var(--text);--sel-dim:var(--text-3);--sel-bd:var(--border);--sel-bd-hover:var(--border-strong);--sel-hover:var(--surface-2);--sel-accent:var(--accent);--sel-ring:var(--accent-soft);--sel-on-fg:var(--accent-text);--sel-menu:var(--surface);--sel-shadow:0 12px 32px #0000002e;width:100%;min-width:0;display:inline-flex}.sel,.sel *{box-sizing:border-box}.sel-compact{--sel-h:24px;--sel-r:4px;--sel-fs:12px;--sel-px:7px}.sel-btn{width:100%;min-width:0;height:var(--sel-h);padding:0 calc(var(--sel-px) - 3px) 0 var(--sel-px);border-radius:var(--sel-r);border:1px solid var(--sel-bd);background:var(--sel-bg);color:var(--sel-fg);font:inherit;font-size:var(--sel-fs);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;transition:border-color .12s,box-shadow .12s;display:flex}.sel-btn:hover{border-color:var(--sel-bd-hover)}.sel-btn:focus-visible,.sel-btn[aria-expanded=true]{border-color:var(--sel-accent);box-shadow:0 0 0 3px var(--sel-ring);outline:none}.sel-val{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sel-btn .ic{color:var(--sel-dim);transition:transform .15s}.sel-btn[aria-expanded=true] .ic{transform:rotate(180deg)}.sel-menu{z-index:80;border-radius:calc(var(--sel-r) + 1px);border:1px solid var(--sel-bd);background:var(--sel-menu);max-width:min(380px,100vw - 16px);color:var(--sel-fg);box-shadow:var(--sel-shadow);font-size:var(--sel-fs);scrollbar-width:thin;padding:4px;font-weight:400;line-height:1.4;animation:.12s ease-out sel-in;position:fixed;top:0;left:0;overflow-y:auto}.sel-opt{min-height:calc(var(--sel-h) - 4px);padding:0 calc(var(--sel-px) - 4px);border-radius:max(2px, calc(var(--sel-r) - 3px));cursor:pointer;white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sel-opt>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.sel-opt.on{background:var(--sel-hover)}.sel-opt[aria-selected=true]{color:var(--sel-on-fg);font-weight:600}.sel-opt .ic{color:var(--sel-accent)}.sel-group{padding:7px calc(var(--sel-px) - 4px) 3px;letter-spacing:.3px;text-transform:uppercase;color:var(--sel-dim);font-size:.82em;font-weight:600}@keyframes sel-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sel-menu{animation:none}.sel-btn,.sel-btn .ic{transition:none}}.pop-wrap{display:inline-flex;position:relative}.pop{z-index:30;border:1px solid var(--border);background:var(--surface);width:min(320px,100vw - 32px);color:var(--text);border-radius:12px;flex-direction:column;gap:10px;padding:14px;font-size:13px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #0000002e}.avatar{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);border:1px solid var(--accent-line);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.muted{color:var(--text-3);font-size:12.5px}.pill-ok{background:color-mix(in srgb, #16a34a 14%, var(--surface));color:color-mix(in srgb, #15803d 85%, var(--text));border:1px solid color-mix(in srgb, #16a34a 35%, var(--border))}.pill-soft{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-line)}.pill-warn{background:color-mix(in srgb, #c8362d 12%, var(--surface));color:var(--text);border:1px solid color-mix(in srgb, #c8362d 35%, var(--border))}.note-info{color:var(--text);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:10px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:13px;display:flex}.brow.is-missing .brow-main{cursor:default}.brow.is-missing .ext{color:var(--text-3);border-style:dashed}.dl-ic .dl-arrow,.dl-ic .dl-tray{transform-box:view-box;transform-origin:12px 20px}.dl-btn:hover:not(:disabled) .dl-arrow{animation:.6s ease-in-out dl-nudge}.dl-btn:active:not(:disabled){transform:scale(.92)}.dl-btn{transition:transform .12s,background .15s,color .15s}.brow{flex-wrap:wrap}.icon-btn.is-on{background:var(--surface);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-line)}.brow-drop{flex:1 0 100%;grid-template-rows:1fr;animation:.26s cubic-bezier(.2,.8,.2,1) backwards drop-open;display:grid}.brow-drop.is-closing{animation:.2s ease-in forwards drop-close}.brow-drop-in{min-height:0;overflow:hidden}.drop-row{flex-wrap:wrap;align-items:center;gap:8px;padding:2px 6px 10px 12px;animation:.26s cubic-bezier(.2,.8,.2,1) backwards drop-slide;display:flex}.brow-drop.is-closing .drop-row{animation:.2s ease-in forwards drop-slide-out}.drop-ic{color:var(--accent-text);display:inline-flex}.drop-label{min-width:0;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;font-size:13px;overflow:hidden}.drop-label.is-wrap{white-space:normal;flex-basis:100%}.drop-input{flex:160px;min-width:0;height:34px}@keyframes drop-open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes drop-close{0%{grid-template-rows:1fr}to{grid-template-rows:0fr}}@keyframes drop-slide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes drop-slide-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.drop-ic .dl-arrow{animation:.3s ease-out dl-in}.dl-progress .dl-arrow{animation:1.1s ease-in-out infinite dl-loop}.dl-progress .dl-ic{color:var(--accent-text)}@keyframes dl-nudge{0%,to{transform:none}50%{transform:translateY(2.5px)}}@keyframes dl-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes dl-loop{0%{opacity:0;transform:translateY(-7px)}30%,60%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.dl-btn .dl-arrow,.brow-drop,.drop-row,.drop-ic .dl-arrow,.dl-progress .dl-arrow{animation:none!important}}.tile-tag{z-index:2;background:var(--surface);color:var(--text-2);box-shadow:0 0 0 1px var(--border);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.5;position:absolute;bottom:5px;left:5px}.rows{border:1px solid var(--border);border-radius:10px;flex-direction:column;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rows>li{align-items:center;gap:8px;min-height:38px;padding:6px 8px 6px 12px;font-size:13px;display:flex}.rows>li+li{border-top:1px solid var(--border)}.check{color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.tiles-stat{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.stat{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.days{border-bottom:1px solid var(--border-strong);align-items:flex-end;gap:2px;height:96px;margin:0;padding:0;list-style:none;display:flex}.days>li{flex:1 1 0;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative}.days .day-bar{background:var(--accent-text);border-radius:4px 4px 0 0;width:100%;max-width:24px;min-height:0;margin:0 auto;display:block}.days>li:hover,.days>li:focus-visible{background:var(--surface-2)}.days>li:hover .day-bar{opacity:.8}.placeholder-box{text-align:center;border:1.5px dashed var(--border-strong);background:var(--surface-2);min-height:180px;color:var(--text-2);border-radius:12px;justify-content:center;align-items:center;padding:16px;font-weight:600;display:flex}.linklike{color:var(--accent-text);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:500;text-decoration:underline}.linklike:hover{color:var(--text)}.vsc{-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Ubuntu,sans-serif;font-size:13px;line-height:1.4;position:fixed;inset:0;overflow:hidden}.vsc *{box-sizing:border-box}.vsc button{font:inherit}.vsc-mono{font-family:var(--font-mono), Menlo, Monaco, Consolas, monospace;font-variant-ligatures:none}.vsc-toolbar{scrollbar-width:none;overflow-x:auto}.reader-bar{z-index:60;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;height:35px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Ubuntu,sans-serif;font-size:13px;line-height:1.4;position:fixed;top:0;left:0;right:0;overflow:hidden}.reader-bar *{box-sizing:border-box}.reader-bar button{font:inherit}.reader-stage{position:fixed;bottom:0;left:0;right:0;transform:translateZ(0)}.reader-placing,.reader-placing *{cursor:crosshair!important}.reader-bar-toggle{z-index:61;color:#fff;white-space:nowrap;cursor:pointer;opacity:.55;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#5a5a608c;border:0;border-radius:15px;height:30px;padding:0 12px;font:500 12px/1 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;transition:opacity .15s,background .15s;position:fixed;bottom:16px;right:16px}.reader-bar-toggle:hover,.reader-bar-toggle:focus-visible{opacity:1;background:#3c3c42d9}.reader-bar-toggle span{opacity:.7;font-weight:400}@media (prefers-reduced-motion:reduce){.reader-stage,.reader-bar .vsc-toolbar{transition:none!important}}.vsc-scroll{scrollbar-width:thin;scrollbar-color:#79797966 transparent}.vsc-caret{animation:1s step-end infinite vsc-caret-blink}@keyframes vsc-caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.vsc-caret{animation:none}}.adm{--series-1:#2a78d6;--series-2:#eb6834;--grid:var(--border)}[data-theme=dark] .adm{--series-1:#3987e5;--series-2:#d95926}.adm-tabs{gap:4px;display:flex}.adm-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.adm-tile{flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.adm-tile .k{color:var(--text-3);font-size:12.5px;font-weight:500}.adm-tile .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:650;line-height:1.2}.adm-tile .s{color:var(--text-2);font-size:12.5px}.adm-live{background:#1baf7a;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block;box-shadow:0 0 0 3px #1baf7a40}.adm-panel{flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.adm-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.adm-two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.adm-legend{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.adm-legend span{align-items:center;gap:6px;display:inline-flex}.adm-sw{border-radius:3px;flex:none;width:10px;height:10px}.adm-sw.s1,.adm-share .fill{background:var(--series-1)}.adm-sw.s2{background:var(--series-2)}.adm-chart{width:100%;position:relative}.adm-chart svg{display:block;overflow:visible}.adm-chart .gridline{stroke:var(--grid);stroke-width:1px}.adm-chart .axis{fill:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.adm-chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.adm-chart .s1{stroke:var(--series-1);fill:var(--series-1)}.adm-chart .s2{stroke:var(--series-2);fill:var(--series-2)}.adm-chart .line.s1,.adm-chart .line.s2{fill:none}.adm-chart .dot{stroke:var(--surface);stroke-width:2px}.adm-chart .cross{stroke:var(--text-3);stroke-width:1px;stroke-dasharray:3 3}.adm-chart .bar{fill:var(--series-1)}.adm-chart .bar.dim{opacity:.55}.adm-tip{pointer-events:none;z-index:5;background:var(--surface);border:1px solid var(--border);min-width:140px;color:var(--text);white-space:nowrap;border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12.5px;display:flex;position:absolute;box-shadow:0 8px 24px #00000024}.adm-tip .t{color:var(--text-2);font-weight:600}.adm-tip .r{align-items:center;gap:6px;display:flex}.adm-tip .r b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.adm-empty{text-align:center;color:var(--text-3);padding:28px 0;font-size:13px}.adm-share{flex-direction:column;gap:10px;display:flex}.adm-share .row{grid-template-columns:110px 1fr 92px;align-items:center;gap:10px;font-size:13px;display:grid}.adm-share .track{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.adm-share .fill{border-radius:999px;height:100%;display:block}.adm-share .val{text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums}.adm-table{border-collapse:collapse;width:100%;font-size:13px}.adm-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:11.5px;font-weight:600}.adm-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}.adm-table td.n,.adm-table th.n{text-align:right;font-variant-numeric:tabular-nums}.adm-table tbody tr.click{cursor:pointer}.adm-table tbody tr.click:hover{background:var(--surface-2)}.adm-scroll{overflow-x:auto}.adm-user{align-items:center;gap:10px;min-width:0;display:flex}.adm-user .who{flex-direction:column;min-width:0;display:flex}.adm-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.adm-tools .input{width:min(320px,100%)}.adm-pager{color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.adm-kv{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.adm-danger{border:1px solid color-mix(in srgb, #c8362d 35%, var(--border));border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.adm-details summary{cursor:pointer;color:var(--text-2);font-size:13px}.adm-details[open] summary{margin-bottom:8px}@media (max-width:640px){.adm-share .row{grid-template-columns:80px 1fr 80px}.adm-tile .v{font-size:22px}}.lk-input{align-items:center;display:flex;position:relative}.lk-input>.ic{color:var(--text-3);pointer-events:none;transition:color .15s;position:absolute;left:12px}.lk-input:focus-within>.ic{color:var(--accent)}.lk-input .input{border-radius:11px;height:44px;padding-left:38px;padding-right:74px;font-size:14px;transition:border-color .15s,box-shadow .15s}.lk-paste{border:1px solid var(--border);background:var(--surface-2);height:32px;color:var(--text-2);border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex;position:absolute;right:6px}.lk-paste:hover{color:var(--text);border-color:var(--border-strong)}.lk-tip{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:12px;padding:12px 14px;animation:.3s ease-out 80ms both dlg-step;display:flex}.lk-tip-ic{background:var(--surface);width:32px;height:32px;color:var(--accent);box-shadow:0 0 0 1px var(--border);border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.lk-tip b{font-size:13.5px;font-weight:600}.lk-tip p{color:var(--text-2);margin-top:2px;font-size:12.5px;line-height:1.5}.lk-ok{color:#1a8a5f;align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:600;display:inline-flex}[data-theme=dark] .lk-ok{color:#4fd1a1}.fb-shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.fb-shot{aspect-ratio:4/3;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;margin:0;animation:.2s ease-out dlg-step;position:relative;overflow:hidden}.fb-shot img{object-fit:cover;width:100%;height:100%;display:block}.fb-shot figcaption{color:#fff;background:#0000008c;border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;bottom:6px;left:6px}.fb-shot.is-err{border-color:color-mix(in srgb, #c8362d 55%, var(--border))}.fb-shot.is-err img{opacity:.4}.fb-shot.is-err figcaption{background:#c8362d}.fb-shot-x{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;top:6px;right:6px}.fb-shot-x:hover{background:#000c}.fb-drop{aspect-ratio:4/3;border:1.5px dashed var(--border-strong);color:var(--text-2);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.fb-drop small{color:var(--text-3);text-align:center;padding:0 6px;font-size:11px;font-weight:400}.fb-drop:hover,.fb-drop.is-over{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.fb-hint{color:var(--text-3);font-size:12px}.fb-hint.is-err{color:#c8362d}.fb-done{text-align:center;align-items:center;gap:8px;padding:18px 8px 8px}.fb-done-ic{color:#1a8a5f;background:color-mix(in srgb, #1a8a5f 14%, var(--surface));border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;animation:.35s cubic-bezier(.3,1.5,.6,1) fb-pop;display:inline-flex}[data-theme=dark] .fb-done-ic{color:#4fd1a1}.fb-done b{font-size:16px}.fb-done p{color:var(--text-2);max-width:340px;font-size:13.5px;line-height:1.5}@keyframes fb-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.fb-drop small{display:none}}@media (prefers-reduced-motion:reduce){.fb-shot,.fb-done-ic{animation:none}}.spin{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.lk-tip{animation:none}.spin{animation-duration:1.6s}}.hl{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px;display:grid}.hl-card{align-items:flex-start;gap:18px;padding:18px;display:flex;overflow:hidden}.hl-body{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.hl-title{letter-spacing:-.01em;font-size:17px;font-weight:650;line-height:1.3}.hl-lead{color:var(--text-2);font-size:13.5px;line-height:1.55}.hl-kbd{vertical-align:-3px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:6px;padding:2px 4px;display:inline-flex}.hl-points{flex-direction:column;gap:5px;margin:2px 0 0;padding:0;list-style:none;display:flex}.hl-points li{color:var(--text);align-items:flex-start;gap:7px;font-size:13px;line-height:1.45;display:flex}.hl-points li .ic{color:var(--accent-text);flex:none;margin-top:2px}.hl-epub{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, var(--surface)) 0%, color-mix(in srgb, #22c1c3 8%, var(--surface)) 55%, var(--surface) 100%)}.hl-ext{background:linear-gradient(135deg, color-mix(in srgb, #8b5cf6 14%, var(--surface)) 0%, color-mix(in srgb, #ec4899 7%, var(--surface)) 55%, var(--surface) 100%)}.hl-ext .hl-art{background:color-mix(in srgb, #8b5cf6 12%, var(--surface));border-color:color-mix(in srgb, #8b5cf6 28%, var(--border))}.hl-art{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:14px;flex:none;justify-content:center;align-items:center;width:104px;height:120px;display:flex;position:relative}.hl-book{background:var(--surface);border:1px solid var(--border-strong);width:52px;height:66px;box-shadow:inset 6px 0 0 color-mix(in srgb, var(--accent) 70%, var(--surface)), var(--shadow);border-radius:4px 8px 8px 4px;justify-content:center;align-items:flex-end;padding-bottom:8px;animation:3.2s ease-in-out infinite hl-float;display:flex;position:relative}.hl-book-ext{font:700 9.5px/1 var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;background:var(--accent);color:#fff;border-radius:3px;margin-left:6px;padding:3px 4px}.hl-drop{background:var(--accent);color:#fff;width:30px;height:30px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:12px;right:12px}.hl-drop .ic{animation:1.6s ease-in-out infinite dl-nudge}.hl-page{background:var(--surface);border:1px solid var(--border-strong);width:60px;height:74px;box-shadow:var(--shadow);border-radius:6px;flex-direction:column;gap:7px;padding:12px 9px;display:flex}.hl-line{background:var(--border-strong);border-radius:2px;height:4px;display:block}.hl-line-short{width:60%}.hl-line-hot{background:var(--accent);transform-origin:0;animation:2.4s ease-in-out infinite hl-scan}.hl-puzzle{background:var(--surface);width:32px;height:32px;color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-line), var(--shadow);border-radius:9px;justify-content:center;align-items:center;animation:3.2s ease-in-out infinite reverse hl-float;display:inline-flex;position:absolute;top:10px;right:10px}@keyframes hl-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes hl-scan{0%{opacity:.5;transform:scaleX(.15)}50%{opacity:1;transform:scaleX(1)}to{opacity:.5;transform:scaleX(1)}}@media (max-width:520px){.hl-card{flex-direction:column}.hl-art{width:100%;height:96px}}@media (prefers-reduced-motion:reduce){.hl-book,.hl-puzzle,.hl-line-hot,.hl-drop .ic{animation:none}}.dock{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:12px;width:min(640px,100% - 24px);padding:8px 8px 8px 10px;animation:.22s ease-out dock-in;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0f172a2e,0 2px 6px #0f172a14}.dock-pv{border-radius:6px;flex:none;width:56px;height:36px}.dock-text{flex-direction:column;flex:1;min-width:0;display:flex}.dock-sum{font-size:13.5px;font-weight:600}.dock-hint{color:var(--text-3);font-size:12px}.dock .btn{flex:none}@keyframes dock-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:520px){.dock-pv,.dock-hint{display:none}}@media (prefers-reduced-motion:reduce){.dock{animation:none}}.btn-support{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#ff8ab8 0%,#ff5c9a 45%,#e8417f 100%) 0%/160% 160%;border:0;border-radius:999px;align-items:center;gap:7px;height:34px;margin-left:4px;padding:0 14px 0 12px;font-size:13.5px;font-weight:600;transition:background-position .4s,box-shadow .2s,transform .18s;display:inline-flex;box-shadow:0 4px 14px #e8417f52,inset 0 1px #ffffff47}.btn-support .ic{fill:none;stroke-width:1.9px}.btn-support,.btn-support *{cursor:pointer}.btn-support:hover{background-position:100%;transform:translateY(-1px);box-shadow:0 8px 22px #e8417f80,0 0 0 3px #ff5c9a2e,inset 0 1px #ffffff52}.btn-support:hover .ic{transform-origin:50% 80%;animation:.9s ease-in-out infinite cup-tilt}@keyframes cup-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(8deg)}}.btn-support:active{transform:translateY(0)scale(.96);box-shadow:0 3px 10px #e8417f59}.btn-support:focus-visible{outline-offset:2px;outline:2px solid #e8417f}@keyframes heart-beat{0%,to{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.14)}60%{transform:scale(1)}}@media (max-width:760px){.btn-support{justify-content:center;width:34px;padding:0}}@media (prefers-reduced-motion:reduce){.btn-support:hover .ic{animation:none}.btn-support{transition:none}.btn-support:hover{transform:none}}.dlg-support{--sp-1:#ff8ab8;--sp-2:#ff5c9a;--sp-3:#e8417f;--sp-ok-bg:#ecfdf3;--sp-ok-bd:#abefc6;--sp-ok-fg:#067647;border-radius:16px;width:min(600px,100vw - 32px);box-shadow:0 1px 2px #1018280f,0 24px 48px -12px #10182838}[data-theme=dark] .dlg-support{--sp-ok-bg:#17b26a24;--sp-ok-bd:#47cd8959;--sp-ok-fg:#75e0a7}.dlg-support .dlg-head{background:linear-gradient(100deg,#ff8ab833 0%,#ff5c9a12 55%,#0000 100%);align-items:flex-start;gap:16px;padding:24px 16px 20px 24px;position:relative}[data-theme=dark] .dlg-support .dlg-head{background:linear-gradient(100deg,#ff5c9a2e 0%,#e8417f0f 55%,#0000 100%)}.dlg-support .dlg-icon{color:#fff;background:linear-gradient(135deg, var(--sp-1), var(--sp-2) 55%, var(--sp-3));border-radius:12px;width:44px;height:44px;box-shadow:0 6px 16px -6px #e8417f8c}.dlg-support .dlg-icon .ic{transform-origin:50% 55%;width:22px;height:22px;animation:1.1s ease-in-out .3s both heart-beat}.dlg-support .dlg-titles{gap:4px;padding-right:112px}.dlg-support .dlg-titles .card-title{font-size:18px;font-weight:600;line-height:26px}.dlg-support .dlg-sub{color:var(--text-2);font-size:13.5px;line-height:21px}.dlg-support .dlg-head>.icon-btn{position:absolute;top:12px;right:12px}.sp-cup{fill:none;stroke:var(--sp-2);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.55;pointer-events:none;position:absolute;top:20px;right:64px}.dlg-support .dlg-body{gap:20px;padding:24px}.sp-stack{flex-direction:column;align-items:center;gap:24px;display:flex}.sp-qr-col{flex-direction:column;align-items:center;gap:8px;display:flex}.sp-qr{background:#fff;border:1px solid #e4e7ec;border-radius:16px;width:266px;padding:12px;box-shadow:0 1px 2px #1018280d}.sp-qr img{border-radius:8px;width:100%;height:auto;display:block}.sp-hint{color:var(--text-3);text-align:center;font-size:12px;line-height:18px}.sp-hint-mobile,.sp-save-main{display:none}.sp-list{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-self:stretch;margin:0;padding:4px 14px}.sp-list>div{padding:12px 0}.sp-list>div+div{border-top:1px solid var(--border)}.sp-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.sp-pair>div+div{border-left:1px solid var(--border);padding-left:20px}.sp-list dt{color:var(--text-3);font-size:12px;line-height:16px}.sp-list dd{margin:4px 0 0;font-size:14px;font-weight:500;line-height:20px}.sp-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.sp-acc{font-family:var(--font-mono), ui-monospace, monospace;white-space:nowrap;font-size:15px;line-height:22px}.sp-memo{font-family:var(--font-mono), ui-monospace, monospace;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:400;overflow:hidden}.sp-copy{border:1px solid var(--border);background:var(--surface);height:28px;color:var(--text);white-space:nowrap;border-radius:8px;flex:none;padding:0 9px;font-size:12px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.sp-copy:hover{background:var(--surface-2);border-color:var(--border-strong)}.sp-copy.is-done{background:var(--sp-ok-bg);border-color:var(--sp-ok-bd);color:var(--sp-ok-fg)}.dlg-support .dlg-foot{justify-content:space-between;align-items:center}.sp-save{height:32px;color:var(--accent-text);border-radius:4px;align-items:center;gap:6px;font-size:13.5px;font-weight:500;line-height:20px;text-decoration:none;display:inline-flex}.sp-save:hover{text-underline-offset:3px;text-decoration:underline}.sp-thanks{color:var(--text-2);text-align:center;font-size:12.5px;line-height:18px}.dlg-support :is(.sp-copy,.sp-save,.sp-save-main):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:520px){.dlg-support[open]{border-bottom:0;border-radius:20px 20px 0 0;width:100vw;max-width:100vw;max-height:calc(100dvh - 40px);margin:auto 0 0;animation:.26s ease-out sp-up}.dlg-support .dlg-head{gap:12px;padding:16px 52px 16px 16px}.dlg-support .dlg-head:before{content:"";background:var(--border-strong);border-radius:4px;width:40px;height:4px;margin-left:-20px;position:absolute;top:8px;left:50%}.dlg-support .dlg-icon{width:40px;height:40px}.dlg-support .dlg-titles{padding-right:0}.dlg-support .dlg-titles .card-title{font-size:17px;line-height:24px}.dlg-support .dlg-head>.icon-btn{top:12px;right:8px}.sp-cup{display:none}.dlg-support .dlg-body{gap:24px;padding:24px 16px 8px}.sp-qr-col{align-self:stretch;gap:16px}.sp-qr{width:min(300px,100%)}.sp-pair{grid-template-columns:minmax(0,1fr);gap:0}.sp-pair>div+div{border-left:0;border-top:1px solid var(--border);margin-top:12px;padding-top:12px;padding-left:0}.sp-save{display:none}.sp-save-main{border-radius:12px;width:100%;height:48px;font-size:15px;display:inline-flex}.sp-hint-mobile{margin-top:-8px;font-size:12.5px;display:block}.sp-copy{border-radius:10px;height:36px;padding:0 12px;font-size:13px}.dlg-support .dlg-foot{padding:16px 16px 28px}.dlg-support .dlg-foot .btn{border-radius:12px;width:100%;height:44px}}@keyframes sp-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dlg-support .dlg-icon .ic,.dlg-support[open]{animation:none}}@media (max-width:1024px){.navlink .lbl{display:none}}.tile-wrap{min-width:0;display:grid;position:relative}.tile-wrap>.tile{min-width:0}.tile-pin{z-index:3;background:var(--surface);width:24px;height:24px;color:var(--text-2);box-shadow:0 0 0 1px var(--border), var(--shadow);opacity:0;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s,background .15s;display:inline-flex;position:absolute;top:10px;left:10px}.tile-wrap:hover .tile-pin,.tile-pin:focus-visible{opacity:1}.tile-pin:hover{color:var(--accent-text)}.tile-pin.is-on{opacity:1;color:#fff;background:var(--accent);box-shadow:none}.pin-mark{color:var(--accent-text);flex:none;display:inline-flex}@media (hover:none){.tile-pin{opacity:.85}}.brow>.icon-btn.icon-sm{width:30px;height:32px}.brow-pin:not(.is-on){display:none}.brow:hover .brow-pin,.brow:focus-within .brow-pin{display:inline-flex}@media (hover:none){.brow-pin:not(.is-on){display:inline-flex}}.sp-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;align-self:center;gap:2px;padding:3px;display:inline-flex}.sp-tabs button{min-width:96px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 16px;font-size:13.5px;font-weight:500}.sp-tabs button:hover{color:var(--text)}.sp-tabs button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1018281a, 0 0 0 1px var(--border)}.sp-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sp-author{flex-direction:column;gap:12px;animation:.2s ease-out dlg-step;display:flex}.sp-author-lead{color:var(--text-2);text-align:center;font-size:13.5px}.sp-contact{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.sp-contact-ic{width:38px;height:38px;box-shadow:0 0 0 1px var(--border);background:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sp-contact-main{flex-direction:column;flex:1;min-width:0;display:flex}.sp-contact-label{color:var(--text-3);font-size:12px}.sp-contact-value{font-family:var(--font-mono), ui-monospace, monospace;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;text-decoration:none;overflow:hidden}.sp-contact-value:hover{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.bar-pop{animation:.2s cubic-bezier(.2,.9,.3,1.1) backwards bar-pop-in}.bar-pop.is-closing{pointer-events:none;animation:.14s ease-in forwards bar-pop-out}.bar-pop-items>button{animation:.22s ease-out backwards bar-item-in}.bar-pop.is-closing.bar-pop-items>button{animation:none}@keyframes bar-pop-in{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:none}}@keyframes bar-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.4)}}@keyframes bar-item-in{0%{opacity:0;transform:translateY(6px)scale(.92)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.bar-pop,.bar-pop-items>button{animation:none}}.theme-item{background:0 0;transition:background-color .12s,box-shadow .12s}.theme-item>svg{transition:transform .15s}.theme-item:hover{background:var(--hov);box-shadow:inset 0 0 0 1px var(--hov-bd)}.theme-item:hover>svg{transform:translateY(-2px)scale(1.08)}.theme-item:active>svg{transform:scale(.94)}.theme-item:focus-visible{outline:2px solid var(--hov-bd);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.theme-item>svg{transition:none}.theme-item:hover>svg{transform:none}}
