@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.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}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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:#faf5ef;--bg-deep:#f3ebe1;--surface:#fff;--ink:#3e352e;--ink-soft:#7a6e64;--ink-faint:#a89d92;--line:#ede3d9;--accent:#d96c4a;--accent-deep:#b8512f;--accent-soft:#f9e4da;--gold:#d9a441;--sage:#7ba05b;--blue:#5b8db8;--violet:#8e7cc3;--radius:18px;--radius-sm:12px;--shadow:0 2px 14px #3e352e12;--shadow-lg:0 8px 30px #3e352e1f;font-size:16px}*{box-sizing:border-box}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Nunito Variable,Nunito,system-ui,-apple-system,sans-serif;line-height:1.55}h1,h2,h3,h4{color:var(--ink);font-family:Fraunces Variable,Fraunces,Georgia,serif;font-weight:600;line-height:1.2}#app{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:880px;margin:0 auto;padding:0 20px}.container-wide{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;align-items:center;gap:8px;padding:13px 26px;font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px #d96c4a59}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-ghost{color:var(--ink-soft);background:0 0;padding:10px 16px}.btn-ghost:hover{color:var(--accent-deep)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.chip{border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.muted{color:var(--ink-soft)}.small{font-size:.85rem}.notice{background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-soft);padding:14px 18px;font-size:.92rem}.progress-track{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--gold), var(--accent));border-radius:999px;height:100%;transition:width .4s}.grid{gap:16px;display:grid}.two-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.fade-enter-active{transition:opacity .25s,transform .25s}.fade-enter-from{opacity:0;transform:translateY(8px)}@media print{.header,.footer,.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;break-inside:avoid}.container,.container-wide{max-width:none}}.header[data-v-e3c58f43]{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#faf5efd9;position:sticky;top:0}.header-inner[data-v-e3c58f43]{align-items:center;gap:18px;padding-top:10px;padding-bottom:10px;display:flex}.brand[data-v-e3c58f43]{color:var(--ink);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.logo[data-v-e3c58f43]{width:34px;height:34px}.brand-name[data-v-e3c58f43]{font-family:Fraunces Variable,Georgia,serif;font-size:1.25rem;font-weight:700}.nav[data-v-e3c58f43]{scrollbar-width:none;gap:4px;margin-left:auto;display:flex;overflow-x:auto}.nav[data-v-e3c58f43]::-webkit-scrollbar{display:none}.nav-link[data-v-e3c58f43]{color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:8px 13px;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.nav-link[data-v-e3c58f43]:hover,.nav-link.router-link-active[data-v-e3c58f43]{color:var(--accent-deep);background:var(--accent-soft)}.nav-exact[data-v-e3c58f43]:not(.router-link-exact-active){color:var(--ink-soft);background:0 0}.nav-exact[data-v-e3c58f43]:not(.router-link-exact-active):hover{color:var(--accent-deep);background:var(--accent-soft)}.progress-mini[data-v-e3c58f43]{flex-shrink:0;align-items:center;gap:8px;display:flex}.progress-mini .progress-track[data-v-e3c58f43]{width:56px;height:6px}.progress-mini-num[data-v-e3c58f43]{color:var(--accent-deep);font-size:.78rem;font-weight:800}@media (width<=720px){.header-inner[data-v-e3c58f43]{flex-wrap:wrap;gap:6px}.nav[data-v-e3c58f43]{order:3;width:100%;margin-left:0}.progress-mini[data-v-e3c58f43]{margin-left:auto}}.footer[data-v-b84f3b9f]{border-top:1px solid var(--line);margin-top:auto;padding:22px 0 30px}.footer-inner[data-v-b84f3b9f]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.footer p[data-v-b84f3b9f]{max-width:560px;margin:0}.footer-nav[data-v-b84f3b9f]{gap:16px;display:flex}.footer-nav a[data-v-b84f3b9f]{color:var(--ink-soft);font-size:.85rem;font-weight:700;text-decoration:none}.footer-nav a[data-v-b84f3b9f]:hover{color:var(--accent-deep)}.page[data-v-e6059a49]{flex:1;padding-bottom:60px}
