:root{color:#25241f;background:#f1f0e9;font-family:Vazirmatn,system-ui,sans-serif;font-synthesis:none;--ink: #25241f;--muted: #77746b;--line: #d8d5ca;--paper: #f9f8f3;--accent: #1d694f;--accent-dark: #104b37}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,textarea,select,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(920px,calc(100% - 32px));margin:0 auto;padding:52px 0 28px}header{display:grid;grid-template-columns:72px 1fr auto;align-items:start;gap:22px;margin-bottom:36px}.mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--ink);color:#fff;font-size:34px;font-weight:700}.kicker{direction:ltr;text-align:right;margin:1px 0 8px;color:var(--accent);font:600 12px/1.4 ui-monospace,monospace;letter-spacing:.1em}h1{margin:0;font-size:clamp(34px,6vw,60px);line-height:1.15;letter-spacing:-.045em}.intro{max-width:590px;margin:14px 0 0;color:var(--muted);font-size:16px}.pill{direction:ltr;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#ffffff6b;font:600 11px/1 ui-monospace,monospace;white-space:nowrap}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 1px #00000008}.composer label{display:block;margin-bottom:12px;font-weight:700}.composer-head{align-items:center;display:flex;justify-content:space-between}.composer-head .text-upload{color:var(--accent);cursor:pointer;font-size:12px;font-weight:700}.text-upload input{display:none}textarea{width:100%;resize:vertical;border:0;outline:0;background:transparent;color:var(--ink);font-size:22px;line-height:1.9}textarea::placeholder{color:#aaa79e}.text-meta{display:flex;justify-content:space-between;min-height:24px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}#phonemes{direction:ltr;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:14px}.voice-card h2,.result h2{margin:0;font-size:18px}.voice-card h2 span{color:var(--muted);font-size:12px;font-weight:400}.voice-card p{margin:6px 0 0;color:var(--muted);font-size:13px}.voice-actions,.run-row{display:flex;align-items:center;gap:10px}.reference-status{grid-column:1 / -1;color:var(--muted);font-size:12px}.voice-card{flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:999px;cursor:pointer;text-decoration:none;transition:.18s ease}.button:disabled{opacity:.38;cursor:not-allowed}.button.primary{min-width:150px;min-height:54px;background:var(--accent);color:#fff;font-weight:700}.button.primary:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.button.ghost{background:transparent;color:var(--muted);border-color:var(--line)}.file-button input{display:none}.run-row{margin:18px 0}.backend-choice{margin-right:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}select{border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:9px 12px;color:var(--ink)}.progress-card{padding:17px 20px}.progress-head{display:flex;justify-content:space-between;font-size:13px}#progress-detail{color:var(--muted);direction:ltr}.track{height:4px;margin-top:12px;overflow:hidden;border-radius:4px;background:#dfddd4}#progress{width:0;height:100%;background:var(--accent);transition:width .25s ease}.progress-card.busy #progress{width:35%;animation:loading 1.3s ease-in-out infinite alternate}@keyframes loading{to{transform:translate(-180%)}}.result{display:grid;grid-template-columns:1fr minmax(260px,1.5fr) auto;align-items:center;gap:20px;margin-top:14px}audio{width:100%}footer{direction:ltr;display:flex;justify-content:space-between;margin-top:30px;color:var(--muted);font:11px/1.4 ui-monospace,monospace}@media(max-width:700px){.shell{padding-top:28px}header{grid-template-columns:50px 1fr}.mark{width:46px;height:46px;font-size:24px}.pill{grid-column:2;justify-self:start}.voice-card,.result{display:flex;flex-direction:column;align-items:stretch}.voice-actions,.run-row{flex-wrap:wrap}.backend-choice{width:100%;margin:4px 0 0}}
