:root,[data-theme=light]{--bg: #fafbfc;--surface: #ffffff;--surface-2: #f4f6fa;--surface-3: #eef1f6;--ink: #0a2540;--ink-muted: #697386;--ink-dim: #8c97ab;--ink-on-primary: #ffffff;--line: #e3e8ee;--line-soft: #f0f4f8;--line-strong: #cdd5df;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: #eef2ff;--primary-ink: #3730a3;--success: #0e9f6e;--success-soft: #e6f6ee;--success-ink: #047857;--warn: #d97706;--warn-soft: #fef3c7;--warn-ink: #92400e;--danger: #dc2626;--danger-soft: #fee2e2;--danger-ink: #991b1b;--info: #0284c7;--info-soft: #e0f2fe;--info-ink: #075985;--shadow-xs: 0 1px 2px rgba(50, 50, 93, .06);--shadow-sm: 0 1px 3px rgba(50, 50, 93, .08), 0 1px 0 rgba(0, 0, 0, .02);--shadow-md: 0 4px 8px rgba(50, 50, 93, .08), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(50, 50, 93, .12), 0 2px 6px rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(79, 70, 229, .18)}[data-theme=dark]{--bg: #0a0e18;--surface: #0e1422;--surface-2: #151d2e;--surface-3: #1d2740;--ink: #e7ecf6;--ink-muted: #8893ad;--ink-dim: #5b6890;--line: rgba(255, 255, 255, .07);--line-soft: rgba(255, 255, 255, .04);--line-strong: rgba(255, 255, 255, .14);--primary: #6366f1;--primary-hover: #818cf8;--primary-soft: rgba(99, 102, 241, .12);--primary-ink: #c7d2fe;--success: #10b981;--success-soft: rgba(16, 185, 129, .14);--success-ink: #6ee7b7;--warn: #f59e0b;--warn-soft: rgba(245, 158, 11, .14);--warn-ink: #fcd34d;--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .14);--danger-ink: #fca5a5;--info: #38bdf8;--info-soft: rgba(56, 189, 248, .14);--info-ink: #7dd3fc;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--shadow-focus: 0 0 0 3px rgba(99, 102, 241, .32)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-chip: 4px;--radius-input: 6px;--radius-card: 8px;--radius-modal: 12px;--radius-page: 16px;--radius-pill: 999px;--font-sans: "Inter", "Noto Sans Lao", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}@media (prefers-reduced-motion: reduce){*{transition-duration:0ms!important;animation-duration:0ms!important}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:Inter,Noto Sans Lao,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-input)}[lang=lo],.lao-block{line-height:1.6}.tabular{font-variant-numeric:tabular-nums}::selection{background:var(--primary-soft);color:var(--primary-ink)}.toast-region.svelte-1q6vvua{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:1000;max-width:calc(100vw - 40px);pointer-events:none}.toast.svelte-1q6vvua{pointer-events:auto;display:grid;grid-template-columns:8px 1fr auto;gap:12px;align-items:center;padding:10px 12px 10px 14px;border-radius:10px;background:var(--surface);box-shadow:0 6px 24px #0000002e,0 2px 6px #00000014;border:1px solid var(--line);min-width:240px;max-width:420px;font-size:13px;animation:svelte-1q6vvua-slide-in .18s cubic-bezier(.2,.8,.3,1)}.dot.svelte-1q6vvua{width:8px;height:8px;border-radius:50%}.t-success.svelte-1q6vvua .dot:where(.svelte-1q6vvua){background:var(--success)}.t-error.svelte-1q6vvua .dot:where(.svelte-1q6vvua){background:var(--danger)}.t-info.svelte-1q6vvua .dot:where(.svelte-1q6vvua){background:var(--info)}.msg.svelte-1q6vvua{color:var(--ink);line-height:1.4}.close.svelte-1q6vvua{width:22px;height:22px;border-radius:6px;background:transparent;color:var(--ink-dim);font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.close.svelte-1q6vvua:hover{background:var(--surface-2);color:var(--ink)}@keyframes svelte-1q6vvua-slide-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.toast.svelte-1q6vvua{animation:none}}.mobile-bar.svelte-12qhfyh{display:none;position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 14px;align-items:center;gap:12px}@media (max-width: 820px){.mobile-bar.svelte-12qhfyh{display:flex}}.hamburger.svelte-12qhfyh{display:inline-flex;flex-direction:column;gap:4px;padding:6px;border-radius:6px}.hamburger.svelte-12qhfyh:hover{background:var(--surface-2)}.hamburger.svelte-12qhfyh span:where(.svelte-12qhfyh){width:18px;height:2px;background:var(--ink);border-radius:2px}.mb-brand.svelte-12qhfyh{display:flex;align-items:center;gap:8px;flex:1}.mb-logo.svelte-12qhfyh{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}.mb-name.svelte-12qhfyh{font-weight:700;font-size:14px}.theme-mini.svelte-12qhfyh{width:32px;height:32px;border-radius:8px;background:var(--surface-2);font-size:14px}.theme-mini.svelte-12qhfyh:hover{background:var(--surface-3)}.app.svelte-12qhfyh{display:grid;grid-template-columns:240px 1fr;min-height:100vh}@media (max-width: 820px){.app.svelte-12qhfyh{grid-template-columns:1fr;min-height:calc(100vh - 53px)}}.sidebar.svelte-12qhfyh{background:var(--surface);border-right:1px solid var(--line);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);height:100vh;position:sticky;top:0;overflow:hidden}.sb-scroll.svelte-12qhfyh{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding-right:4px;margin-right:-4px}@media (max-width: 820px){.sidebar.svelte-12qhfyh{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:100;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.8,.3,1);box-shadow:4px 0 24px #0000002e}.sidebar.is-open.svelte-12qhfyh{transform:translate(0)}}.drawer-scrim.svelte-12qhfyh{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0a254080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;cursor:pointer}@media (max-width: 820px){.drawer-scrim.svelte-12qhfyh{display:block;animation:svelte-12qhfyh-fade .18s ease}}@keyframes svelte-12qhfyh-fade{0%{opacity:0}to{opacity:1}}.sb-brand.svelte-12qhfyh{display:flex;align-items:center;gap:10px;padding:6px 8px var(--space-4);border-bottom:1px solid var(--line);position:relative}.sb-logo.svelte-12qhfyh{width:32px;height:32px;border-radius:var(--radius-card);background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}.sb-name.svelte-12qhfyh{font-weight:700;font-size:15px;letter-spacing:-.01em}.sb-name.svelte-12qhfyh small:where(.svelte-12qhfyh){display:block;font-family:var(--font-mono);font-size:9.5px;color:var(--ink-dim);font-weight:500;letter-spacing:.15em;margin-top:1px}.drawer-close.svelte-12qhfyh{display:none;margin-left:auto;width:32px;height:32px;border-radius:8px;background:transparent;color:var(--ink-muted);font-size:22px;line-height:1}@media (max-width: 820px){.drawer-close.svelte-12qhfyh{display:inline-flex;align-items:center;justify-content:center}}.drawer-close.svelte-12qhfyh:hover{background:var(--surface-2);color:var(--ink)}.sb-group.svelte-12qhfyh{display:flex;flex-direction:column;gap:1px}.sb-group.priority.svelte-12qhfyh{padding:12px 4px;border-radius:var(--radius-modal);background:linear-gradient(180deg,var(--warn-soft),transparent);border:1px solid var(--warn-soft);margin-top:8px}.sb-group-label.svelte-12qhfyh{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);padding:0 10px 6px}.sb-item.svelte-12qhfyh{display:flex;align-items:center;gap:var(--space-3);padding:9px 10px;border-radius:var(--radius-input);color:var(--ink-muted);transition:background var(--dur-fast);font-weight:500}.sb-item.svelte-12qhfyh:hover{background:var(--surface-2);color:var(--ink)}.sb-item.active.svelte-12qhfyh{background:var(--primary-soft);color:var(--primary-ink);box-shadow:inset 2px 0 0 var(--primary)}.sb-item.star.svelte-12qhfyh{background:linear-gradient(90deg,var(--warn-soft),transparent);box-shadow:inset 2px 0 0 var(--warn)}.sb-icon.svelte-12qhfyh{width:16px;height:16px;flex-shrink:0}.sb-label.svelte-12qhfyh{flex:1}.sb-lao.svelte-12qhfyh{display:block;font-size:11px;color:var(--ink-dim);font-weight:400}.sb-badge.svelte-12qhfyh{font-family:var(--font-mono);font-size:9.5px;font-weight:600;padding:2px 5px;border-radius:4px;background:var(--surface-2);color:var(--ink-dim);letter-spacing:.08em}.sb-foot.svelte-12qhfyh{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:var(--space-3);border-top:1px solid var(--line)}.theme-btn.svelte-12qhfyh{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-input);background:var(--surface-2);color:var(--ink-muted);font-size:12px;font-weight:500}.theme-btn.svelte-12qhfyh:hover{background:var(--surface-3);color:var(--ink)}.theme-icon.svelte-12qhfyh{font-size:14px;line-height:1}.theme-label.svelte-12qhfyh{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:lowercase}.kbd-hint.svelte-12qhfyh{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:3px 7px;border-radius:4px;background:var(--surface-2);color:var(--ink-dim);border:1px solid var(--line)}.main.svelte-12qhfyh{padding:var(--space-6) var(--space-8);max-width:1280px;width:100%}@media (max-width: 820px){.main.svelte-12qhfyh{padding:var(--space-4)}}@media print{.no-print.svelte-12qhfyh{display:none!important}.app.svelte-12qhfyh{grid-template-columns:1fr}.main.svelte-12qhfyh{padding:0;max-width:100%}}
