:root{--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, "SF Pro Text", "Helvetica Neue", sans-serif;--radius-sm: 10px;--danger: #e03e36;--danger-bg: rgba(224, 62, 54, .08);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-mode=dark]{--danger: #ff6961;--danger-bg: rgba(255, 105, 97, .1)}:root,[data-theme=apple][data-mode=light]{--bg: #f5f5f7;--bg-elevated: #ffffff;--bg-sunken: #e8e8ed;--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #86868b;--border: #d2d2d7;--border-strong: #c7c7cc;--accent: #0071e3;--accent-hover: #005bbf;--accent-light: rgba(0, 113, 227, .06);--accent-muted: rgba(0, 113, 227, .12);--accent-text: #0066cc;--accent-on: #ffffff;--shadow-sm: 0 .5px 1px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);color:var(--text-primary);background:var(--bg)}[data-theme=apple][data-mode=dark]{--bg: #000000;--bg-elevated: #1c1c1e;--bg-sunken: #2c2c2e;--text-primary: #f5f5f7;--text-secondary: #a1a1a6;--text-tertiary: #8e8e93;--border: #38383a;--border-strong: #48484a;--accent: #0a84ff;--accent-hover: #409cff;--accent-light: rgba(10, 132, 255, .12);--accent-muted: rgba(10, 132, 255, .2);--accent-text: #409cff;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .4)}[data-theme=linear][data-mode=light]{--bg: #f6f6f3;--bg-elevated: #ffffff;--bg-sunken: #e0e0e3;--text-primary: #1d1d1f;--text-secondary: #6b6b76;--text-tertiary: #9898a0;--border: #d1d1d6;--border-strong: #c0c0c6;--accent: #5e6ad2;--accent-hover: #4e5bbc;--accent-light: rgba(94, 106, 210, .07);--accent-muted: rgba(94, 106, 210, .14);--accent-text: #5058b8;--accent-on: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}[data-theme=linear][data-mode=dark]{--bg: #1f2023;--bg-elevated: #2a2a2d;--bg-sunken: #171719;--text-primary: #f2f2f2;--text-secondary: #9b9ba4;--text-tertiary: #747480;--border: #3a3a3f;--border-strong: #48484e;--accent: #5e6ad2;--accent-hover: #7b7fe0;--accent-light: rgba(94, 106, 210, .12);--accent-muted: rgba(94, 106, 210, .2);--accent-text: #8b8fea;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .4)}[data-theme=forest][data-mode=light]{--bg: #f7f9f7;--bg-elevated: #ffffff;--bg-sunken: #e4ebe6;--text-primary: #191e1b;--text-secondary: #4d5e53;--text-tertiary: #7e9486;--border: #d0dcd4;--border-strong: #bcccc2;--accent: #169c46;--accent-hover: #138a3c;--accent-light: rgba(22, 156, 70, .07);--accent-muted: rgba(22, 156, 70, .14);--accent-text: #148038;--accent-on: #ffffff;--shadow-sm: 0 .5px 1px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}[data-theme=forest][data-mode=dark]{--bg: #121212;--bg-elevated: #1e1e1e;--bg-sunken: #0a0a0a;--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-tertiary: #787878;--border: #333333;--border-strong: #424242;--accent: #1db954;--accent-hover: #1ed760;--accent-light: rgba(29, 185, 84, .12);--accent-muted: rgba(29, 185, 84, .2);--accent-text: #1db954;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .5)}[data-theme=rose][data-mode=light]{--bg: #fef7f8;--bg-elevated: #ffffff;--bg-sunken: #f5e4e8;--text-primary: #1a1215;--text-secondary: #6e4e58;--text-tertiary: #a38490;--border: #e8cfd6;--border-strong: #d9b8c2;--accent: #d1254c;--accent-hover: #b81e42;--accent-light: rgba(209, 37, 76, .06);--accent-muted: rgba(209, 37, 76, .12);--accent-text: #c02045;--accent-on: #ffffff;--shadow-sm: 0 .5px 1px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}[data-theme=rose][data-mode=dark]{--bg: #1a1012;--bg-elevated: #241a1d;--bg-sunken: #120a0c;--text-primary: #f5eaed;--text-secondary: #b8969e;--text-tertiary: #8a727a;--border: #3a2c30;--border-strong: #4a3a3e;--accent: #f43f5e;--accent-hover: #fb7185;--accent-light: rgba(244, 63, 94, .12);--accent-muted: rgba(244, 63, 94, .2);--accent-text: #f87191;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .5)}[data-theme=sunset][data-mode=light]{--bg: #faf8f5;--bg-elevated: #ffffff;--bg-sunken: #f0e8de;--text-primary: #1c1710;--text-secondary: #6b5b46;--text-tertiary: #9e8e78;--border: #ddd0be;--border-strong: #ccbfad;--accent: #b45309;--accent-hover: #92400e;--accent-light: rgba(180, 83, 9, .07);--accent-muted: rgba(180, 83, 9, .14);--accent-text: #9a4408;--accent-on: #ffffff;--shadow-sm: 0 .5px 1px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}[data-theme=sunset][data-mode=dark]{--bg: #1a1410;--bg-elevated: #241e18;--bg-sunken: #100c08;--text-primary: #f5ece0;--text-secondary: #b8a48c;--text-tertiary: #8a7e6e;--border: #3a3028;--border-strong: #4a4038;--accent: #d97706;--accent-hover: #e68a1a;--accent-light: rgba(217, 119, 6, .12);--accent-muted: rgba(217, 119, 6, .2);--accent-text: #e8963a;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .5)}[data-theme=ocean][data-mode=light]{--bg: #fafbfc;--bg-elevated: #ffffff;--bg-sunken: #e8ecf0;--text-primary: #1f2328;--text-secondary: #59636e;--text-tertiary: #8b949e;--border: #d0d7de;--border-strong: #bcc4cc;--accent: #0969da;--accent-hover: #0757b5;--accent-light: rgba(9, 105, 218, .06);--accent-muted: rgba(9, 105, 218, .12);--accent-text: #0860ca;--accent-on: #ffffff;--shadow-sm: 0 1px 2px rgba(31, 35, 40, .04);--shadow-md: 0 2px 8px rgba(31, 35, 40, .06), 0 1px 2px rgba(31, 35, 40, .04)}[data-theme=ocean][data-mode=dark]{--bg: #0d1117;--bg-elevated: #161b22;--bg-sunken: #010409;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #727a84;--border: #30363d;--border-strong: #484f58;--accent: #2f81f7;--accent-hover: #58a6ff;--accent-light: rgba(47, 129, 247, .12);--accent-muted: rgba(47, 129, 247, .18);--accent-text: #58a6ff;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .4)}[data-theme=lavender][data-mode=light]{--bg: #f7f5fa;--bg-elevated: #ffffff;--bg-sunken: #ece7f3;--text-primary: #1a1625;--text-secondary: #5c5270;--text-tertiary: #918aaa;--border: #d6cee5;--border-strong: #c4bbd8;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-light: rgba(124, 58, 237, .06);--accent-muted: rgba(124, 58, 237, .12);--accent-text: #6e32d4;--accent-on: #ffffff;--shadow-sm: 0 .5px 1px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}[data-theme=lavender][data-mode=dark]{--bg: #15121e;--bg-elevated: #1e1a2a;--bg-sunken: #0c0a14;--text-primary: #ede8f5;--text-secondary: #9d94b8;--text-tertiary: #7e74a0;--border: #342e4a;--border-strong: #443d5c;--accent: #8b5cf6;--accent-hover: #a78bfa;--accent-light: rgba(139, 92, 246, .12);--accent-muted: rgba(139, 92, 246, .18);--accent-text: #a78bfa;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .5)}[data-theme=slate][data-mode=light]{--bg: #fafafa;--bg-elevated: #ffffff;--bg-sunken: #f0f0f0;--text-primary: #171717;--text-secondary: #525252;--text-tertiary: #8a8a8a;--border: #d4d4d4;--border-strong: #c0c0c0;--accent: #171717;--accent-hover: #333333;--accent-light: rgba(23, 23, 23, .05);--accent-muted: rgba(23, 23, 23, .1);--accent-text: #171717;--accent-on: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04)}[data-theme=slate][data-mode=dark]{--bg: #000000;--bg-elevated: #111111;--bg-sunken: #0a0a0a;--text-primary: #ededed;--text-secondary: #a1a1a1;--text-tertiary: #7a7a7a;--border: #2e2e2e;--border-strong: #3e3e3e;--accent: #ededed;--accent-hover: #ffffff;--accent-light: rgba(237, 237, 237, .06);--accent-muted: rgba(237, 237, 237, .1);--accent-text: #ededed;--accent-on: #000000;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .5)}[data-theme=sand][data-mode=light]{--bg: #ffffff;--bg-elevated: #ffffff;--bg-sunken: #f1eeea;--text-primary: #37352f;--text-secondary: #6b6a65;--text-tertiary: #9b9a97;--border: #e3e2de;--border-strong: #d3d1cc;--accent: #0e7aaa;--accent-hover: #0c6990;--accent-light: rgba(14, 122, 170, .06);--accent-muted: rgba(14, 122, 170, .12);--accent-text: #0c6990;--accent-on: #ffffff;--shadow-sm: 0 .5px 1px rgba(55, 53, 47, .04), 0 1px 3px rgba(55, 53, 47, .03);--shadow-md: 0 2px 8px rgba(55, 53, 47, .06), 0 1px 2px rgba(55, 53, 47, .04)}[data-theme=sand][data-mode=dark]{--bg: #191919;--bg-elevated: #202020;--bg-sunken: #121212;--text-primary: #e3e2de;--text-secondary: #9b9a97;--text-tertiary: #757571;--border: #333333;--border-strong: #424242;--accent: #2e8cb8;--accent-hover: #3da0cc;--accent-light: rgba(46, 140, 184, .1);--accent-muted: rgba(46, 140, 184, .18);--accent-text: #4aacda;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .5)}[data-theme=nord][data-mode=light]{--bg: #eceff4;--bg-elevated: #ffffff;--bg-sunken: #d8dee9;--text-primary: #2e3440;--text-secondary: #4c566a;--text-tertiary: #7b88a1;--border: #c5cdd9;--border-strong: #b4bfce;--accent: #4a6d94;--accent-hover: #3e5e82;--accent-light: rgba(74, 109, 148, .08);--accent-muted: rgba(74, 109, 148, .14);--accent-text: #4a6d94;--accent-on: #ffffff;--shadow-sm: 0 .5px 1px rgba(46, 52, 64, .06), 0 1px 3px rgba(46, 52, 64, .04);--shadow-md: 0 2px 8px rgba(46, 52, 64, .08), 0 1px 2px rgba(46, 52, 64, .04)}[data-theme=nord][data-mode=dark]{--bg: #2e3440;--bg-elevated: #3b4252;--bg-sunken: #272d38;--text-primary: #eceff4;--text-secondary: #d8dee9;--text-tertiary: #8891a5;--border: #4c566a;--border-strong: #5a6478;--accent: #5e81ac;--accent-hover: #81a1c1;--accent-light: rgba(94, 129, 172, .12);--accent-muted: rgba(94, 129, 172, .18);--accent-text: #88c0d0;--accent-on: #ffffff;--shadow-sm: none;--shadow-md: 0 1px 4px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text-primary);transition:background .25s ease,color .25s ease}#root{width:50%;max-width:680px;min-width:400px;margin:0 auto;padding:0}@media (max-width: 1024px){#root{width:70%}}@media (max-width: 768px){#root{width:100%;min-width:0;padding:0 16px}}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text-primary)}.skip-link{position:absolute;top:-100px;left:16px;padding:8px 16px;background:var(--accent);color:var(--accent-on, #fff);border-radius:var(--radius-sm);font-size:.84rem;font-weight:600;text-decoration:none;z-index:9999;transition:top .2s ease}.skip-link:focus{top:16px}.app{padding:0}.app-header{padding-top:48px;margin-bottom:32px}.app-header-row{display:flex;align-items:center;justify-content:center;gap:16px}.app-brand{display:inline-flex;align-items:center;gap:12px}.app-logo{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--accent);border-radius:8px;box-shadow:0 4px 14px -4px color-mix(in srgb,var(--accent) 40%,transparent);cursor:pointer;transition:color .25s ease,box-shadow .25s ease,transform .2s ease;flex-shrink:0}.app-logo:hover{transform:translateY(-1px)}.app-logo:focus{outline:none}.app-logo:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.logo-w{stroke-dasharray:100;stroke-dashoffset:0}.logo-w.drawing{animation:logo-w-draw .9s cubic-bezier(.65,0,.35,1)}@keyframes logo-w-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.logo-w.drawing{animation:none}}.app-title{font-family:var(--font-display);font-size:2rem;font-weight:350;color:var(--text-primary);letter-spacing:-.3px;line-height:1.2;margin:0;transition:color .25s ease}.app-subtitle{color:var(--text-tertiary);font-size:.84rem;font-weight:400;margin-top:10px;letter-spacing:.1px;text-align:center;transition:color .25s ease}.app-footer{margin-top:24px;padding:0 16px max(20px,env(safe-area-inset-bottom));font-family:var(--font-body);font-size:.76rem;color:var(--text-tertiary)}.app-footer a{color:var(--text-secondary);text-decoration:none;transition:color .16s ease}.app-footer a:hover{color:var(--accent)}.app-footer-inner{padding-top:20px;display:flex;align-items:center;justify-content:center;gap:10px}.app-footer-logo{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--accent);flex-shrink:0;border-radius:4px;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--accent) 35%,transparent);cursor:default}.app-footer-logo:hover{transform:none}.app-footer-meta{font-size:.76rem;color:var(--text-tertiary)}.search-sticky-sentinel{height:1px;margin-bottom:-1px;pointer-events:none}.search-sticky{position:sticky;top:0;z-index:50;margin-bottom:32px;will-change:transform}.search-area{display:flex;align-items:stretch;background:var(--bg-elevated);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:box-shadow .25s ease;position:relative}.search-area:has(.search-input:focus){box-shadow:0 0 0 1.5px var(--accent),var(--shadow-sm)}.search-sticky.stuck .search-area,.search-sticky.stuck .search-input{border-radius:0}.search-sticky.stuck .search-area{background:color-mix(in srgb,var(--bg-elevated) 94%,var(--text-primary) 6%);box-shadow:0 1px 0 var(--border, rgba(255, 255, 255, .08)),var(--shadow-stuck, 0 8px 24px -6px rgba(0, 0, 0, .35));padding-top:env(safe-area-inset-top,0px)}.search-sticky.stuck .search-area:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:inherit;pointer-events:none}.search-sticky.stuck .search-area:has(.search-input:focus){box-shadow:inset 0 0 0 1.5px var(--accent),0 1px 0 var(--border, rgba(255, 255, 255, .08)),0 8px 24px -6px #00000073}.theme-picker{position:relative;z-index:100}.theme-controls{display:flex;gap:6px}.theme-toggle,.mode-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:none;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background .2s ease,transform .12s ease}.theme-toggle:hover,.mode-toggle:hover{color:var(--accent)}.theme-toggle:active,.mode-toggle:active{transform:scale(.94)}.theme-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:176px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px -6px #00000038;padding:4px;animation:dropIn .15s ease-out}.theme-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.8rem;font-weight:450;letter-spacing:.01em;cursor:pointer;transition:background .14s ease,color .14s ease}.theme-option:hover{background:color-mix(in srgb,var(--option-accent) 10%,transparent);color:var(--text-primary)}.theme-option.active{color:var(--text-primary);font-weight:550}.theme-option.active:hover{background:transparent}.theme-option-indicator{width:14px;height:14px;border-radius:2px;background:var(--option-accent);flex-shrink:0;transition:box-shadow .14s ease}.theme-option:hover .theme-option-indicator{box-shadow:0 0 0 2px color-mix(in srgb,var(--option-accent) 25%,transparent)}.theme-option.active .theme-option-indicator{box-shadow:0 0 0 2px var(--bg-elevated),0 0 0 3.5px var(--option-accent)}.theme-option-name{flex:1;text-align:left}.theme-option:focus{outline:none}.theme-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.lang-dropdown-wrapper{position:relative;flex-shrink:0}.lang-dropdown-trigger{position:relative;display:flex;align-items:center;gap:5px;padding:0 14px;height:100%;border:none;border-radius:0;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .2s ease;white-space:nowrap}.lang-dropdown-trigger:after{content:"";position:absolute;right:0;top:10px;bottom:10px;width:1px;background:var(--border);pointer-events:none}.lang-dropdown-trigger:hover{color:var(--accent-text)}.lang-dropdown-trigger:active{background:transparent}.lang-dropdown-trigger:focus:not(:focus-visible){outline:none}.lang-dropdown-trigger:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px;border-radius:4px}.lang-chevron{color:var(--text-tertiary);transition:transform .2s ease}.lang-chevron.open{transform:rotate(180deg)}.lang-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;white-space:nowrap;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md),0 8px 24px #00000014;padding:4px;z-index:200;animation:dropIn .15s ease-out}.lang-dropdown-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.lang-dropdown-option:hover{background:var(--bg-sunken);color:var(--text-primary)}.lang-dropdown-option:focus:not(:focus-visible){outline:none}.lang-dropdown-option:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.lang-dropdown-option:active{background:var(--bg-sunken)}.lang-dropdown-option.active{color:var(--accent-text);font-weight:600}.lang-check{color:var(--accent-text);flex-shrink:0}.lang-label-short{display:none}.lang-sep{opacity:.3;font-size:.7rem}.search-bar{flex:1;display:flex;align-items:center}.search-input{width:100%;padding:14px 150px 14px 14px;border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.88rem;font-family:var(--font-body);background:transparent;color:var(--text-primary);outline:none;transition:color .25s ease}.search-input::placeholder{color:var(--text-tertiary);font-weight:400}.search-input::-webkit-search-cancel-button,.search-input::-webkit-search-decoration,.search-input::-webkit-search-results-button,.search-input::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-clear-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background .15s ease,transform .12s ease;animation:search-clear-fade-in .16s ease-out}.search-clear-btn:hover{color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 8%,transparent)}.search-clear-btn:active{transform:scale(.92)}.search-clear-btn:focus{outline:none}.search-clear-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes search-clear-fade-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.search-actions{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px}.search-btn{padding:8px 18px;border:none;border-radius:6px;background:var(--accent);color:var(--accent-on, #fff);font-size:.8rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .2s ease,transform .12s ease;letter-spacing:.1px}.search-btn:hover:not(:disabled){background:var(--accent-hover)}.search-btn:active:not(:disabled){transform:scale(.96)}.search-btn:disabled{opacity:.7;cursor:not-allowed}.search-btn.loading{min-width:70px}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--accent-on, #fff);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.search-input:disabled{opacity:.6}.search-btn:focus:not(:focus-visible){outline:none}.search-btn:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:4px 4px 0;list-style:none;background:var(--bg-elevated);border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:var(--radius-sm);box-shadow:0 16px 40px -8px #00000073,0 4px 12px -4px #00000040;max-height:360px;overflow-y:auto;overscroll-behavior:none;contain:paint;z-index:60;animation:suggestions-fade-in .16s cubic-bezier(.2,.8,.2,1)}.search-suggestion:last-child{margin-bottom:4px}.search-suggestions{scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}.search-suggestions::-webkit-scrollbar{width:6px}.search-suggestions::-webkit-scrollbar-track{background:transparent}.search-suggestions::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-tertiary) 50%,transparent);border-radius:999px}.search-suggestions::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes suggestions-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.search-suggestion{position:relative;display:flex;flex-direction:column;gap:3px;padding:10px 14px;margin:1px 0;font-size:.88rem;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:calc(var(--radius-sm) - 4px);transition:background .14s ease,transform .14s ease,color .14s ease}.search-suggestion-word{font-weight:500;color:var(--text-secondary, var(--text-primary));letter-spacing:.1px;transition:color .14s ease}.search-suggestion-match{background:transparent;color:var(--accent);font-weight:700}.search-suggestion-preview{font-size:.78rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;transition:color .14s ease}.search-suggestion:hover{background:var(--bg-hover, rgba(255, 255, 255, .045))}.search-suggestion:hover .search-suggestion-word{color:var(--text-primary)}.search-suggestion:hover .search-suggestion-preview{color:var(--text-secondary)}.search-suggestion.active{background:var(--accent-light, rgba(80, 130, 255, .12))}.search-suggestion.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}.search-suggestion.active .search-suggestion-word{color:var(--text-primary);font-weight:600}.search-suggestion.active .search-suggestion-match{color:var(--accent)}.search-suggestion.active .search-suggestion-preview{color:var(--text-secondary)}.pronounce-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:var(--accent-light);color:var(--accent-text);cursor:pointer;transition:background .15s ease,transform .1s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent}.pronounce-btn:hover{background:var(--accent-muted)}.pronounce-btn:active{transform:scale(.92);background:var(--accent-muted)}.pronounce-btn:focus:not(:focus-visible){outline:none}.pronounce-btn:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.pronounce-btn.playing{background:var(--accent-muted);animation:pulse .8s ease-in-out infinite alternate}.result-idle{display:flex;justify-content:center;padding:24px 0 40px}.idle-entry{position:relative;width:100%;max-width:560px;padding:32px 32px 24px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.idle-entry-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--border)}.idle-entry-word{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--text-primary);line-height:1;letter-spacing:-.3px}.idle-entry-syl-dot{display:inline-block;margin:0 1px;color:var(--text-tertiary);font-weight:300;vertical-align:.05em}.idle-entry-phonetic{font-size:.9rem;color:var(--text-tertiary);font-style:italic}.idle-entry-pos-pill{margin-left:auto;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-text, var(--accent));background:var(--accent-light, color-mix(in srgb, var(--accent) 10%, transparent));padding:3px 8px;border-radius:4px}.idle-entry-defs{list-style:none;margin:0 0 24px;padding:0}.idle-entry-def{position:relative;padding-left:30px}.idle-entry-def:before{content:"1";position:absolute;left:0;top:2px;font-size:.7rem;font-weight:700;color:var(--accent);width:20px;height:20px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:999px}.idle-entry-def-text{margin:0;font-size:.95rem;line-height:1.6;color:var(--text-primary)}.idle-entry-def-example{position:relative;margin:10px 0 0;padding:4px 0 4px 14px;border-left:2px solid color-mix(in srgb,var(--accent) 35%,transparent);font-family:var(--font-body);font-size:.86rem;font-style:italic;line-height:1.55;color:var(--text-secondary)}.idle-entry-examples{margin-top:4px;padding-top:20px;border-top:1px solid var(--border)}.idle-entry-examples-title{position:relative;display:block;padding-left:30px;margin:0 0 16px;font-family:var(--font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;color:var(--text-tertiary)}.idle-entry-examples-icon{position:absolute;left:4px;top:50%;margin-top:-7px;color:var(--accent);animation:idle-sparkle-pulse 3.2s ease-in-out infinite}@keyframes idle-sparkle-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.idle-entry-chips{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline}.idle-entry-chip{padding:4px 0;background:transparent;border:none;font-family:var(--font-display);font-size:1.4rem;font-weight:400;font-style:normal;line-height:1;color:var(--text-secondary);cursor:pointer;letter-spacing:-.2px;transition:color .16s ease,transform .16s cubic-bezier(.2,.8,.2,1)}.idle-entry-chip:hover{color:var(--accent);transform:translateY(-2px)}.idle-entry-chip:active{transform:translateY(0)}.idle-entry-chip:focus{outline:none}.idle-entry-chip:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.idle-entry-tip{margin:24px 0 0;padding-top:16px;border-top:1px dashed color-mix(in srgb,var(--text-primary) 12%,transparent);display:flex;align-items:center;justify-content:center;gap:8px;font-size:.78rem;line-height:1.5;color:var(--text-tertiary);text-align:center}.idle-entry-tip-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem;color:var(--accent)}.result-loading{display:flex;flex-direction:column;align-items:center;padding:56px 0 40px;gap:16px;color:var(--text-tertiary);font-size:.84rem}.result-loading p{margin:0}.loading-dots{display:flex;align-items:center;gap:6px}.loading-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.35;animation:dotPulse 1.2s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.15s}.loading-dot:nth-child(3){animation-delay:.3s}@keyframes dotPulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.result-error{text-align:center;padding:20px 16px;background:var(--danger-bg, rgba(255, 59, 48, .06));border-radius:var(--radius-sm);color:var(--danger, #e03e36);font-size:.84rem}[data-mode=dark] .result-error{background:var(--danger-bg, rgba(255, 69, 58, .1));color:var(--danger, #ff6961)}.no-results{display:flex;flex-direction:column;align-items:center;padding:48px 24px 40px;text-align:center}.no-results-label{margin:0 0 20px;font-family:var(--font-body);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--text-tertiary)}.no-results-query{max-width:100%;margin:0;font-family:var(--font-display);font-size:2rem;font-weight:400;line-height:1.15;letter-spacing:-.3px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-results-hint{margin:18px 0 0;max-width:40ch;font-family:var(--font-body);font-size:.86rem;line-height:1.6;color:var(--text-tertiary)}.no-results-did-you-mean{margin:32px 0 0}.no-results-did-you-mean-label{margin:0 0 14px;font-family:var(--font-body);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:1.6px;color:var(--text-tertiary)}.no-results-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:480px}.no-results-suggestion{padding:6px 14px;background:transparent;border:1px solid color-mix(in srgb,var(--text-primary) 12%,transparent);border-radius:6px;color:var(--text-secondary);font-family:inherit;font-size:.84rem;font-weight:400;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.no-results-suggestion:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text-primary)}.no-results-suggestion:active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.no-results-suggestion:focus{outline:none}.no-results-suggestion:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.entries{display:flex;flex-direction:column;gap:12px}.entry{background:var(--bg-elevated);border:none;border-radius:var(--radius-sm);padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,background .25s ease}.entry:hover{box-shadow:var(--shadow-md)}.entry-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.entry-word{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--text-primary);margin:0;line-height:1.2}.entry-phonetic{color:var(--text-tertiary);font-size:.8rem;font-style:italic}.entry-pos{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-text);background:var(--accent-light);padding:2px 8px;border-radius:4px}.translation-summary{color:var(--accent-text);font-size:1rem;font-weight:600;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.definitions{padding-left:0;list-style:none;margin-bottom:12px;counter-reset:def}.definition{position:relative;margin-bottom:6px;color:var(--text-primary);line-height:1.65;padding-left:24px;font-size:.9rem;counter-increment:def}.definition:before{content:counter(def);position:absolute;left:0;top:1px;font-size:.68rem;font-weight:600;color:var(--text-tertiary);width:18px;text-align:center}.copy-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .12s ease}.copy-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 20%,transparent)}.copy-btn:active{transform:scale(.94)}.copy-btn:focus{outline:none}.copy-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.copy-btn.copied{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.copy-btn svg{display:block}.entry-header .copy-btn{margin-left:auto}.examples{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.entry-header+.examples,.translation-summary+.examples{margin-top:0;padding-top:0;border-top:none}.examples h3{font-size:.62rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}.examples ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.example{position:relative;display:flex;flex-direction:column;gap:3px;padding:6px 0 6px 14px;border-left:2px solid var(--accent-muted, color-mix(in srgb, var(--accent) 30%, transparent));font-size:.84rem;line-height:1.6}.example-source{color:var(--text-primary);font-style:italic}.example-translation{color:var(--text-tertiary);font-size:.8rem;font-style:normal;letter-spacing:.1px}.example:hover{border-left-color:var(--accent)}.example:hover .example-translation{color:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1}to{opacity:.6}}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease-out both}.slide-up{animation:slideUp .28s ease-out both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){.app-header{padding-top:40px;margin-bottom:24px}.app-title{font-size:1.7rem}.app-subtitle{font-size:.8rem}.theme-toggle,.mode-toggle{width:32px;height:32px}.theme-toggle svg,.mode-toggle svg{width:14px;height:14px}.pronounce-btn,.copy-btn{width:32px;height:32px}.copy-btn svg{width:16px;height:16px}.quick-lookup-close{width:32px;height:32px}.entry{padding:16px}.entry-word{font-size:1.15rem}.definition{font-size:.84rem;padding-left:22px}}@media (max-width: 480px){.app-header{padding-top:28px;margin-bottom:16px}.app-header-row{gap:12px}.app-title{font-size:1.4rem}.app-logo{width:36px;height:36px}.app-brand{gap:10px}.app-subtitle{font-size:.76rem;margin-top:6px}.theme-controls{gap:4px}.theme-toggle,.mode-toggle{width:28px;height:28px}.theme-toggle svg,.mode-toggle svg{width:13px;height:13px}.theme-dropdown{width:156px}.theme-option{padding:6px 9px;font-size:.76rem}.theme-option-indicator{width:8px;height:8px}.search-sticky{margin-bottom:24px}.lang-label-full{display:none}.lang-label-short{display:inline}.lang-dropdown-trigger{font-size:.78rem;padding:0 10px;gap:4px}.lang-chevron{width:12px;height:12px}.search-area:has(.search-input:focus){box-shadow:0 0 0 1px var(--accent)}.search-input{font-size:.84rem;padding:13px 130px 13px 12px}.search-actions{right:4px}.search-btn{padding:10px 14px;font-size:.76rem}.result-idle{padding:12px 0 16px}.idle-entry{padding:24px 20px 20px}.idle-entry-word{font-size:1.7rem}.idle-entry-phonetic{font-size:.82rem}.idle-entry-def,.idle-entry-examples-title{padding-left:28px}.idle-entry-def-text{font-size:.88rem}.idle-entry-def-example{font-size:.82rem}.idle-entry-chip{font-size:1.2rem}.idle-entry-chips{gap:6px 16px}.idle-entry-examples-title{font-size:.66rem}.idle-entry-tip{font-size:.74rem}.no-results{padding:36px 16px 28px}.no-results-query{font-size:1.6rem}.no-results-hint{font-size:.8rem}.no-results-suggestion{font-size:.82rem;padding:6px 12px}.result-loading{padding:40px 0 32px}.entries{gap:10px}.entry{padding:14px}.entry-header{gap:8px;margin-bottom:10px;padding-bottom:10px}.entry-word{font-size:1.05rem}.entry-phonetic{font-size:.75rem}.pronounce-btn{width:28px;height:28px}.pronounce-btn svg{width:12px;height:12px}.copy-btn{width:28px;height:28px}.copy-btn svg{width:14px;height:14px}.quick-lookup-close{width:32px;height:32px}.entry-pos{font-size:.6rem;padding:2px 6px}.definition{font-size:.8rem;padding-left:20px;line-height:1.6}.definition:before{font-size:.65rem;width:16px}.examples h3{font-size:.58rem}.example{font-size:.78rem;padding-left:10px}.lang-dropdown-option{font-size:.78rem;padding:7px 9px}.app-footer{margin-top:16px}.app-footer-meta{font-size:.68rem}}.toast{position:fixed;left:50%;bottom:36px;z-index:1000;display:inline-flex;align-items:center;gap:10px;padding:11px 18px 11px 14px;min-width:0;max-width:min(440px,calc(100vw - 32px));background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px -10px #0000004d,0 4px 12px -6px #0000002e;font-size:.86rem;font-weight:500;letter-spacing:.1px;pointer-events:none;opacity:0;transform:translate(-50%,8px);transition:opacity .22s ease,transform .22s ease}.toast.toast-visible{opacity:1;transform:translate(-50%)}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--accent);flex-shrink:0}.toast-icon svg{display:block}.toast-message{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (prefers-reduced-motion: reduce){.toast{transition:opacity .1s linear;transform:translate(-50%)}}.quick-lookup{position:fixed;max-height:360px;z-index:200;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-elevated) 96%,var(--text-primary) 4%);color:var(--text-primary);border:1px solid color-mix(in srgb,var(--border, rgba(255, 255, 255, .12)) 90%,transparent);border-radius:14px;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px #ffffff0f inset,0 24px 56px -16px #0000008c,0 8px 20px -6px #0000004d;overflow:hidden;animation:quick-lookup-in .18s cubic-bezier(.2,.8,.2,1);transform-origin:top center}@keyframes quick-lookup-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-lookup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06));background:color-mix(in srgb,var(--accent) 6%,transparent)}.quick-lookup-word-group{display:flex;align-items:baseline;gap:8px;min-width:0}.quick-lookup-word{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.1px}.quick-lookup-phonetic{font-size:.78rem;color:var(--text-tertiary);font-style:italic;white-space:nowrap;flex-shrink:0}.quick-lookup-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:color .15s ease,background .15s ease}.quick-lookup-close:hover{color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 8%,transparent)}.quick-lookup-close:focus{outline:none}.quick-lookup-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quick-lookup-body{flex:1;min-height:0;overflow-y:auto;padding:14px 18px 16px;scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}.quick-lookup-body::-webkit-scrollbar{width:6px}.quick-lookup-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-tertiary) 50%,transparent);border-radius:999px}.quick-lookup-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px 0;color:var(--text-secondary);font-size:.86rem}.quick-lookup-error,.quick-lookup-empty{margin:12px 0;color:var(--text-secondary);font-size:.86rem;text-align:center}.quick-lookup-empty strong{color:var(--text-primary)}.quick-lookup-entries{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.quick-lookup-entry{display:flex;flex-direction:column;gap:6px}.quick-lookup-entry+.quick-lookup-entry{padding-top:14px;border-top:1px solid var(--border, rgba(255, 255, 255, .06))}.quick-lookup-pos{align-self:flex-start;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-text, var(--accent));background:color-mix(in srgb,var(--accent) 14%,transparent);padding:2px 8px;border-radius:4px}.quick-lookup-summary{margin:0;color:var(--text-secondary);font-weight:500;font-size:.88rem;line-height:1.5}.quick-lookup-defs{list-style:none;padding:0;margin:0;counter-reset:qdef;display:flex;flex-direction:column;gap:4px}.quick-lookup-defs li{position:relative;padding-left:20px;font-size:.84rem;line-height:1.55;color:var(--text-primary);counter-increment:qdef}.quick-lookup-defs li:before{content:counter(qdef);position:absolute;left:0;top:1px;font-size:.66rem;font-weight:600;color:var(--text-tertiary);width:14px;text-align:center}@media (prefers-reduced-motion: reduce){.quick-lookup{animation:none}}
