:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#140f0d;color:#f3e9df;line-height:1.6}
*{box-sizing:border-box}body{margin:0}main{max-width:850px;margin:auto;padding:32px 20px 60px}
header{padding:20px 0}h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.25}h2{font-size:1.2rem}
.eyebrow{color:#e8b48a;font-size:.8rem;letter-spacing:.12em}p,footer{color:#cdbeb3}
section{border:1px solid #59483e;border-radius:18px;padding:24px;margin:24px 0;background:#211915}
label{display:block;margin-top:14px}input,select{display:block;width:100%;min-width:0;background:#140f0d;color:inherit;border:1px solid #847164;border-radius:8px;padding:12px;font:inherit}
button,a{font:inherit}button{background:#e8b48a;color:#21140c;border:0;border-radius:9px;min-height:44px;padding:10px 16px;margin-top:16px;cursor:pointer}
button:disabled,fieldset:disabled{opacity:.55;cursor:default}a{color:#f2bf98;display:inline-block;padding:12px 0}
:focus-visible{outline:3px solid #fff2c8;outline-offset:4px}.range{display:grid;grid-template-columns:1fr 1fr;gap:18px}
fieldset{border:0;padding:0;margin-top:20px}legend{font-weight:600}#notice{border-left:3px solid #e8b48a;padding:12px;background:#2e231d}
#words{display:flex;flex-wrap:wrap;gap:8px;max-height:360px;overflow:auto;overflow-wrap:anywhere}#words span{border:1px solid #59483e;border-radius:6px;padding:4px 8px}
video{display:block;max-height:65vh;width:100%;margin-top:18px;background:#000;border-radius:12px}[hidden]{display:none!important}
@media(max-width:480px){main{padding:16px 12px 40px}section{padding:16px}.range{gap:12px}}
/* Workspace-only layout: login keeps its existing one-column contract. */
.workspace main{max-width:1120px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar .eyebrow{letter-spacing:.08em}.quiet{background:transparent;color:#f2bf98;border:1px solid #847164;margin:0;flex-shrink:0}
.workspace-hero{display:grid;grid-template-columns:minmax(0,1fr) 144px;align-items:center;gap:24px;padding:22px 0 10px}
.workspace-hero h1{margin:0 0 12px}.workspace-hero p{margin:8px 0;max-width:640px}.scope-note{font-size:.88rem}
.library-motif{width:100%;height:auto;object-fit:contain}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.workspace-grid section{margin:16px 0}.workspace h2{display:flex;align-items:center;gap:12px;margin:0 0 12px;line-height:1.5}
.step-icon{width:24px;height:24px;flex:0 0 24px;color:#e8b48a}.workspace section>p{margin:12px 0}
.workspace details{border-top:1px solid #59483e;margin-top:20px;padding-top:8px}.workspace summary{cursor:pointer;padding:12px 0;color:#f2bf98;line-height:1.6}
.workspace details[open] summary{margin-bottom:6px}.workspace details p{font-size:.9rem}.workspace input[type=file]{font-size:.85rem}
.workspace input::file-selector-button{font:inherit;border:0;border-radius:5px;padding:8px;margin-right:8px;background:#3c3028;color:#f3e9df}
.workspace #notice{font-size:.92rem;margin:18px 0}.workspace #readiness:empty,.workspace #page-info:empty,.workspace #upload-status:empty{display:none}
.workspace footer{font-size:.85rem;border-top:1px solid #59483e;margin-top:24px;padding-top:20px}
@media(max-width:760px){.workspace-grid{grid-template-columns:minmax(0,1fr);gap:0}.workspace-hero{grid-template-columns:minmax(0,1fr) 88px;gap:12px}.workspace-hero h1{font-size:1.85rem}.topbar .eyebrow{font-size:.65rem}.quiet{font-size:.82rem;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
