:root{--bg:#ffffff;--fg:#0a0a0a;--muted:#5e5e5e;--line:#d9d9d9}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--fg)}body{font-family:Times New Roman,Times,serif}button,input,textarea{font:inherit}.page{min-height:100vh;padding:40px 20px 56px}.content{width:min(720px,100%);margin:0 auto}h1{margin:0;font-size:clamp(2.4rem,8vw,5.4rem);line-height:.96;font-weight:400;letter-spacing:-.04em;max-width:12ch}p{margin:28px 0 0;max-width:38rem;font-size:1.15rem;line-height:1.7;color:var(--muted)}.upload{display:inline-flex;align-items:center;justify-content:center;margin-top:40px;padding:14px 22px;border:1px solid var(--fg);background:transparent;color:var(--fg);cursor:pointer;transition:background .16s ease,color .16s ease}.upload:hover:not(:disabled){background:var(--fg);color:var(--bg)}.upload:disabled{opacity:.5;cursor:not-allowed}.upload input{display:none}.meta{margin-top:18px;font-size:.98rem;line-height:1.6;color:var(--muted)}.meta.error{color:var(--fg)}.transcript{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}.transcript .row{display:flex;gap:16px;margin-bottom:16px}.linkish{background:none;border:none;padding:0;color:var(--fg);text-decoration:underline;cursor:pointer}.transcript pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:Courier New,Courier,monospace;font-size:.95rem;line-height:1.7}@media (max-width:640px){.page{padding:24px 16px 40px}p{font-size:1.02rem}}