:root{--bg:#e9ebe6;--surface:#f7f8f4;--surface-2:#eef0ea;--raised:#fffff9;--ink:#0c1012;--ink-2:#2a3339;--ink-3:#3d484f;--line:#c8cec6;--line-strong:#aeb6ac;--accent:#086b55;--accent-strong:#055343;--accent-soft:#d4ebe4;--on-accent:#f4fbf8;--ok:#1c7c46;--ok-soft:#e2f0e7;--warn:#92600a;--warn-soft:#f6ecd7;--danger:#bc3f3f;--danger-soft:#f8e7e4;--glow-1:#0c7c6314;--glow-2:#46698c12;--dot-grid:#181d200d;--scrim:#1014167a;--toast-bg:#1d2429;--toast-ink:#f2f4f1;--font-display:"Space Grotesk", "IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:48px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-full:999px;--shadow-1:0 1px 2px #1014160d, 0 1px 1px #10141608;--shadow-2:0 4px 14px #10141614, 0 2px 4px #1014160d;--shadow-3:0 18px 50px #10141638, 0 4px 12px #1014161a;--t-fast:.15s;--t-med:.22s;--ease-out:cubic-bezier(.32, .72, .28, 1);--ease-spring:cubic-bezier(.34, 1.3, .5, 1);--z-header:10;--z-sheet:40;--z-toast:60;--z-banner:70;--shell-max:600px}[data-theme=dark]{--bg:#080c0f;--surface:#141b20;--surface-2:#1b2329;--raised:#222b32;--ink:#f4f7f6;--ink-2:#cdd6db;--ink-3:#a8b4bb;--line:#3a464e;--line-strong:#516068;--accent:#3ed4a4;--accent-strong:#6ae0b8;--accent-soft:#3ed4a42e;--on-accent:#042018;--ok:#4cc57e;--ok-soft:#4cc57e24;--warn:#e0a83f;--warn-soft:#e0a83f26;--danger:#e0716a;--danger-soft:#e0716a26;--glow-1:#35c79a12;--glow-2:#5e8cbe0f;--dot-grid:#e8edeb0b;--scrim:#0407099e;--toast-bg:#e8edeb;--toast-ink:#14191d;--shadow-1:0 1px 2px #0000004d, 0 1px 1px #00000038;--shadow-2:0 4px 16px #00000059, 0 2px 4px #00000040;--shadow-3:0 18px 50px #0000008c, 0 4px 12px #00000059}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1100px 480px at 88% -8%, var(--glow-1), transparent 62%), radial-gradient(900px 420px at -12% 2%, var(--glow-2), transparent 58%), var(--bg);min-height:100dvh;transition:background-color var(--t-med) var(--ease-out), color var(--t-med) var(--ease-out);background-attachment:fixed;margin:0;font-size:15px;line-height:1.5}body:before{content:"";background-image:radial-gradient(var(--dot-grid) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:22px 22px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}#root{z-index:1;position:relative}button{color:inherit;-webkit-tap-highlight-color:transparent;font-family:inherit}input{color:inherit;font-family:inherit}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{max-width:var(--shell-max);padding:0 16px calc(env(safe-area-inset-bottom,0px) + 56px);animation:fade-up .32s var(--ease-out) both;margin:0 auto}.app-header{z-index:var(--z-header);padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px;background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(18px);justify-content:space-between;align-items:center;margin:0 -16px;display:flex;position:sticky;top:0}@media (width>=768px){.app-header{padding-top:34px}}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand-logo{width:34px;height:34px;box-shadow:var(--shadow-1);background:linear-gradient(135deg,#10957a,#085844);border-radius:10px;flex:none;place-items:center;display:grid}.brand-text{min-width:0}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px;font-weight:700;line-height:1.15}.brand-tag{color:var(--ink-2);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.status-row{align-items:center;gap:8px;margin:12px 0 16px;display:flex}.status-pill{border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);align-items:center;gap:8px;min-width:0;max-width:100%;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.status-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status-pill[data-variant=warn]{border-color:color-mix(in srgb, var(--warn) 35%, var(--line));background:var(--warn-soft);color:var(--warn)}.status-pill[data-variant=danger]{border-color:color-mix(in srgb, var(--danger) 35%, var(--line));background:var(--danger-soft);color:var(--danger)}.status-pill[data-variant=ok]{color:var(--ink-2)}.dot{border-radius:var(--radius-full);background:var(--ok);flex:none;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse-dot}.dot[data-kind=warn]{background:var(--warn);animation:none}.dot[data-kind=danger]{background:var(--danger);animation:none}.dot[data-kind=spin]{border:2px solid var(--accent-soft);border-top-color:var(--accent);background:0 0;animation:.8s linear infinite rot}.status-spacer{flex:1}.icon-btn{border-radius:var(--radius-md);width:40px;min-width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.icon-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}}.icon-btn:active{transform:scale(.92)}.icon-btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--line);color:var(--accent-strong)}.icon-btn.spinning svg{animation:.9s linear infinite rot}.btn-primary{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-1);transition:background var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);border:none;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:active{transform:scale(.97)}.btn-ghost{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-2);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);background:0 0;align-items:center;gap:6px;padding:9px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-ghost:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}.link-btn{color:var(--accent);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;padding:6px 8px;font-size:13px;font-weight:600}.link-btn:hover{background:var(--accent-soft)}.link-btn[data-active=true]{color:var(--ink-2)}.chip{--h:160;background:hsl(var(--h) 42% 90%);color:hsl(var(--h) 48% 26%);font-family:var(--font-display);-webkit-user-select:none;user-select:none;border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}[data-theme=dark] .chip{background:hsl(var(--h) 30% 21%);color:hsl(var(--h) 62% 70%)}.chip-sm{width:38px;height:38px;font-size:15px}.chip-lg{width:46px;height:46px;font-size:18px}.base-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);padding:18px 18px 16px;position:relative;overflow:hidden}.base-card:before{content:"";background:linear-gradient(90deg, var(--accent), transparent 72%);opacity:.85;height:3px;position:absolute;top:0;left:0;right:0}.base-top{justify-content:space-between;align-items:center;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-size:13px;font-weight:700}.base-selector{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:left;width:100%;transition:border-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);align-items:center;gap:12px;margin-top:12px;padding:10px 12px;display:flex}.base-selector:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.base-selector:active{transform:scale(.99)}.sel-text{flex-direction:column;flex:1;min-width:0;display:flex}.sel-code{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:1.15}.sel-name{color:var(--ink-3);overflow-wrap:anywhere;font-size:12.5px;line-height:1.3}.sel-chev{color:var(--ink-3);flex:none;margin-inline-start:auto}.amount-wrap{justify-content:center;align-items:center;margin-top:16px;display:flex}.amount-value{justify-content:center;align-items:baseline;gap:8px;min-width:0;display:flex}.amount-input{field-sizing:content;min-width:1ch;max-width:100%;font-family:var(--font-num);letter-spacing:0;font-variant-numeric:tabular-nums lining-nums;text-align:center;color:var(--ink);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:none;padding:2px 0;font-weight:700}.amount-symbol{font-family:var(--font-num);letter-spacing:0;color:var(--ink-2);flex:none;font-size:28px;font-weight:600;line-height:1}.amount-input::placeholder,[data-theme=dark] .amount-input::placeholder{color:var(--line-strong)}.amount-msg{min-height:18px;color:var(--warn);align-items:center;gap:6px;margin-top:4px;font-size:12.5px;display:flex}.quick-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.quick-chip{width:100%;font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums;border-radius:var(--radius-full);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);background:0 0;padding:8px 0;font-size:13px;font-weight:600}.quick-chip:hover{border-color:var(--accent);color:var(--accent)}.quick-chip:active{transform:scale(.95)}.quick-chip[data-active=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.section-head{justify-content:center;align-items:center;gap:40px;margin:24px 16px 12px;display:flex}.section-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:17px;font-weight:600}.section-head .link-btn{font-size:15px}.conv-list{flex-direction:column;gap:10px;display:flex}.conv-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:transform var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease-out);animation:fade-up .26s var(--ease-out) both;padding:13px 14px}@media (hover:hover){.conv-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}}.conv-row.dragging{box-shadow:var(--shadow-3);border-color:var(--accent);opacity:.98;z-index:2}.row-main{align-items:center;gap:12px;display:flex}.row-copy-btn{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.row-id{flex-direction:column;flex:1;min-width:0;display:flex}.row-code{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.2}.row-name{color:var(--ink-3);overflow-wrap:anywhere;font-size:12px;line-height:1.3}.row-values{text-align:end;flex:none;margin-inline-start:auto}.row-amount{font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0;overflow-wrap:anywhere;align-items:baseline;gap:6px;font-size:22px;font-weight:700;line-height:1.15;display:inline-flex}.row-symbol{letter-spacing:0;color:var(--ink-2);font-size:15px;font-weight:600}.row-amount.flash{animation:value-flash .6s var(--ease-out)}.row-menu-btn{border-radius:var(--radius-sm);width:34px;min-width:34px;height:34px;color:var(--ink-3)}.row-actions{border-top:1px dashed var(--line);animation:slide-down .18s var(--ease-out);flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;display:flex}.mini-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);align-items:center;gap:6px;padding:7px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.mini-btn:hover{border-color:var(--accent);color:var(--accent)}.mini-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.row-edit-tools{align-items:center;gap:2px;display:flex}.drag-handle{cursor:grab;touch-action:none;color:var(--ink-3)}.drag-handle:active{cursor:grabbing}.reorder-btn,.remove-btn{width:32px;min-width:32px;height:32px}.remove-btn:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:var(--danger-soft)}.add-row{border-radius:var(--radius-lg);border:1.5px dashed var(--line-strong);width:100%;color:var(--accent);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:13.5px;font-weight:600;display:flex}.add-row:hover{background:var(--accent-soft);border-color:var(--accent)}.empty-state{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);padding:30px 20px}.empty-icon{border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--line);width:52px;height:52px;color:var(--ink-3);place-items:center;margin:0 auto 12px;display:grid}.empty-title{font-family:var(--font-display);margin:0 0 4px;font-size:16px;font-weight:600}.empty-text{color:var(--ink-3);margin:0 0 16px;font-size:13px}.skel-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-items:center;gap:12px;padding:14px;display:flex}.skel{background:linear-gradient(100deg, var(--surface-2) 40%, var(--raised) 50%, var(--surface-2) 60%);background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite shimmer}.skel-circle{border-radius:12px;flex:none;width:38px;height:38px}.skel-line{height:12px}.skel-line.w-16{width:64px}.skel-line.w-24{width:96px}.skel-line.w-12{width:48px;height:10px;margin-top:6px}.backdrop{background:var(--scrim);z-index:var(--z-sheet);animation:fade-in .2s var(--ease-out);position:fixed;inset:0}.sheet{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:min(100%,560px);max-height:88dvh;box-shadow:var(--shadow-3);z-index:calc(var(--z-sheet) + 1);animation:sheet-up .26s var(--ease-out);padding-bottom:env(safe-area-inset-bottom,0px);border-bottom:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (width>=768px){.sheet{border-radius:var(--radius-xl);border-bottom:1px solid var(--line);max-height:82dvh;animation:sheet-pop .22s var(--ease-out);top:50%;bottom:auto;transform:translate(-50%,-50%)}}.sheet-handle{border-radius:var(--radius-full);background:var(--line-strong);flex:none;width:38px;height:4px;margin:10px auto 0}@media (width>=768px){.sheet-handle{display:none}}.sheet-head{flex:none;align-items:center;gap:10px;padding:14px 18px 8px;display:flex}.sheet-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.sheet-close{margin-left:auto}.sheet-body{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 12px 18px;overflow-y:auto}.search-wrap{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);align-items:center;gap:10px;margin:4px 4px 0;padding:11px 13px;display:flex}.search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-wrap svg{color:var(--ink-3);flex:none}.search-input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:15px}.search-input::placeholder{color:var(--ink-3)}.picker-label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin:18px 10px 6px;font-size:11px;font-weight:600}.picker-list{margin:0;padding:0;list-style:none}.picker-row{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:12px;padding:9px 10px;display:flex}.picker-row:hover{background:var(--surface-2)}.picker-row:active{background:var(--accent-soft)}.picker-row[aria-disabled=true]{opacity:.45;cursor:default}.picker-code{font-family:var(--font-display);flex:none;width:46px;font-size:14px;font-weight:700}.picker-code.lang-id{width:auto;min-width:52px;font-size:12px}.picker-name{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:500;line-height:1.3}.picker-symbol{color:var(--ink-3);font-size:12px}.picker-check{color:var(--accent);flex:none;margin-left:auto}.picker-empty{text-align:center;color:var(--ink-3);padding:30px 16px;font-size:13.5px}.toasts{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;width:min(92%,400px);display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--toast-bg);color:var(--toast-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-2);animation:toast-in .22s var(--ease-spring);pointer-events:auto;align-items:center;gap:10px;padding:12px 15px;font-size:13.5px;font-weight:500;display:flex}.toast svg{flex:none}.toast[data-kind=ok] svg{color:var(--ok)}[data-theme=dark] .toast[data-kind=ok] svg{color:#1c7c46}.toast[data-kind=warn] svg{color:var(--warn)}[data-theme=dark] .toast[data-kind=warn] svg{color:#92600a}.toast[data-kind=info] svg{color:var(--accent)}[data-theme=dark] .toast[data-kind=info] svg{color:#0c7c63}.update-banner{top:calc(12px + env(safe-area-inset-top,0px));z-index:var(--z-banner);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:min(92%,420px);box-shadow:var(--shadow-2);animation:banner-down .26s var(--ease-spring);align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;font-weight:500;display:flex;position:fixed;left:50%;transform:translate(-50%)}.update-banner .btn-primary{flex:none;margin-left:auto;padding:8px 14px;font-size:13px}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;gap:3px;padding:3px;display:flex}.seg{color:var(--ink-3);cursor:pointer;transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 4px;font-size:12.5px;font-weight:600;display:inline-flex}.seg:hover{color:var(--ink-2)}.seg[data-active=true]{background:var(--raised);color:var(--ink);box-shadow:var(--shadow-1)}.settings-page{animation:fade-up .24s var(--ease-out) both}.picker-page .search-wrap{margin:16px 4px 10px}.confirm-text{color:var(--ink-2);margin:8px 4px 18px;font-size:14px;line-height:1.55}.confirm-actions{gap:10px;padding:0 4px 8px;display:flex}.confirm-actions .btn-ghost,.confirm-actions .btn-primary{flex:1}.confirm-danger{background:var(--danger)}.page-title{font-family:var(--font-display);letter-spacing:-.02em;margin:8px 4px 4px;font-size:22px;font-weight:700}.set-group{margin:16px 4px 0}.set-label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin:0 4px 8px;font-size:11px;font-weight:600}.set-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.set-row{text-align:left;cursor:pointer;width:100%;transition:background var(--t-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:12px;padding:13px 14px;display:flex}.set-row+.set-row{border-top:1px solid var(--line)}button.set-row:hover{background:var(--surface-2)}.set-row-text{flex-direction:column;min-width:0;display:flex}.set-title{font-size:14px;font-weight:500;display:block}.set-sub{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.set-value{color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;margin-inline-start:auto;font-size:13px;font-weight:600;display:flex}.set-note{color:var(--ink-3);overflow-wrap:break-word;padding:13px 14px;font-size:12.5px;line-height:1.6}.set-note+.set-note{border-top:1px solid var(--line)}.set-danger{color:var(--danger)}.about-ver{text-align:center;color:var(--ink-3);margin:20px 0 4px;font-size:11.5px}.offline-hero{text-align:center;animation:fade-up .36s var(--ease-out) both;padding:40px 20px 20px}.offline-icon{border-radius:var(--radius-full);background:var(--warn-soft);width:64px;height:64px;color:var(--warn);place-items:center;margin:0 auto 16px;animation:3.4s ease-in-out infinite float-y;display:grid}.offline-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 8px;font-size:21px;font-weight:700}.offline-text{color:var(--ink-2);max-width:36ch;margin:0 auto 22px;font-size:14px;line-height:1.6}.offline-note{color:var(--ink-3);margin-top:22px;font-size:12px}.error-screen{text-align:center;max-width:420px;margin:14vh auto 0;padding:0 24px}.error-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.app-footer{text-align:center;margin-top:56px}.credit{align-items:baseline;gap:.35em;margin:0;font-size:13px;font-weight:500;display:inline-flex}.credit-name{color:var(--ink)}.credit-sep{color:var(--ink-3)}.credit-site{letter-spacing:.01em;color:var(--accent);font-size:14.5px;font-weight:600;text-decoration:none}.credit-site:hover{color:var(--accent-strong)}@keyframes fade-up{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:.4;transform:translate(-50%,60px)}to{opacity:1;transform:translate(-50%)}}@keyframes sheet-pop{0%{opacity:0;transform:translate(-50%,-46%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes banner-down{0%{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes rot{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 40%, transparent)}55%{box-shadow:0 0 0 5px #0000}}@keyframes value-flash{0%{color:var(--accent)}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
