@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal.DLoelf7F.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{--bg:#f6f3ee;--bg-tint:#efe9df;--surface:#fff;--surface-2:#f1ece4;--surface-glass:#ffffffb8;--line:#1c1a1714;--line-strong:#1c1a1724;--text:#1c1a17;--text-2:#6b655c;--text-3:#9a9388;--accent:#e2583e;--accent-strong:#c9452c;--accent-soft:#fbe4dc;--on-accent:#fff;--c-play:#e2583e;--c-play-soft:#fbe4dc;--c-puzzle:#6d5bf0;--c-puzzle-soft:#e8e4ff;--c-learn:#13907f;--c-learn-soft:#d8f1ec;--c-analysis:#d4900f;--c-analysis-soft:#fbefd3;--good:#2b9a66;--warn:#d99a1c;--bad:#d64545;--radius-s:10px;--radius-m:14px;--radius-l:22px;--radius-xl:28px;--shadow-1:0 1px 2px #1c1a170a, 0 2px 8px #1c1a170a;--shadow-2:0 2px 6px #1c1a170d, 0 12px 32px #1c1a1714;--font-display:"Bricolage Grotesque Variable", ui-rounded, system-ui, sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.14s;--dur:.26s;--tabbar-h:64px;--sidebar-w:248px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121110;--bg-tint:#1a1816;--surface:#1c1a18;--surface-2:#26231f;--surface-glass:#1c1a18b8;--line:#f3efe814;--line-strong:#f3efe824;--text:#f3efe8;--text-2:#a8a196;--text-3:#77716a;--accent:#ff7a5c;--accent-strong:#ff9479;--accent-soft:#ff7a5c29;--on-accent:#1a0f0b;--c-play:#ff7a5c;--c-play-soft:#ff7a5c26;--c-puzzle:#9c8dff;--c-puzzle-soft:#9c8dff26;--c-learn:#3cc7b2;--c-learn-soft:#3cc7b224;--c-analysis:#f2b544;--c-analysis-soft:#f2b54424;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 2px 6px #0000004d, 0 12px 32px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121110;--bg-tint:#1a1816;--surface:#1c1a18;--surface-2:#26231f;--surface-glass:#1c1a18b8;--line:#f3efe814;--line-strong:#f3efe824;--text:#f3efe8;--text-2:#a8a196;--text-3:#77716a;--accent:#ff7a5c;--accent-strong:#ff9479;--accent-soft:#ff7a5c29;--on-accent:#1a0f0b;--c-play:#ff7a5c;--c-play-soft:#ff7a5c26;--c-puzzle:#9c8dff;--c-puzzle-soft:#9c8dff26;--c-learn:#3cc7b2;--c-learn-soft:#3cc7b224;--c-analysis:#f2b544;--c-analysis-soft:#f2b54424;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 2px 6px #0000004d, 0 12px 32px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior-y:none;margin:0;font-size:1rem;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:680;line-height:1.1}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent-soft)}.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}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.pressable{transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out);cursor:pointer;-webkit-user-select:none;user-select:none}.pressable:active{transform:scale(.97)}@media (hover:hover){.pressable:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.pressable:hover:active{transform:scale(.98)}}.btn{background:var(--accent);min-height:44px;color:var(--on-accent);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur) var(--ease-out);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.15rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.96)}.btn.secondary{background:var(--surface-2);color:var(--text)}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:.78rem;font-weight:650}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}::view-transition-old(main){animation:.16s var(--ease-out) both vt-out}::view-transition-new(main){animation:.32s var(--ease-out) both vt-in}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(main){animation:none}::view-transition-new(main){animation:none}}.tabbar.svelte-31wq8u{z-index:50;height:calc(var(--tabbar-h) + var(--safe-bottom));padding:6px max(8px, var(--safe-left)) var(--safe-bottom) max(8px, var(--safe-right));background:var(--surface-glass);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tab.svelte-31wq8u{color:var(--text-3);letter-spacing:.01em;transition:color var(--dur) var(--ease-out);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.68rem;font-weight:600;display:flex}.icon-wrap.svelte-31wq8u{width:52px;height:30px;transition:transform var(--dur) var(--ease-spring);border-radius:999px;place-items:center;display:grid;position:relative}.icon-wrap.svelte-31wq8u:before{content:"";border-radius:inherit;background:color-mix(in srgb, var(--tab-color) 14%, transparent);opacity:0;transition:transform var(--dur) var(--ease-spring), opacity var(--dur) var(--ease-out);position:absolute;inset:0;transform:scale(.4)}.tab.svelte-31wq8u:active .icon-wrap:where(.svelte-31wq8u){transform:scale(.88)}.tab.active.svelte-31wq8u{color:var(--tab-color)}.tab.active.svelte-31wq8u .icon-wrap:where(.svelte-31wq8u):before{opacity:1;transform:scale(1)}.icon-wrap.svelte-31wq8u svg{position:relative}@media (width>=768px){.tabbar.svelte-31wq8u{display:none}}.tile.svelte-3bcpqf{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.5px}.rook.svelte-3bcpqf{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linejoin:round}.sidebar.svelte-1ccclju{display:none}@media (width>=768px){.sidebar.svelte-1ccclju{width:var(--sidebar-w);padding:calc(var(--safe-top) + 1.5rem) 1rem 1.25rem calc(var(--safe-left) + 1rem);background:var(--bg-tint);border-right:1px solid var(--line);flex-direction:column;gap:1.75rem;display:flex;position:fixed;inset:0 auto 0 0}}.brand.svelte-1ccclju{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:.65rem;padding:0 .5rem;font-size:1.3rem;font-weight:720;display:flex}nav.svelte-1ccclju{flex-direction:column;gap:2px;display:flex}.item.svelte-1ccclju{border-radius:var(--radius-m);height:42px;color:var(--text-2);transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);align-items:center;gap:.75rem;padding:0 .6rem;font-weight:560;display:flex}.icon.svelte-1ccclju{width:30px;height:30px;transition:background-color var(--dur) var(--ease-out);border-radius:9px;place-items:center;display:grid}@media (hover:hover){.item.svelte-1ccclju:hover{background:var(--line);color:var(--text)}}.item.active.svelte-1ccclju{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.item.active.svelte-1ccclju .icon:where(.svelte-1ccclju){background:var(--item-color);color:#fff}.foot.svelte-1ccclju a:where(.svelte-1ccclju){text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.foot.svelte-1ccclju a:where(.svelte-1ccclju):hover{color:var(--text)}.foot.svelte-1ccclju{color:var(--text-3);margin-top:auto;padding:0 .6rem;font-size:.78rem}main.svelte-12qhfyh{view-transition-name:main;min-height:100dvh;padding:calc(var(--safe-top) + 1.25rem) max(1.1rem, var(--safe-right)) calc(var(--tabbar-h) + var(--safe-bottom) + 1.5rem) max(1.1rem, var(--safe-left))}@media (width>=768px){main.svelte-12qhfyh{margin-left:var(--sidebar-w);padding:calc(var(--safe-top) + 2.25rem) 2.5rem 3rem}}@media (width>=1200px){main.svelte-12qhfyh{padding-inline:3.5rem}}
