:root{--bg: #f7f8fa;--card-bg: #ffffff;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--danger: #dc2626;--text: #111827;--muted: #6b7280;--border: #e5e7eb;--radius: 8px;--nav-bg: rgba(255, 255, 255, .85);--nav-border: rgba(17, 24, 39, .08);--hero-bg: radial-gradient(ellipse at top, #eef2ff 0%, #f7f8fa 70%);--hero-title: linear-gradient(135deg, #111827 0%, #4f46e5 50%, #7c3aed 100%);--feature-card-bg: #ffffff;--feature-card-border: rgba(17, 24, 39, .08);--text-strong: #1e293b;--text-secondary: #64748b;--input-bg: #ffffff;--input-border: #e2e8f0;--sidebar-bg: #fafbfc;--sidebar-border: #e8ecf0;--section-bg: linear-gradient(180deg, #f7f8fa 0%, #ffffff 100%);--footer-border: #e5e7eb}html[data-theme=dark]{--bg: #0a0a0a;--card-bg: #111111;--primary: #3b82f6;--primary-hover: #2563eb;--primary-light: #1e3a5f;--text: #ffffff;--muted: #888888;--border: #222222;--nav-bg: rgba(10, 10, 10, .9);--nav-border: rgba(255, 255, 255, .1);--hero-bg: radial-gradient(ellipse at top, #1a1a2e 0%, #0a0a0a 70%);--hero-title: linear-gradient(135deg, #ffffff 0%, #3b82f6 50%, #8b5cf6 100%);--feature-card-bg: #111111;--feature-card-border: #222222;--text-strong: #ffffff;--text-secondary: #a1a1aa;--input-bg: #1a1a1a;--input-border: #333333;--sidebar-bg: #111111;--sidebar-border: #222222;--section-bg: linear-gradient(180deg, #0a0a0a 0%, #111111 100%);--footer-border: #222222}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}h1,h2,h3{margin:0 0 12px}p{margin:8px 0;line-height:1.6;color:var(--text)}button{background:var(--primary);color:#fff;border:none;padding:10px 16px;border-radius:var(--radius);cursor:pointer;font-weight:500}button:hover{background:var(--primary-hover)}button:disabled{background:var(--border);color:var(--muted);cursor:not-allowed}input{padding:10px;border-radius:var(--radius);border:1px solid var(--border);width:100%;font-size:14px}input:focus{outline:none;border-color:var(--primary)}.error{color:var(--danger);font-size:14px}.container{max-width:900px;margin:40px auto;padding:0 16px}.card{background:var(--card-bg);border-radius:var(--radius);padding:20px;margin-bottom:20px;border:1px solid var(--border)}.row{display:flex;gap:12px;align-items:center}.summary-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.summary-actions{display:flex;gap:8px;align-items:center}.chip{display:inline-block;padding:6px 10px;border-radius:999px;background:#4f46e514;color:var(--primary);font-weight:600;font-size:13px}.key-point{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(15,23,42,.04);box-shadow:0 1px 2px #1018280a;transition:transform .12s ease,box-shadow .12s ease}.key-point .index{min-width:36px;height:36px;border-radius:8px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.key-point:hover{transform:translateY(-4px);box-shadow:0 8px 24px #10182814}.kp-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.kp-actions button{padding:6px 8px;font-size:13px;border-radius:6px}.summary-text{white-space:pre-wrap;line-height:1.6}.file-drop{padding:16px;border-radius:10px;border:1px dashed var(--border);background:linear-gradient(180deg,#fffc,#fafaff99)}.file-drop.dragging{border-color:var(--primary);box-shadow:0 8px 30px #4f46e514}.file-drop .muted{color:var(--muted)}.kp-content{max-height:0;overflow:hidden;transition:max-height .26s cubic-bezier(.2,.9,.2,1),opacity .18s ease;opacity:0}.kp-content.open{max-height:800px;opacity:1}.key-point:focus{outline:3px solid rgba(79,70,229,.14);outline-offset:4px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:24px;background:#0f172af2;color:#fff;padding:10px 14px;border-radius:999px;box-shadow:0 8px 24px #10182829;font-weight:600;z-index:9999;animation:toast-in .2s ease}@keyframes toast-in{0%{transform:translate(-50%) translateY(8px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.muted{color:var(--muted)}.file-drop input[type=text],.file-drop input[type=file]{width:auto}.card{transition:opacity .3s ease,transform .2s ease}.card:hover{transform:translateY(-1px)}input:focus,button:focus{outline:none;box-shadow:0 0 0 3px #4f46e526}pre{font-family:inherit;white-space:pre-wrap;word-break:break-word}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.8}}@media(max-width:1024px){.container{padding:0 24px}}@media(max-width:768px){.container{padding:0 16px}.summary-header{flex-direction:column;align-items:flex-start}.summary-actions{width:100%}.key-point{flex-direction:column}.kp-actions{flex-direction:row;width:100%}}@media(max-width:640px){.container{padding:0 12px}.file-drop>div{flex-direction:column;gap:12px}.file-drop>div>div:last-child{width:100%}.file-drop button{width:100%}.row{flex-direction:column;align-items:stretch}.toast{left:16px;right:16px;transform:none;text-align:center}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}}@media(max-width:375px){.container{padding:0 8px}button{padding:12px 14px;font-size:14px}input{padding:12px;font-size:16px}}@media(hover:none)and (pointer:coarse){button{min-height:44px;min-width:44px}input{min-height:44px;font-size:16px}.card:hover{transform:none}.key-point:hover{transform:none;box-shadow:0 1px 2px #1018280a}button:active{opacity:.8;transform:scale(.98)}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.card,.key-point{border-width:.5px}}@media(max-height:500px)and (orientation:landscape){.container{padding-top:8px;padding-bottom:8px}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spinner{animation:none}}@media print{.toast,button,.file-drop{display:none!important}.card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}}
