:root{--primary: #0F766E;--on-primary: #FFFFFF;--primary-strong: #115E59;--on-primary-strong: #FFFFFF;--secondary: #4F46E5;--accent: #059669;--bg: #FFFFFF;--surface: #F6F8F7;--wallpaper: #ECF1EF;--wallpaper-motif: #0F766E0D;--bubble-out: #D3EFE8;--bubble-in: #FFFFFF;--fg: #0F172A;--muted: #EEF2F1;--muted-fg: #475569;--border: #E2E8E6;--tick-read: #2563EB;--destructive: #DC2626;--warning: #B45309;--success: #15803D;--ring: #0F766E;--name-0: #B45309;--name-1: #0F766E;--name-2: #7C3AED;--name-3: #BE123C;--name-4: #1D4ED8;--name-5: #15803D;--scrim: rgb(15 23 42 / .45);--bubble-shadow: 0 1px .5px rgb(0 0 0 / .13);--overlay-shadow: 0 8px 24px rgb(15 23 42 / .16);color-scheme:light;--font: "Noto Sans", "Noto Sans Lao", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-meta: 12px;--fs-secondary: 14px;--fs-body: 16px;--fs-list-title: 18px;--fs-screen-title: 20px;--fs-empty-title: 24px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--r-bubble: 12px;--r-tail: 4px;--r-card: 12px;--r-pill: 20px;--r-fab: 16px;--touch: 44px;--list-pane: 380px;--rail: 72px;--bottom-nav: 64px;--dur: .18s;--ease: cubic-bezier(.2, .8, .2, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--primary: #2DD4BF;--on-primary: #04201D;--primary-strong: #134E4A;--on-primary-strong: #E6FFFA;--secondary: #A5B4FC;--accent: #34D399;--bg: #0B1416;--surface: #111C1F;--wallpaper: #0A1214;--wallpaper-motif: #2DD4BF0A;--bubble-out: #0F4A44;--bubble-in: #1A2A2E;--fg: #E6EEF0;--muted: #1A262A;--muted-fg: #94A3B8;--border: #22343A;--tick-read: #60A5FA;--destructive: #F87171;--warning: #FBBF24;--success: #86EFAC;--ring: #2DD4BF;--name-0: #FBBF24;--name-1: #2DD4BF;--name-2: #C4B5FD;--name-3: #FDA4AF;--name-4: #93C5FD;--name-5: #86EFAC;--scrim: rgb(0 0 0 / .6);--bubble-shadow: 0 1px .5px rgb(0 0 0 / .4);--overlay-shadow: 0 8px 24px rgb(0 0 0 / .5);color-scheme:dark}}:root[data-theme=dark]{--primary: #2DD4BF;--on-primary: #04201D;--primary-strong: #134E4A;--on-primary-strong: #E6FFFA;--secondary: #A5B4FC;--accent: #34D399;--bg: #0B1416;--surface: #111C1F;--wallpaper: #0A1214;--wallpaper-motif: #2DD4BF0A;--bubble-out: #0F4A44;--bubble-in: #1A2A2E;--fg: #E6EEF0;--muted: #1A262A;--muted-fg: #94A3B8;--border: #22343A;--tick-read: #60A5FA;--destructive: #F87171;--warning: #FBBF24;--success: #86EFAC;--ring: #2DD4BF;--name-0: #FBBF24;--name-1: #2DD4BF;--name-2: #C4B5FD;--name-3: #FDA4AF;--name-4: #93C5FD;--name-5: #86EFAC;--scrim: rgb(0 0 0 / .6);--bubble-shadow: 0 1px .5px rgb(0 0 0 / .4);--overlay-shadow: 0 8px 24px rgb(0 0 0 / .5);color-scheme:dark}:root[data-theme=light]{--primary: #0F766E;--on-primary: #FFFFFF;--primary-strong: #115E59;--on-primary-strong: #FFFFFF;--secondary: #4F46E5;--accent: #059669;--bg: #FFFFFF;--surface: #F6F8F7;--wallpaper: #ECF1EF;--wallpaper-motif: #0F766E0D;--bubble-out: #D3EFE8;--bubble-in: #FFFFFF;--fg: #0F172A;--muted: #EEF2F1;--muted-fg: #475569;--border: #E2E8E6;--tick-read: #2563EB;--destructive: #DC2626;--warning: #B45309;--success: #15803D;--ring: #0F766E;--name-0: #B45309;--name-1: #0F766E;--name-2: #7C3AED;--name-3: #BE123C;--name-4: #1D4ED8;--name-5: #15803D;--scrim: rgb(15 23 42 / .45);--bubble-shadow: 0 1px .5px rgb(0 0 0 / .13);--overlay-shadow: 0 8px 24px rgb(15 23 42 / .16);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--fs-body);line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.3}p{margin:0}a{color:var(--primary)}img{max-width:100%}button,input,textarea,select{font:inherit;color:inherit}lucide-icon{display:inline-flex;flex:none;line-height:0}:focus{outline:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--touch);padding:0 var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--bg);color:var(--fg);font-weight:500;font-size:var(--fs-secondary);cursor:pointer;text-decoration:none;transition:opacity var(--dur) var(--ease)}.btn:hover{background:var(--muted)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{opacity:.92}.btn.danger{color:var(--destructive);border-color:var(--destructive);background:transparent}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--muted)}.btn.block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);flex:none;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.icon-btn:hover{background:var(--muted)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.fab{position:absolute;right:var(--sp-4);bottom:var(--sp-4);width:56px;height:56px;border:0;border-radius:var(--r-fab);background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--overlay-shadow);cursor:pointer;z-index:2}.chips{display:flex;gap:var(--sp-2);overflow-x:auto;padding:var(--sp-2) var(--sp-4);scrollbar-width:none}.chip{flex:none;min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);border:1px solid transparent;background:var(--muted);color:var(--muted-fg);font-size:var(--fs-secondary);font-weight:500;cursor:pointer;position:relative}.chip:after{content:"";position:absolute;inset:-4px 0}.chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.field{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-3)}.field>label,.field>.label{font-size:var(--fs-secondary);font-weight:500;color:var(--muted-fg)}.field .hint{font-size:var(--fs-meta);color:var(--muted-fg)}.input{width:100%;min-height:var(--touch);padding:10px var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--muted);font-size:var(--fs-body)}.input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}textarea.input{border-radius:var(--r-card);resize:vertical;min-height:96px;line-height:1.45}select.input{appearance:auto}.search{position:relative;margin:var(--sp-2) var(--sp-4)}.search lucide-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted-fg);pointer-events:none}.search .input{padding-left:44px}.pane-header{display:flex;align-items:center;gap:var(--sp-2);min-height:60px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border)}.pane-header h1,.pane-header h2{font-size:var(--fs-screen-title);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-header .icon-btn:first-child{margin-left:calc(-1 * var(--sp-2))}.scroll{overflow-y:auto;overscroll-behavior:contain}.page-body{padding:var(--sp-4);max-width:880px;margin:0 auto;width:100%}.row-gap{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.spacer{flex:1}.muted{color:var(--muted-fg)}.small{font-size:var(--fs-secondary)}.meta{font-size:var(--fs-meta);color:var(--muted-fg)}.list{list-style:none;margin:0;padding:0}.list-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:72px;padding:var(--sp-2) var(--sp-4);border:0;background:transparent;text-align:left;color:inherit;text-decoration:none;cursor:pointer}.list-row:hover,.list-row.active{background:var(--muted)}.list-row .grow{flex:1;min-width:0;border-bottom:1px solid var(--border);padding:var(--sp-2) 0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.list-row .title{font-size:var(--fs-body);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .sub{font-size:var(--fs-secondary);color:var(--muted-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leading-icon{width:48px;height:48px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:var(--muted);color:var(--primary)}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--sp-4)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--primary);color:var(--on-primary);font-size:var(--fs-meta);font-weight:600}.badge.quiet{background:var(--muted-fg);color:var(--bg)}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--muted);color:var(--muted-fg);font-size:var(--fs-meta);font-weight:500}.tag.secondary{color:var(--secondary)}.tag.primary{color:var(--primary)}.tag.danger{color:var(--destructive)}.tag.warning{color:var(--warning)}.tag.success{color:var(--success)}.num{font-variant-numeric:tabular-nums}.banner{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-secondary);border-bottom:1px solid var(--border);background:var(--muted)}.banner.error{color:var(--destructive)}.banner .spacer{flex:1}.note{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);background:var(--muted);color:var(--muted-fg);font-size:var(--fs-secondary);display:flex;gap:var(--sp-2);align-items:flex-start}.skeleton{background:var(--muted);border-radius:6px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}dialog.dlg{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);color:var(--fg);padding:0;width:min(520px,100vw - 32px);max-height:min(85vh,760px);box-shadow:var(--overlay-shadow)}dialog.dlg::backdrop{background:var(--scrim)}dialog.dlg .dlg-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border)}dialog.dlg .dlg-head h2{flex:1;font-size:var(--fs-list-title)}dialog.dlg .dlg-body{padding:var(--sp-4);overflow-y:auto;max-height:calc(min(85vh,760px) - 140px)}dialog.dlg .dlg-foot{display:flex;gap:var(--sp-2);justify-content:flex-end;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border)}@media(max-width:767px){dialog.dlg.sheet{margin:auto 0 0;width:100vw;max-width:100vw;border-radius:var(--r-card) var(--r-card) 0 0}}.menu{position:absolute;z-index:30;min-width:200px;padding:var(--sp-1) 0;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--overlay-shadow)}.menu button{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--touch);padding:0 var(--sp-4);border:0;background:transparent;text-align:left;cursor:pointer}.menu button:hover,.menu button:focus-visible{background:var(--muted)}.menu button.danger{color:var(--destructive)}.menu-backdrop{position:fixed;inset:0;z-index:29}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
