@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=IBM+Plex+Sans:wght@400;500;700&display=swap";:root{color-scheme:light;font-family:IBM Plex Sans,sans-serif;line-height:1.5;font-weight:500;color:#000;background-color:#fff;--surface: #ffffff;--surface-strong: #ffffff;--border: #000000;--border-width: 4px;--text-muted: #404040;--accent: #bef264;--accent-strong: #000000;--danger: #ff4d4d;--warning: #fbbf24;--shadow: 4px 4px 0 0 #000000;--shadow-lg: 12px 12px 0 0 #000000;--tape-color: rgba(255, 255, 255, .4)}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-track{background:#fff;border-left:4px solid #000}::-webkit-scrollbar-thumb{background:#000;border:4px solid #fff}::-webkit-scrollbar-thumb:hover{background:var(--accent)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-height:100vh;background:#fff}button,input,select,textarea{font-family:IBM Plex Mono,monospace;font-weight:700}.app-shell{display:flex;min-height:100vh}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(420px,100%);padding:32px;display:flex;flex-direction:column;gap:20px;background:#fff}.auth-card h1{margin:0;font-size:3rem;line-height:.9;font-weight:900;text-transform:uppercase;font-style:italic;background:#000;color:#fff;padding:8px 12px;width:fit-content;box-shadow:6px 6px 0 0 var(--accent)}.sidebar{width:360px;border-right:var(--border-width) solid var(--border);background:#fff;padding:40px 24px;display:flex;flex-direction:column;gap:32px;z-index:10}.sidebar-header{position:relative}.sidebar-header h1{margin:0 0 8px;font-size:3.5rem;font-weight:900;text-transform:uppercase;font-style:italic;letter-spacing:-3px;line-height:.85;transform:rotate(-2deg);background:#000;color:#fff;padding:8px 12px;width:fit-content;box-shadow:6px 6px 0 0 var(--accent)}.sidebar-header:after{content:"";position:absolute;top:-10px;right:-10px;width:40px;height:40px;background:var(--danger);border:4px solid #000;border-radius:50%;box-shadow:3px 3px #000}.sidebar-header p{margin:0;color:var(--text-muted);font-size:.9rem;font-family:IBM Plex Mono,monospace;font-weight:700;text-transform:uppercase}.auth-user-panel{display:flex;flex-direction:column;gap:12px;border:var(--border-width) solid #000;box-shadow:var(--shadow);padding:16px;background:#fff;overflow-wrap:anywhere}.auth-user-panel span{font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:900}.card{background:var(--surface);border:var(--border-width) solid var(--border);box-shadow:var(--shadow);transition:transform .1s ease,box-shadow .1s ease}.new-document-card{padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--accent);position:relative}.new-document-card:before{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%) rotate(2deg);width:80px;height:24px;background:#fff9;border:1px solid rgba(0,0,0,.1);backdrop-filter:blur(2px);z-index:2}.new-document-card h2{margin:0;font-size:1.2rem;text-transform:uppercase;font-weight:900}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-size:.75rem;font-weight:900;text-transform:uppercase;font-family:IBM Plex Mono,monospace;background:#000;color:#fff;width:fit-content;padding:2px 6px}.text-input,.select-input,.textarea-input{width:100%;border:var(--border-width) solid var(--border);padding:12px;background:#fff;color:inherit;font-size:1rem;box-shadow:2px 2px #000}.text-input:focus,.select-input:focus,.textarea-input:focus{outline:none;transform:translate(1px,1px);box-shadow:1px 1px #000}.textarea-input{min-height:200px;resize:vertical}.primary-button,.secondary-button,.danger-button{border:var(--border-width) solid var(--border);padding:12px 24px;cursor:pointer;font-size:.9rem;text-transform:uppercase;font-weight:900;box-shadow:var(--shadow);transition:all .1s ease}.primary-button{background:var(--accent);color:#000}.secondary-button{background:#fff;color:#000}.danger-button{background:var(--danger);color:#fff}.primary-button:hover,.secondary-button:hover,.danger-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #000}.primary-button:active,.secondary-button:active,.danger-button:active{transform:translate(2px,2px);box-shadow:2px 2px #000}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow)}.document-list{display:flex;flex-direction:column;gap:16px;overflow:auto;padding:4px}.document-item{border:var(--border-width) solid var(--border);padding:20px;background:#fff;cursor:pointer;box-shadow:var(--shadow);transition:all .1s ease;position:relative}.document-item:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(-1deg);width:60px;height:24px;background:var(--tape-color);border:1px solid rgba(0,0,0,.1);backdrop-filter:blur(2px);z-index:2}.document-item:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #000}.document-item.is-selected{background:var(--accent);transform:translate(2px,2px);box-shadow:2px 2px #000}.document-title{margin:0 0 8px;font-size:1.25rem;font-weight:900;text-transform:uppercase}.document-meta{color:#000;font-size:.8rem;font-family:IBM Plex Mono,monospace;font-weight:700;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.content{flex:1;padding:0;display:flex;flex-direction:column;gap:0;background-color:#fff}.content.is-drag-over{outline:var(--border-width) dashed var(--accent-strong);outline-offset:-16px}.toolbar{padding:32px;display:flex;flex-direction:column;gap:24px}.document-workspace{flex:1;border:none;box-shadow:none;transition:none}.toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.document-title-input{font-size:2.5rem;font-weight:900;text-transform:uppercase;border:none;border-bottom:var(--border-width) solid #000;background:#fff;padding:8px 0;min-width:300px;font-family:IBM Plex Sans,sans-serif}.document-title-input:focus{outline:none;background:#fff}.toolbar-actions,.page-actions,.counts-row{display:flex;gap:12px;flex-wrap:wrap}.count-pill,.status-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:2px solid #000;background:#fff;color:#000;font-size:.75rem;font-weight:900;text-transform:uppercase;font-family:IBM Plex Mono,monospace}.status-chip.status-error{background:var(--danger);color:#fff}.status-chip.status-running{background:#3b82f6;color:#fff}.status-chip.status-ready{background:var(--accent)}.count-pill{background:#000;color:#fff}.helper-text{color:var(--text-muted);font-size:.8rem;font-family:IBM Plex Mono,monospace;font-weight:700}.inline-helper-text{max-width:300px}.workspace-empty,.app-notice{padding:40px;text-align:center}.workspace-empty{margin:auto;border:none;box-shadow:none;color:var(--text-muted)}.workspace-empty h2,.app-notice h2{font-size:2rem;text-transform:uppercase;font-weight:900;margin-bottom:16px}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:32px;padding:16px 0}.new-document-card:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(2deg);width:80px;height:28px;background:#fff9;border:1px solid rgba(0,0,0,.1);backdrop-filter:blur(2px);z-index:2}.page-card{padding:32px;display:grid;grid-template-columns:320px minmax(0,1fr);gap:40px;align-items:start;position:relative}.page-card:before{content:"RECORD #" attr(data-index);position:absolute;top:10px;right:10px;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:900;opacity:.2}.page-preview{display:flex;flex-direction:column;gap:16px}.page-preview img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border:var(--border-width) solid #000;box-shadow:var(--shadow)}.page-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.page-thumbnail{display:flex;flex-direction:column;gap:12px;cursor:pointer}.page-thumbnail:hover{transform:scale(1.02)}.thumbnail-image-container{position:relative;aspect-ratio:3 / 4;overflow:hidden;background:#fff;border:var(--border-width) solid #000;box-shadow:var(--shadow)}.thumbnail-image{width:100%;height:100%;object-fit:cover;display:block}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#000;font-size:.9rem;font-weight:900;background:#eee}.thumbnail-overlay{position:absolute;inset:0;background:#bef26466;display:flex;align-items:center;justify-content:center;gap:16px;opacity:0;transition:opacity .1s ease}.page-thumbnail:hover .thumbnail-overlay{opacity:1}.overlay-icon-button{width:56px;height:56px;border:var(--border-width) solid #000;background:#fff;color:#000;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;box-shadow:4px 4px #000}.overlay-icon-button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px #000}.thumbnail-label{font-size:.8rem;text-align:center;color:#000;font-weight:900;text-transform:uppercase;font-family:IBM Plex Mono,monospace}.thumbnail-status-dot{position:absolute;top:12px;right:12px;width:16px;height:16px;border:3px solid #000}.dot-pending{background:#fff}.dot-running{background:#3b82f6;animation:pulse 1s infinite}.dot-success{background:var(--accent)}.dot-error{background:var(--danger)}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.focused-page-overlay{position:fixed;inset:0;background:#000c;z-index:100;display:flex;align-items:center;justify-content:center;padding:40px}.focused-page-card{width:100%;max-width:1200px;max-height:90vh;background:#fff;border:var(--border-width) solid #000;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}.focused-header{position:sticky;top:0;z-index:1;padding:24px;border-bottom:var(--border-width) solid #000;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--accent);box-shadow:none}.focused-title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.focused-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.focused-close-button{min-width:48px;padding:8px 12px;font-size:1.4rem;line-height:1}.focused-header h2{margin:0;font-size:1.5rem;text-transform:uppercase;font-weight:900}.focused-page-content{border:none;box-shadow:none;transition:none}.focused-page-content:before{display:none}.focused-translation-pane{min-width:0}.translation-display{min-height:320px;max-height:min(56vh,640px);overflow:auto;border:var(--border-width) solid var(--border);padding:16px;background:#fff;color:#000;font-family:IBM Plex Sans,sans-serif;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:2px 2px #000}.editor-pane{display:flex;flex-direction:column;gap:12px}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-title{margin:0;font-size:.9rem;text-transform:uppercase;font-weight:900;background:#000;color:#fff;padding:2px 8px}.busy-banner,.toast{position:fixed;right:40px;z-index:200;padding:20px 32px;border:var(--border-width) solid #000;background:#fff;box-shadow:var(--shadow-lg);font-weight:900;text-transform:uppercase}.toast{display:flex;align-items:center;gap:16px;max-width:min(560px,calc(100vw - 48px));padding-right:64px}.busy-banner{top:40px;background:var(--warning)}.toast{bottom:40px;background:var(--accent)}.toast.toast-error{background:var(--danger);color:#fff}.toast-close-button{position:absolute;top:50%;right:12px;width:36px;height:36px;transform:translateY(-50%);border:3px solid #000;background:#fff;color:#000;cursor:pointer;font-size:1.25rem;font-weight:900;line-height:1;padding:0}.toast-close-button:hover{background:var(--accent)}.progress-bar{width:100%;height:12px;border:2px solid #000;background:#fff;overflow:hidden}.progress-fill{height:100%;background:var(--accent)}@media(max-width:1100px){.app-shell{flex-direction:column}.sidebar{width:auto;border-right:none;border-bottom:var(--border-width) solid #000}.page-card{grid-template-columns:1fr}}@media(max-width:780px){.sidebar{padding:24px}.page-columns{grid-template-columns:1fr}.toolbar-actions{flex-direction:column;align-items:stretch}.focused-page-overlay{align-items:flex-start;padding:12px;overflow:auto}.focused-page-card{max-height:none}.focused-header{padding:16px;align-items:flex-start;flex-direction:column}.focused-actions{width:100%}.focused-actions button{flex:1}}
