: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);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.65rem;transition:background .2s,color .2s,transform .2s;display:inline-flex}.app-shell__logout:hover{color:var(--color-primary);background:#fff;transform:translateY(-1px)}.app-shell__logout-icon{font-size:1.2rem}.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}.home-page{justify-content:flex-start;align-items:flex-start;min-height:calc(100vh - 12rem);display:flex}.home-page__modules{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;width:min(700px,100%);display:grid}.home-page__module{color:var(--color-text);background:#fff;border:1px solid #e3e9f7;border-radius:2rem;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 2rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 12px 28px #0f172a14}.home-page__module:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0f172a1f}.home-page__module-icon{width:4.5rem;height:4.5rem;color:var(--color-primary);background:#0099ff1f;border-radius:1.5rem;justify-content:center;align-items:center;font-size:2rem;display:inline-flex}.home-page__module-title{text-align:center;font-size:1.1rem;font-weight:700}.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{flex-direction:column;gap:2rem;display:flex}.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__results{flex-direction:column;gap:1.75rem;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__undo{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.text-converter-page__undo svg{width:1.2rem;height:1.2rem}.text-converter-page__undo:disabled{opacity:.5;cursor:not-allowed}.text-converter-page__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#7b89aa;margin:0 0 .35rem;font-size:.8rem}.text-converter-page__stats{flex-wrap:wrap;gap:.85rem;margin-top:.75rem;display:flex}.text-converter-page__stat{background:#f4f6ff;border:1px solid #dfe5fb;border-radius:.85rem;flex-direction:column;gap:.35rem;min-width:120px;padding:.65rem 1rem;display:flex}.text-converter-page__stat-label{text-transform:uppercase;letter-spacing:.08em;color:#7b89aa;font-size:.7rem}.text-converter-page__stat-value{color:#1f2b50;font-size:1.35rem;font-weight:700}.text-converter-page__pages{flex-direction:column;gap:1.5rem;display:flex}.text-converter-page__page{background:#fff;border-radius:1.25rem;padding:1.25rem;box-shadow:0 6px 20px #0f172a0d}.text-converter-page__page-header{color:#4b5674;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;display:flex}.text-converter-page__page-header h3{margin:0}.text-converter-page__page-header span{color:#64718a;font-size:.9rem}.text-converter-page__columns{grid-template-columns:minmax(240px,1fr) minmax(260px,1.1fr) minmax(220px,.8fr);align-items:start;gap:1rem;display:grid}.text-converter-page__column{min-width:0}.text-converter-page__image-wrapper{background:#f8fafc;border:1px solid #e6eaf5;border-radius:1rem;position:relative;overflow:hidden}.text-converter-page__image-wrapper img{width:100%;display:block}.text-converter-page__overlay-layer{position:absolute;inset:0}.text-converter-page__overlay{pointer-events:auto;background:#3d47651f;border:1px solid #3d47654d;border-radius:.35rem;transition:border-color .2s,box-shadow .2s,background .2s;position:absolute}.text-converter-page__overlay.is-accepted{background:#4ade8033;border-color:#16a34a99}.text-converter-page__overlay.is-discarded{background:#f8717138;border-color:#dc2626bf}.text-converter-page__overlay.is-hovered,.text-converter-page__overlay.is-active{background:#3b82f633;border-color:#facc15f2;box-shadow:0 0 0 3px #facc15e6}.text-converter-page__paragraphs{flex-direction:column;gap:.85rem;min-height:220px;display:flex;position:relative;overflow:visible}.text-converter-page__paragraph{background:#f9fbff;border:1px solid #e0e6f5;border-radius:.9rem;flex-direction:column;gap:.5rem;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s;display:flex}.text-converter-page__paragraph.is-accepted{background:#4ade8024;border-color:#16a34a66}.text-converter-page__paragraph.is-hovered{border-color:#facc15e6;box-shadow:0 0 0 4px #facc15e6}.text-converter-page__paragraph header{color:#2f3b58;justify-content:space-between;align-items:center;gap:.5rem;font-weight:600;display:flex}.text-converter-page__confidence-dot{border-radius:999px;width:.7rem;height:.7rem;display:inline-block;box-shadow:0 0 0 3px #0f172a0d}.text-converter-page__confidence-dot.is-low{background:#ef4444}.text-converter-page__confidence-dot.is-mid{background:#f59e0b}.text-converter-page__confidence-dot.is-high{background:#22c55e}.text-converter-page__paragraph header button{color:#0b5ed7;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.text-converter-page__paragraph p{color:#3d4765;white-space:pre-wrap;margin:0}.text-converter-page__paragraph textarea{resize:none;color:#2f3b58;background:#fff;border:1px solid #d6dff2;border-radius:.75rem;width:100%;min-height:120px;padding:.65rem .75rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.9rem;line-height:1.4;overflow:hidden}.text-converter-page__paragraph footer{color:#64718a;justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.text-converter-page__paragraph-actions{gap:.5rem;display:flex}.text-converter-page__accept{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.7rem;padding:.35rem .8rem;font-weight:600}.text-converter-page__accept:disabled{opacity:.55;cursor:not-allowed}.text-converter-page__discard{color:#b91c1c;cursor:pointer;background:#f8717124;border:1px solid #b91c1c66;border-radius:.7rem;padding:.35rem .8rem;font-weight:600}.text-converter-page__column--text{background:#fff;border:1px solid #e4e8f5;border-radius:1rem;flex-direction:column;gap:.75rem;padding:.9rem;display:flex}.text-converter-page__text-header{justify-content:space-between;align-items:center;display:flex}.text-converter-page__text-header h3{margin:0}.text-converter-page__copy-button{color:#1f2b50;cursor:pointer;background:#f3f6ff;border:1px solid #d6dff2;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:transform .15s,box-shadow .2s;display:inline-flex}.text-converter-page__copy-button svg{width:1.1rem;height:1.1rem}.text-converter-page__copy-button.is-copied{border-color:#22c55e73;transform:scale(.92);box-shadow:0 0 0 4px #22c55e33}.text-converter-page__copy-button:disabled{opacity:.5;cursor:not-allowed}.text-converter-page__text-body{position:relative}.text-converter-page__column--text textarea{resize:vertical;color:#2f3b58;background:#f8fafc;border:1px solid #d6dff2;border-radius:.9rem;width:100%;min-height:220px;padding:.75rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.text-converter-page__complete{color:#22c55e;pointer-events:none;justify-content:center;align-items:center;font-size:2rem;display:flex;position:absolute;inset:0}.text-converter-page__complete--list{background:#ffffffd9;border-radius:.9rem;box-shadow:inset 0 0 0 1px #22c55e33}.text-converter-page__complete svg{filter:drop-shadow(0 6px 18px #22c55e4d);width:64px;height:64px}@media (max-width:900px){.text-converter-page__columns{grid-template-columns:1fr}}.translation-page{flex-direction:column;gap:2.5rem;display:flex}.translation-page__card{background:#fff;border:1px solid #e3e9f7;border-radius:1.5rem;padding:1.75rem;box-shadow:0 10px 24px #0f172a0f}.translation-page__card header{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.translation-page__card h2{margin:0}.translation-page__card p{color:#55607a;margin:0}.translation-page__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#7b89aa;margin:0;font-size:.75rem}.translation-page__file{color:#2d3752;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-weight:600;display:flex}.translation-page__file-info{align-items:center;gap:.5rem;display:inline-flex}.translation-page__reset{color:#8a94ad;cursor:pointer;background:#eef1f6;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:.95rem;transition:transform .2s,box-shadow .2s;display:inline-flex}.translation-page__reset:disabled{opacity:.6;cursor:not-allowed;transform:none}.translation-page__status{border-top:1px solid #edf1fa;flex-direction:column;gap:.65rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.translation-page__status h3{margin:0}.translation-page__status p{color:#55607a;margin:0}.translation-page__status--error h3,.translation-page__status--error p{color:#b42318}.translation-page__status--success h3{color:#0f5132}.translation-page__spinner{border:4px solid #0099ff26;border-top-color:var(--color-primary);border-radius:50%;width:46px;height:46px;animation:.9s linear infinite translation-spin}.translation-page__download{background:var(--color-primary);color:#fff;border-radius:999px;align-items:center;gap:.6rem;padding:.75rem 1.4rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 20px #0099ff40}.translation-page__download:hover{transform:translateY(-1px);box-shadow:0 14px 24px #0099ff4d}.translation-page__download-hint{color:#6b7280;font-size:.85rem}@keyframes translation-spin{to{transform:rotate(360deg)}}@media (max-width:900px){.translation-page__card{padding:1.5rem}}.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;min-height:2.8rem;padding:.75rem;font-size:1rem}.user-page__form select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#7a88b6 50%),linear-gradient(135deg,#7a88b6 50%,#0000 50%);background-position:calc(100% - 1.25rem) calc(50% - .3rem),calc(100% - .8rem) calc(50% - .3rem);background-repeat:no-repeat;background-size:.45rem .45rem,.45rem .45rem;border-radius:1rem;height:2.8rem;padding-right:2.25rem}.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:.85rem;width:100%;min-height:2.8rem;padding:.75rem}.user-page__table-wrapper button{background:var(--color-primary-soft);min-height:2.8rem;color:var(--color-primary);cursor:pointer;border:none;border-radius:.85rem;justify-content:center;align-items:center;padding:0 1.25rem;font-weight:600;display:inline-flex}.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}
