:root{--ink:#151d23;--muted:#5d6973;--line:#d8e2e5;--paper:#f8f6ef;--white:#fff;--green:#1f7a5c;--green-dark:#13533e;--blue:#265f8f;--red:#b84a50;--shadow:0 22px 70px #151d2321}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);letter-spacing:0;background:linear-gradient(135deg,#f8f6eff5,#ebf3f2f0),repeating-linear-gradient(90deg,#151d2306 0 1px,#0000 1px 84px);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}a{color:inherit}button,input{font:inherit}.shell{width:min(1160px,100% - 40px);margin:0 auto;padding:52px 0 72px}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 360px;align-items:end;gap:28px;padding-bottom:34px;display:grid}.eyebrow{color:var(--green);text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:900}h1{letter-spacing:0;max-width:820px;margin:0;font-size:clamp(38px,6vw,70px);line-height:1}.lead{color:#31414a;max-width:760px;margin:20px 0 0;font-size:19px;line-height:1.62}.status-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:22px}.status-card span{color:var(--muted);font-size:13px;font-weight:800}.status-card strong{margin:8px 0;font-size:22px;line-height:1.2;display:block}.status-card p,.muted{color:var(--muted);margin:0;font-size:14px;line-height:1.62}.workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;gap:22px;padding:34px 0;display:grid}.dropzone{cursor:pointer;text-align:center;background:#ffffffb8;border:2px dashed #b7c8cb;border-radius:8px;align-content:center;place-items:center;gap:14px;min-height:410px;padding:28px;transition:border-color .16s,background .16s,transform .16s;display:grid}.dropzone:hover,.dropzone.is-dragging{border-color:var(--green);background:#fffffff0;transform:translateY(-2px)}.dropzone input{display:none}.upload-icon{width:92px;height:92px;color:var(--green);letter-spacing:0;background:#e6f1ed;border-radius:50%;place-items:center;font-weight:950;display:grid;box-shadow:inset 0 0 0 1px #cfe1da}.dropzone h2,.panel h2{margin:0;font-size:26px;line-height:1.2}.dropzone p{max-width:520px;color:var(--muted);margin:0;font-size:15px}.panel{background:var(--white);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:16px;padding:22px;display:flex;box-shadow:0 14px 36px #151d2314}.primary,.secondary,.viewer-bar a,.empty a{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 16px;font-weight:900;text-decoration:none;display:inline-flex}.primary:disabled{cursor:not-allowed;opacity:.55}.secondary{width:100%;color:var(--green-dark);background:#e6f1ed;margin-top:12px}.alert{color:#7b1d24;background:#fae9ea;border:1px solid #efc7ca;border-radius:8px;padding:12px 14px;font-size:14px}.result{background:#f6faf8;border:1px solid #dce9e3;border-radius:8px;padding:14px}.result span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.result a{color:var(--blue);line-break:anywhere;margin-top:6px;font-size:14px;font-weight:800;text-decoration:none;display:block}.notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.notes article{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;padding:20px}.notes h3{margin:0 0 8px;font-size:18px}.notes p{color:var(--muted);margin:0;font-size:14px;line-height:1.62}.viewer{background:#e7eceb;grid-template-rows:auto 1fr;min-height:100vh;display:grid}.viewer-bar{border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:12px 18px;display:flex}.viewer-bar div{min-width:0}.viewer-bar span,.viewer-bar small{color:var(--muted);font-size:12px;font-weight:800;display:block}.viewer-bar strong{text-overflow:ellipsis;white-space:nowrap;max-width:62vw;font-size:17px;display:block;overflow:hidden}.viewer iframe{background:#fff;border:0;width:100%;min-height:calc(100vh - 66px)}.empty{text-align:center;align-content:center;place-items:center;gap:14px;min-height:100vh;padding:24px;display:grid}.empty h1{font-size:36px}.empty p{color:var(--muted);margin:0}@media (max-width:860px){.shell{width:min(100% - 28px,680px);padding-top:32px}.hero,.workspace,.notes{grid-template-columns:1fr}.workspace{padding-top:22px}.dropzone{min-height:310px}.viewer-bar{align-items:flex-start}.viewer-bar strong{max-width:56vw}}
