:root{--bg: #0f1115;--panel: #171a21;--line: #262b36;--ink: #e7e9ee;--dim: #98a0b3;--accent: #6ea8fe;--k-summary: #8b5cf6;--k-contact: #22c55e;--k-deadline: #f59e0b;--k-money: #06b6d4;--k-risk: #ef4444;--k-other: #94a3b8;color-scheme:dark;font-family:ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}.app{height:100vh;display:flex;flex-direction:column;padding:.75rem 1rem 1rem;gap:.75rem}.top{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.top h1{font-size:1.15rem;margin:0}.hint{color:var(--dim);font-size:.85rem}.mock-flag{margin-left:auto;font-size:.72rem;color:#f59e0b;border:1px solid #f59e0b55;border-radius:999px;padding:.1rem .6rem}button{background:#222735;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.4rem .8rem;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}.dropzone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border:2px dashed var(--line);border-radius:16px;cursor:pointer;text-align:center}.dropzone.over{border-color:var(--accent);background:#6ea8fe10}.dropzone strong{font-size:1.2rem}.dropzone span{color:var(--dim)}.state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--dim)}.state.error{color:#fca5a5}.spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.75rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:0;display:flex;flex-direction:column;overflow:auto}.right{min-height:0;display:flex}.right .panel{flex:1}.panel-head{position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--line);padding:.6rem .9rem;z-index:1}.panel-head h2{font-size:.95rem;margin:0 0 .15rem}.doc-text{margin:0;padding:.9rem;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;line-height:1.7}mark.mark{background:transparent;color:inherit;border-bottom:2px solid var(--k);background:color-mix(in srgb,var(--k) 14%,transparent);border-radius:3px;padding:0 1px;cursor:pointer}mark.mark:hover{background:color-mix(in srgb,var(--k) 28%,transparent)}mark.mark.sel{background:color-mix(in srgb,var(--k) 45%,transparent);outline:2px solid var(--k)}.k-summary{--k: var(--k-summary)}.k-contact{--k: var(--k-contact)}.k-deadline{--k: var(--k-deadline)}.k-money{--k: var(--k-money)}.k-risk{--k: var(--k-risk)}.k-other{--k: var(--k-other)}.tabs{position:sticky;top:0;display:flex;flex-wrap:wrap;gap:.3rem;padding:.6rem;background:var(--panel);border-bottom:1px solid var(--line);z-index:1}.tab{font-size:.82rem;padding:.3rem .6rem}.tab.active{border-color:var(--accent);background:#6ea8fe22}.tab i{font-style:normal;color:var(--dim)}.cards{padding:.6rem;display:flex;flex-direction:column;gap:.5rem}.card{border:1px solid var(--line);border-left:4px solid var(--k, var(--line));border-radius:10px;padding:.55rem .7rem;cursor:pointer}.card:hover{border-color:var(--accent)}.card.sel{background:#6ea8fe18;outline:2px solid var(--k)}.card h3{margin:0 0 .2rem;font-size:.82rem;color:var(--dim);font-weight:600}.card .value{margin:0;font-size:.92rem}.card .note{margin:.35rem 0 0;font-size:.8rem;color:#fbbf24}.card .where{margin:.35rem 0 0;font-size:.74rem;color:var(--dim)}.empty{color:var(--dim);padding:1.5rem .5rem;text-align:center}@media(max-width:900px){.workspace{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}
