:root{--bg: #f5f5f5;--text: #222;--card-bg: #ffffff;--sidebar-bg: #f5f5f5;--border: #e0e0e0;--border-soft: #dfe3eb;--hover-bg: #f0f0f0;--primary: #1e88e5;--primary-contrast: #ffffff;--danger: #e53935;--table-head-bg: #ffffff;--row-even-bg: #ffffff;--row-odd-bg: #fafafa;--input-bg: #f7f9fc;--input-bg-soft: #fbfdff;--row-selected-bg: #e3f2fd;--modal-bg: #ffffff;--highlight-bg: #ffcc80;--highlight-fg: #1b1b1b}[data-theme=dark]{--bg: #121212;--text: #e6e6e6;--card-bg: #1e1e1e;--sidebar-bg: #181818;--border: #333333;--border-soft: #2a2a2a;--hover-bg: #242424;--primary: #1e88e5;--primary-contrast: #ffffff;--table-head-bg: #1a1a1a;--row-even-bg: #151515;--row-odd-bg: #101010;--input-bg: #1c1f24;--input-bg-soft: #232a33;--row-selected-bg: rgba(30, 136, 229, .18);--highlight-bg: #ffb74d;--highlight-fg: #111111;--modal-bg: #242424}body{margin:0;font-family:Lucida Grande,Verdana,Arial,Helvetica,sans-serif;font-size:13px;background-color:var(--bg);color:var(--text)}html:not([data-theme=dark]){color-scheme:light}html[data-theme=dark]{color-scheme:dark}.upload-spinner-overlay{position:fixed;inset:0;background-color:#0009;z-index:1000;display:flex;justify-content:center;align-items:center}.upload-spinner-box{background-color:var(--modal-bg);padding:30px 50px;border-radius:10px;color:var(--text);text-align:center;box-shadow:0 0 10px #00000026}.spinner-large{border:8px solid #e0e0e0;border-top:8px solid #1565c0;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=checkbox]{accent-color:#1565c0}html:not([data-theme=dark]) input[type=checkbox]{background-color:#fff;border:1px solid var(--border)}.text-highlight{background-color:var(--highlight-bg);color:var(--highlight-fg);font-weight:700;padding:0 2px;border-radius:2px}.matched-text{color:var(--text);line-height:1.4}.app-container{width:100vw;height:100vh;overflow:hidden;font-family:Arial,sans-serif;background-color:var(--bg);color:var(--text)}.app-main{display:flex;height:calc(100vh - 60px);margin-top:60px}.app-work{flex-grow:1;min-width:0;height:100%;overflow-y:auto;padding:10px;box-sizing:border-box;display:flex;flex-direction:column}.btn{padding:.5em;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;margin-left:10px;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-delete,.btn-clear{background-color:var(--danger);padding:6px 10px}.btn-view,.btn-primary{padding:.5em;background-color:var(--primary);text-decoration:none;display:inline-block;transition:background-color .2s}.btn-ghost{padding:6px 10px;border-radius:16px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease}.btn,.btn-view,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto}.btn:hover,.btn:focus,.btn-view:hover,.btn-ghost:hover,.btn-ghost:focus{transform:translateY(-1px);box-shadow:0 6px 14px #0000001f}.btn:active,.btn-view:active,.btn-ghost:active{transform:translateY(0);box-shadow:0 3px 8px #0000001f}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.5em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@keyframes spartaToastSlide{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.sp-toast{animation:spartaToastSlide .9s ease forwards}
