.caller{max-width:520px;min-height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.caller-header{justify-content:space-between;align-items:center;padding:16px 20px 4px;display:flex}.caller-main{flex-direction:column;gap:28px;padding:14px 16px 32px;display:flex}.tiles{gap:12px;display:grid}.tile{border-radius:var(--radius-lg);background:var(--kind);color:#fff;text-align:left;width:100%;min-height:108px;box-shadow:var(--shadow);border:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 18px 22px;transition:transform .12s,filter .12s;display:flex;position:relative;overflow:hidden}.tile:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff24,#0000 55%);position:absolute;inset:0}.tile:active{filter:brightness(.94);transform:scale(.985)}.tile-placeholder{border:1px solid var(--border);background:var(--surface);box-shadow:none;animation:1.4s ease-in-out infinite alternate breathe}.tile-text{flex-direction:column;gap:4px;display:flex}.tile-number{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:46px;font-weight:750;line-height:1}.tile-name{opacity:.94;font-size:16px;font-weight:560}.tile-icon{background:#ffffff29;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;display:grid}.others h2{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 4px 8px;font-size:13px;font-weight:650}.others ul{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.others li+li{border-top:1px solid var(--border)}.other{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:13px 14px;display:flex}.other:active{background:var(--surface-2)}.other-icon{background:color-mix(in srgb, var(--kind) 13%, transparent);width:38px;height:38px;color:var(--kind);border-radius:11px;flex:none;place-items:center;display:grid}.other-number{font-variant-numeric:tabular-nums;min-width:70px;font-weight:700}.other-name{color:var(--text-muted);flex:1}.other-chevron{color:var(--text-muted)}.notice{border:1px solid color-mix(in srgb, var(--warning) 35%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warning) 10%, var(--surface));align-items:center;gap:10px;margin:0;padding:12px 14px;font-size:14px;display:flex}.notice svg{color:var(--warning);flex:none}.notice .text-button{margin-left:auto}.text-button{color:var(--focus);background:0 0;border:0;padding:8px;font-weight:600}.sheet-backdrop{z-index:10;background:#080c147a;justify-content:center;align-items:flex-end;animation:.18s fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;padding:10px 20px calc(18px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-lg);border-radius:24px 24px 0 0;flex-direction:column;gap:14px;animation:.26s cubic-bezier(.2,.8,.2,1) rise;display:flex}@media (width>=600px){.sheet-backdrop{align-items:center}.sheet{border-radius:24px;padding-bottom:18px}.sheet-handle{display:none}}.sheet-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:0 auto 6px}.sheet-head{align-items:center;gap:14px;margin-bottom:4px;display:flex}.sheet-icon{background:var(--kind);color:#fff;border-radius:16px;flex:none;place-items:center;width:54px;height:54px;display:grid}.sheet-number{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:750;line-height:1.05}.sheet-name{color:var(--text-muted);font-weight:560}.botcheck{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);text-align:left;align-items:center;gap:14px;width:100%;padding:16px;font-weight:600;display:flex}.botcheck-box{border:2px solid color-mix(in srgb, var(--text-muted) 55%, transparent);background:var(--surface);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;transition:background .15s,border-color .15s;display:grid}.botcheck[data-state=working] .botcheck-box{border-color:var(--focus);color:var(--focus)}.botcheck[data-state=done]{cursor:default}.botcheck[data-state=done] .botcheck-box{border-color:var(--success);background:var(--success);color:#fff}.sheet-error{color:var(--danger);align-items:center;gap:8px;margin:-4px 4px 0;font-size:14px;font-weight:560;display:flex}.sheet-error svg{flex:none}.sheet-row{color:var(--text-muted);align-items:center;gap:10px;padding:2px 4px;font-size:15px;display:flex}.location-status{color:var(--text);margin-left:auto;font-weight:600}.location-status[data-status=active]{color:var(--success)}.location-status[data-status=denied],.location-status[data-status=unavailable]{color:var(--text-muted)}.call-button{border-radius:var(--radius);background:var(--kind);color:#fff;width:100%;height:60px;box-shadow:0 6px 20px color-mix(in srgb, var(--kind) 35%, transparent);border:0;justify-content:center;align-items:center;gap:10px;margin-top:4px;font-size:18px;font-weight:700;transition:opacity .15s,transform .12s;display:flex}.call-button:disabled{opacity:.35;box-shadow:none}.call-button:not(:disabled):active{transform:scale(.985)}.sheet-cancel{color:var(--text-muted);align-self:center}.call-screen{--fg:#f4f7fb;min-height:100%;padding:calc(16px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--kind) 55%, #0b1017) 0%, #0b1017 72%);color:var(--fg);flex-direction:column;display:flex}.call-top{justify-content:center;min-height:34px;display:flex}.call-status{background:#ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:6px 13px;font-size:14px;font-weight:600;display:inline-flex}.call-status .dot{color:#fbbf24;animation:1.2s ease-in-out infinite blink}[data-phase=active] .call-status .dot{color:#4ade80;animation:none}.call-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.call-icon{background:var(--kind);color:#fff;border-radius:50%;place-items:center;width:96px;height:96px;margin-bottom:18px;display:grid;box-shadow:0 0 0 8px #ffffff0f}[data-phase=connecting] .call-icon,[data-phase=ringing] .call-icon{animation:1.6s ease-out infinite pulse}[data-phase=ended] .call-icon{background:#ffffff1f}.call-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:64px;font-weight:750;line-height:1}.call-title{max-width:22ch;margin:0;font-size:26px;font-weight:700;line-height:1.2}.call-name{opacity:.86;margin:0;font-size:18px;font-weight:560}.call-timer{font-variant-numeric:tabular-nums;opacity:.7;margin:4px 0 0;font-size:17px}.call-location{background:#ffffff14;border-radius:999px;align-items:center;gap:8px;margin-top:28px;padding:8px 14px;font-size:14px;font-weight:560;display:inline-flex}.call-location[data-status=active] svg{color:#4ade80}.call-location[data-status=pending] svg{color:#fbbf24}.call-controls{justify-content:center;align-items:flex-start;gap:48px;padding-top:16px;display:flex}.round-button{color:var(--fg);background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;display:flex}.round{background:#ffffff24;border-radius:50%;place-items:center;width:72px;height:72px;transition:background .15s,transform .12s;display:grid}.round-button.hangup .round{background:#e5332a;width:80px;height:80px;margin-top:-4px;box-shadow:0 8px 28px #e5332a73}.round-button:active .round{transform:scale(.95)}.round-label{opacity:.9;font-size:14px;font-weight:600}.back-button{border-radius:var(--radius);background:var(--fg);color:#0b1017;border:0;width:100%;max-width:360px;height:56px;font-size:17px;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(32px)}}@keyframes fade{0%{opacity:0}}@keyframes blink{50%{opacity:.35}}@keyframes breathe{to{opacity:.55}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f3f4f6;--surface:#fff;--surface-2:#f7f8fa;--border:#e3e6eb;--text:#0e1726;--text-muted:#5b6575;--focus:#2563eb;--medical:#c8102e;--police:#1e44a8;--fire:#d9480f;--doctor:#0f766e;--general:#3a4658;--danger:#d6261d;--success:#15803d;--warning:#b45309;--radius-lg:20px;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0f172a0f, 0 4px 16px #0f172a0f;--shadow-lg:0 8px 40px #0f172a2e;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b1017;--surface:#121923;--surface-2:#18212d;--border:#243042;--text:#e8edf4;--text-muted:#96a3b5;--focus:#60a5fa;--medical:#e0313f;--police:#3d6be0;--fire:#ec6a2c;--doctor:#159b91;--general:#556377;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d;--shadow-lg:0 8px 40px #00000080}}[data-kind=medical]{--kind:var(--medical)}[data-kind=police]{--kind:var(--police)}[data-kind=fire]{--kind:var(--fire)}[data-kind=doctor]{--kind:var(--doctor)}[data-kind=general]{--kind:var(--general)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:650;display:flex}.brand-mark{border-radius:8px;flex:none;width:28px;height:28px}.pill{border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--kind,currentColor) 55%, transparent)}to{box-shadow:0 0 0 18px #0000}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
