:root{--success:#10b981;--success-light:#ecfdf5}.welcome{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.card{width:100%;max-width:460px;background-color:var(--panel-bg);padding:3rem 2.5rem;border-radius:20px;border:1px solid var(--panel-border);box-shadow:0 1px 3px var(--shadow-color),0 20px 40px -12px var(--shadow-color);display:flex;flex-direction:column;gap:2rem;transition:transform .3s ease}.header{text-align:center;display:flex;flex-direction:column;gap:.5rem}.header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.025em;color:var(--text-color)}.header p{font-size:.925rem;color:var(--text-muted);line-height:1.4}.drag-zone{position:relative;border:1.5px dashed var(--border-color);border-radius:12px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;background-color:var(--bg-color);transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:1rem}.drag-zone:hover{border-color:var(--accent-color);background-color:var(--bg-glass)}.drag-zone.drag-over{border-color:var(--accent-color);background-color:var(--accent-light);transform:scale(.99)}.drag-zone.success{border-color:var(--success);background-color:var(--success-light)}.icon-container{width:48px;height:48px;border-radius:50%;background-color:var(--bg-color);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--shadow-color);transition:all .2s ease;color:var(--text-muted)}.drag-zone:hover .icon-container{border-color:var(--accent-light);color:var(--accent-color);box-shadow:0 4px 12px #2563eb1a}.drag-zone.success .icon-container{border-color:var(--success);color:var(--success);box-shadow:0 4px 12px #10b9811a}.instruction-main{font-size:.95rem;font-weight:500;color:var(--text-color)}.instruction-sub{font-size:.8rem;color:var(--text-muted)}.separator{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.separator:before,.separator:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.separator:not(:empty):before{margin-right:.75rem}.separator:not(:empty):after{margin-left:.75rem}.btn-paste{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-size:.9rem;border-radius:10px;border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);cursor:pointer;box-shadow:0 1px 2px var(--shadow-color);transition:border-color .4s ease,background-color .4s ease,color .4s ease}.btn-paste:hover{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color);box-shadow:0 4px 12px var(--shadow-color)}.btn-paste:active{transform:scale(.98)}#file-input{display:none}.reader-cnt{max-width:var(--max-width);width:100%;position:relative;transition:max-width .3s ease}.ch-title{font-size:calc(var(--font-size)*1.55);margin-bottom:1.5rem;line-height:1.25;font-weight:800;letter-spacing:-.025em;transition:font-size .3s ease,color .25s ease}.ch-content{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);text-align:var(--text-align);transition:font-size .3s ease,line-height .3s ease,color .25s ease,text-align .3s ease}.ch-content p{margin-bottom:1.85rem;cursor:pointer;position:relative;border-radius:6px;transition:background-color .2s,box-shadow .2s,opacity .25s}.ch-content p:hover{background-color:var(--accent-light);box-shadow:0 0 0 6px var(--accent-light)}.p-bil-block{display:flex;flex-direction:column;gap:6px}.p-bil-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:768px){.p-bil-side{grid-template-columns:1fr;gap:6px}}.p-src{opacity:1}.p-dest{color:var(--text-muted);font-size:.95em;border-left:2px solid var(--accent-color);padding-left:8px}.ch-content p.trans-hl{box-shadow:0 0 0 6px var(--accent-light);outline:2px solid var(--accent-color)}.p-trans{position:relative;border-left:3px solid var(--accent-color);padding-left:12px;opacity:.85;transition:border-color .25s,padding-left .25s,opacity .25s}.p-trans:before{content:"";position:absolute;left:-3px;top:0;bottom:0;width:3px;background-color:var(--accent-color);animation:borderPulse 1.5s infinite ease-in-out}@keyframes borderPulse{0%,to{opacity:.3}50%{opacity:1}}.p-done{transition:border-color .4s ease,padding-left .4s ease}.p-moving{opacity:.2;transform:translateY(2px)}.p-swapped{animation:swapGlow .6s ease-out}@keyframes swapGlow{0%{background-color:var(--accent-light);box-shadow:0 0 0 8px var(--accent-light)}to{background-color:transparent;box-shadow:0 0 0 0 transparent}}.trans-badge{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--accent-color);background-color:var(--accent-light);padding:6px 14px;border-radius:9999px;margin-bottom:1.5rem;animation:fadeIn .25s ease;user-select:none}.trans-badge .spinner{width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer{margin-top:60px;padding-top:32px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;width:100%;max-width:var(--max-width);transition:max-width .3s ease,border-color .25s ease;user-select:none}.footer-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);border-radius:9999px;font-size:.85rem;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s,opacity .2s}.footer-btn:hover:not(:disabled){border-color:var(--accent-color);background-color:var(--accent-light);color:var(--accent-color)}.footer-btn:disabled{opacity:.4;cursor:not-allowed}.indicator{font-size:.8rem;color:var(--text-muted);font-weight:600}.skel-loader{display:none;width:100%}.skel-line{height:16px;background-color:var(--border-color);margin-bottom:1.6rem;border-radius:4px;animation:pulse 1.5s infinite ease-in-out;transition:background-color .25s ease}.skel-line:nth-child(2n){width:94%}.skel-line:nth-child(3n){width:88%}.skel-line:nth-child(4n){width:97%}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.25}}@media (max-width:600px){.footer{margin-top:40px;padding-top:24px;flex-direction:column;gap:16px}.footer-btn{width:100%;justify-content:center;padding:12px}.footer-btn:first-child{order:2}.footer-btn:last-child{order:1}}