@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-sinhala-sinhala-400-normal-B-I-Ey6b.woff2) format("woff2"),url(/assets/noto-sans-sinhala-sinhala-400-normal-C8XOyZMO.woff) format("woff");unicode-range:U+0964-0965,U+0D81-0DF4,U+1CF2,U+200C-200D,U+25CC,U+111E1-111F4}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-sinhala-latin-ext-400-normal-DX3cjHFh.woff2) format("woff2"),url(/assets/noto-sans-sinhala-latin-ext-400-normal-CP5rVHFU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-sinhala-latin-400-normal-CewS1QCZ.woff2) format("woff2"),url(/assets/noto-sans-sinhala-latin-400-normal-CqMwo2i3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-sinhala-sinhala-600-normal-Ds44rdly.woff2) format("woff2"),url(/assets/noto-sans-sinhala-sinhala-600-normal-DJCf5vdU.woff) format("woff");unicode-range:U+0964-0965,U+0D81-0DF4,U+1CF2,U+200C-200D,U+25CC,U+111E1-111F4}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-sinhala-latin-ext-600-normal-KywLvIv6.woff2) format("woff2"),url(/assets/noto-sans-sinhala-latin-ext-600-normal-BZzCGw3A.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-sinhala-latin-600-normal-D6FNRLlM.woff2) format("woff2"),url(/assets/noto-sans-sinhala-latin-600-normal-BdFTtdOd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-sinhala-sinhala-700-normal-DAhmXSVd.woff2) format("woff2"),url(/assets/noto-sans-sinhala-sinhala-700-normal-uhAc9xwn.woff) format("woff");unicode-range:U+0964-0965,U+0D81-0DF4,U+1CF2,U+200C-200D,U+25CC,U+111E1-111F4}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-sinhala-latin-ext-700-normal-DcWahW2s.woff2) format("woff2"),url(/assets/noto-sans-sinhala-latin-ext-700-normal-CNBMxhwx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Noto Sans Sinhala;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-sinhala-latin-700-normal-Ccpti-OH.woff2) format("woff2"),url(/assets/noto-sans-sinhala-latin-700-normal-B07LXaDZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.mk-notice{font-size:.88rem;border-radius:12px;padding:8px 12px;border:1px solid var(--line);background:#fffdf7;margin:8px 0}.mk-notice.warn{background:#fff0d6;border-color:var(--gold);font-weight:600}.mk-notice.sensitive{background:#fdeee9;border-color:var(--danger, #b3261e)}.mk-sens{display:inline-block;font-size:.72rem;padding:1px 10px;border-radius:999px;background:#fdeee9;border:1px solid var(--danger, #b3261e);color:var(--danger, #b3261e);font-weight:600;margin-left:6px}.mk-receipt{max-width:100%;max-height:520px;border:1px solid var(--line);border-radius:12px;background:#fff}.mk-qr{width:180px;height:180px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff}.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.mk-grid label:not(.check){display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}.mk-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px}.mk-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.mk-actions textarea{flex:1 1 260px}.mk-pos{color:var(--teal-2);font-weight:600}.mk-neg{color:var(--danger, #b3261e);font-weight:600}.mk-evidence{display:flex;flex-direction:column;gap:6px}.mk-evidence p{border:1px solid var(--line);border-radius:12px;padding:6px 10px;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}.mk-evidence p.reported{background:#fffdf7}.mk-table-edit input,.mk-table-edit select{min-height:36px}.mk-timeline{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}.qr-fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:8px}.qr-fieldset legend{font-weight:600;padding:0 4px}.qr-pick{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.qr-check{margin:4px 0}.pc{display:flex;flex-direction:column;gap:14px}.pc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.pc-head h2{margin:0 0 2px}.pc-add{min-height:46px;padding:8px 22px;font-size:1rem}.pc-add span{font-size:1.1rem;margin-right:4px}.pc-stats{display:flex;gap:8px;flex-wrap:wrap}.pc-stat{border:1px solid var(--line);background:var(--surface);color:var(--ink);min-height:38px;padding:4px 14px;font-size:.9rem}.pc-stat strong{font-size:1.05rem;margin-right:4px}.pc-stat.on{border-color:var(--teal);background:var(--teal-soft)}.pc-stat.s-ready strong{color:var(--success)}.pc-stat.s-incomplete strong{color:var(--gold-ink)}.pc-stat.s-archived strong,.pc-stat.s-hidden strong{color:var(--muted)}.pc-search{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.pc-search input[type=search]{font-size:1rem;min-height:46px}.pc-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-items:center}.pc-filters select,.pc-filters input{min-height:40px;padding:6px 10px;font-size:.9rem}.pc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pc-list[aria-busy=true]{opacity:.6}.pc-row{width:100%;display:flex;align-items:center;gap:14px;text-align:left;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);padding:10px 14px;min-height:76px}.pc-row:hover{border-color:var(--teal-2);background:var(--teal-soft)}.pc-thumb{flex:none;border-radius:12px;object-fit:cover;background:var(--cream);border:1px solid var(--gold-line)}.pc-initial{display:grid;place-items:center;color:var(--teal);font-weight:700;font-size:1.2rem}.pc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pc-name{font-weight:700;color:var(--teal);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pc-facts{color:var(--muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;font-weight:600;color:var(--gold-ink);background:var(--gold-soft);border-radius:6px;padding:1px 6px}.pc-id.big{font-size:.95rem;padding:2px 8px}.pc-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.pc-status{font-size:.8rem;font-weight:600;border-radius:var(--radius-pill);padding:2px 10px;border:1px solid var(--line);background:var(--surface);white-space:nowrap}.pc-status.s-ready{color:var(--success);border-color:#b9dcc8;background:var(--success-soft)}.pc-status.s-incomplete{color:var(--gold-ink);border-color:var(--gold-line);background:var(--gold-soft)}.pc-status.s-hidden,.pc-status.s-archived{color:var(--muted);background:var(--cream)}.pc-source{font-size:.75rem;color:var(--muted)}.pc-empty{text-align:center;padding:32px 16px;border:1px dashed var(--gold-line);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:10px}.pc-pager{display:flex;justify-content:center;align-items:center;gap:12px;color:var(--muted);font-size:.9rem}.pc-editor{display:flex;flex-direction:column;gap:14px}.pc-editor-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pc-editor-head h2{margin:0}.pc-editor-head .link{padding-left:0}.pc-flash{background:var(--success-soft);color:var(--success);border-radius:var(--radius-sm);padding:8px 12px;font-weight:600}.pc-dupes{background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--radius-md);padding:10px 14px}.pc-dupes ul{margin:6px 0 0;padding-left:18px}.pc-columns{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}.pc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.pc-card h3{margin:0 0 10px;font-size:1rem;color:var(--teal)}.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 14px}.pc-grid>label:not(.check){display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}.pc-wide{grid-column:1 / -1}.pc-req{font-weight:400;font-size:.75rem;color:var(--gold-ink);margin-left:6px}.pc-err{color:var(--danger);font-size:.85rem;font-weight:600}.pc-grid [aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}.pc-segment{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pc-segment legend{font-weight:600;font-size:.9rem;margin-bottom:4px;padding:0}.pc-segment>label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 16px;min-height:42px;cursor:pointer;background:var(--surface)}.pc-segment>label.on{border-color:var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:600}.pc-segment input{accent-color:var(--teal)}.pc-eligible{margin-top:12px;font-size:.9rem;color:var(--gold-ink);background:var(--gold-soft);border-radius:var(--radius-sm);padding:8px 12px}.pc-eligible.ok{color:var(--success);background:var(--success-soft)}.pc-photo{display:flex;flex-direction:column;gap:10px}.pc-photo-frame{position:relative;width:100%;aspect-ratio:4 / 5;overflow:hidden;display:grid;place-items:center;border-radius:50% 50% var(--radius-md) var(--radius-md) / 40% 40% var(--radius-md) var(--radius-md);border:2px solid var(--gold);background:linear-gradient(180deg,var(--teal-soft),var(--cream))}.pc-photo-frame img{width:100%;height:100%;object-fit:cover}.pc-photo-empty{font-size:3rem;color:var(--teal-2);font-weight:700}.pc-photo-busy{position:absolute;inset:auto 0 0 0;background:#174f4dd9;color:#fff;text-align:center;font-size:.85rem;padding:6px}.pc-more>summary{cursor:pointer;font-weight:700;color:var(--teal);list-style:none;display:flex;gap:10px;align-items:baseline;min-height:32px}.pc-more>summary::-webkit-details-marker{display:none}.pc-more>summary:before{content:"▸";color:var(--gold);transition:transform .15s}.pc-more[open]>summary:before{transform:rotate(90deg)}.pc-more[open]>summary{margin-bottom:12px}.pc-card textarea{width:100%}.pc-suggest{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}.pc-suggest ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.pc-suggest li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--cream);border-radius:var(--radius-sm);padding:6px 10px}.pc-actions{position:sticky;bottom:0;z-index:3;display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--surface);border-top:1px solid var(--line);padding:12px 0}@media (max-width: 720px){.pc-columns{grid-template-columns:1fr}.pc-photo-frame{max-width:220px;margin:0 auto}.pc-row{align-items:flex-start}.pc-side{display:none}.pc-facts{white-space:normal}}:root{--teal: #174f4d;--teal-hover: #113d3b;--teal-2: #3d7d78;--teal-soft: #e4efed;--ivory: #fbf7f0;--surface: #fffdf8;--paper-glass: rgba(255, 252, 245, .95);--cream: #f5efe6;--gold: #c49a55;--gold-ink: #85642a;--gold-soft: #f7efe1;--gold-line: #e6d4b2;--rose: #d98e8e;--rose-ink: #a94f4f;--ink: #243735;--muted: #5e6a67;--line: #e7e0d6;--danger: #a8402c;--danger-soft: #fbeceb;--success: #2f7d5b;--success-soft: #e3f2ea;--paper: var(--surface);--terracotta: var(--rose-ink);--radius-sm: 10px;--radius-md: 14px;--radius: 18px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(36, 55, 53, .05), 0 2px 10px rgba(36, 55, 53, .05);--shadow: 0 2px 6px rgba(36, 55, 53, .05), 0 14px 36px rgba(36, 55, 53, .09);--focus-ring: 0 0 0 3px rgba(23, 79, 77, .2);--tap: 44px;font-family:Noto Sans Sinhala,Nirmala UI,Iskoola Pota,system-ui,sans-serif;color:var(--ink);line-height:1.6}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--ivory)}body{margin:0;min-height:100vh;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#root{position:relative}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.backdrop.quiet{opacity:.5}.leaf-sprig{display:block}button{cursor:pointer;border:1px solid transparent;border-radius:var(--radius-pill);padding:8px 18px;min-height:40px;background:none;transition:background-color .15s,border-color .15s,color .15s}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--teal);color:#fff;font-weight:600;box-shadow:0 2px 8px #174f4d2e}button.primary:hover:not(:disabled){background:var(--teal-hover)}button.ghost{border-color:var(--line);background:var(--surface);color:var(--teal)}button.ghost:hover:not(:disabled){border-color:var(--teal-2);background:var(--teal-soft)}button.danger{border-color:var(--danger);color:var(--danger);background:var(--surface)}button.danger:hover:not(:disabled){background:var(--danger-soft)}button.link{color:var(--teal);text-decoration:underline;text-underline-offset:3px;padding:4px 8px;min-height:32px}button.link.small{font-size:.85rem}button.icon{padding:4px 10px;min-height:36px}button.wide{width:100%}button.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.icon{flex:none}@media (max-width: 599px){button.icon-button{width:var(--tap);min-width:var(--tap);padding:0}.icon-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.chip{border:1px solid var(--gold-line);background:var(--gold-soft);color:var(--teal);font-weight:600;padding:6px 16px;min-height:40px;font-size:.92rem}.chip:hover:not(:disabled){border-color:var(--gold)}.row-buttons{display:flex;gap:8px;flex-wrap:wrap}.form{display:flex;flex-direction:column;gap:10px}.form label:not(.check){display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem}input:not([type=checkbox]),select,textarea{border:1px solid var(--line);border-radius:var(--radius-md);padding:9px 12px;background:var(--surface);width:100%;min-height:var(--tap)}input:not([type=checkbox]):focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--teal-2);box-shadow:var(--focus-ring)}textarea{resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;cursor:pointer}.check input{width:20px;height:20px;margin-top:4px;flex:none;accent-color:var(--teal)}.check.small{font-size:.85rem}.help{font-size:.85rem;color:var(--muted)}.help.block{display:block}.ok{color:var(--success);font-weight:600}.bad,.form-error{color:var(--danger)}.form-error{font-size:.9rem;background:var(--danger-soft);border-radius:var(--radius-sm);padding:8px 12px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.welcome{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}.welcome-card{width:min(520px,100%);background:var(--paper-glass);border:1px solid var(--gold-line);border-radius:var(--radius-lg);padding:32px 28px 24px;background-image:radial-gradient(circle at 100% 0,rgba(196,154,85,.14),transparent 42%);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;font-size:1.25rem;color:var(--teal);line-height:1.3}.brand small{color:var(--gold-ink);font-size:.8rem}.brand.small strong{font-size:1rem}.welcome h1{font-size:1.6rem;line-height:1.4;color:var(--teal)}.sub{color:var(--muted)}.who{font-weight:700;margin-bottom:8px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choices .who{grid-column:1 / -1;margin:0}.choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:18px 10px;min-height:104px;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);position:relative;transition:border-color .2s,background-color .2s}.choice:hover{border-color:var(--gold)}.choice.selected{border-color:var(--teal);background:var(--teal-soft)}.choice-label{font-size:1.25rem;font-weight:700;color:var(--teal)}.choice-en{font-size:.85rem;color:var(--muted)}.choice-mark{position:absolute;top:8px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:.8rem;display:grid;place-items:center;opacity:0}.choice.selected .choice-mark{opacity:1}.hint{font-size:.85rem;color:var(--muted)}.welcome-card .notice{font-size:.85rem;color:var(--muted);text-align:center;border-top:1px solid var(--line);padding-top:12px}.welcome-lotus{position:absolute;bottom:12px;left:50%;transform:translate(-50%);opacity:.2;pointer-events:none}.center-note{min-height:100dvh;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:var(--teal);text-align:center;padding:20px}.chat-page{height:100vh;height:100dvh;max-width:760px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"stage tools" "nav nav" "conv conv";gap:8px 10px;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.chat-header{grid-area:tools;display:flex;align-items:center;gap:8px}.header-brand{display:none}.chat-tools{display:flex;gap:6px}.chat-tools .icon-button{position:relative}.save-state .dot{width:8px;height:8px;border-radius:50%;background:var(--rose);flex:none}.save-state.saved .dot{background:var(--success)}.chat-header{flex-direction:column;align-items:flex-end;gap:4px}.allowance-meter{order:1;display:inline-flex;align-items:center;gap:0;margin:0;padding:2px 4px;min-height:0;border:1px solid var(--gold-line);border-radius:var(--radius-pill);background:var(--gold-soft);color:var(--teal);font:inherit;font-size:.78rem;line-height:1.5;white-space:nowrap;cursor:default;box-shadow:none}button.allowance-meter{cursor:pointer}button.allowance-meter:hover{background:var(--cream)}.allowance-meter .meter-part{padding:0 8px}.allowance-meter .meter-part+.meter-part{border-left:1px solid var(--gold-line)}.allowance-meter b{font-weight:700}.allowance-meter.empty{background:var(--surface);color:var(--muted)}.mira-stage{grid-area:stage;display:flex;align-items:center;gap:12px;min-width:0}.avatar-frame{flex:none;width:56px;aspect-ratio:4 / 5;overflow:hidden;position:relative;border-radius:50% 50% var(--radius-md) var(--radius-md) / 40% 40% var(--radius-md) var(--radius-md);border:2px solid var(--gold);background:linear-gradient(180deg,var(--teal-soft) 0%,var(--cream) 100%);box-shadow:var(--shadow-sm);transition:width .35s ease}.avatar,.live2d{display:block;width:100%;height:100%}.live2d canvas{display:block;width:100%!important;height:100%!important}.avatar-loading{width:100%;height:100%;background:radial-gradient(circle at 50% 42%,rgba(23,79,77,.1) 0 24%,transparent 25%);animation:soft-pulse 1.6s ease-in-out infinite}@keyframes soft-pulse{50%{opacity:.45}}.mira-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.mira-name{font-size:1.2rem;font-weight:700;color:var(--teal);line-height:1.25}.mira-status{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);line-height:1.4}.mira-status:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--success)}.mira-status.busy{color:var(--teal)}.mira-meta .leaf-sprig{display:none;margin-top:2px}.mira-status.busy:before{background:var(--gold);animation:soft-pulse 1s ease-in-out infinite}.chat-nav{grid-area:nav;display:flex;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:4px;margin:-4px}.chat-nav::-webkit-scrollbar{display:none}.chat-nav button{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 14px;font-size:.88rem;white-space:nowrap}.chat-nav .bell{font-size:1rem}@media (max-width: 599px){.chat-nav{gap:4px}.chat-nav button{min-height:32px;padding:2px 10px;font-size:.8rem;gap:4px}.chat-nav .bell{font-size:.9rem}.chat-nav .count-badge{min-width:18px;height:18px;font-size:.7rem;padding:0 4px}}@media (max-width: 1023px) and (min-height: 600px){.chat-page.intro .mira-stage{flex-direction:column;justify-content:center;gap:8px;padding-top:34px}.chat-page.intro .mira-stage .avatar-frame{width:112px;border-width:3px;box-shadow:0 0 0 6px var(--gold-soft),var(--shadow-sm)}.chat-page.intro .mira-meta{align-items:center}.chat-page.intro .mira-meta .leaf-sprig{display:block}.chat-page.intro{grid-template-areas:"stage stage" "nav nav" "conv conv"}.chat-page.intro .chat-header{grid-area:stage;justify-self:end;align-self:start;z-index:1}}.conversation{grid-area:conv;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;background:var(--paper-glass);border:1px solid var(--gold-line);border-radius:var(--radius-lg);box-shadow:inset 0 3px #c49a5559,var(--shadow)}.messages-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;position:relative;padding:16px clamp(12px,3vw,24px) 12px;display:flex;flex-direction:column;gap:14px}.row.user,.row.assistant{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px}.row.user{align-items:flex-end}.row.assistant{align-items:flex-start}.row.user+.row.user,.row.assistant+.row.assistant{margin-top:-8px}.bubble{max-width:min(86%,36rem);padding:10px 16px;border-radius:20px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;animation:bubble-in .22s ease-out both}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}}.bubble.assistant{background:var(--cream);color:var(--ink);border-bottom-left-radius:6px}.bubble.user{background:var(--teal);color:#fff;border-bottom-right-radius:6px}.bubble.notice{background:var(--teal-soft);font-size:.92rem;max-width:min(96%,40rem);border-radius:var(--radius)}.bubble.error{background:var(--danger-soft);color:var(--danger);border:1px solid #efcabf}.bubble.revealing{cursor:pointer}.type-caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--teal);animation:caret-blink .9s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.retry{display:flex;margin-top:8px;padding:4px 16px;min-height:40px;border:1px solid var(--danger);color:var(--danger);background:var(--surface);font-size:.9rem}.retry:hover{background:var(--danger-soft)}.typing{display:inline-flex;gap:5px;padding:15px 18px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--teal-2);animation:bounce 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.search-card{display:flex;flex-direction:column;align-items:center;gap:2px;width:min(100%,22rem);padding:12px 14px 10px;border:1px solid var(--gold-line);transition:opacity .22s ease,transform .22s ease}.search-card.leaving{opacity:0;transform:translateY(-4px) scale(.98)}.search-scene{display:block;width:100%;max-width:300px;height:auto;aspect-ratio:300 / 112;overflow:visible}.search-text{margin:0;font-size:.95rem;font-weight:600;color:var(--teal);text-align:center;line-height:1.6}.ss-ground{stroke:var(--gold-line);stroke-width:2;stroke-linecap:round;fill:none}.ss-leaf{fill:#7fa58c;opacity:.75}.ss-card{stroke:var(--line);stroke-width:1.2}.ss-head,.ss-body{fill:#a9c7c1}.ss-line{fill:var(--gold-line)}.ss-halo{fill:var(--gold-soft);stroke:var(--gold);stroke-width:1.5;opacity:0}.ss-handle{fill:var(--teal)}.ss-under{fill:var(--ivory)}.ss-rim{fill:none;stroke:var(--gold);stroke-width:5}.ss-shine{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:.9}.ss-spark{fill:var(--gold);opacity:.2;transform-box:fill-box;transform-origin:center}.ss-lens{transform:translate(150px,50px);animation:ss-sweep 6.4s ease-in-out infinite}.ss-zoom{transform:scale(1.35) translate(-150px,-50px);animation:ss-zoom 6.4s ease-in-out infinite}.ss-bob{animation:ss-bob 1.6s ease-in-out infinite alternate}.ss-spark{animation:ss-twinkle 1.8s ease-in-out infinite}.ss-spark.s2{animation-delay:.9s}.ss-t0 .ss-halo{animation:ss-glow0 6.4s linear infinite}.ss-t1 .ss-halo{animation:ss-glow1 6.4s linear infinite}.ss-t2 .ss-halo{animation:ss-glow2 6.4s linear infinite}.ss-t3 .ss-halo{animation:ss-glow3 6.4s linear infinite}.ss-t4 .ss-halo{animation:ss-glow4 6.4s linear infinite}@keyframes ss-sweep{0%,to{transform:translate(46px,50px)}50%{transform:translate(254px,50px)}}@keyframes ss-zoom{0%,to{transform:scale(1.35) translate(-46px,-50px)}50%{transform:scale(1.35) translate(-254px,-50px)}}@keyframes ss-bob{0%{transform:translateY(-2px)}to{transform:translateY(2px)}}@keyframes ss-twinkle{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes ss-glow0{0%,to{opacity:1}9%,91%{opacity:0}}@keyframes ss-glow1{0%,8%,25%,75%,92%,to{opacity:0}16.7%,83.3%{opacity:1}}@keyframes ss-glow2{0%,16%,34%,66%,84%,to{opacity:0}25%,75%{opacity:1}}@keyframes ss-glow3{0%,24%,42%,58%,76%,to{opacity:0}33.3%,66.7%{opacity:1}}@keyframes ss-glow4{0%,41%,59%,to{opacity:0}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.search-scene .ss-lens,.search-scene .ss-zoom,.search-scene .ss-bob,.search-scene .ss-halo,.search-scene .ss-spark{animation:none!important}.search-scene .ss-t2 .ss-halo{opacity:1}.search-scene .ss-spark{opacity:.6}.search-card{transition:none}}.empty-chat{margin:auto;max-width:22rem;text-align:center;color:var(--muted);font-size:.95rem}.starters{display:flex;flex-direction:column;gap:8px;max-width:min(94%,36rem);animation:bubble-in .25s ease-out .1s both}.starters-hint{font-size:.88rem;color:var(--muted)}.starters-list{display:flex;flex-wrap:wrap;gap:8px}.starter{min-height:var(--tap);padding:8px 16px;text-align:left;line-height:1.45;font-size:.92rem;border:1px solid var(--teal-2);background:var(--surface);color:var(--teal);font-weight:600}.starter:hover{background:var(--teal-soft)}.unread-jump{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:2;background:var(--teal);color:#fff;box-shadow:var(--shadow);font-size:.9rem}.quick{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px 0;border-top:1px solid var(--line)}.conversation .composer{display:flex;flex-direction:row;align-items:flex-end;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line)}.quick+.composer{border-top:0}.conversation .composer textarea{flex:1;min-width:0;resize:none;field-sizing:content;min-height:48px;max-height:140px;padding:11px 16px;border-radius:24px;background:var(--ivory);line-height:1.55;font-size:1rem}.conversation .composer textarea:focus-visible{background:var(--surface)}.conversation .composer textarea::placeholder{color:var(--muted);font-size:.9rem;white-space:nowrap;overflow:hidden}.conversation .composer button{flex:none;min-height:48px;padding:0 22px}.conversation .composer button.primary:disabled{opacity:1;background:var(--cream);color:var(--muted);box-shadow:none}.conversation .composer button.icon-button{padding:0 20px 0 16px}@media (max-width: 599px){.conversation .composer button.icon-button{width:48px;min-width:48px;padding:0}}.blocked-bar{padding:16px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;border-top:1px solid var(--line)}.action-card{background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px;max-width:min(94%,36rem)}.action-card p{font-size:.92rem;color:var(--muted)}.matches{display:flex;flex-direction:column;gap:10px;width:min(100%,36rem)}.match{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);animation:match-in .3s ease both}@keyframes match-in{0%{opacity:0;transform:translateY(8px)}}.match header{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}.match h3{font-size:1.05rem;color:var(--teal)}.age{font-weight:600}.badges{display:flex;gap:6px;margin:4px 0;flex-wrap:wrap}.badge{font-size:.78rem;padding:1px 10px;border-radius:var(--radius-pill);border:1px solid var(--line)}.badge.muted{color:var(--muted)}.badge.marks{background:var(--teal-soft);border-color:var(--teal-2);color:var(--teal);font-weight:700}.badge.demo{background:var(--gold-soft);border-color:var(--gold-line);color:var(--gold-ink)}.facts{color:var(--muted);font-size:.92rem}.prefs{color:var(--muted);font-size:.9rem}.match-photo{display:block;width:100%;height:clamp(140px,26vh,220px);object-fit:cover;object-position:center 30%;border-radius:var(--radius-md);margin-bottom:10px;background:var(--teal-soft)}.about{font-size:.92rem;margin-top:4px}.notes{list-style:none;padding:0;margin:8px 0 0;font-size:.88rem;display:flex;flex-direction:column;gap:2px}.notes .confirmed{color:var(--success)}.notes .different{color:var(--danger)}.notes .unknown{color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18282673;display:flex;align-items:center;justify-content:center;z-index:50;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(560px,100%);max-height:calc(100dvh - 28px);display:flex;flex-direction:column;box-shadow:0 24px 64px #18282638}.modal header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px 12px;border-bottom:1px solid var(--line)}.modal h2{font-size:1.15rem;color:var(--teal)}.modal-body{padding:14px 18px 18px;overflow-y:auto}.modal h3{margin:12px 0 2px;color:var(--teal);font-size:1rem;border-bottom:1px solid var(--line);padding-bottom:4px}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{flex:1;border-color:var(--line)}.tabs button.on{background:var(--teal);border-color:var(--teal);color:#fff}.modal.wide{width:min(1000px,100%)}.profile-tabs{container-type:inline-size}.profile-tabs>.tabs{position:sticky;top:-14px;z-index:2;margin:-14px -18px 12px;padding:12px 18px 10px;background:var(--surface);border-bottom:1px solid var(--line)}.m-section .profile-tabs>.tabs{margin:0 0 12px;padding:0;position:static;border:0;background:none}.tabs button{line-height:1.4}.tabs.small{margin:6px 0 10px}.tabs.small button{min-height:34px;padding:4px 10px;font-size:.85rem}.field-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px 22px}.field>input,.field>select,.field>textarea{width:100%}.field-error{color:var(--danger);font-size:.85rem;font-weight:600}.field-note{font-size:.85rem;background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius-sm);padding:6px 10px}.field [aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.counter{font-size:.82rem;color:var(--muted);text-align:right}.counter.over{color:var(--danger);font-weight:600}.draft-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.88rem;background:var(--teal-soft);border-radius:var(--radius-sm);padding:8px 12px}.form-error p{margin:0}.form-error .retry{margin-top:8px}.profile-tabs :is(input,select,textarea,button){scroll-margin-top:76px;scroll-margin-bottom:76px}.form-actions{position:sticky;bottom:-18px;z-index:1;background:var(--surface);padding:10px 0 4px;border-top:1px solid var(--line)}.m-section .form-actions{position:static;background:none}@container (min-width: 640px){.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid .f-multi,.field-grid .f-textarea,.field-grid .f-wide{grid-column:1 / -1}}@container (min-width: 880px){.field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.visibility{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.vis-controls{display:flex;flex-direction:column;gap:10px;min-width:0}.vis-switches{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.vis-item{border:1px solid var(--line);border-radius:var(--radius-md);padding:6px 12px 8px;background:var(--surface);display:flex;flex-direction:column;gap:0}.vis-item.on{border-color:var(--teal-2);background:linear-gradient(0deg,var(--surface),var(--surface)),var(--teal-soft);box-shadow:inset 3px 0 0 var(--teal)}.switch{position:relative;display:flex;align-items:center;gap:12px;cursor:pointer;min-height:var(--tap);font-weight:600}.switch input{position:absolute;z-index:1;opacity:0;width:46px;height:28px;margin:0;cursor:pointer}.switch .track{flex:none;position:relative;width:46px;height:28px;border-radius:var(--radius-pill);background:var(--line);transition:background-color .15s}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #2437354d;transition:transform .15s}.switch input:checked+.track{background:var(--teal)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{box-shadow:var(--focus-ring);outline:2px solid var(--teal);outline-offset:2px}.switch input[aria-busy=true]+.track{opacity:.6}.vis-label{flex:1;min-width:0;overflow-wrap:anywhere}.vis-state{font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap}.vis-item.on .vis-state{color:var(--teal)}.vis-help{font-size:.84rem;color:var(--muted);padding-left:58px;line-height:1.5}.vis-help .muted{color:var(--gold-ink)}.vis-status{font-size:.8rem;padding-left:58px;color:var(--muted)}.vis-status.saved{color:var(--success)}.vis-confirm{margin:6px 0 2px 58px;background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:.9rem}.vis-preview{display:flex;flex-direction:column;gap:6px;background:var(--ivory);border:1px dashed var(--gold-line);border-radius:var(--radius);padding:14px;min-width:0}.modal .vis-preview h3{margin-top:0}.preview-card{display:flex;flex-direction:column;gap:8px}.preview-badge{align-self:flex-start}.preview-card .person-photo{width:96px;height:120px}@container (min-width: 720px){.visibility{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.vis-preview{position:sticky;top:52px}}@media (max-width: 420px){.vis-help,.vis-status{padding-left:0}.vis-confirm{margin-left:0}}.field{display:flex;flex-direction:column;gap:4px}.field-head{display:flex;justify-content:space-between;align-items:center}.field-head label{font-weight:600;font-size:.92rem}.multi{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 10px}.success{display:flex;flex-direction:column;gap:12px;align-items:flex-start;color:var(--teal);font-weight:600}.account-line{font-size:.95rem}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;padding:16px}.gallery figure{margin:0;text-align:center}.gallery-face{width:100%;aspect-ratio:320 / 400;background:var(--teal-soft);border-radius:var(--radius);overflow:hidden}@media (max-width: 1023px){.chat-tools .icon-button{width:var(--tap);min-width:var(--tap);padding:0}.chat-tools .icon-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat-tools .save-state .dot{position:absolute;top:9px;right:9px;box-shadow:0 0 0 2px var(--surface)}}@media (min-width: 600px){.chat-page{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:12px 14px}.avatar-frame{width:64px}.mira-name{font-size:1.3rem}}@media (min-width: 600px) and (max-width: 1023px) and (min-height: 600px){.chat-page.intro .mira-stage .avatar-frame{width:168px}}@media (min-width: 1024px){.chat-page{max-width:1200px;grid-template-columns:360px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"header header" "stage conv" "nav conv";gap:16px 32px;padding:18px 28px 24px}.chat-header{grid-area:header;flex-direction:row;justify-content:space-between;gap:12px}.allowance-meter{order:0;margin-left:auto;font-size:.86rem;padding:4px 6px}.header-brand{display:flex;gap:10px}.header-brand strong{font-size:1.05rem}.chat-tools .icon-button{padding:6px 16px 6px 12px;font-size:.92rem}.chat-tools .save-state .dot{order:-1}.mira-stage{flex-direction:column;align-items:center;text-align:center;gap:14px;padding-top:8px}.avatar-frame{width:clamp(150px,calc((100dvh - 430px)*.8),300px);border-width:3px;border-radius:50% 50% var(--radius) var(--radius) / 40% 40% var(--radius) var(--radius);box-shadow:0 0 0 8px var(--gold-soft),0 18px 40px #2437351f}.mira-meta{align-items:center;gap:6px}.mira-name{font-size:1.6rem}.mira-meta .leaf-sprig{display:block}.mira-status{padding:4px 12px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line)}.chat-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-self:start;justify-self:center;width:min(100%,320px);overflow:visible;padding:14px 0 0;margin:0;border-top:1px solid var(--line)}.chat-nav button{width:100%;min-height:var(--tap);font-size:.92rem;padding:4px 10px;white-space:normal;line-height:1.3}.chat-nav button:last-child:nth-child(odd){grid-column:1 / -1}.messages{padding:28px max(28px,calc((100% - 46rem)/2)) 16px;font-size:1.0625rem}.conversation .composer{padding:14px max(16px,calc((100% - 46rem)/2)) 18px}}@media (max-width: 560px){.welcome h1{font-size:1.4rem}.welcome-card{padding:22px 18px 18px}.bubble{max-width:90%}.who-name{display:none}}@media (min-width: 1024px) and (max-height: 640px){.mira-meta .leaf-sprig{display:none}.mira-stage{gap:8px;padding-top:0}.chat-page{padding-top:12px;padding-bottom:14px;row-gap:10px}}@media (max-width: 1023px) and (max-height: 540px){.avatar-frame{width:40px;border-width:1.5px}.mira-status{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.extra{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--surface);margin-top:10px}.extras{display:flex;flex-direction:column;gap:4px;margin-top:12px}.photo-preview{width:120px;height:150px;object-fit:cover;border-radius:var(--radius-md);border:2px solid var(--gold);background:var(--cream)}.photo-preview.large{width:200px;height:250px}.action-card .extra{border:0;padding:0;margin:0;background:none}.photo-safe{display:grid;gap:4px;background:var(--teal-soft);border-radius:var(--radius-md);padding:10px 12px;font-size:.92rem}.photo-safe ul{margin:0;padding-left:1.1em;display:grid;gap:4px}.photo-safe summary{cursor:pointer}.photo-safe[open] summary{margin-bottom:4px}.protected-photo{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.admin{max-width:1120px;margin:0 auto;padding:10px 14px 40px;min-height:100dvh}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0 10px;border-bottom:1px solid var(--line)}.admin-bar nav{display:flex;gap:6px;flex-wrap:wrap}.admin-bar .ghost.on{background:var(--teal);color:#fff}.admin-main{background:var(--paper-glass);border:1px solid var(--line);border-radius:20px;padding:16px;margin-top:12px;box-shadow:var(--shadow)}.admin h2{color:var(--teal);margin-bottom:10px}.admin h3{color:var(--teal);margin:18px 0 6px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.stat{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column}.stat strong{font-size:1.8rem;color:var(--teal)}.table-wrap{overflow-x:auto}.admin table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--surface);border-radius:12px}.admin th,.admin td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}.admin th{color:var(--muted);font-weight:600;white-space:nowrap}.grow{flex:1 1 220px}.btn{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 14px;color:var(--teal);text-decoration:none;background:var(--surface);min-height:40px}.pager{justify-content:center;margin-top:10px}.detail-grid,.compare{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:16px;margin:10px 0}.compare{grid-template-columns:1fr 1fr}.facts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px;margin:0}.facts-grid dt{font-size:.78rem;color:var(--muted)}.facts-grid dd{margin:0;overflow-wrap:anywhere}.transcript{max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.transcript p{margin:4px 0;white-space:pre-wrap}.transcript .user{color:var(--teal)}.plain{list-style:none;padding:0;margin:0;font-size:.9rem}.st-active{background:var(--success-soft)}.st-under_review{background:var(--gold-soft)}.st-inactive{background:var(--cream)}.st-incomplete{background:var(--danger-soft)}@media (max-width: 760px){.detail-grid,.compare{grid-template-columns:1fr}.admin-main{padding:10px}}.m-page{max-width:720px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 14px max(40px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;min-height:100dvh}.m-page.wide{max-width:860px}.m-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.m-head h1{font-size:1.4rem;color:var(--teal);line-height:1.35}.m-head .sub{color:var(--muted);font-size:.95rem}.m-section{background:var(--paper-glass);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column;gap:10px}.m-section h2{font-size:1.1rem;color:var(--teal)}.m-section h3{font-size:1rem;color:var(--teal);margin:8px 0 2px}.m-error{display:flex;flex-direction:column;gap:6px}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}button.big{font-size:1.1rem;padding:12px 26px;min-height:52px}.bell{position:relative;font-size:1.2rem;padding:6px 14px}.count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-pill);background:var(--rose-ink);color:#fff;font-size:.78rem;font-weight:700;line-height:1}.notes-list ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.note-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);padding:8px 12px}.notes-list .unread .note-item{border-left:4px solid var(--rose-ink);background:var(--gold-soft)}.notes-list small{color:var(--muted)}.person{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius);padding:12px 14px}.person-photo{width:110px;height:140px;object-fit:cover;border-radius:var(--radius-md);border:2px solid var(--gold);background:var(--cream);flex:none}.person.compact .person-photo{width:64px;height:80px}.person-body{min-width:0;display:flex;flex-direction:column;gap:4px}.person-body h3{margin:0;font-size:1.1rem;color:var(--teal)}.person-age{color:var(--muted);font-weight:400;font-size:.95rem}.person-facts{margin:0;display:flex;flex-direction:column;gap:2px;font-size:.92rem}.person-facts>div{display:flex;flex-wrap:wrap;gap:6px}.person-facts dt{color:var(--muted)}.person-facts dt:after{content:":"}.person-facts dd{margin:0;overflow-wrap:anywhere}.status-chip{display:inline-block;padding:2px 12px;border-radius:var(--radius-pill);font-size:.82rem;border:1px solid var(--line);background:var(--surface)}.status-chip.s-accepted,.status-chip.s-approved{background:var(--success-soft);border-color:var(--success)}.status-chip.s-pending,.status-chip.s-submitted{background:var(--gold-soft);border-color:var(--gold)}.status-chip.s-declined,.status-chip.s-rejected,.status-chip.s-cancelled,.status-chip.s-expired,.status-chip.s-reversed{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.like-action{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.like-status{font-size:.9rem;color:var(--teal)}.request-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.request-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.more-menu{position:relative}.more-list{position:absolute;z-index:5;top:calc(100% + 4px);left:0;display:flex;flex-direction:column;gap:4px;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:6px;box-shadow:var(--shadow)}.more-list button{text-align:left;border-radius:var(--radius-sm)}.thread-list .thread-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);padding:10px 14px;min-height:64px}.thread-row.unread{border-color:var(--rose-ink);background:var(--gold-soft)}.thread-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex:none;background:var(--cream)}.thread-photo.blank{display:grid;place-items:center;color:var(--teal);font-weight:700}.thread-text{display:flex;flex-direction:column;min-width:0;flex:1}.thread-text .preview{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--muted)}.thread-view{display:flex;flex-direction:column;gap:8px}.thread-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.thread-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.msg-list{display:flex;flex-direction:column;gap:8px;height:min(55dvh,520px);overflow-y:auto;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overscroll-behavior:contain}.msg-list .older{align-self:center}.msg{max-width:82%;padding:8px 14px;border-radius:18px;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:2px}.msg p{white-space:pre-wrap}.msg small{font-size:.75rem;opacity:.8}.msg.mine{align-self:flex-end;background:var(--teal);color:#fff;border-bottom-right-radius:6px}.msg.theirs{align-self:flex-start;background:var(--cream);border-bottom-left-radius:6px}.msg.removed{font-style:italic;opacity:.7}.tick.delivered{opacity:.8}.tick.read{color:#8fdcff;font-weight:700}.thread-name{display:flex;flex-direction:column;line-height:1.25;min-width:0}.presence{font-size:.78rem;color:var(--muted)}.presence.online{color:var(--success);font-weight:600}.presence.online:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:var(--success);vertical-align:middle}.thread-view .composer{display:flex;gap:8px;align-items:flex-end}.thread-view .composer textarea{flex:1}.cannot-send{text-align:center;padding:10px;background:var(--surface);border-radius:12px}.balance-card .big-number{font-size:2.4rem;font-weight:700;color:var(--teal);line-height:1.1}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.package{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.package.featured{border:2px solid var(--gold)}.package .badge{align-self:flex-start}.package .primary{margin-top:auto}.package-price{font-size:1.25rem;font-weight:700;color:var(--teal)}.pay-row{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px}.pay-row>div:first-child{flex:1;min-width:180px}.pay-row.needs-action{border-color:var(--gold);background:var(--gold-soft)}.ledger li{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding-bottom:6px;border-bottom:1px dashed var(--line)}.ledger small{grid-column:1 / -1;color:var(--muted)}.bank-card{background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.bank-qr{width:180px;height:180px;object-fit:contain;background:var(--surface);border:1px solid var(--line);border-radius:12px;align-self:flex-start}.name-note{background:var(--teal-soft);border:1px solid var(--teal-2);border-radius:var(--radius-md);padding:10px 14px}.warn{background:var(--danger-soft);border-radius:var(--radius-sm);padding:8px 12px;color:var(--danger);font-size:.9rem}.status-panel{border-radius:var(--radius-md);padding:10px 14px;background:var(--gold-soft);border:1px solid var(--gold);display:flex;flex-direction:column;gap:4px}.status-panel.s-approved{background:var(--success-soft);border-color:var(--success)}.status-panel.s-rejected{background:var(--danger-soft);border-color:var(--danger)}.status-panel.s-cancelled,.status-panel.s-reversed{background:var(--cream);border-color:var(--line)}.flow-head{justify-content:space-between}.vis-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.9rem}.vis-list li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding:3px 0}.vis-list strong{font-weight:600;color:var(--teal);text-align:right}@media (max-width: 560px){.person-photo{width:84px;height:108px}.msg{max-width:92%}.thread-view .composer button.primary{padding:0 14px}}.msg-row{display:flex;flex-direction:column}.msg-row .msg{position:relative;min-width:96px}.day-divider{align-self:center;margin:8px 0 4px;font-size:.78rem;color:var(--muted)}.day-divider span{background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--radius-pill);padding:2px 12px}.msg small{align-self:flex-end}.msg.jumbo,.msg.mine.jumbo{background:none;color:var(--ink);padding:0 4px 2px}.msg.jumbo p{font-size:2.6rem;line-height:1.15}.msg .quote{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:0;min-height:0;max-width:100%;padding:4px 10px;margin-bottom:2px;border:0;border-left:3px solid var(--gold);border-radius:10px;background:#ffffff2e;color:inherit;font-size:.82rem}.msg.theirs .quote{background:#174f4d12}.msg .quote span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}.msg-more{position:absolute;bottom:3px;left:8px;width:22px;height:22px;min-height:0;padding:0;border-radius:50%;font-size:.9rem;line-height:1;color:inherit;opacity:.55;transition:opacity .15s}.msg:hover .msg-more,.msg-more:focus-visible,.msg-more[aria-expanded=true]{opacity:1}.msg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-top:4px;padding:4px 6px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:0 4px 14px #2437351f}.msg-actions.mine,.reaction-chips.mine{align-self:flex-end}.msg-actions.theirs,.reaction-chips.theirs{align-self:flex-start}.msg-actions button{min-height:36px;min-width:36px;padding:0 6px;font-size:1.25rem;border-radius:50%}.msg-actions button.on{background:var(--teal-soft)}.msg-actions button.text{font-size:.82rem;border-radius:var(--radius-pill);color:var(--teal);padding:0 10px}.reaction-chips{display:flex;gap:4px;margin:-6px 8px 0;position:relative}.reaction-chips button{min-height:26px;padding:0 8px;font-size:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill)}.reaction-chips button.on{border-color:var(--teal-2);background:var(--teal-soft)}.composer-wrap{display:flex;flex-direction:column;gap:6px}.reply-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 12px;border-left:3px solid var(--gold);border-radius:10px;background:var(--gold-soft);font-size:.85rem}.reply-bar>span{display:flex;flex-direction:column;min-width:0}.reply-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.reply-bar button{width:32px;min-height:32px;padding:0}.thread-view .composer textarea{resize:none;max-height:140px}.emoji-toggle{flex:none;width:44px;padding:0;font-size:1.3rem}.emoji-toggle.on{background:var(--teal-soft)}.emoji-panel{padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 18px #2437351a}.emoji-tabs{display:flex;gap:2px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--line);overflow-x:auto}.emoji-tabs button{min-height:34px;padding:0 10px;font-size:1.15rem;border-radius:10px}.emoji-tabs button.on{background:var(--teal-soft)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));max-height:180px;overflow-y:auto}.emoji-grid button{min-height:40px;padding:0;font-size:1.45rem;border-radius:10px}.emoji-grid button:hover{background:var(--teal-soft)}.pwa-notes{display:flex;flex-direction:column;gap:6px;padding:8px 12px 0;border-top:1px solid var(--line)}.pwa-notes+.quick,.pwa-notes+.composer{border-top:0}.pwa-notes.floating{position:fixed;z-index:40;left:50%;transform:translate(-50%);width:min(560px,calc(100% - 24px));bottom:max(12px,env(safe-area-inset-bottom));padding:0;border:0;pointer-events:none}.pwa-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0;padding:8px 12px;border:1px solid var(--gold-line);border-radius:var(--radius-md);background:var(--surface);color:var(--teal);font-size:.88rem;line-height:1.5;box-shadow:var(--shadow-sm);pointer-events:auto}.pwa-note>span{flex:1 1 180px;min-width:0}.pwa-note.offline{border-color:var(--rose);background:#fbefeb;color:var(--rose-ink)}.pwa-note.install img{flex:none;border-radius:7px}.pwa-note .chip{min-height:36px;padding:4px 14px}.pwa-note .pwa-later{min-height:36px;padding:4px 12px;font-size:.85rem}@media (display-mode: standalone){html,body{overscroll-behavior-y:none}}.allowance-note{margin:4px 0 0;flex-basis:100%;font-size:.86rem;color:var(--teal);line-height:1.5}.allowance-note .help{display:block;font-size:.8rem}.credits-card .allowance-note{margin:0}details.terms{margin:4px 0 8px}details.terms summary{cursor:pointer;color:var(--teal);font-weight:600}.order-ref{white-space:nowrap;display:inline-block;font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:var(--teal);background:var(--teal-soft);padding:2px 8px;border-radius:6px}.qr-figure{margin:8px 0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.qr-figure .bank-qr{max-width:min(240px,100%);height:auto}.mk-account{display:flex;flex-direction:column;gap:6px}.badge.warn{background:#fbefe2;color:#8a4b12;border-color:#e8c9a3}.policy{display:flex;flex-direction:column;gap:14px}.policy h3{color:var(--teal);font-size:1.02rem;margin-bottom:4px}.policy ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.policy li{line-height:1.7}.terms-link{align-self:flex-start;padding-left:0}.terms-gate .modal-body p{margin-bottom:14px}.action-card.compact{padding:8px}.lab-head{justify-content:space-between;align-items:center}.try-compare{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.try-compare>.extra{margin-top:0}.try-compare>p{grid-column:1 / -1;margin:0}.learned .badge{align-self:flex-start}.teach details>summary{cursor:pointer;font-weight:600}.report-reasons{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0}.issue-chat em{color:var(--danger);font-style:normal;font-size:.85rem}button.glow{animation:cta-glow 2s ease-in-out infinite}@keyframes cta-glow{0%,to{box-shadow:0 0 #c49a5500,0 2px 8px #174f4d2e}50%{box-shadow:0 0 0 5px var(--gold-line),0 0 22px 6px #c49a558c}}@media (prefers-reduced-motion: reduce){button.glow{animation:none;box-shadow:0 0 0 4px var(--gold-line)}}.stat small{margin-top:2px}.live-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--success);vertical-align:middle;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.live-dot{animation:none}}.chart-card{margin:16px 0;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.chart-card figcaption{margin-bottom:6px}.chart-box{position:relative}.chart-box svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--line);stroke-width:1}.chart-axis{fill:var(--muted);font-size:11px}.chart-value{fill:var(--ink);font-size:12px;font-weight:600}.chart-line{fill:none;stroke:var(--teal);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--teal);opacity:.1}.chart-dot{fill:var(--teal)}.chart-dot.ring{stroke:var(--surface);stroke-width:2}.chart-cross{stroke:var(--muted);stroke-width:1}.chart-tip{position:absolute;top:4px;transform:translate(-50%);display:flex;flex-direction:column;gap:1px;padding:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #2437351f;font-size:.8rem;white-space:nowrap;pointer-events:none}.analytics-table th,.analytics-table td{white-space:nowrap;text-align:right}.analytics-table th:first-child{text-align:left}.pay-steps{list-style:none;counter-reset:pay-step;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.pay-steps>li{counter-increment:pay-step;display:flex;flex-direction:column;gap:8px}.pay-steps>li>h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1.05rem}.pay-steps>li>h3:before{content:counter(pay-step);flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;font-size:.9rem}.more-details>summary{cursor:pointer;color:var(--teal);padding:6px 0}.more-details[open]>summary{margin-bottom:8px}.more-details>label{margin-bottom:10px}.qr-figure{margin:0;display:flex;flex-direction:column;gap:6px}.qr-figure figcaption{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pay-way{margin:6px 0 0;font-size:.95rem;color:var(--teal)}.receipt-card .waiting-note{display:flex;align-items:center;gap:8px;margin:0}.wait-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--gold);animation:soft-pulse 1.6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.wait-dot{animation:none}}.admin-alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.admin-alert{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;background:var(--gold-soft);border:1px solid var(--gold-line);border-left:4px solid var(--gold);border-radius:var(--radius-md);padding:10px 14px}.admin-alert.k-auto_approved{background:var(--teal-soft);border-color:var(--teal-2);border-left-color:var(--teal)}.admin-alert p{margin:2px 0 0}
