:root{color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--color-text:#0f172a;--color-background:#f6f8fc;--color-surface:#fff;--color-muted:#64718a;--color-primary:#09f;--color-primary-rgb:0,153,255;--color-primary-soft:rgba(var(--color-primary-rgb),.12);--color-primary-border:rgba(var(--color-primary-rgb),.3);background-color:#f6f8fc;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--color-background);min-height:100vh;color:var(--color-text);margin:0}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit}.full-page-spinner{color:#1f2933;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.full-page-spinner__dot{border:4px solid rgba(var(--color-primary-rgb),.2);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-shell{background:var(--color-background);min-height:100vh;color:var(--color-text)}.app-shell__header{background:#fff;border-bottom:1px solid #d8e0f0;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1.5rem,4vw,3rem);display:flex}.app-shell__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);margin:0 0 .25rem;font-size:.85rem}.app-shell__header h1{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.app-shell__user{align-items:center;gap:1rem;display:flex}.app-shell__user-name{text-transform:capitalize;margin:0;font-weight:600}.app-shell__user-role{color:var(--color-muted);margin:0;font-size:.85rem}.app-shell__logout{border:1px solid var(--color-primary-border);color:var(--color-primary);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.app-shell__logout:hover{background:var(--color-primary);color:#fff}.app-shell__logout-icon{font-size:1rem}.app-shell__nav{background:#fdfdff;border-bottom:1px solid #dce2ef;gap:1rem;padding:0 1.5rem;display:flex}.app-shell__nav a{color:#5f6f96;border-bottom:2px solid #0000;padding:.85rem .5rem;font-weight:600;text-decoration:none;transition:color .2s,border-bottom .2s;display:inline-flex}.app-shell__nav a.active{color:var(--color-text);border-bottom-color:var(--color-primary)}.app-shell__content{padding:clamp(1.5rem,4vw,3rem)}@media (max-width:640px){.app-shell__header{flex-direction:column}.app-shell__user{justify-content:space-between}}.login-container{background:radial-gradient(circle at top,#f3f6ff,#e5e9f6);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-form{background:#fff;border-radius:1.5rem;flex-direction:column;gap:1rem;width:min(520px,100%);padding:2.5rem;display:flex;box-shadow:0 10px 25px #1725541f}.login-title{color:#0f172a;margin:0;font-size:clamp(1.75rem,4vw,2.25rem)}.login-title span{display:block}.login-highlight{color:var(--color-primary)}.login-subtitle{color:#5f6b91;margin:-.5rem 0 .5rem}.login-field{color:#536079;flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.login-field input{border:1px solid #c8d0e6;border-radius:.85rem;padding:.85rem 1rem;font-family:inherit;font-size:1rem}.login-field input:focus{outline:2px solid var(--color-primary);outline-offset:0}.login-checkbox{color:#606a86;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.login-form button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.95rem;font-size:1rem;font-weight:600;transition:opacity .2s}.login-form button:disabled{opacity:.65;cursor:not-allowed}.login-error{color:#b42318;margin:.5rem 0 0;font-weight:600}.file-drop-zone{text-align:center;cursor:pointer;background:#fff;border:2px dashed #c4cbe2;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:2.5rem;transition:border-color .2s,background .2s;display:flex}.file-drop-zone--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.file-drop-zone__title{margin:0;font-size:1.2rem;font-weight:600}.file-drop-zone__description{color:#55607a;margin:0}.file-drop-zone__hint{color:#8a94ad;margin:0;font-size:.85rem}.file-drop-zone__status{color:var(--color-primary);text-align:center;margin-top:.5rem;font-size:.9rem;font-weight:600}.file-drop-zone__progress{width:100%;margin-top:1rem}.file-drop-zone__progress-bar{background:#2463ff1f;border-radius:999px;width:100%;height:.5rem;overflow:hidden}.file-drop-zone__progress-bar span{background:var(--color-primary);border-radius:inherit;height:100%;transition:width .3s;display:block}.text-converter-page__upload{flex-direction:column;gap:.85rem;display:flex}.text-converter-page__helper{color:#64718a;margin:0}.text-converter-page__alert{border-radius:1rem;margin-top:1rem;padding:.85rem 1.25rem;font-weight:600}.text-converter-page__alert.is-error{color:#a60f0f;background:#fee4e2}.text-converter-page__alert.is-success{color:#0b5ed7;background:#e3f2ff}.text-converter-page__results{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.text-converter-page__results-header{background:#fff;border-radius:1.5rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 8px 25px #0f172a0d}.text-converter-page__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#7b89aa;margin:0 0 .35rem;font-size:.85rem}.text-converter-page__results-header h2{margin:0}.text-converter-page__summary{color:#5b6786;margin:.35rem 0 0}.text-converter-page__clear{border:1px solid var(--color-primary-border);color:var(--color-primary);cursor:pointer;background:#fff;border-radius:999px;padding:.65rem 1.25rem;font-weight:600}.text-converter-page__grid{flex-direction:column;gap:1.5rem;display:flex}.text-converter-page__row{background:#fff;border-radius:1.25rem;padding:1.25rem;box-shadow:0 6px 20px #0f172a0d}.text-converter-page__row header p{color:#4b5674;margin:0 0 .75rem;font-weight:600}.text-converter-page__row-grid{grid-template-columns:minmax(140px,.6fr) repeat(2,minmax(220px,1fr));gap:1rem;display:grid}.text-converter-page__preview img{background:#f8fafc;border:1px solid #e6eaf5;border-radius:.75rem;width:100%}.text-converter-page__text{flex-direction:column;gap:.35rem;display:flex}.text-converter-page__label{color:#3d4765;margin:0;font-weight:600}.text-converter-page__text textarea{resize:vertical;background:#f8f9fd;border:1px solid #d6dff2;border-radius:.75rem;min-height:420px;padding:.75rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.text-converter-page__text.is-different textarea{background:#fff5f2;border-color:#ffceb8;box-shadow:inset 0 0 0 1px #ff804c33}.text-converter-page__label-line{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.text-converter-page__copy{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.75rem;padding:.4rem .75rem;font-weight:600}.text-converter-page__copy:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.text-converter-page__zoom{border:1px solid var(--color-primary-border);color:var(--color-primary);cursor:pointer;background:#fff;border-radius:.75rem;margin-top:.5rem;padding:.4rem .75rem;font-weight:600}.image-zoom-lens{pointer-events:none;background-repeat:no-repeat;background-size:220% 220%;border:2px solid #0f172a33;border-radius:1rem;width:150px;height:150px;position:absolute;top:.5rem;right:.5rem;box-shadow:0 15px 30px #0f172a26}.text-converter-page__preview{position:relative}.text-converter-page__label-line p{margin:0;font-weight:600}@media (max-width:1100px){.text-converter-page__row-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}}@media (max-width:780px){.text-converter-page__row-grid{grid-template-columns:1fr}.text-converter-page__results-header{flex-direction:column;align-items:flex-start}}.user-page{flex-direction:column;gap:2rem;display:flex}.user-page__card{background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 10px 30px #0f172a14}.user-page__card h2{margin:0 0 .25rem}.user-page__subtitle{color:#616c8f;margin:0 0 1.5rem}.user-page__form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.user-page__form label{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.user-page__form input,.user-page__form select{border:1px solid #cfd7ef;border-radius:.85rem;padding:.75rem;font-size:1rem}.user-page__form button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.85rem;grid-column:1/-1;padding:.9rem;font-size:1rem;font-weight:600}.user-page__status{color:#1d7a30;grid-column:1/-1;margin:0;font-weight:600}.user-page__table-wrapper{overflow-x:auto}.user-page__table-wrapper table{border-collapse:collapse;width:100%;min-width:600px}.user-page__table-wrapper th,.user-page__table-wrapper td{text-align:left;border-bottom:1px solid #e6eaf5;padding:.75rem}.user-page__table-wrapper input{border:1px solid #cfd7ef;border-radius:.75rem;width:100%;padding:.6rem .75rem}.user-page__table-wrapper button{background:var(--color-primary-soft);color:var(--color-primary);cursor:pointer;border:none;border-radius:.75rem;padding:.5rem 1rem;font-weight:600}.user-page__feedback{color:#5a6182;margin:.4rem 0 0;font-size:.85rem}.user-page__error{color:#b3261e;margin:0;font-weight:600}.user-page__notice{text-align:center;background:#fff4ed;border:1px solid #ffd4ba;border-radius:1.5rem;padding:2rem}
