:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--color-canvas:#f4f7f4;--color-surface:#fff;--color-surface-muted:#e9f0ec;--color-ink:#14231d;--color-ink-muted:#52645c;--color-primary:#12372a;--color-primary-hover:#0b2b20;--color-accent:#2f7661;--color-alert:#a63f32;--color-alert-soft:#fff0ed;--color-notice:#7b570d;--color-notice-soft:#fff7df;--color-border:#c9d5cf;--color-focus:#0067d9;--shadow-soft:0 12px 34px #12372a17;--radius-sm:.75rem;--radius-md:1.125rem;--radius-lg:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--touch-target:3rem;background:var(--color-canvas);color:var(--color-ink);font-family:Noto Sans Thai,Leelawadee UI,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--color-canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:700;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.topbar{z-index:20;min-height:4.5rem;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7f4f0;align-items:center;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);min-height:var(--touch-target);text-decoration:none;display:inline-flex}.brand__mark{background:var(--color-primary);color:#fff;border-radius:.9rem;place-items:center;width:2.75rem;height:2.75rem;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.01em;font-size:1.05rem}.brand small{color:var(--color-ink-muted);margin-top:.1rem;font-size:.73rem}.icon{flex:none;width:1.5rem;height:1.5rem}.shell-layout{width:100%;max-width:76rem;margin:0 auto}.main-content{padding:var(--space-5) var(--space-4) var(--space-6)}.page-stack{gap:var(--space-5);max-width:48rem;margin:0 auto;display:grid}.page-stack--emergency{--color-primary:#6e2921}.disaster-mode{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,46rem);min-height:min(42rem,100vh - 10rem);box-shadow:var(--shadow-soft);margin:0 auto;display:grid;overflow:hidden}.disaster-mode__header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:3.75rem;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);display:flex}.disaster-mode__badge{color:var(--color-primary);font-size:.78rem;font-weight:800}.disaster-mode__progress{color:var(--color-ink-muted);margin:0;font-size:.85rem;font-weight:700}.disaster-mode__content{flex-direction:column;flex:1;justify-content:center;padding:clamp(1.5rem,6vw,3.5rem);display:flex}.disaster-mode__content h1{letter-spacing:-.025em;max-width:20ch;margin:0;font-size:clamp(1.8rem,7vw,3.25rem);line-height:1.12}.disaster-mode__content>p{max-width:38rem;margin:var(--space-4) 0 var(--space-5);color:var(--color-ink-muted);font-size:1.05rem;line-height:1.65}.disaster-mode__choices{gap:var(--space-3);display:grid}.binding-loading{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.binding-recovery-actions{gap:var(--space-3);display:grid}.binding-action-panel{margin-top:var(--space-5);padding:var(--space-4);border-left:.35rem solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-surface-muted);font-weight:700;line-height:1.55}.binding-continuation{margin-bottom:0;font-weight:700}.binding-provenance{gap:var(--space-2) var(--space-4);margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-ink-muted);flex-wrap:wrap;font-size:.8rem;display:flex}.disaster-choice{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:4.5rem;padding:var(--space-4) var(--space-5);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);cursor:pointer;text-align:left;font-size:1.05rem;font-weight:800;display:flex}.disaster-choice:hover{border-color:var(--color-accent);background:var(--color-surface-muted)}.disaster-choice--primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;text-align:center;justify-content:center}.disaster-mode__controls{gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);display:grid}.disaster-mode__controls button{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-weight:750}.disaster-mode__controls button:disabled{cursor:not-allowed;opacity:.45}.disaster-diagnostics{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--color-border);color:var(--color-ink-muted);font-size:.78rem}.disaster-diagnostics summary{min-height:var(--touch-target);cursor:pointer;font-weight:700}.disaster-diagnostics dl,.disaster-diagnostics dd{margin:0}.disaster-diagnostics dl div{gap:var(--space-2);padding:var(--space-1) 0;grid-template-columns:8rem 1fr;display:grid}.disaster-diagnostics dt{font-weight:800}.page-intro{padding-top:var(--space-2)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-accent);letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:800}.page-intro h1,.language-dialog h1{letter-spacing:-.035em;max-width:18ch;margin:0;font-size:clamp(2rem,8vw,3.5rem);line-height:1.08}.page-intro__body{max-width:38rem;margin:var(--space-3) 0 0;color:var(--color-ink-muted);font-size:1.05rem;line-height:1.65}.emergency-entry{align-items:center;gap:var(--space-3);min-height:6.25rem;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--color-ink);background:linear-gradient(135deg,#fff 0%,#edf5f1 100%);border:1px solid #b9cec4;grid-template-columns:auto 1fr auto;text-decoration:none;display:grid}.emergency-entry__icon{width:3.25rem;height:3.25rem;color:var(--color-primary);background:#dbece4;border-radius:50%;place-items:center;display:grid}.emergency-entry__content{min-width:0}.emergency-entry__label{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem;font-size:.72rem;font-weight:800;display:block}.emergency-entry strong,.emergency-entry small{display:block}.emergency-entry strong{font-size:1.12rem}.emergency-entry small{margin-top:var(--space-1);color:var(--color-ink-muted);line-height:1.35}.emergency-entry__arrow{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-size:1.2rem;display:grid}.status-grid{gap:var(--space-3);display:grid}.status-banner{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:auto 1fr;display:grid}.status-banner--calm{background:var(--color-surface-muted)}.status-banner--notice{background:var(--color-notice-soft);border-color:#e4ca87}.status-banner__icon{background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.status-banner h2{margin:0;font-size:1rem}.status-banner p{margin:var(--space-1) 0 0;color:var(--color-ink-muted);font-size:.9rem;line-height:1.5}.connection-status{max-width:76rem;margin:var(--space-3) auto 0;padding:0 var(--space-4)}.section-title{margin:0 0 var(--space-3);font-size:1.15rem}.placeholder-panel{gap:var(--space-4);min-height:9rem;padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:auto 1fr;align-items:center;display:grid}.placeholder-panel__mark{background:linear-gradient(145deg, var(--color-surface-muted), #d5e2db);border-radius:1rem;width:3.5rem;height:3.5rem}.placeholder-panel h2{margin:0;font-size:1rem}.placeholder-panel p{margin:var(--space-1) 0 0;color:var(--color-ink-muted);line-height:1.5}.settings-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin:0}.update-manager{gap:var(--space-4);display:grid}.update-manager h2,.update-manager p{margin:0}.update-state{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);font-weight:750}.update-state--failed{background:var(--color-alert-soft)}.update-summary{margin:0}.update-summary div{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(6rem,.35fr) 1fr;display:grid}.update-summary dt{color:var(--color-ink-muted);font-weight:700}.update-summary dd{overflow-wrap:anywhere;min-width:0;margin:0}.update-actions,.update-confirmation{gap:var(--space-3);flex-wrap:wrap;display:flex}.update-confirmation{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-notice-soft)}.update-confirmation p{width:100%}.library-search-panel,.library-browse,.library-unavailable,.library-detail{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.library-search-panel{gap:var(--space-3);display:grid}.library-search-panel h2,.library-browse h2{margin:0}.library-search-panel label{font-weight:800}.library-search-panel input{min-height:var(--touch-target);padding:0 var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit}.library-chips{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.library-chips button{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-ink);font:inherit;border-radius:999px;font-weight:750}.library-chips button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-notice-soft)}.library-results{gap:var(--space-3);padding:0;list-style:none;display:grid}.library-results button{width:100%;min-height:var(--touch-target);gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);text-align:left;display:grid}.library-results button span,.library-results button small{color:var(--color-ink-muted)}.library-empty,.library-fixture-note{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted)}.library-detail{gap:var(--space-4);display:grid}.library-detail h1,.library-detail p,.library-metadata,.library-diagnostics dl{margin:0}.library-metadata div,.library-diagnostics dl div{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(7rem,.35fr) 1fr;display:grid}.library-metadata dt,.library-diagnostics dt{color:var(--color-ink-muted);font-weight:700}.library-metadata dd,.library-diagnostics dd{overflow-wrap:anywhere;min-width:0;margin:0}.library-diagnostics summary{min-height:var(--touch-target);cursor:pointer;font-weight:800}.family-privacy-note,.family-workspace,.family-diagnostics{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.family-privacy-note{background:var(--color-notice-soft)}.family-privacy-note h2,.family-privacy-note p,.family-workspace h2{margin-top:0}.family-tabs{gap:var(--space-2);padding-bottom:var(--space-2);display:flex;overflow-x:auto}.family-tabs button{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);font:inherit;border-radius:999px;flex:none;font-weight:750}.family-tabs button[aria-current=page]{border-color:var(--color-accent);background:var(--color-notice-soft)}.family-form-grid,.vault-panel,.backup-panel{gap:var(--space-4);display:grid}.family-form-grid label,.vault-panel label,.backup-panel label{gap:var(--space-2);font-weight:750;display:grid}.family-form-grid input,.vault-panel input,.backup-panel input,.backup-panel textarea{min-height:var(--touch-target);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit}.backup-panel textarea{resize:vertical;min-height:10rem}.family-summary,.family-diagnostics dl{margin:0}.family-summary div,.family-diagnostics dl div{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(8rem,.5fr) 1fr;display:grid}.family-summary dt,.family-diagnostics dt{color:var(--color-ink-muted);font-weight:700}.family-summary dd,.family-diagnostics dd{margin:0}.family-cards{gap:var(--space-3);padding:0;list-style:none;display:grid}.family-cards li{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.family-cards label{gap:var(--space-2);font-weight:750;display:grid}.family-cards input{min-height:var(--touch-target);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit}.family-checklists{gap:var(--space-4);display:grid}.family-checklists fieldset{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.family-checklists label{min-height:var(--touch-target);align-items:center;gap:var(--space-3);display:flex}.family-checklists input{width:1.4rem;height:1.4rem}.family-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.family-diagnostics summary{min-height:var(--touch-target);cursor:pointer;font-weight:800}.cards-builder{gap:var(--space-4);display:grid}.cards-builder fieldset{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.cards-builder fieldset>label,.cards-sensitive-confirm{min-height:var(--touch-target);align-items:center;gap:var(--space-3);display:flex}.cards-builder input[type=checkbox]{flex:none;width:1.4rem;height:1.4rem}.cards-kind-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.cards-kind-grid button{min-height:var(--touch-target);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-ink);font:inherit;font-weight:750}.cards-kind-grid button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-notice-soft)}.cards-template,.cards-template label{gap:var(--space-3);display:grid}.cards-template select,.cards-template textarea{min-height:var(--touch-target);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit}.card-preview{padding:var(--space-5);border:2px solid var(--color-accent);border-radius:var(--radius-lg);background:var(--color-surface)}.card-preview--private_device_only{border-color:var(--color-border-strong)}.card-preview--includes_sensitive{background:var(--color-alert-soft);border-color:#a45a30}.card-fixture-label,.card-visibility{font-weight:800}.card-preview dl{margin:var(--space-4) 0}.card-preview dl div{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(7rem,.35fr) 1fr;display:grid}.card-preview dt{font-weight:750}.card-preview dd{overflow-wrap:anywhere;margin:0}@media print{.app-shell>:not(.shell-layout),.side-navigation,.bottom-navigation,.family-privacy-note,.family-tabs,.cards-builder>:not(.card-preview),.card-preview .family-actions{display:none!important}.card-preview{color:#000;background:#fff;border:0}}.settings-card legend{padding:0 var(--space-2);font-size:1.15rem;font-weight:800}.settings-card p{margin:0 0 var(--space-3);color:var(--color-ink-muted)}.segmented-control{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.segmented-control button,.language-option{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-weight:700}.segmented-control button[aria-pressed=true],.language-option[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.button{min-height:var(--touch-target);padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);cursor:pointer;border:0;justify-content:center;align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.button--primary{background:var(--color-primary);color:#fff}.button--primary:hover{background:var(--color-primary-hover)}.button--full{width:100%}.side-navigation{display:none}.bottom-navigation{z-index:30;padding:var(--space-2) max(var(--space-2), env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left));border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav-link{border-radius:var(--radius-sm);min-width:0;min-height:3.5rem;color:var(--color-ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.62rem;font-weight:700;text-decoration:none;display:flex}.bottom-nav-link .icon{width:1.35rem;height:1.35rem}.bottom-nav-link--active{background:var(--color-surface-muted);color:var(--color-primary)}.app-footer{padding:0 var(--space-4) var(--space-5);text-align:center}.app-footer p{color:var(--color-ink-muted);font-size:.78rem}.dialog-backdrop{z-index:80;padding:var(--space-4);background:#0a1913a6;align-items:end;display:grid;position:fixed;inset:0}.language-dialog{width:min(100%,32rem);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);margin:0 auto;box-shadow:0 24px 80px #0000004d}.language-dialog h1{font-size:clamp(1.65rem,7vw,2.5rem)}.language-dialog>p:not(.eyebrow){color:var(--color-ink-muted);line-height:1.5}.language-options{gap:var(--space-2);margin:var(--space-5) 0;display:grid}.language-option{padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;display:flex}@media (width>=48rem){.app-shell{padding-bottom:0}.topbar{padding-right:var(--space-6);padding-left:var(--space-6)}.shell-layout{padding:var(--space-5) var(--space-6);grid-template-columns:14rem minmax(0,1fr);display:grid}.side-navigation{gap:var(--space-1);flex-direction:column;height:fit-content;display:flex;position:sticky;top:6rem}.nav-link{min-height:var(--touch-target);align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink-muted);font-weight:700;text-decoration:none;display:flex}.nav-link:hover{background:var(--color-surface)}.nav-link--active{background:var(--color-primary);color:#fff}.main-content{padding:var(--space-3) 0 var(--space-6) var(--space-6)}.page-stack{margin:0}.status-grid{grid-template-columns:1fr 1fr}.bottom-navigation{display:none}.dialog-backdrop{align-items:center}}@media (prefers-reduced-motion:no-preference){.button,.emergency-entry,.nav-link,.bottom-nav-link{transition:background-color .15s,color .15s,transform .15s}.disaster-choice{transition:background-color .15s,border-color .15s}.emergency-entry:hover{border-color:var(--color-accent);background:#fff;transform:translateY(-2px)}}@media (forced-colors:active){.brand__mark,.emergency-entry,.nav-link--active,.segmented-control button[aria-pressed=true],.language-option[aria-pressed=true]{border:2px solid buttontext}}.readiness-heading,.button-row,.drill-list li{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.readiness-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.readiness-signal,.readiness-backup,.drill-list li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-4)}.readiness-signal--ready{border-left:.35rem solid #26734d}.readiness-signal--needs_attention{border-left:.35rem solid #9a6700}.readiness-signal--unavailable{border-left:.35rem solid #a63d32}.readiness-signal--optional{border-left:.35rem solid var(--color-ink-muted)}.readiness-backup{gap:var(--space-3);display:grid}.readiness-backup label{gap:var(--space-1);font-weight:700;display:grid}.readiness-backup textarea{min-height:7rem}.drill-list{gap:var(--space-3);padding:0;list-style:none;display:grid}.drill-list p{margin-bottom:0}@media print{.topbar,.side-navigation,.bottom-navigation,.button,.skip-link,.readiness-backup{display:none!important}.main-content{padding:0!important}.readiness-signal,.drill-list li{break-inside:avoid}}
