.tools .ef-tool{background:transparent;border:1px solid var(--line, #E2E8F0);border-radius:var(--radius, 12px);width:40px;height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft, #475569);cursor:pointer;padding:0;transition:background .18s cubic-bezier(.22,.61,.36,1),color .18s cubic-bezier(.22,.61,.36,1),border-color .18s cubic-bezier(.22,.61,.36,1);touch-action:manipulation}.tools .ef-tool:hover{background:var(--bg-tint, #F5F3EE);color:var(--ink, #0F172A);border-color:var(--line-strong, #CBD5E1)}.tools .ef-tool:active{transform:translateY(1px)}.tools .ef-tool[aria-expanded=true]{background:var(--primary-soft, #EEF2FF);color:var(--primary, #4F46E5);border-color:var(--primary, #4F46E5)}.ef-popover{position:fixed;z-index:9999;background:var(--bg-elev, #FFFFFF);border:1px solid var(--line, #E2E8F0);border-radius:var(--radius, 12px);box-shadow:0 16px 40px #0f172a24;padding:.75rem;display:grid;gap:.5rem;font-family:var(--font-sans, "Inter", system-ui, sans-serif);animation:ef-popover-in .18s cubic-bezier(.22,.61,.36,1)}@keyframes ef-popover-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ef-popover__title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint, #94A3B8);padding:.125rem .25rem 0}.ef-popover__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:.9375rem;color:var(--ink, #0F172A);min-height:44px;transition:background .15s ease}.ef-popover__row:hover{background:var(--bg-tint, #F5F3EE)}.ef-popover__sep{border:0;border-top:1px solid var(--line, #E2E8F0);margin:.25rem 0}.ef-popover__btn{display:block;width:100%;text-align:left;padding:.625rem .5rem;border-radius:var(--radius-sm, 6px);font-size:.9375rem;color:var(--ink, #0F172A);cursor:pointer;background:transparent;border:0;min-height:44px;font:inherit}.ef-popover__btn:hover{background:var(--bg-tint, #F5F3EE);color:var(--err, #DC2626)}.ef-switch{appearance:none;-webkit-appearance:none;width:40px;height:22px;border-radius:999px;background:var(--line-strong, #CBD5E1);position:relative;cursor:pointer;transition:background .18s cubic-bezier(.22,.61,.36,1);flex-shrink:0;margin:0;border:0}.ef-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .18s cubic-bezier(.22,.61,.36,1)}.ef-switch:checked{background:var(--primary, #4F46E5)}.ef-switch:checked:after{transform:translate(18px)}.ef-help{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;opacity:0;transition:opacity .18s cubic-bezier(.22,.61,.36,1);font-family:var(--font-sans, "Inter", system-ui, sans-serif)}.ef-help--open{opacity:1}.ef-help--closing{opacity:0}.ef-help__backdrop{position:absolute;inset:0;background:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ef-help__card{position:relative;z-index:1;background:var(--bg-elev, #FFFFFF);border-radius:var(--radius-lg, 20px);box-shadow:0 32px 80px #0f172a47;width:min(92vw,520px);max-height:min(92dvh,560px);display:grid;grid-template-rows:auto 1fr auto auto;gap:1rem;padding:1.25rem;overflow:hidden;transform:translateY(20px) scale(.96);transition:transform .24s cubic-bezier(.22,.61,.36,1)}.ef-help--open .ef-help__card{transform:translateY(0) scale(1)}.ef-help__close{position:absolute;top:.625rem;right:.75rem;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--ink-soft, #475569);font-size:24px;line-height:1;background:transparent;border:0;cursor:pointer;z-index:2}.ef-help__close:hover{background:var(--bg-tint, #F5F3EE);color:var(--ink, #0F172A)}.ef-help__viewport{overflow:hidden;border-radius:var(--radius, 12px);touch-action:pan-y}.ef-help__track{display:flex;width:100%;transition:transform .24s cubic-bezier(.22,.61,.36,1);will-change:transform}.ef-help__slide{flex:0 0 100%;min-width:100%;padding:1.5rem .5rem .5rem;box-sizing:border-box}.ef-help__slide h2{margin:0 0 .625rem;font-size:1.25rem;font-weight:600;color:var(--ink, #0F172A);letter-spacing:-.01em}.ef-help__slide p{margin:0;font-size:1rem;line-height:1.6;color:var(--ink-soft, #475569)}.ef-help__dots{display:flex;gap:.5rem;justify-content:center;padding:.25rem 0}.ef-help__dot{width:10px;height:10px;border-radius:50%;background:var(--line-strong, #CBD5E1);border:0;cursor:pointer;padding:0;transition:background .18s cubic-bezier(.22,.61,.36,1),transform .18s cubic-bezier(.22,.61,.36,1)}.ef-help__dot[aria-selected=true]{background:var(--primary, #4F46E5);transform:scale(1.15)}.ef-help__nav{display:flex;justify-content:space-between;gap:.5rem}.ef-help__prev,.ef-help__next{flex:1;min-height:44px;padding:.625rem 1rem;border-radius:var(--radius-sm, 6px);background:var(--bg-tint, #F5F3EE);color:var(--ink, #0F172A);border:1px solid var(--line, #E2E8F0);font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s ease,opacity .15s ease;font:inherit}.ef-help__prev:hover,.ef-help__next:hover{background:var(--bg, #FAF9F6)}.ef-help__prev:disabled,.ef-help__next:disabled{opacity:.4;cursor:default}.ef-splash{position:fixed;inset:0;z-index:10001;background:var(--bg, #FAF9F6);display:grid;place-items:center;transition:opacity .36s cubic-bezier(.22,.61,.36,1),visibility 0s linear .36s}.ef-splash.ef-splash--hidden{opacity:0;visibility:hidden}.ef-splash__logo{display:grid;place-items:center;gap:1rem;text-align:center}.ef-splash__mark{width:72px;height:72px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary, #4F46E5),var(--accent, #F59E0B));color:#fff;border-radius:18px;font-size:32px;font-weight:700;letter-spacing:-.02em;box-shadow:0 10px 24px #4f46e538;animation:ef-splash-pulse 1.6s cubic-bezier(.22,.61,.36,1) infinite}.ef-splash__title{font-family:var(--font-sans, "Inter", system-ui, sans-serif);font-size:1.125rem;font-weight:600;color:var(--ink, #0F172A);letter-spacing:-.01em;margin:0}.ef-splash__sub{font-family:var(--font-sans, "Inter", system-ui, sans-serif);font-size:.8125rem;color:var(--ink-faint, #94A3B8);margin:0;letter-spacing:.04em;text-transform:uppercase}@keyframes ef-splash-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.88}}.card .ef-progress-dot{position:absolute;top:.75rem;right:.75rem;width:10px;height:10px;border-radius:50%;background:var(--ok, #059669);box-shadow:0 0 0 3px var(--bg-elev, #FFFFFF);pointer-events:none;transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.card .ef-progress-dot[data-state=new]{transform:scale(0)}.ef-error-card{position:absolute;inset:0;display:grid;place-items:center;padding:2rem 1.5rem;background:linear-gradient(135deg,#fff5ebf5,#fffbf0f5);z-index:50;text-align:center;font-family:var(--font-sans, "Inter", system-ui, sans-serif)}.ef-error-card__title{font-size:1.125rem;font-weight:600;color:var(--warn, #D97706);margin-bottom:.375rem}.ef-error-card__msg{font-size:.9375rem;color:var(--ink-soft, #475569);max-width:40ch;line-height:1.5;margin:0 0 1rem}.ef-error-card__row{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.ef-error-card__btn{padding:.625rem 1.125rem;min-height:44px;border-radius:var(--radius-sm, 6px);background:var(--warn, #D97706);color:#fff;border:0;font-size:.9375rem;font-weight:500;cursor:pointer;font:inherit}.ef-error-card__btn:hover{filter:brightness(.94)}.ef-error-card__btn--ghost{background:transparent;color:var(--ink-soft, #475569);border:1px solid var(--line-strong, #CBD5E1)}.ef-error-card__btn--ghost:hover{background:var(--bg-tint, #F5F3EE);color:var(--ink, #0F172A);filter:none}.ef-toast{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translate(-50%,120%);z-index:9999;display:flex;align-items:center;gap:.75rem;width:min(92vw,440px);padding:.875rem 1rem;background:var(--bg-elev, #FFFFFF);color:var(--ink, #0F172A);border-radius:var(--radius, 12px);box-shadow:0 12px 32px #0f172a38;font-family:var(--font-sans, "Inter", system-ui, sans-serif);transition:transform .22s cubic-bezier(.22,.61,.36,1),opacity .22s cubic-bezier(.22,.61,.36,1);opacity:0}.ef-toast--open{transform:translate(-50%);opacity:1}.ef-toast__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary, #4F46E5),var(--accent, #F59E0B));color:#fff;flex-shrink:0}.ef-toast__msg{margin:0;font-size:.9375rem;font-weight:500;flex:1;min-width:0}.ef-toast__actions{display:flex;gap:.5rem;flex-shrink:0}.ef-toast__btn{padding:.5rem .875rem;min-height:44px;border-radius:var(--radius-sm, 6px);background:var(--primary, #4F46E5);color:#fff;border:0;cursor:pointer;font-size:.9375rem;font-weight:600;font:inherit}.ef-toast__btn--ghost{background:transparent;color:var(--ink-soft, #475569);border:1px solid var(--line-strong, #CBD5E1)}.ef-toast__btn--ghost:hover{background:var(--bg-tint, #F5F3EE);color:var(--ink, #0F172A)}@media (max-width: 520px){.ef-toast{flex-wrap:wrap}.ef-toast__actions{flex:1 0 100%;justify-content:flex-end}}html.ef-force-reduced-motion,html.ef-force-reduced-motion *,html.ef-force-reduced-motion *:before,html.ef-force-reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media (max-width: 640px){.ef-popover{width:calc(100vw - 16px);left:8px!important}.ef-help__card{padding:1rem}.ef-help__slide h2{font-size:1.125rem}.ef-help__slide p{font-size:.9375rem}}
