:root{--color-bg:#fbf9f8;--color-surface:#fff;--color-text:#211a1b;--color-muted:#6e6062;--color-accent:#800020;--color-accent-hover:#66001a;--color-accent-solid:#800020;--color-accent-contrast:#fff;--color-border:#e8e0df;--color-success:#15803d;--color-danger:#dc2626;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--max-width:960px;--text-measure:42rem;--neu-bg:#edeff3;--neu-light:#fffffff2;--neu-dark:#a0acbe80;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--color-bg:#141011;--color-surface:#1d1718;--color-text:#f3ecec;--color-muted:#b3a4a6;--color-accent:#d9a3b1;--color-accent-hover:#e7c2cc;--color-accent-solid:#8a2841;--color-accent-contrast:#fff;--color-border:#2d2426;--color-success:#4ade80;--color-danger:#f87171;--neu-bg:#1a1416;--neu-light:#ffffff0d;--neu-dark:#0000008c}}:root[data-theme=dark]{--color-bg:#141011;--color-surface:#1d1718;--color-text:#f3ecec;--color-muted:#b3a4a6;--color-accent:#d9a3b1;--color-accent-hover:#e7c2cc;--color-accent-solid:#8a2841;--color-accent-contrast:#fff;--color-border:#2d2426;--color-success:#4ade80;--color-danger:#f87171;--neu-bg:#1a1416;--neu-light:#ffffff0d;--neu-dark:#0000008c}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}h1,h2{letter-spacing:-.02em;text-wrap:balance;line-height:1.15}a{color:var(--color-accent)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site{flex-direction:column;min-height:100vh;display:flex}.site-header{justify-content:space-between;align-items:center;gap:var(--space-md);max-width:var(--max-width);width:100%;padding:1.25rem var(--space-md);flex-wrap:wrap;margin:0 auto;display:flex}.site-brand{color:var(--color-text);align-items:center;gap:.6rem;font-weight:700;text-decoration:none;display:inline-flex}.site-brand-mark{background:var(--color-accent-solid);width:1.75rem;height:1.75rem;color:var(--color-accent-contrast);border-radius:.5rem;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;line-height:1;display:inline-flex}.site-header nav{gap:1.25rem;display:flex}.site-header nav a{color:var(--color-muted);font-size:.95rem;text-decoration:none}.site-header nav a:hover,.site-header nav a.active{color:var(--color-accent)}.site-main{width:100%;max-width:var(--max-width);padding:0 var(--space-md) var(--space-lg);flex:1;margin:0 auto}.site-footer{padding:var(--space-md);text-align:center;color:var(--color-muted);border-top:1px solid var(--color-border);font-size:.9rem}.hero{padding:clamp(3.5rem,11vh,6.5rem) 0 3rem}.hero h1{max-width:16ch;margin:0;font-size:clamp(2.1rem,5.5vw,3.25rem)}.lead{max-width:var(--text-measure);color:var(--color-muted);margin:1.25rem 0 0;font-size:1.15rem}.cta-row{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.button{background:var(--color-accent-solid);color:var(--color-accent-contrast);border-radius:8px;padding:.7rem 1.4rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--color-accent-hover)}.text-link{color:var(--color-accent);font-weight:500;text-decoration:none}.text-link:hover{text-decoration:underline}.status-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);border-radius:999px;align-items:center;gap:.5rem;margin:2.5rem 0 0;padding:.35rem .85rem;font-size:.85rem;display:inline-flex}.status-dot{background:var(--color-muted);border-radius:50%;width:.5rem;height:.5rem}.status-online .status-dot{background:var(--color-success)}.status-offline .status-dot{background:var(--color-danger)}.intro{max-width:var(--text-measure);border-top:1px solid var(--color-border);padding-top:2.5rem}.intro h2{margin:0 0 1rem;font-size:1.35rem}.intro p{color:var(--color-muted);margin:0 0 1rem}.auth-scene{padding:clamp(2.5rem, 8vh, 4.5rem) var(--space-md) 4rem;background:var(--neu-bg);justify-content:center;display:flex;position:relative;overflow:hidden}.auth-scene:before,.auth-scene:after{content:"";background:var(--neu-bg);box-shadow:-6px -6px 14px var(--neu-light), 6px 6px 16px var(--neu-dark);pointer-events:none;border-radius:50%;position:absolute}.auth-scene:before{width:9rem;height:9rem;top:-3rem;left:-3rem}.auth-scene:after{width:14rem;height:14rem;bottom:-6rem;right:-5rem}.auth-card{z-index:1;background:var(--neu-bg);width:100%;max-width:380px;box-shadow:-8px -8px 18px var(--neu-light), 8px 8px 20px var(--neu-dark);text-align:center;border-radius:26px;margin:0;padding:2.5rem 2rem 2rem;position:relative}.auth-card h1{margin:0 0 .25rem}.auth-badge{background:var(--neu-bg);width:3.25rem;height:3.25rem;box-shadow:-5px -5px 10px var(--neu-light), 5px 5px 12px var(--neu-dark);color:var(--color-accent-solid);border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.auth-sub{color:var(--color-muted);margin:0 0 1.5rem;font-size:.9rem}.auth-card form{gap:var(--space-md);text-align:left;flex-direction:column;display:flex}.auth-field{flex-direction:column;gap:.3rem;display:flex;position:relative}.auth-field label{color:var(--color-muted);font-size:.85rem;font-weight:600}.auth-field input{background:var(--neu-bg);width:100%;box-shadow:inset 3px 3px 7px var(--neu-dark), inset -3px -3px 7px var(--neu-light);border:none;border-radius:12px;padding:.7rem .9rem}.auth-field input::placeholder{color:var(--color-muted);opacity:.7}.auth-field input:focus-visible{outline:2px solid var(--color-accent-solid);outline-offset:1px}.auth-eye{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:.35rem;display:grid;position:absolute;bottom:.45rem;right:.4rem}.auth-eye:hover:not(:disabled){color:var(--color-accent-solid);background:0 0}.auth-submit{background:linear-gradient(135deg, var(--color-accent-solid), var(--color-accent-hover));width:100%;box-shadow:-4px -4px 10px var(--neu-light), 5px 6px 14px var(--neu-dark);border-radius:14px;margin-top:.25rem;padding:.75rem 1.25rem}.auth-submit:hover:not(:disabled){background:linear-gradient(135deg, var(--color-accent-solid), var(--color-accent-hover));filter:brightness(1.1)}.security-section{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.security-section h2{margin-top:0}.password-form{gap:var(--space-md);max-width:26rem;margin-top:var(--space-md);flex-direction:column;display:flex}.form-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.form-notice{color:var(--color-success);margin:0;font-weight:500}input,select{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:.55rem .75rem}button{font:inherit;background:var(--color-accent-solid);color:var(--color-accent-contrast);cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.25rem;font-weight:600}button:hover:not(:disabled){background:var(--color-accent-hover)}button:disabled{opacity:.6;cursor:progress}.form-error{color:var(--color-danger);margin:0}.page-head{justify-content:space-between;align-items:baseline;gap:var(--space-md);flex-wrap:wrap;display:flex}.page-head h1{margin-top:0}.page-actions{align-items:center;gap:var(--space-md);display:flex}.page-links{gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.page-links a{color:var(--color-accent);font-weight:600}.contact-form{gap:var(--space-md);max-width:26rem;margin:var(--space-lg) 0;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;display:flex}.contact-form label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.contact-list{margin:var(--space-lg) 0 0;flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.contact-row{align-items:center;gap:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;padding:.75rem;display:flex}.contact-name{font-weight:600}.contact-phone{color:var(--color-muted);font-variant-numeric:tabular-nums}.contact-level{margin-left:auto}.button-danger{font:inherit;border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .9rem;font-weight:600}.button-danger:hover:not(:disabled){opacity:.75;background:0 0}.table{border-collapse:collapse;width:100%;margin-top:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .75rem;font-size:.95rem}.table th{color:var(--color-muted);font-weight:600}.table tr:last-child td{border-bottom:none}.result-deny{color:var(--color-danger);font-weight:700}.result-allow{color:var(--color-success);font-weight:700}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.new-list-form{align-items:flex-end;gap:var(--space-md);margin:var(--space-lg) 0;flex-wrap:wrap;display:flex}.new-list-form label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.todo-list{margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.todo-list-head{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.todo-list-head h2{margin:0;font-size:1.1rem}.todo-list-delete{margin-left:auto}.kind-badge,.priority-badge{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:600}.kind-shared_family,.kind-shared_work{color:var(--color-accent);border-color:var(--color-accent)}.priority-high{color:var(--color-danger);border-color:var(--color-danger)}.todo-items{margin:var(--space-md) 0;flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.todo-item{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.todo-item:last-child{border-bottom:none}.todo-item input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--color-accent-solid);border:none;padding:0}.todo-title{overflow-wrap:anywhere;font-weight:500}.todo-title.done{color:var(--color-muted);text-decoration:line-through}.due{font-variant-numeric:tabular-nums;color:var(--color-muted);font-size:.9rem}.due-overdue{color:var(--color-danger);font-weight:600}.todo-item .button-danger{margin-left:auto}.todo-empty{color:var(--color-muted);margin-bottom:0}.todo-item-form{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.todo-item-form label{flex-direction:column;gap:.25rem;display:flex}.inbox-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0 var(--space-md);display:flex}.inbox-unread{color:var(--color-accent);font-weight:600}.inbox-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.inbox-item{padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.inbox-item-head{align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.inbox-sender{overflow-wrap:anywhere;font-weight:600}.inbox-phone,.inbox-time{color:var(--color-muted);font-size:.85rem}.inbox-status{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;margin-left:auto;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.status-unread{color:var(--color-accent);border-color:var(--color-accent)}.status-done{color:var(--color-success);border-color:var(--color-success)}.inbox-body{margin:var(--space-sm) 0;overflow-wrap:anywhere}.inbox-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.button-secondary{font:inherit;border:1px solid var(--color-accent-solid);color:var(--color-accent-solid);cursor:pointer;background:0 0;border-radius:8px;padding:.65rem 1.25rem;font-weight:600}.button-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent-solid) 10%, transparent)}.passkey-login{margin-top:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.auth-separator{text-align:center;color:var(--color-muted);margin:0;font-size:.85rem}.passkey-login .button-secondary{width:100%}.passkey-form{align-items:flex-end;gap:var(--space-md);margin:var(--space-lg) 0;flex-wrap:wrap;display:flex}.passkey-form label{flex-direction:column;gap:.25rem;display:flex}.passkey-list{margin:var(--space-md) 0;gap:var(--space-md);flex-direction:column;padding:0;list-style:none;display:flex}.passkey-item{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;display:flex}.passkey-info{flex-direction:column;gap:.15rem;display:flex}.passkey-name{overflow-wrap:anywhere;font-weight:600}.passkey-meta{color:var(--color-muted);font-size:.85rem}.passkey-item .button-danger{margin-left:auto}.passkey-note{color:var(--color-muted);font-size:.9rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
