:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;background:#101a19;color:#f2f5ef;--bg:#101a19;--muted:#9eafa5;--accent:#d4ed94;--line:#293a32}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,summary{font:inherit}button,summary{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.app-shell{max-width:560px;margin:auto;padding:0 18px calc(104px + env(safe-area-inset-bottom))}.top{position:sticky;top:0;z-index:2;background:var(--bg);padding:calc(15px + env(safe-area-inset-top)) 0 14px}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;min-height:44px}h1{margin:0;font-size:27px;font-weight:650;letter-spacing:-.7px}.header-actions{display:flex;align-items:center;gap:9px}.badge{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.online{color:var(--accent)}#settings{position:relative}#settings summary{display:flex;align-items:center;justify-content:center;list-style:none;width:44px;height:44px;border-radius:14px;color:#bbcbc0;letter-spacing:2px}#settings summary::-webkit-details-marker{display:none}#settings[open] summary{background:#24362c}.settings-panel{position:absolute;right:0;top:50px;width:260px;padding:16px;border:1px solid #425348;border-radius:18px;background:#1c2b24;box-shadow:0 12px 45px #0007;z-index:4}.settings-panel p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 12px}.settings-panel #greeting{color:#f1f4ec;font-weight:600}.settings-panel button{display:block;background:transparent;border:0;text-align:left;width:100%;padding:12px 0;min-height:44px;color:var(--accent);font-size:14px}.search-field{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;background:#1b2a23;border:1px solid #30463a;border-radius:14px;color:var(--muted)}.search-field:focus-within{border-color:#b7cf85}#search{width:100%;min-width:0;min-height:48px;padding:8px 0;background:none;border:0;outline:0;color:#f2f5ef;font-size:16px}#search::placeholder{color:#91a799}.contact-list{display:flex;flex-direction:column}.contact-row{display:flex;align-items:center;gap:12px;width:100%;min-height:65px;padding:14px 2px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none}.contact-name{flex:1;min-width:0;font-size:17px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.contact-number{font-size:14px;font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0}.contact-row>svg{width:20px;height:20px;margin-left:6px;color:var(--accent)}.empty-contacts{padding:28px 10px;text-align:center;font-size:14px;line-height:1.6;color:var(--muted)}.bottom-action{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;padding:18px 18px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#101a19 20%);z-index:2}.bottom-action button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;background:#263c2e;color:var(--accent);border:1px solid #465d3b;border-radius:17px;font-size:16px;font-weight:550}#notice{position:fixed;z-index:5;bottom:calc(96px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 36px);max-width:524px;background:#2a3c30;border:1px solid #4c6544;border-radius:14px;padding:13px 16px;font-size:13px;line-height:1.5;box-shadow:0 5px 20px #0003}#notice.error{background:#382822;border-color:#785249;color:#ffd3c9}#phone-dialog{border:1px solid #3a5140;border-radius:28px;padding:0;background:#17261f;color:#f2f5ef;width:calc(100% - 24px);max-width:410px;max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 20px 80px #0008}#phone-dialog::backdrop{background:#07100fd9;backdrop-filter:blur(5px)}#phone{position:relative;padding:32px 22px 22px;text-align:center}#close-dialpad{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--muted);font-size:29px}#selected-name{font-size:25px;line-height:1.25;font-weight:600;letter-spacing:-.5px;margin:18px 15px 8px;overflow-wrap:anywhere}#call-state{font-size:14px;color:var(--muted);margin:0 0 10px;line-height:1.4}.number-row{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0 16px}#number{width:210px;min-width:0;max-width:calc(100% - 50px);font-size:42px;letter-spacing:3px;color:#f2f5ef;text-align:center;font-variant-numeric:tabular-nums;border:0;background:none;min-height:60px;padding:0;outline:0}#number::placeholder{color:#6e8574}#backspace{width:44px;height:44px;border:0;border-radius:12px;background:none;color:var(--muted);font-size:25px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.key{min-height:56px;border:1px solid #354d3d;border-radius:14px;background:#21362a;color:#f1f5eb;font-size:25px}.key small{display:block;color:#a3baaa;font-size:8px;letter-spacing:2px;line-height:12px;margin-top:2px}#call,#hangup{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:18px;padding:12px;border:0;border-radius:17px;font-size:17px;font-weight:600}#call{background:var(--accent);color:#21311c}#hangup{background:#e36e63;color:#fff}.call-tools{display:none;gap:12px;justify-content:center;margin-top:32px}.call-tools button{min-height:58px;flex:1;max-width:150px;border:1px solid #415b48;border-radius:17px;background:#294030;color:#ecf1e9;font-size:14px}#mute[aria-pressed=true]{background:#765045}#duration{font-variant-numeric:tabular-nums;font-size:22px;color:var(--accent);min-height:0}#call-help{font-size:13px;line-height:1.5;color:#c6d8c5;margin:15px 0}.calling #phone{display:flex;flex-direction:column;min-height:480px;padding-top:54px}.calling #selected-name{font-size:30px;margin:25px 0 12px}.calling .number-row{margin:0 0 16px}.calling #number{font-size:18px;min-height:28px;letter-spacing:1px;color:var(--muted);max-width:100%}.calling #backspace,.calling #close-dialpad{display:none}.calling .keypad{display:none}.calling.tones .keypad{display:grid;margin-top:16px}.calling .call-tools{display:flex;margin-top:auto;padding-top:35px}.calling.tones .call-tools{margin-top:16px;padding-top:0}#audio-unlock{position:fixed;z-index:20;bottom:20px;left:5%;width:90%;min-height:52px;padding:12px;border:0;border-radius:14px;background:var(--accent);color:#21311c}@media(hover:hover){.contact-row:hover{background:#d4ed9408}.key:hover,.bottom-action button:hover{background:#304c37}}@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,opacity .15s}.contact-row:active,.key:active{background:#344e38}}@media(max-width:350px){.app-shell{padding-left:14px;padding-right:14px}.contact-row{gap:8px}.contact-name{font-size:16px}.heading{gap:6px}h1{font-size:25px}.header-actions{gap:1px}#phone{padding:24px 16px 16px}#selected-name{font-size:23px}.key{min-height:50px}}@media(max-height:650px){.calling #phone{min-height:410px;padding-top:24px}#phone{padding-top:16px}#selected-name{margin-top:12px}.key{min-height:48px}.calling.tones #selected-name{font-size:22px;margin:8px}.calling.tones .call-tools{margin-top:8px}.calling.tones #phone{padding-top:16px}}

body.modal-open{overflow:hidden}#phone #audio-unlock{position:static;width:100%;margin-top:14px;font-size:14px}#number:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.calling.tones #call-state,.calling.tones #call-help,.calling.tones .number-row{display:none}.calling.tones #duration{font-size:15px;margin-top:6px}.calling.tones #selected-name{font-size:20px;margin:0}
