@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:GeistMono;src:url(/_next/static/media/723e11e5093b8e80.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_46451f{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_46451f{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/newsreader-vietnamese-400-normal.92e932d4.woff2) format("woff2"),url(/_next/static/media/newsreader-vietnamese-400-normal.d4de136c.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/newsreader-latin-ext-400-normal.b520a367.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-ext-400-normal.eea15623.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/newsreader-latin-400-normal.40164bd1.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-400-normal.279e3300.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/newsreader-vietnamese-500-normal.ac7bd3c8.woff2) format("woff2"),url(/_next/static/media/newsreader-vietnamese-500-normal.df8bbb2d.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/newsreader-latin-ext-500-normal.539eb229.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-ext-500-normal.3b74efeb.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/newsreader-latin-500-normal.567a3fc2.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-500-normal.edb85082.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/newsreader-vietnamese-600-normal.efcc580e.woff2) format("woff2"),url(/_next/static/media/newsreader-vietnamese-600-normal.7d856a4d.woff) format("woff");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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/newsreader-latin-ext-600-normal.ab4e608d.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-ext-600-normal.eb1c0ea3.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/newsreader-latin-600-normal.20a89129.woff2) format("woff2"),url(/_next/static/media/newsreader-latin-600-normal.d639f2d9.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.grecaptcha-badge{visibility:hidden!important}:root{--font-sans:var(--font-geist-sans),"Geist","IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:var(--font-geist-mono),"Geist Mono","JetBrains Mono",ui-monospace,Menlo,monospace;--font-serif:"Newsreader",Georgia,serif;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}:root,[data-theme=light]{--bg-0:#fafafa;--bg-1:#ffffff;--bg-2:#f4f4f5;--bg-3:#ebebee;--bg-4:#dcdce0;--line-1:rgba(0,0,0,0.05);--line-2:rgba(0,0,0,0.09);--line-3:rgba(0,0,0,0.18);--text-1:#0a0a0c;--text-2:rgba(0,0,0,0.7);--text-3:rgba(0,0,0,0.55);--text-4:rgba(0,0,0,0.4);--surf-1:rgba(0,0,0,0.03);--surf-2:rgba(0,0,0,0.05);--surf-3:rgba(0,0,0,0.08);--ok:oklch(0.55 0.14 150);--ok-soft:oklch(0.55 0.14 150/0.14);--warn:oklch(0.62 0.16 70);--warn-soft:oklch(0.7 0.16 70/0.16);--err:oklch(0.62 0.18 25);--err-soft:oklch(0.62 0.18 25/0.12);--ai:oklch(0.62 0.18 295);--accent:oklch(0.55 0.16 235);--accent-soft:oklch(0.72 0.14 235/0.14);--accent-line:oklch(0.55 0.16 235/0.35);--accent-fg:#ffffff;--radius-s:4px;--radius-m:6px;--radius-l:10px;--shadow-1:0 1px 2px rgba(0,0,0,0.06);--shadow-2:0 8px 24px rgba(0,0,0,0.1);--background:var(--bg-0);--foreground:var(--text-1)}[data-theme=dark]{--bg-0:#0a0a0c;--bg-1:#101013;--bg-2:#16161a;--bg-3:#1d1d22;--bg-4:#26262d;--line-1:rgba(255,255,255,0.05);--line-2:rgba(255,255,255,0.08);--line-3:rgba(255,255,255,0.14);--text-1:rgba(255,255,255,0.93);--text-2:rgba(255,255,255,0.7);--text-3:rgba(255,255,255,0.5);--text-4:rgba(255,255,255,0.36);--surf-1:rgba(255,255,255,0.04);--surf-2:rgba(255,255,255,0.06);--surf-3:rgba(255,255,255,0.1);--ok:oklch(0.72 0.14 150);--ok-soft:oklch(0.72 0.14 150/0.16);--warn:oklch(0.8 0.14 80);--warn-soft:oklch(0.8 0.14 80/0.16);--err:oklch(0.7 0.16 25);--err-soft:oklch(0.7 0.16 25/0.16);--ai:oklch(0.72 0.14 295);--accent:oklch(0.72 0.14 235);--accent-soft:oklch(0.72 0.14 235/0.14);--accent-line:oklch(0.72 0.14 235/0.35);--accent-fg:#0a0a0c;--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 8px 30px rgba(0,0,0,0.45);--background:var(--bg-0);--foreground:var(--text-1)}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}body,html{max-width:100vw;height:100%;padding:0;margin:0;overflow:hidden;background:var(--background);color:var(--foreground);font:14px/1.45 var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","ss02","cv11"}main[data-layout=auth]{height:100%;overflow-y:auto}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1{font-size:22px;letter-spacing:-.5px}h1,h2{font-weight:var(--fw-semibold)}h2{font-size:18px;letter-spacing:-.3px}h3{font-size:16px;font-weight:var(--fw-semibold)}.card{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--radius-l);padding:16px;box-shadow:var(--shadow-1)}.card-hover{transition:box-shadow .15s ease,transform .12s ease,border-color .15s ease}.card-hover:hover{box-shadow:var(--shadow-2);border-color:var(--line-2);transform:translateY(-1px)}.muted{color:var(--text-3)}.muted-2{color:var(--text-4)}.mono{font-family:var(--font-mono)}.section-header{font-size:10px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.8px;color:var(--text-3)}.grid{display:grid;grid-gap:16px;gap:16px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:1px solid var(--line-2);background:var(--bg-1);color:var(--text-1);border-radius:var(--radius-m);padding:7px 13px;font-size:13px;font-weight:var(--fw-medium);cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease,filter .12s ease}.btn:hover{background:var(--bg-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:not(:disabled):hover{background:var(--accent);filter:brightness(1.06)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--surf-2)}.btn-sm{padding:4px 9px;font-size:12px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:var(--fw-medium);padding:2px 9px;border-radius:999px;background:var(--surf-2);color:var(--text-2);border:1px solid var(--line-1);white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-ok,.badge-warn{border-color:transparent}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-err{background:var(--err-soft);color:var(--err);border-color:transparent}.input,.select,.textarea{width:100%;border:1px solid var(--line-2);border-radius:var(--radius-m);padding:8px 11px;font-size:14px;font-family:inherit;background:var(--bg-1);color:var(--text-1)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.label{display:block;font-size:12px;font-weight:var(--fw-semibold);color:var(--text-2);margin-bottom:6px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--text-3);font-weight:var(--fw-semibold);padding:10px 12px}.table td,.table th{border-bottom:1px solid var(--line-1)}.table td{padding:11px 12px}.table tr:last-child td{border-bottom:none}@keyframes lms-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-2) 0,var(--bg-3) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:lms-shimmer 1.6s linear infinite;border-radius:var(--radius-m)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:50;overflow-y:auto}.modal-panel{background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--radius-l);box-shadow:var(--shadow-2);width:100%;max-width:560px;padding:20px}.md{font-size:15px;line-height:1.7;color:var(--text-1)}.md>:first-child{margin-top:0}.md h1{font-size:26px;letter-spacing:-.5px;margin:1.6em 0 .5em}.md h1,.md h2{font-weight:var(--fw-semibold)}.md h2{font-size:20px;letter-spacing:-.3px;margin:1.5em 0 .4em;padding-bottom:6px;border-bottom:1px solid var(--line-1)}.md h3{font-size:16px;font-weight:var(--fw-semibold);margin:1.3em 0 .3em}.md p{margin:.7em 0}.md ol,.md ul{margin:.6em 0;padding-left:1.5em}.md li{margin:.25em 0}.md a{color:var(--accent)}.md strong{font-weight:650}.md blockquote{margin:.9em 0;padding:2px 14px;border-left:3px solid var(--accent-line);color:var(--text-2);background:var(--surf-1);border-radius:0 6px 6px 0}.md pre{background:#0d1117;color:#e6edf3;padding:14px 16px;border-radius:8px;overflow:auto;font-size:12.5px;line-height:1.6}.md code{font-family:var(--font-mono);font-size:12.5px;background:var(--surf-2);padding:1px 5px;border-radius:4px}.md pre code{background:none;padding:0;color:inherit}.md table{border-collapse:collapse;margin:.9em 0;font-size:13.5px}.md td,.md th{border:1px solid var(--line-2);padding:6px 11px;text-align:left}.md th{background:var(--bg-2);font-weight:var(--fw-semibold)}.md img{max-width:100%;border-radius:6px}.fs-7{font-size:7px}.fs-8{font-size:8px}.fs-8-5{font-size:8.5px}.fs-9{font-size:9px}.fs-9-5{font-size:9.5px}.fs-10{font-size:10px}.fs-10-5{font-size:10.5px}.fs-11{font-size:11px}.fs-11-5{font-size:11.5px}.fs-12{font-size:12px}.fs-12-5{font-size:12.5px}.fs-13{font-size:13px}.fs-13-5{font-size:13.5px}.fs-14{font-size:14px}.fs-15{font-size:15px}.fs-15-5{font-size:15.5px}.fs-16{font-size:16px}.fs-17{font-size:17px}.fs-17-5{font-size:17.5px}.fs-18{font-size:18px}.fs-19{font-size:19px}.fs-20{font-size:20px}.fs-22{font-size:22px}.fs-24{font-size:24px}.fs-26{font-size:26px}.fs-28{font-size:28px}.fs-30{font-size:30px}.fs-32{font-size:32px}.fs-38{font-size:38px}.fw-regular{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.font-serif,.reading-mode,.reading-mode-body{font-family:var(--font-serif)}.reading-mode-body{font-size:17.5px;line-height:1.68;color:var(--text-1)}.reading-mode-title{font-size:38px;letter-spacing:-1.2px;line-height:1.15}.reading-mode-h2,.reading-mode-title{font-family:var(--font-serif);font-weight:600}.reading-mode-h2{font-size:24px;letter-spacing:-.5px}.link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px}.error{color:var(--err)}.load-msg{font-weight:600;color:var(--text-1)}.load-sub{font-weight:400;color:var(--text-3);font-size:12.5px;margin-top:2px}.centered{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-2);font-size:14px;text-align:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line-2);border-top-color:var(--accent);animation:spin .8s linear infinite}.spinner-xs{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.savebtn{transition:transform .08s ease,opacity .12s ease,filter .12s ease}.savebtn:not(:disabled):hover{filter:brightness(1.06)}.savebtn:not(:disabled):active{transform:translateY(1px)}.savebtn:disabled{cursor:default}.lms-skeleton{background:linear-gradient(90deg,var(--bg-2) 0,var(--bg-3) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:lms-shimmer 1.6s linear infinite;border-radius:var(--radius-m)}.bn-mantine .bn-block-content[data-content-type=codeBlock]{background-color:var(--bg-2);color:var(--text-1);border:1px solid var(--line-2);border-radius:var(--radius-m)}.bn-mermaid-svg svg{width:100%!important;max-width:100%!important;height:auto!important;display:block}