:root{color-scheme:dark;--bg: #0c0b09;--card: #17140f;--card-2: #211c14;--line: #3a3021;--text: #f2e8d2;--muted: #a99a7f;--amber: #e6a93b;--amber-soft: #f3c56e;--danger: #ff796d;--ok: #8fd18b;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0%,rgba(230,169,59,.12),transparent 32rem),var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}.card{width:min(100%,760px);margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}header{margin-bottom:24px}.row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}h1{margin:0;font-size:clamp(2rem,7vw,3.4rem);letter-spacing:-.06em;line-height:.95}h2{margin:0 0 8px;font-size:1.15rem;letter-spacing:-.02em}.sub{margin:8px 0 0;color:var(--muted);font-size:.92rem}.upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:230px;border:1px dashed var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(230,169,59,.08),transparent 55%);transition:border-color .15s ease,background .15s ease}.upload:hover{border-color:var(--amber);background:#e6a93b1c}.upload-title{font-size:1.15rem;font-weight:700}.upload-hint{color:var(--muted);font-size:.9rem}.hint{color:var(--muted);font-size:.85rem;line-height:1.45}.spinner{width:42px;height:42px;margin:28px auto 16px;border:3px solid var(--line);border-top-color:var(--amber);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#step-processing{text-align:center;padding:24px 0}.document-head{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.meta{margin:0;color:var(--amber-soft);font-size:.9rem}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.btn{border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:var(--card-2);color:var(--text);font-weight:700}.btn:hover{border-color:var(--amber)}.btn.primary{background:var(--amber);border-color:var(--amber);color:#1a1206}.btn.ghost{background:transparent}.mini{border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:transparent;color:var(--muted);font-size:.78rem}.mini:hover{border-color:var(--amber);color:var(--text)}.panel{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.text-output{max-height:62vh;overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0e0c09;color:#eadfc9;white-space:pre-wrap;word-break:break-word;font:.82rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:var(--muted);font-size:.82rem}.field input,.field select,.chat-form input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#0f0d09;color:var(--text);outline:none}.field input:focus,.field select:focus,.chat-form input:focus{border-color:var(--amber)}.links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.links a{color:var(--amber-soft);font-size:.86rem}.chat{display:flex;flex-direction:column;gap:10px;max-height:48vh;overflow:auto;margin-bottom:12px}.message{max-width:92%;padding:10px 12px;border-radius:12px;white-space:pre-wrap;word-break:break-word;line-height:1.45;font-size:.9rem}.message.user{align-self:flex-end;background:var(--amber);color:#1a1206}.message.assistant{align-self:flex-start;background:var(--card-2);border:1px solid var(--line)}.message.error{align-self:flex-start;color:var(--danger);border-color:#ff796d80}.chat-form{display:flex;gap:8px}.chat-form input{flex:1}.chat-form .btn{padding:11px 14px}.error{margin-top:12px;padding:12px;border:1px solid rgba(255,121,109,.5);border-radius:10px;color:var(--danger);background:#ff796d14;font-size:.86rem;white-space:pre-wrap}.footer{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.footer a{color:var(--amber-soft);text-decoration:none}@media (max-width: 420px){.actions{grid-template-columns:1fr}}
