:root{--color-light-bg:#fff;--color-light-text:#000;--color-light-textarea-bg:#f0f0f0;--color-light-textarea-border:#ccc;--color-light-footer-text:#555;--color-dark-bg:#121212;--color-dark-text:#fff;--color-dark-textarea-bg:#1e1e1e;--color-dark-textarea-border:#444;--color-link:#007bff;--color-link-hover:#0056b3;--transition-fade:background-color .3s ease, color .3s ease}body{margin:0;font-family:sans-serif}.app,.container{min-height:100vh;transition:var(--transition-fade);padding:1rem}.app{background-color:var(--color-light-bg);color:var(--color-light-text)}.container.light{color:var(--color-light-text);background-color:#f4f4f4}.app.dark{background-color:var(--color-dark-bg);color:var(--color-dark-text)}.container.dark{color:var(--color-dark-text);--color-link:#ffeb3b;--color-link-hover:#fff59d;background-color:#222}textarea,.textarea{border:1px solid var(--color-light-textarea-border);background-color:var(--color-light-textarea-bg);width:100%;height:200px;color:var(--color-light-text);transition:var(--transition-fade), border-color .3s ease;border-radius:4px;margin-bottom:1rem;padding:.5rem;font-family:monospace;font-size:1rem}.app.dark textarea,.textarea.dark{background-color:var(--color-dark-textarea-bg);border-color:var(--color-dark-textarea-border);color:var(--color-dark-text)}.textarea.light{border-color:var(--color-light-textarea-border);color:var(--color-light-text);background-color:#fff}button,.file-button{cursor:pointer;color:#000;box-sizing:border-box;background-color:#e0e0e0;border:none;border-radius:8px;justify-content:center;align-items:center;height:40px;margin:.5rem;padding:.5rem 1rem;font-size:1rem;transition:background-color .3s,transform .2s;display:inline-flex}.container.dark .file-button{color:#fff;background-color:#333}.file-button:hover{background-color:#ccc}.container.dark .file-button:hover{background-color:#444}.button-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.footer{text-align:center;opacity:.6;margin-top:2rem;font-size:.9rem}.footer p{color:var(--color-light-footer-text);margin:0;font-size:1rem}.footer a{color:var(--color-link);text-decoration:underline;transition:color .2s}.footer a:hover{color:var(--color-link-hover)}.footer .author-link{font-weight:700;text-decoration:none}.hidden-file-input{display:none}footer{text-align:left;margin-top:2rem;font-size:1rem}footer p{color:var(--color-light-footer-text);margin:.5rem 0}footer a{color:var(--color-link);font-weight:700;text-decoration:none}footer a:hover{color:var(--color-link-hover)}footer a.link{text-decoration:underline}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.language-picker{align-items:center;gap:.35rem;font-size:1rem;display:inline-flex}.language-select{border:1px solid var(--color-light-textarea-border);background-color:var(--color-light-textarea-bg);color:var(--color-light-text);cursor:pointer;border-radius:6px;padding:.35rem .5rem;font-size:.95rem}.container.dark .language-select{background-color:var(--color-dark-textarea-bg);border-color:var(--color-dark-textarea-border);color:var(--color-dark-text)}.counts{opacity:.7;margin:-.5rem 0 1rem;font-family:monospace;font-size:.8rem}.input-row,.output-row{position:relative}.copy-button{height:auto;margin:0;padding:.3rem .6rem;font-size:.85rem;position:absolute;top:.5rem;right:.5rem}.copy-button:disabled{opacity:.5;cursor:not-allowed}.app-version{opacity:.6;margin-top:1rem;font-family:monospace;font-size:.8rem}
