@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #0a0a0a;--bg-secondary: #161616;--bg-tertiary: #222222;--text-primary: #ededed;--text-secondary: #a0a0a0;--text-accent: #f5f5f5;--accent-color: #3b82f6;--accent-hover: #2563eb;--error-color: #ef4444;--success-color: #22c55e;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}#app{width:100%;height:100vh;display:flex;flex-direction:column}button{background:transparent;border:none;cursor:pointer;font-family:inherit;color:inherit}input,textarea{font-family:inherit;color:inherit;background:transparent;border:none}textarea:focus,input:focus{outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.controls-wrapper[data-v-0586b2fa]{position:absolute;bottom:max(2rem,env(safe-area-inset-bottom,2rem));left:50%;transform:translate(-50%);width:calc(100% - 3rem);max-width:600px;display:flex;flex-direction:column;gap:1.5rem;z-index:100;box-sizing:border-box}.progress-section[data-v-0586b2fa]{display:flex;flex-direction:column;gap:.5rem;opacity:.4;transition:opacity .3s ease}.controls-wrapper:hover .progress-section[data-v-0586b2fa],.progress-section[data-v-0586b2fa]:hover{opacity:1}.progress-track[data-v-0586b2fa]{position:relative;height:4px;background:#ffffff1a;border-radius:99px;overflow:visible}.progress-track[data-v-0586b2fa]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--progress);background:var(--accent-color);border-radius:99px;pointer-events:none;box-shadow:0 0 10px var(--accent-color)}.progress-slider[data-v-0586b2fa]{position:absolute;left:0;top:-6px;width:100%;height:16px;opacity:0;cursor:pointer;margin:0}.progress-slider[data-v-0586b2fa]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:#fff;cursor:pointer}.progress-slider[data-v-0586b2fa]::-moz-range-thumb{width:12px;height:12px;background:#fff;cursor:pointer;border:none}.controls-row[data-v-0586b2fa]{display:flex;align-items:center;gap:.75rem;justify-content:center;position:relative;width:100%;max-width:100%;min-width:0;flex-wrap:nowrap}.glass-panel[data-v-0586b2fa]{background:#161616cc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-lg);border-radius:var(--radius-full)}.control-bar[data-v-0586b2fa]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--spacing-md);height:64px;flex:1;min-width:0;overflow:hidden}.side-bar[data-v-0586b2fa]{height:64px;padding:0 12px;gap:8px;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.control-bar[data-v-0586b2fa]>:first-child{justify-self:start}.control-bar[data-v-0586b2fa]>:nth-child(2){justify-self:center}.control-bar[data-v-0586b2fa]>:last-child{justify-self:end}.side-bar .icon-btn[data-v-0586b2fa]{width:40px;height:40px}.side-bar .icon-btn.active[data-v-0586b2fa]{transform:rotate(45deg);color:var(--text-primary)}.progress-meta[data-v-0586b2fa]{display:flex;justify-content:space-between;font-size:.75rem;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.icon-btn[data-v-0586b2fa]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:transparent;transition:all .2s;position:relative}.icon-btn[data-v-0586b2fa]:hover{color:var(--text-primary);background:#ffffff0d}.play-btn[data-v-0586b2fa]{width:56px;height:56px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px #fff3;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;border:4px solid rgba(20,20,20,.5);background-clip:padding-box;padding:0;margin:0;cursor:pointer}.play-btn svg[data-v-0586b2fa]{display:block}.play-btn[data-v-0586b2fa]:hover{transform:scale(1.1);box-shadow:0 0 30px #fff6;background:#fff}.play-btn[data-v-0586b2fa]:active{transform:scale(.95)}.wpm-container[data-v-0586b2fa]{display:flex;flex-direction:column;justify-content:center;gap:4px;position:relative;height:100%}.action-menu[data-v-0586b2fa]{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:1rem;background:#161616f2;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:4px;min-width:160px;box-shadow:0 10px 40px #00000080;transform-origin:bottom center;z-index:200}.action-menu button[data-v-0586b2fa]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all .2s;background:transparent;text-align:left;width:100%}.action-menu button[data-v-0586b2fa]:hover{background:#ffffff1a;color:var(--text-primary)}.pop-enter-active[data-v-0586b2fa],.pop-leave-active[data-v-0586b2fa]{transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.pop-enter-from[data-v-0586b2fa],.pop-leave-to[data-v-0586b2fa]{opacity:0;transform:translate(-50%) scale(.9) translateY(10px)}.wpm-control-group[data-v-0586b2fa]{display:flex;align-items:center;gap:8px;background:#0003;padding:2px 4px;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.wpm-btn[data-v-0586b2fa]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-secondary);font-size:1.1rem;line-height:1;padding-bottom:2px;transition:all .2s}.wpm-btn[data-v-0586b2fa]:hover{color:var(--text-primary);background:#ffffff1a}.wpm-btn[data-v-0586b2fa]:active{background:#fff3}.wpm-label[data-v-0586b2fa]{font-size:.6rem;font-weight:700;color:var(--text-secondary);letter-spacing:.05em;margin-right:4px}.wpm-value[data-v-0586b2fa]{display:flex;align-items:baseline;gap:2px}.wpm-value input[data-v-0586b2fa]{background:transparent;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:.95rem;font-weight:500;width:5ch;min-width:5ch;text-align:right;padding:0;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.wpm-value input[data-v-0586b2fa]::-webkit-outer-spin-button,.wpm-value input[data-v-0586b2fa]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.wpm-unit[data-v-0586b2fa]{font-size:.75rem;color:var(--text-secondary)}[data-tooltip][data-v-0586b2fa]{position:relative}[data-tooltip][data-v-0586b2fa]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(0);margin-bottom:12px;padding:6px 10px;background:#111;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:.75rem;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none;box-shadow:0 4px 12px #00000080;z-index:200}[data-tooltip][data-v-0586b2fa]:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.settings-panel[data-v-0586b2fa]{position:absolute;bottom:100%;right:0;margin-bottom:1rem;width:300px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:#161616e6;z-index:200;border-radius:16px}.settings-panel h3[data-v-0586b2fa]{font-size:.8rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.25rem}.setting-group[data-v-0586b2fa]{display:flex;flex-direction:column;gap:.5rem}.setting-group label[data-v-0586b2fa]{font-size:.9rem;color:var(--text-primary)}.setting-row[data-v-0586b2fa]{display:flex;gap:1rem}.setting-group.compact[data-v-0586b2fa]{flex:1}.setting-group.color-inline[data-v-0586b2fa]{flex-direction:row;align-items:center;gap:.75rem}.setting-group.toggle-row[data-v-0586b2fa]{flex-direction:row;align-items:center;justify-content:space-between}.toggle-switch[data-v-0586b2fa]{position:relative;width:44px;height:24px;background:#ffffff26;border-radius:12px;border:none;cursor:pointer;transition:background .2s ease;padding:0}.toggle-switch[data-v-0586b2fa]:hover{background:#fff3}.toggle-switch.active[data-v-0586b2fa]{background:var(--accent-color)}.toggle-knob[data-v-0586b2fa]{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000004d}.toggle-switch.active .toggle-knob[data-v-0586b2fa]{transform:translate(20px)}input[type=range][data-v-0586b2fa]{width:100%;accent-color:var(--accent-color)}input[type=number][data-v-0586b2fa],select[data-v-0586b2fa]{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#fff;padding:4px 8px;border-radius:4px;font-size:.9rem}.settings-panel input[type=number][data-v-0586b2fa],.settings-panel select[data-v-0586b2fa]{width:100%}select[data-v-0586b2fa]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;padding-right:32px}input[type=color][data-v-0586b2fa]{background:none;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;padding:0}.mode-toggle[data-v-0586b2fa]{display:flex;background:#ffffff1a;border-radius:8px;padding:4px;gap:4px}.mode-toggle button[data-v-0586b2fa]{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:8px;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.mode-toggle button[data-v-0586b2fa]:hover{color:var(--text-primary);background:#ffffff0d}.mode-toggle button.active[data-v-0586b2fa]{background:var(--accent-color);color:#fff;font-weight:500}.reader-display[data-v-96e6eba8]{display:flex;justify-content:center;align-items:center;height:40vh;width:100%;overflow:hidden;position:relative;font-weight:500;-webkit-user-select:none;user-select:none;flex-direction:column;gap:1rem;line-height:1.2}.context[data-v-96e6eba8]{font-size:.4em;opacity:.4;text-align:center;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1em}.word-container[data-v-96e6eba8]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:baseline;white-space:pre;width:100%;max-width:100%}.track[data-v-96e6eba8]{white-space:nowrap;overflow:hidden;text-overflow:clip}.left-track[data-v-96e6eba8]{text-align:right;display:flex;justify-content:flex-end;align-items:baseline}.right-track[data-v-96e6eba8]{text-align:left;display:flex;justify-content:flex-start;align-items:baseline}.inline-pre[data-v-96e6eba8],.inline-post[data-v-96e6eba8]{opacity:.4;font-size:1em;max-width:none;text-overflow:clip;overflow:visible}.center[data-v-96e6eba8]{color:var(--highlight-color, var(--error-color));font-weight:700;text-align:center;min-width:1ch}.left[data-v-96e6eba8]{text-align:right}.right[data-v-96e6eba8]{text-align:left}.guides[data-v-96e6eba8]{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;display:flex;flex-direction:column;justify-content:space-between;opacity:.1;pointer-events:none}.guide-top[data-v-96e6eba8],.guide-bottom[data-v-96e6eba8]{height:20px;width:100%}.app-layout[data-v-c1a9db37]{display:flex;flex-direction:column;height:100vh;width:100%;max-width:800px;margin:0 auto;position:relative}main[data-v-c1a9db37]{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative}.input-overlay[data-v-c1a9db37]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg-primary);display:flex;flex-direction:column}.input-content[data-v-c1a9db37]{display:flex;flex-direction:column;height:100%}.loading-state[data-v-c1a9db37]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-md);color:var(--text-secondary)}.spinner[data-v-c1a9db37]{width:40px;height:40px;border:4px solid var(--bg-tertiary);border-top-color:var(--accent-color);border-radius:50%;animation:spin-c1a9db37 1s linear infinite}@keyframes spin-c1a9db37{to{transform:rotate(360deg)}}.file-drop-hint[data-v-c1a9db37]{padding:var(--spacing-md);text-align:center;color:var(--text-secondary);font-size:.9rem;border-top:1px dashed var(--bg-tertiary);margin:0 var(--spacing-lg);display:flex;flex-direction:column;gap:8px;align-items:center}.file-select-label[data-v-c1a9db37]{color:var(--accent-color);cursor:pointer;text-decoration:underline}.error-msg[data-v-c1a9db37]{color:var(--error-color);text-align:center;padding:var(--spacing-sm)}.input-actions[data-v-c1a9db37]{display:flex;justify-content:center;padding-bottom:var(--spacing-lg)}.primary-btn[data-v-c1a9db37]{background:var(--accent-color);color:#fff;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);font-weight:600;transition:background .2s,transform .1s}.primary-btn[data-v-c1a9db37]:hover{background:var(--accent-hover);transform:scale(1.05)}.text-input-wrapper[data-v-c1a9db37]{flex:1;display:flex;flex-direction:column;width:100%;max-width:800px;margin:0 auto;position:relative;padding:var(--spacing-lg)}.action-bar[data-v-c1a9db37]{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.text-input[data-v-c1a9db37]{width:100%;height:50vh;resize:none;font-size:1.2rem;line-height:1.6;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:inset var(--shadow-sm);transition:box-shadow .2s;color:var(--text-primary);border:1px solid transparent}.text-input[data-v-c1a9db37]:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}.text-btn[data-v-c1a9db37]{background:transparent;color:var(--text-secondary);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:color .2s}.text-btn[data-v-c1a9db37]:hover{color:var(--text-primary);background:#ffffff0d}.primary-btn.small[data-v-c1a9db37]{padding:var(--spacing-sm) var(--spacing-lg);font-size:.9rem}.center-content[data-v-c1a9db37]{justify-content:center;align-items:center}.file-confirm-card[data-v-c1a9db37]{background:var(--bg-secondary);padding:var(--spacing-xl);border-radius:var(--radius-lg);width:90%;max-width:400px;box-shadow:0 4px 24px #0003;display:flex;flex-direction:column;gap:var(--spacing-lg);text-align:center}.file-confirm-card h3[data-v-c1a9db37]{margin:0;color:var(--text-primary);font-size:1.5rem}.file-stats[data-v-c1a9db37]{display:flex;flex-direction:column;gap:.5rem;background:#0000001a;padding:1rem;border-radius:var(--radius-md)}.stat-row[data-v-c1a9db37]{display:flex;justify-content:space-between;font-size:.95rem}.stat-row .label[data-v-c1a9db37]{color:var(--text-secondary)}.stat-row .value[data-v-c1a9db37]{color:var(--text-primary);font-weight:500;text-align:right;flex:1}.action-bar.centered[data-v-c1a9db37]{justify-content:center;margin-bottom:0;margin-top:.5rem}.wiki-header[data-v-c1a9db37]{display:flex;flex-direction:column;align-items:center;gap:1rem}.wiki-hint[data-v-c1a9db37]{color:var(--text-secondary);font-size:.9rem;margin-top:-.5rem}.wiki-icon[data-v-c1a9db37]{font-size:2.5rem;font-weight:700;font-family:serif;background:#fff;color:#000;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:4px}.url-input[data-v-c1a9db37]{width:100%;padding:12px;border-radius:var(--radius-md);border:1px solid var(--bg-tertiary);background:#0003;color:var(--text-primary);font-size:1rem;margin:.5rem 0}.url-input[data-v-c1a9db37]:focus{outline:none;border-color:var(--accent-color);background:#0000004d}
