:root{--blue:#0d5fb8;--blue-dark:#0a3d73;--blue-light:#e8f1fb;--wing:#5aa2ec;--text:#1b2430;--muted:#5a6672;--bg:#fff;--surface:#f3f6f9;--border:#c9d1d8;--warning-bg:#fff4d6;--error-bg:#fde8e8;--danger:#c62828;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg);-webkit-text-size-adjust:100%;margin:0}button{font:inherit;border:2px solid var(--blue);background:var(--blue);min-height:44px;color:var(--bg);cursor:pointer;border-radius:999px;padding:0 18px}button.secondary,.language-switch button[aria-pressed=false]{color:var(--blue);background:0 0}button:disabled{opacity:.5}.banners{gap:8px;padding:12px 16px 0;display:grid}.banner{border-radius:var(--radius);margin:0;padding:10px 14px;font-size:.95rem;line-height:1.35}.banner-info{background:var(--surface)}.banner-warning{background:var(--warning-bg)}.banner-error{background:var(--error-bg);justify-content:space-between;align-items:center;gap:12px;display:flex}.banner-error p{margin:0}.banner-dismiss{flex-shrink:0}.start-screen,.offline-screen{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.offline-screen{justify-content:center;min-height:100dvh;font-size:1.1rem}.logo{margin:0 auto;display:block}h1{color:var(--blue);margin:0;font-size:2rem}.subtitle{color:var(--muted);margin:0}.language-switch{align-items:center;gap:8px;display:flex}.version-label{min-height:44px;color:var(--muted);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;margin-top:32px;font-size:.85rem}.diagnostics{max-height:90dvh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:var(--radius) var(--radius) 0 0;background:var(--bg);text-align:left;position:fixed;inset:auto 0 0;overflow:auto;box-shadow:0 -8px 30px #00000026}.diagnostics h2{margin-top:0}.diagnostics dl{grid-template-columns:auto 1fr;gap:6px 16px;display:grid}.diagnostics dt{color:var(--muted)}.diagnostics dd{margin:0}.diagnostics-actions{gap:10px;margin-top:16px;display:grid}.choice-screen,.event-form-screen{flex-direction:column;gap:12px;padding:24px 16px 40px;display:flex}.choice-screen h1,.event-form-screen h1{margin-bottom:8px;font-size:1.6rem}.choice-section{gap:8px;display:grid}.choice-section h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 0;font-size:.85rem;font-weight:600}.choice-actions{gap:8px;display:grid}.event-option{border-radius:var(--radius);width:100%;min-height:56px;color:var(--text);border-color:var(--surface);background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;display:flex}.event-option.continue{background:var(--blue);border-color:var(--blue);color:var(--bg)}.event-option-name,.context-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.event-option-dates,.context-dates,.context-label{color:var(--muted);font-size:.9rem}.event-option.continue .event-option-dates{color:#ffffffd9}.event-form{flex-direction:column;gap:8px;display:flex}.event-form label{color:var(--muted);margin-top:8px;font-size:.9rem}.event-form input{border:1px solid var(--border);min-height:44px;font:inherit;background:var(--bg);border-radius:10px;padding:8px 12px}.event-form button[type=submit]{margin-top:16px}.form-error{border-radius:var(--radius);background:var(--error-bg);margin:4px 0 0;padding:10px 14px}.add-by-name{width:100%;max-width:420px;min-height:56px;font-size:1.15rem;font-weight:600}.context-bar.read-only{cursor:default}.context-bar{border-radius:var(--radius);background:var(--surface);width:100%;min-height:56px;color:var(--text);text-align:left;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;display:flex}.event-form textarea{border:1px solid var(--border);min-height:calc(5.6em + 16px);font:inherit;resize:vertical;border-radius:10px;padding:8px 12px;font-size:16px;line-height:1.4}:is(.event-form,.person-detail) .switch{min-height:44px;color:var(--text);align-items:center;gap:12px;margin-top:8px;font-size:1rem;display:flex}:is(.event-form,.person-detail) .switch input{appearance:none;background:var(--border);border:none;border-radius:999px;flex:0 0 51px;width:51px;height:31px;min-height:0;margin:0;padding:0;transition:background .15s;display:inline-block;position:relative}:is(.event-form,.person-detail) .switch input:after{content:"";background:var(--bg);border-radius:50%;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}:is(.event-form,.person-detail) .switch input:checked{background:var(--blue)}:is(.event-form,.person-detail) .switch input:checked:after{transform:translate(20px)}.note-info{border-radius:var(--radius);background:var(--warning-bg);margin:0;padding:10px 14px}.button-link{border:2px solid var(--blue);background:var(--blue);min-height:48px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;display:flex}.button-link.secondary{color:var(--blue);background:0 0}.button-link[aria-disabled=true],a.event-option[aria-disabled=true]{opacity:.5}.search-link{margin-top:16px}a.event-option{border:2px solid var(--surface);text-decoration:none}.link-linked{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;overflow:hidden}.link-linked strong{color:var(--text)}.link-message{border-radius:var(--radius);background:var(--warning-bg);margin:0;padding:10px 14px}.link-message:empty{display:none}.merge-question{border-radius:var(--radius);background:var(--surface);gap:8px;padding:14px;display:grid}.merge-question p{margin:0 0 4px;font-weight:600}.start-actions{gap:12px;width:100%;max-width:420px;display:grid}.start-actions .add-by-name{max-width:none}.qr-video{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;background:#000;width:100%;max-width:420px;margin:0 auto}.qr-hint,.qr-link{color:var(--muted);text-align:center;margin:0;font-size:.9rem}.qr-known{margin:0;font-size:1.1rem}.qr-message{border-radius:var(--radius);background:var(--warning-bg);margin:0;padding:10px 14px}.qr-message:empty{display:none}.qr-camera-error{gap:12px;display:grid}.qr-camera-error p{margin:0}.has-tab-bar{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tab-bar{z-index:10;padding:4px env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-top:1px solid var(--border);background:var(--bg);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tab-bar button{min-height:56px;color:var(--muted);background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:.7rem;display:flex}.tab-bar button[aria-current=page]{color:var(--blue);font-weight:600}.diagnostics{z-index:20}.contacts,.person-detail{flex-direction:column;gap:10px;padding:24px 16px;display:flex}.contacts h1{margin-bottom:4px;font-size:1.6rem}.contacts-label{color:var(--muted);font-size:.9rem}.contacts-view,.contacts-search{border:1px solid var(--border);width:100%;min-height:44px;font:inherit;background:var(--bg);color:var(--text);border-radius:10px;padding:8px 12px;font-size:16px}.contacts-message{border-radius:var(--radius);background:var(--surface);margin:0;padding:10px 14px}.contacts-message:empty{display:none}.contacts-empty{color:var(--muted);text-align:center;justify-items:center;gap:12px;padding:32px 0;display:grid}.contacts-empty p{margin:0}.contact-rows{margin:0;padding:0;list-style:none}.contact-row{border:none;border-bottom:1px solid var(--border);width:100%;min-height:56px;color:var(--text);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;display:flex}.contact-main,.contact-side{flex-direction:column;gap:2px;min-width:0;display:flex}.contact-side{flex-shrink:0;align-items:flex-end}.contact-name,.contact-company{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact-name{font-weight:600}.contact-company,.contact-date{color:var(--muted);font-size:.9rem}.status-chip{background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem}.status-chip.connected{background:var(--blue-light);color:var(--blue-dark)}.back-button{align-self:flex-start}.person-header h1{overflow-wrap:anywhere;font-size:1.6rem}.person-company{color:var(--muted);margin:2px 0 0;font-size:1.05rem}.person-hint{color:var(--muted);margin:0;font-size:.9rem}.timeline-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 0;font-size:.85rem;font-weight:600}.timeline{border-left:2px solid var(--border);gap:10px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.timeline-item{border-radius:var(--radius);background:var(--surface);gap:6px;padding:12px 14px;display:grid}.timeline-when{flex-wrap:wrap;gap:4px 10px;margin:0;display:flex}.timeline-date{font-weight:600}.timeline-event{color:var(--muted)}.timeline-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.timeline-note.empty{color:var(--muted);font-style:italic}.confirm-panel{border:2px solid var(--error-bg);border-radius:var(--radius);background:var(--bg);gap:8px;padding:14px;display:grid}.confirm-panel:focus{outline:none}.confirm-panel p{margin:0 0 4px;font-weight:600}.confirm-panel .confirm-detail{color:var(--muted);font-weight:400}button.danger{border-color:var(--danger);background:var(--danger)}button.text-button{color:var(--blue);background:0 0;border:none}button.text-button.danger{color:var(--danger);align-self:center;margin-top:16px}button.text-button.small{min-height:36px;color:var(--muted);justify-self:start;padding:0;font-size:.85rem}.actions{flex-direction:column;gap:12px;padding:24px 16px;display:flex}.actions h1{margin-bottom:4px;font-size:1.6rem}.actions-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 8px;display:flex}.actions-empty p{margin:0}.action-card{border-radius:var(--radius);background:var(--surface);gap:10px;padding:14px;display:grid}.action-heading{margin:0;font-size:1.1rem}.action-name{min-height:0;color:var(--text);text-align:left;background:0 0;border:none;border-radius:0;padding:0;font-weight:700}.action-company,.action-when{color:var(--muted);margin:2px 0 0;font-size:.9rem}.action-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.action-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding-top:8px;display:flex}.action-label{font-weight:600}button.compact{min-height:40px;padding:0 14px;font-size:.9rem}.action-note,.action-paste{flex-basis:100%;gap:8px;display:grid}.action-note textarea{border:1px solid var(--border);min-height:calc(4.2em + 16px);font:inherit;resize:vertical;border-radius:10px;padding:8px 12px;font-size:16px;line-height:1.4}.actions-message{border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:0;padding:6px 6px 6px 14px;display:flex}.action-row .text-button.small{margin-left:auto}.tab-bar button{position:relative}.tab-badge{background:var(--blue);min-width:18px;height:18px;color:var(--bg);text-align:center;border-radius:999px;padding:0 5px;font-size:.65rem;font-weight:700;line-height:18px;position:absolute;top:2px;left:calc(50% + 6px)}.my-qr{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.my-qr-panel{aspect-ratio:1;border-radius:var(--radius);background:var(--bg);width:min(86vw,100dvh - 260px,480px);overflow:hidden;box-shadow:0 2px 12px #0a3d7326}.my-qr-panel svg{width:100%;height:100%;display:block}.my-qr-caption{flex-direction:column;margin:4px 0 0;display:flex}.my-qr-caption span:first-child{font-weight:600}.my-qr-link{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.85rem}.my-qr-setup{gap:16px;padding:48px 24px}.my-qr-setup .subtitle{max-width:32em}.my-qr .back-button{align-self:flex-start}.offline-screen button{margin-top:16px}.settings-tab{flex-direction:column;gap:20px;padding:24px 16px;display:flex}.settings-tab h1{font-size:1.6rem}.settings-section{border-radius:var(--radius);background:var(--surface);gap:8px;padding:14px;display:grid}.settings-section h2{margin:0 0 4px;font-size:1.1rem}.settings-section>button{justify-self:start}.settings-hint{color:var(--muted);margin:0;font-size:.95rem}.settings-message{margin:0;font-size:.95rem}.settings-message:empty{display:none}.settings-tab .version-label{align-self:center;margin-top:8px}.banner-reminder{background:var(--blue-light);text-align:left;gap:8px;width:100%;max-width:420px;display:grid}.banner-reminder p{margin:0}.banner-reminder-failed{color:var(--danger)}.banner-reminder-actions{flex-wrap:wrap;gap:8px;display:flex}.event-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.event-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;min-height:56px;color:var(--text);text-align:left;gap:2px;padding:8px 14px;display:grid}.event-row-name{align-items:center;gap:8px;font-weight:600;display:flex}.event-row-active{background:var(--blue);color:var(--bg);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600}.event-row-meta{color:var(--muted);font-size:.9rem}.settings-section>button.danger{justify-self:start}.delete-all-panel label{color:var(--muted);font-size:.95rem}.delete-all-panel input{border:1px solid var(--border);width:100%;min-height:44px;font:inherit;letter-spacing:.05em;border-radius:10px;padding:8px 12px;font-size:16px}.flutter{z-index:15;pointer-events:none;position:fixed;inset:0;overflow:hidden}.flutter img{width:48px;height:48px;animation:1.2s ease-in-out forwards flutter;position:absolute;bottom:0;left:0}@keyframes flutter{0%{opacity:0;transform:translate(-20vw,10vh)scaleX(1)}15%{opacity:1;transform:translate(5vw,-12vh)scaleX(.75)}35%{transform:translate(25vw,-30vh)scaleX(1)}55%{transform:translate(45vw,-45vh)scaleX(.75)}75%{opacity:1;transform:translate(70vw,-65vh)scaleX(1)}to{opacity:0;transform:translate(110vw,-95vh)scaleX(.75)}}@media (prefers-reduced-motion:reduce){.flutter{display:none}}.guest-screen{flex-direction:column;gap:16px;min-height:100dvh;padding:16px 20px 40px;display:flex}.guest-top{justify-content:space-between;align-items:center;min-height:44px;display:flex}.guest-screen h1{margin-top:8px;font-size:1.6rem;line-height:1.3}.guest-form{flex-direction:column;gap:8px;display:flex}.guest-form label{color:var(--muted);margin-top:8px;font-size:1rem}.guest-form input{border:1px solid var(--border);min-height:52px;font:inherit;background:var(--bg);border-radius:12px;padding:10px 14px;font-size:18px}.guest-privacy{color:var(--muted);margin:8px 0 0}.guest-done{width:100%;min-height:52px;margin-top:16px;font-size:1.1rem}.guest-thanks{color:var(--blue);text-align:center;margin:15vh 0 16px;font-size:1.5rem;line-height:1.4}.logo-hold{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:none;border-radius:50%;place-items:center;width:52px;height:52px;min-height:52px;padding:0;display:grid;position:relative}.logo-hold img{pointer-events:none}@property --hold{syntax:"<percentage>";inherits:false;initial-value:0%}.logo-hold:after{content:"";background:conic-gradient(var(--blue) var(--hold), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px))}.logo-hold.holding:after{animation:2s linear forwards hold-fill}@keyframes hold-fill{to{--hold:100%}}
