:root{--color-white:#fff;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-light:#eef2ff;--color-accent:#06b6d4;--color-secondary:#efefef;--gradient-header:linear-gradient(135deg, #4f46e5 0%, #6366f1 55%, #06b6d4 100%);--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-gray-50:#fafafa;--color-gray-100:#f4f4f5;--color-gray-200:#e4e4e7;--color-gray-300:#d4d4d8;--color-gray-400:#a1a1aa;--color-gray-500:#71717a;--color-gray-600:#52525b;--color-gray-700:#3f3f46;--color-gray-900:#18181b;--color-bg-page:#f9fafb;--color-bg-card:#fff;--color-bg-overlay:#0f172aa6;--color-surface-1:#fff;--color-surface-2:#f4f4f7;--color-border-subtle:#0f172a14;--font-sans:"Inter","Noto Sans SC",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Noto Sans Mono",monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.55;--leading-relaxed:1.75;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 6px 18px #0f172a14;--shadow-lg:0 18px 38px #0f172a1a;--shadow-xl:0 28px 60px #0f172a24;--shadow-primary:0 10px 24px #4f46e547;--shadow-none:none;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--ease-default:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-bounce:cubic-bezier(.175, .885, .32, 1.275);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-gray-900);background:var(--color-bg-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg-page:#0b0b0f;--color-bg-card:#15151c;--color-surface-1:#1b1b24;--color-surface-2:#232330;--color-border-subtle:#ffffff14;--color-gray-100:#1f1f27;--color-gray-200:#2a2a34;--color-gray-300:#3a3a46;--color-gray-400:#6b6b7a;--color-gray-600:#b4b4c0;--color-gray-900:#f3f3f7;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 18px #00000073;--shadow-lg:0 18px 38px #0000008c;--shadow-primary:0 10px 24px #6366f159}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s;--duration-slow:0s}}#root{box-sizing:border-box;flex-direction:column;width:100%;height:100vh;display:flex}body{background:radial-gradient(1200px 600px at 10% -10%, #4f46e514, transparent 60%), radial-gradient(1000px 500px at 110% 0%, #06b6d414, transparent 60%), var(--color-bg-page);margin:0}@media (prefers-color-scheme:dark){body{background:radial-gradient(1200px 600px at 10% -10%, #6366f126, transparent 60%), radial-gradient(1000px 500px at 110% 0%, #06b6d41a, transparent 60%), var(--color-bg-page)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-gray-900);flex-direction:column;height:100vh;display:flex;overflow:hidden}.app{width:100%;max-width:1280px;height:100vh;padding:var(--space-5) var(--space-5) 0;flex-direction:column;margin:0 auto;display:flex}.app-header{background:var(--gradient-header);padding:var(--space-6) var(--space-8);align-items:center;gap:var(--space-3);box-shadow:var(--shadow-lg);border-radius:var(--radius-2xl);isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:hidden}.app-header:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(600px 280px at 100% 0,#ffffff29,#0000 60%),radial-gradient(600px 280px at 0 100%,#ffffff14,#0000 60%);position:absolute;inset:0}.app-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-white);letter-spacing:.01em;text-align:center;margin:0}.app-header-top{align-items:center;gap:var(--space-3);grid-template-columns:1fr auto 1fr;width:100%;display:grid}.app-header-top .app-title{text-align:center;grid-column:2;min-width:0}.usage-slot{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-column:3;display:flex}.nav-link{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;color:var(--color-white);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-white) 14%, transparent);border:1.5px solid color-mix(in srgb, var(--color-white) 55%, transparent);white-space:nowrap;transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);align-items:center;text-decoration:none;display:inline-flex}.nav-link:hover,.nav-link:focus-visible{background:color-mix(in srgb, var(--color-white) 28%, transparent);border-color:color-mix(in srgb, var(--color-white) 90%, transparent);outline:none}.usage-badge{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-white) 14%, transparent);color:var(--color-white);border:1.5px solid color-mix(in srgb, var(--color-white) 55%, transparent);white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex}.usage-badge-loading{opacity:.7;animation:1.6s ease-in-out infinite usage-pulse}@keyframes usage-pulse{0%,to{opacity:.55}50%{opacity:1}}.usage-badge-balance{background:color-mix(in srgb, var(--color-success) 28%, transparent);border-color:color-mix(in srgb, var(--color-success) 60%, transparent)}.controls{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.lang-selector{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-toggle{font-size:var(--text-base);font-weight:var(--font-semibold);padding:0 var(--space-6);min-height:var(--space-12);min-width:calc(var(--space-10) * 4);border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--duration-normal) var(--ease-default), box-shadow var(--duration-normal) var(--ease-default), opacity var(--duration-normal) var(--ease-default), transform var(--duration-fast) var(--ease-default);touch-action:manipulation;justify-content:center;align-items:center;gap:var(--space-2);letter-spacing:.02em;border:2px solid #0000;display:inline-flex}.btn-toggle:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-toggle:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)scale(.97)}.btn-toggle:focus-visible{box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-white) 70%, transparent), var(--shadow-md);outline:none}.btn-toggle:disabled{cursor:not-allowed;opacity:.55}.btn-swap:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.lang-select:disabled{opacity:.55;cursor:not-allowed}.btn-connecting{background:color-mix(in srgb, var(--color-white) 20%, transparent);color:var(--color-white);border:2px solid color-mix(in srgb, var(--color-white) 45%, transparent);box-shadow:none}.btn-connecting:before{content:"";width:var(--space-4);height:var(--space-4);border:2px solid color-mix(in srgb, var(--color-white) 35%, transparent);border-top-color:var(--color-white);border-radius:var(--radius-full);will-change:transform;flex-shrink:0;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-start{background:linear-gradient(135deg, var(--color-success) 0%, color-mix(in srgb, var(--color-success) 75%, black) 100%);color:var(--color-white)}.btn-start:hover:not(:disabled){filter:brightness(1.06)}.btn-stop{background:linear-gradient(135deg, var(--color-error) 0%, color-mix(in srgb, var(--color-error) 75%, black) 100%);color:var(--color-white)}.btn-stop:hover:not(:disabled){filter:brightness(1.06)}.btn-tts{font-size:var(--text-sm);font-weight:var(--font-medium);padding:0 var(--space-4);min-height:var(--space-12);border-radius:var(--radius-full);border:1.5px solid color-mix(in srgb, var(--color-white) 45%, transparent);background:color-mix(in srgb, var(--color-white) 14%, transparent);color:var(--color-white);cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:inline-flex}.btn-tts:hover:not(:disabled){background:color-mix(in srgb, var(--color-white) 28%, transparent);border-color:color-mix(in srgb, var(--color-white) 90%, transparent)}.btn-tts:active:not(:disabled){transform:scale(.96)}.btn-tts:focus-visible{border-color:var(--color-white);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-white) 45%, transparent);outline:none}.btn-tts-off{background:color-mix(in srgb, var(--color-white) 6%, transparent);color:color-mix(in srgb, var(--color-white) 75%, transparent);border-color:color-mix(in srgb, var(--color-white) 25%, transparent)}.recording-dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);background:var(--color-error);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-error) 30%, transparent);flex-shrink:0;animation:1.1s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.78)}}.error-msg{color:var(--color-white);font-size:var(--text-sm);line-height:var(--leading-normal);text-align:left;max-width:min(calc(var(--space-4) * 32), 100%);align-items:center;gap:var(--space-2);background:color-mix(in srgb, var(--color-error) 32%, transparent);border:1px solid color-mix(in srgb, var(--color-error) 55%, transparent);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex}.error-icon{width:var(--space-5);height:var(--space-5);border-radius:var(--radius-full);background:var(--color-error);color:var(--color-white);font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.error-text{flex:1;min-width:0}.error-close{color:var(--color-white);cursor:pointer;font-size:var(--text-sm);opacity:.75;transition:opacity var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);touch-action:manipulation;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:relative}.error-close:after{content:"";inset:calc(-1 * var(--space-2));position:absolute}.error-close:hover{opacity:1;background:color-mix(in srgb, var(--color-white) 15%, transparent)}.error-close:focus-visible{opacity:1;background:color-mix(in srgb, var(--color-white) 20%, transparent);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-white) 55%, transparent);outline:none}.warn-msg{color:var(--color-white);background:color-mix(in srgb, var(--color-warning) 38%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 60%, transparent);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-medium);text-align:center;max-width:min(calc(var(--space-4) * 30), 100%);letter-spacing:.02em}.hint-msg{color:var(--color-white);background:color-mix(in srgb, var(--color-accent) 32%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 55%, transparent);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-medium);text-align:center;max-width:min(calc(var(--space-4) * 32), 100%);letter-spacing:.02em}.history-container{padding:var(--space-5) var(--space-6);margin-top:var(--space-4);gap:var(--space-2);text-align:left;background:var(--color-bg-card);border-radius:var(--radius-2xl);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.placeholder{color:var(--color-gray-400);font-size:var(--text-sm);text-align:center;margin-top:calc(var(--space-10) * 2);font-style:italic}.placeholder.listening{color:var(--color-primary);animation:1.6s ease-in-out infinite listening-pulse}@keyframes listening-pulse{0%,to{opacity:1}50%{opacity:.45}}.history-header{margin-bottom:var(--space-2);justify-content:flex-end;display:flex}.btn-clear{font-size:var(--text-xs);color:var(--color-gray-600);background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);min-height:calc(var(--space-10) + var(--space-1));cursor:pointer;transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);touch-action:manipulation;font-weight:var(--font-medium)}.btn-clear:hover{background:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-gray-900)}.btn-clear:focus-visible{border-color:var(--color-primary);color:var(--color-gray-900);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-primary) 22%, transparent);outline:none}.history-row{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-2);transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-default);border:1px solid #0000;grid-template-columns:1fr 1fr;grid-template-areas:"label label""original translation";display:grid}.history-row:hover{background:var(--color-surface-1);border-color:var(--color-border-subtle);transform:translateY(-1px)}.col{padding:0 var(--space-3);gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.col.original{border-left:3px solid var(--color-primary);grid-area:original}.col.translation{border-left:3px solid var(--color-success);grid-area:translation}.btn-copy{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-gray-600);background:var(--color-surface-1);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);min-height:var(--space-8);cursor:pointer;transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);touch-action:manipulation;letter-spacing:.02em}.btn-copy:hover{background:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-gray-900)}.btn-copy:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-primary) 22%, transparent);outline:none}.btn-copy.btn-copy-done{background:color-mix(in srgb, var(--color-success) 18%, transparent);border-color:color-mix(in srgb, var(--color-success) 60%, transparent);color:var(--color-success)}.direction-label{font-size:var(--text-xs);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);margin-bottom:var(--space-1);width:max-content;font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;grid-area:label;align-items:center;display:inline-flex}.text{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-gray-900);word-break:break-word;overflow-wrap:break-word}.lang-select{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-900);background:color-mix(in srgb, var(--color-white) 92%, transparent);border:1.5px solid color-mix(in srgb, var(--color-white) 55%, transparent);border-radius:var(--radius-md);padding:var(--space-2) calc(var(--space-8) + var(--space-2)) var(--space-2) var(--space-3);min-height:var(--space-12);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);min-width:calc(var(--space-4) * 8);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234F46E5' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;touch-action:manipulation;outline:none}.lang-select:hover:not(:disabled){border-color:var(--color-white);background:var(--color-white);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-white) 30%, transparent)}.lang-select:focus{border-color:var(--color-white);background:var(--color-white);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-white) 45%, transparent)}.btn-swap{font-size:var(--text-lg);color:var(--color-white);background:color-mix(in srgb, var(--color-white) 18%, transparent);border:1.5px solid color-mix(in srgb, var(--color-white) 50%, transparent);border-radius:var(--radius-full);width:var(--space-12);height:var(--space-12);min-width:var(--space-12);cursor:pointer;transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), transform var(--duration-normal) var(--ease-default);touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.btn-swap:hover:not(:disabled){background:color-mix(in srgb, var(--color-white) 32%, transparent);border-color:color-mix(in srgb, var(--color-white) 90%, transparent);transform:rotate(180deg)}.btn-swap:active:not(:disabled){transform:rotate(180deg)scale(.9)}.btn-swap:focus-visible{border-color:var(--color-white);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-white) 50%, transparent);outline:none}@media (prefers-color-scheme:dark){.app-header{box-shadow:var(--shadow-none);border:1px solid color-mix(in srgb, var(--color-white) 8%, transparent)}.lang-select{background:color-mix(in srgb, var(--color-white) 10%, transparent);color:var(--color-gray-900);border-color:color-mix(in srgb, var(--color-white) 22%, transparent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F3F3F7' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.lang-select:hover:not(:disabled),.lang-select:focus{background:color-mix(in srgb, var(--color-white) 18%, transparent);border-color:color-mix(in srgb, var(--color-white) 55%, transparent);box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-white) 14%, transparent)}.btn-swap{color:var(--color-gray-900);border-color:color-mix(in srgb, var(--color-white) 28%, transparent)}.btn-swap:hover:not(:disabled){background:color-mix(in srgb, var(--color-white) 18%, transparent);border-color:color-mix(in srgb, var(--color-white) 60%, transparent)}.history-container{background:var(--color-bg-card);border-color:var(--color-border-subtle);box-shadow:var(--shadow-none)}.history-row{background:var(--color-surface-1)}.history-row:hover{background:var(--color-surface-2);border-color:var(--color-border-subtle)}.btn-clear{background:var(--color-surface-1);color:var(--color-gray-600);border-color:var(--color-border-subtle)}.btn-clear:hover{background:var(--color-surface-2);color:var(--color-gray-900);border-color:var(--color-gray-300)}.direction-label{background:color-mix(in srgb, var(--color-primary) 22%, transparent);color:color-mix(in srgb, var(--color-white) 86%, transparent)}}@media (width<=640px){.app{padding:var(--space-3) var(--space-3) 0}.app-header{padding:var(--space-4) var(--space-4);border-radius:var(--radius-xl);gap:var(--space-3)}.app-title{font-size:var(--text-lg);line-height:var(--leading-tight)}.app-header-top{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.app-header-top .app-title{grid-column:auto}.usage-slot{grid-column:auto;justify-content:center}.usage-badge{font-size:var(--text-xs)}.lang-selector{gap:var(--space-2);flex-direction:column;width:100%}.lang-select{width:100%;min-width:0;min-height:var(--space-12);font-size:var(--text-base)}.btn-swap{border-radius:var(--radius-md);width:100%;height:var(--space-10)}.btn-swap:hover:not(:disabled),.btn-swap:active:not(:disabled){transform:none}.controls{gap:var(--space-2);flex-direction:column;width:100%}.btn-toggle{width:100%;min-width:0;min-height:var(--space-12);padding:0 var(--space-4);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-tts{width:100%;min-height:var(--space-12);border-radius:var(--radius-lg)}.recording-dot{align-self:center}.history-container{padding:var(--space-3) var(--space-3);margin-top:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-xl)}.history-row{gap:var(--space-2);padding:var(--space-3);grid-template-columns:1fr;grid-template-areas:"label""original""translation"}.col{padding:0 var(--space-2)}.text{font-size:var(--text-sm);line-height:var(--leading-normal)}.error-msg,.warn-msg,.hint-msg{max-width:100%;font-size:var(--text-xs)}}@media (prefers-reduced-motion:reduce){.recording-dot,.placeholder.listening,.btn-connecting:before,.usage-badge-loading{animation:none}.btn-swap:hover:not(:disabled),.btn-swap:active:not(:disabled),.btn-toggle:hover:not(:disabled),.btn-toggle:active:not(:disabled),.history-row:hover{transform:none}}.history-page .history-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding-top:var(--space-2);display:flex}.history-page .history-count{color:color-mix(in srgb, var(--color-white) 88%, transparent);font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.04em}.history-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm)}.history-table thead th{text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-2);z-index:1;position:sticky;top:0}.history-table tbody td{padding:var(--space-3);vertical-align:top;border-bottom:1px solid var(--color-border-subtle);color:var(--color-gray-900);word-break:break-word}.history-table-row:hover td{background:var(--color-surface-2)}.history-cell-time{white-space:nowrap;color:var(--color-gray-600);font-variant-numeric:tabular-nums}.history-cell-ip{white-space:nowrap;font-family:var(--font-mono);color:var(--color-gray-700,var(--color-gray-600))}.history-cell-direction .direction-label{font-size:var(--text-xs)}.history-cell-text{min-width:12ch}.history-cell-text .text{margin-bottom:var(--space-2)}@media (width<=640px){.history-table,.history-table thead,.history-table tbody,.history-table tr,.history-table td{width:100%;display:block}.history-table thead{display:none}.history-table-row{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-1);padding:var(--space-3);margin-bottom:var(--space-3)}.history-table tbody td{padding:var(--space-2) 0;border-bottom:none}.history-table tbody td:before{content:attr(data-label);font-size:var(--text-xs);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1);display:block}.history-page .history-toolbar{align-items:stretch;gap:var(--space-2);flex-direction:column}}
