:root{--white: #ffffff;--navy-900: #12192a;--navy-800: #1e293b;--paper: #f7f5ef;--paper-dim: #ece9df;--ink-900: #12192a;--ink-700: #384454;--ink-500: #64707f;--blue-500: #26a4ff;--blue-600: #0d8bec;--blue-100: #dcefff;--ok-500: #22b573;--ok-100: #e4f6ec;--border-on-paper: rgba(18, 25, 42, .1);--divider: rgba(18, 25, 42, .08);--focus-ring: rgba(38, 164, 255, .45);--shell-gap: 14px;--shell-label-size: 11px;--control-min-block-size: 44px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--shadow-md: 0 4px 12px rgba(18, 25, 42, .08), 0 2px 4px rgba(18, 25, 42, .06);--dur-fast: .14s;color:var(--navy-900);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{inline-size:100%;max-inline-size:100%;min-inline-size:0;min-height:100%;margin:0}body{overflow-x:clip;background:var(--paper)}.app-shell{min-inline-size:0;min-height:100dvh}.frame-host{display:grid;min-block-size:100dvh;min-inline-size:0}.frame-host[data-frame-state=loading],.frame-host[data-frame-state=unavailable],.frame-host[data-frame-state=invitation-required]{place-items:center;padding:32px}.frame-loading,.error-eyebrow{color:var(--ink-500);font-size:var(--shell-label-size);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.prototype-frame{display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0;width:100%;min-height:100dvh;border:0;background:var(--paper)}.prototype-frame[hidden]{display:none}.frame-error{max-inline-size:560px;padding:40px;border:1px solid var(--border-on-paper);border-radius:20px;background:var(--white);text-align:center}.frame-error h1{margin:14px 0 12px;color:var(--navy-900);font-size:clamp(28px,5vw,40px);line-height:1.1}.frame-error p{margin:0 auto 24px;color:var(--ink-500);font-size:15px;line-height:1.6}.retry-button{min-height:var(--control-min-block-size);padding:10px 24px;border:0;border-radius:999px;background:var(--blue-500);color:var(--white);font:inherit;font-weight:800;cursor:pointer}.retry-button:hover{background:var(--blue-600)}.retry-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.invite-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--shell-gap)}.secondary-button{border:1px solid var(--border-on-paper);background:var(--white);color:var(--navy-900)}.secondary-button:hover{background:var(--paper)}.upload-page{min-block-size:100dvh;padding:var(--space-8);background:linear-gradient(180deg,#ffffff80,#ece9df8f),var(--paper)}.upload-page--locked{display:grid;place-items:center}.upload-hero,.upload-grid{width:min(1120px,100%);margin-inline:auto}.upload-hero{padding-block:var(--space-6) var(--space-8)}.upload-eyebrow,.upload-status{color:var(--ink-500);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upload-hero h1{max-inline-size:720px;margin:var(--space-3) 0 var(--space-4);color:var(--ink-900);font-size:clamp(32px,6vw,48px);line-height:1.08}.upload-hero p{max-inline-size:680px;margin:0;color:var(--ink-700);font-size:18px;line-height:1.55}.upload-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);gap:var(--space-6);align-items:start}.upload-workspace,.upload-readback{min-inline-size:0;border:1px solid var(--border-on-paper);border-radius:12px;background:var(--white);box-shadow:var(--shadow-md)}.upload-workspace{padding:var(--space-6)}.upload-readback{padding:var(--space-5)}.upload-readback h2,.upload-summary h2,.upload-panel--done h2{margin:0 0 var(--space-3);color:var(--ink-900);font-size:22px;line-height:1.2}.upload-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);padding:0;margin:0 0 var(--space-5);list-style:none}.upload-steps li{display:flex;align-items:center;gap:var(--space-2);min-block-size:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--divider);border-radius:8px;color:var(--ink-500);font-size:14px;font-weight:800}.upload-steps span{display:grid;flex:0 0 28px;inline-size:28px;block-size:28px;place-items:center;border-radius:999px;background:var(--paper-dim);color:var(--ink-700);font-size:12px}.upload-steps li[data-active=true]{border-color:var(--blue-500);background:var(--blue-100);color:var(--ink-900)}.upload-status{margin:0 0 var(--space-5)}.upload-panel{display:grid;gap:var(--space-4)}.upload-field{display:grid;gap:var(--space-2);color:var(--ink-700);font-size:14px;font-weight:800}.upload-field input,.upload-field textarea{inline-size:100%;min-block-size:48px;padding:12px 14px;border:1px solid var(--border-on-paper);border-radius:8px;background:var(--white);color:var(--ink-900);font:inherit;font-weight:600}.upload-field textarea{resize:vertical}.upload-field input:focus-visible,.upload-field textarea:focus-visible,.upload-drop:focus-within{outline:3px solid var(--focus-ring);outline-offset:3px}.upload-drop{display:grid;gap:var(--space-3);padding:var(--space-8);border:1px dashed var(--blue-500);border-radius:12px;background:var(--blue-100);cursor:pointer;transition:transform var(--dur-fast) ease,filter var(--dur-fast) ease}.upload-drop[data-drag=over],.upload-drop:hover{filter:saturate(1.08);transform:translateY(-1px)}.upload-drop-title{color:var(--ink-900);font-size:18px;font-weight:800}.upload-drop-copy{color:var(--ink-700);font-size:14px;line-height:1.55}.upload-drop input{inline-size:100%;max-inline-size:100%}.upload-files,.upload-saved-files{display:grid;gap:var(--space-3);padding:0;margin:0;list-style:none}.upload-files li,.upload-saved-files li{display:grid;gap:4px;min-inline-size:0;padding:var(--space-3);border:1px solid var(--divider);border-radius:8px;background:var(--paper)}.upload-files strong,.upload-saved-files a,.upload-saved-files span{overflow-wrap:anywhere;color:var(--ink-900);font-size:14px}.upload-files span,.upload-saved-files small,.upload-summary p,.upload-panel--done p,.upload-saved p,.upload-empty{margin:0;color:var(--ink-500);font-size:13px;line-height:1.5}.upload-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.retry-button:disabled{cursor:not-allowed;filter:grayscale(.4);opacity:.62}.upload-saved-list{display:grid;gap:var(--space-4)}.upload-saved{display:grid;gap:var(--space-3);padding-block:var(--space-4);border-block-start:1px solid var(--divider)}.upload-saved h3{margin:0;overflow-wrap:anywhere;color:var(--ink-900);font-size:15px;line-height:1.35}.upload-panel--done{padding:var(--space-5);border:1px solid rgba(34,181,115,.28);border-radius:10px;background:var(--ok-100)}@media(max-width:640px){.frame-host[data-frame-state=loading],.frame-host[data-frame-state=unavailable],.frame-host[data-frame-state=invitation-required]{padding:16px}.frame-error{padding:32px 20px}.upload-page{padding:var(--space-4)}.upload-grid{grid-template-columns:minmax(0,1fr)}.upload-workspace,.upload-readback{padding:var(--space-4)}.upload-steps{grid-template-columns:minmax(0,1fr)}.upload-actions{justify-content:stretch}.upload-actions .retry-button{flex:1 1 160px}}
