@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Fraunces:wght@500;600&display=swap";:root{--ink:#1c2528;--muted:#556064;--accent:#2b5d66;--accent-deep:#193a42;--accent-soft:#2b5d6629;--surface:#f9f7f2e6;--surface-alt:#f0ece5e6;--line:#1820231f;--shadow-soft:0 20px 40px -30px #00000059;--display:"Fraunces", "Times New Roman", serif;--body:"Space Grotesk", "Segoe UI", sans-serif;font-family:var(--body);color:var(--ink);background:#f4f1ea}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#f6f3ebd9,#0000 52%),radial-gradient(circle at 20% 40%,#e3ece5b3,#0000 48%),linear-gradient(120deg,#f5f1e9 0%,#efe9df 50%,#f3efe6 100%);min-height:100vh;margin:0}body:before{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(#0000 0% 97%,#0000000a 98%),linear-gradient(90deg,#0000 0% 97%,#0000000a 98%);background-size:28px 28px;position:fixed;inset:0}#root{min-height:100vh;position:relative}h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0}h1{font-size:clamp(28px,3vw,40px);line-height:1.2}h4{font-size:16px}p{margin:0}button,input{font-family:var(--body)}.app{box-sizing:border-box;width:100%;min-height:100vh;overflow:hidden}.app.is-dragging{cursor:grabbing;grid-template-columns:repeat(2,minmax(0,1fr));transition:background-color .14s,color .14s;display:grid}.app.is-dragging>:not(.drop-overlay){pointer-events:none}.app.is-dragging .workspace,.app.is-dragging .landing,.app.is-dragging .modal-overlay{white-space:nowrap;text-overflow:ellipsis;filter:blur(1px)saturate(.95);min-width:0;overflow:hidden}.app.is-dragging .workspace,.app.is-dragging .landing{position:relative}.app.is-dragging .workspace:before,.app.is-dragging .landing:before{content:"";z-index:40;pointer-events:none;background:radial-gradient(circle at 20% 20%,#ffdb8024,#0000 28%),radial-gradient(circle at 80% 75%,#a45c2a1f,#0000 30%),#58381c59;flex:auto;width:100%;min-width:0;position:fixed;inset:0}.app.is-dragging .workspace,.app.is-dragging .landing,.app.is-dragging .app-grid,.app.is-dragging .topbar{flex:0 42%;min-width:0;max-width:42%}.app.is-dragging .chat-box,.app.is-dragging .notes-panel,.app.is-dragging .modal,.app.is-dragging .source-card,.drop-zone{transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s}.app.is-dragging .drop-zone{box-shadow:0 18px 34px -28px #5c351759;background-color:#fffbf2f5!important;border-color:#d6903894!important}.app.is-dragging .source-card.drop-zone{background:#fffdf7fa!important}.drop-overlay{z-index:100;justify-content:center;align-items:center;padding-top:20px;display:none;position:fixed;inset:0}.drop-overlay.active{pointer-events:none;display:flex}.drop-overlay .drop-card{pointer-events:none;text-align:center;color:#5a3114;letter-spacing:.4px;-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:0 1px #ffffff8c;background:linear-gradient(160deg,#fff9e7eb,#f4dca6d1);border:1px solid #824e2538;border-radius:999px;min-width:min(420px,100vw - 32px);max-width:min(620px,100vw - 32px);padding:12px 22px;font-size:15px;font-weight:700;animation:.14s ease-out both dragHintIn;box-shadow:0 18px 42px -28px #46240e73}.drop-overlay.active:after{content:"";-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none;background:radial-gradient(circle at 18% 18%,#ffdb801c,#0000 34%),radial-gradient(circle at 82% 78%,#924f221c,#0000 34%),#3923111a;position:fixed;inset:0}.drop-overlay .drop-card,.drop-overlay.active:after{transition:opacity .14s,transform .14s,background-color .14s}.drop-overlay.active .drop-card{color:#4b2b12;background:linear-gradient(160deg,#fffbeff0,#f3d89ce0)}.top-progress{z-index:120;pointer-events:none;background:0 0;height:6px;display:none;position:fixed;top:0;left:0;right:0}.top-progress.visible{display:block}.top-progress-fill{background:linear-gradient(90deg,#f1c46b,#c67b3a);width:0%;height:100%;transition:width .12s linear}.top-progress.indeterminate .top-progress-fill{width:60%;animation:1.2s linear infinite indeterminate}@keyframes indeterminate{0%{transform:translate(-20%)}to{transform:translate(120%)}}@keyframes dragHintIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.upload-progress-modal{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.upload-progress-modal.visible{display:flex}.upload-progress-modal .progress-card{text-align:center;background:linear-gradient(160deg,#fffbeff2,#f4dca6e0);border:1px solid #824e2538;border-radius:20px;width:min(520px,100vw - 32px);padding:24px 32px;box-shadow:0 24px 48px -30px #46240e80}.progress-card h3{color:#5a3114;margin:0 0 12px;font-size:18px}.progress-stages{justify-content:space-between;gap:10px;margin:18px 0;display:flex}.stage{color:#6d4626;background:#fff8e499;border:1px solid #89532b33;border-radius:10px;flex:1;padding:10px;font-size:12px;font-weight:600;transition:all .2s}.stage.active{color:#fff;background:linear-gradient(135deg,#f1c46b,#c67b3a);border-color:#c8823c80;box-shadow:0 8px 16px -12px #c3733266}.stage.done{color:#5a7541;background:#b3cd9a4d;border-color:#63854b4d}.progress-bar{background:#0000001a;border-radius:2px;width:100%;height:4px;margin:12px 0;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#f1c46b,#c67b3a);border-radius:2px;width:0%;height:100%;transition:width .2s}.upload-text{color:#5a3114;margin-top:12px;font-size:14px;font-weight:600}.pdf-upload{margin-top:8px}.native-file-input{opacity:0;pointer-events:none;width:.1px;height:.1px;position:absolute;overflow:hidden}.file-chooser{cursor:pointer;display:block}.upload-placeholder{background:linear-gradient(#fffffffa,#fffaf0f5);border:1px solid #824e251f;border-radius:10px;flex-direction:column;align-items:stretch;gap:10px;width:100%;min-width:0;min-height:140px;padding:18px 16px;display:flex;overflow:hidden;box-shadow:0 6px 18px -12px #46240e2e}.upload-main-row{align-items:center;gap:12px;min-width:0;display:flex}.upload-icon{background:#f1c45f1f;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:26px;display:flex}.upload-text{color:#5a3114;flex:auto;min-width:0;margin-top:0;font-size:14px;line-height:1.1}.upload-placeholder strong{margin-bottom:4px;font-size:15px;display:block}.file-name{color:#6b4a2c;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;margin-left:0;font-weight:600;overflow:hidden}.landing{background:radial-gradient(circle at 18% 18%,#ffdb808c,#0000 38%),radial-gradient(circle at 82% 74%,#a45c2a42,#0000 42%),linear-gradient(140deg,#f8e8ba 0%,#f2cf84 34%,#d2a15f 62%,#9a6336 100%);justify-content:center;align-items:stretch;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.landing-shell{z-index:2;grid-template-rows:auto 1fr;gap:18px;width:min(1320px,100%);min-height:calc(100vh - 48px);display:grid;position:relative}.landing-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(120deg,#fff8e4d6,#f1d093a3);border:1px solid #78482338;border-radius:18px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;box-shadow:0 20px 40px -35px #49230c8c}.brand-name{font-family:var(--display);color:#5a3114;font-size:24px;font-weight:600}.landing-nav nav{align-items:center;gap:18px;display:flex}.landing-nav a{color:#704220;font-size:14px;font-weight:600;text-decoration:none}.landing-nav a:hover{color:#4f2a11}.btn.nav-cta{color:#663717;background:linear-gradient(140deg,#fffdf5f5,#f3dba7e6);border-color:#713e1d73}.landing-card{background:radial-gradient(circle at 20% 18%,#fff4d4e6,#0000 30%),radial-gradient(circle at 92% 12%,#bc6e3429,#0000 38%),linear-gradient(160deg,#fff9ebf0 0%,#f7e1aee6 52%,#ebc780db 100%);border:1px solid #78482333;border-radius:34px;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:28px;width:100%;min-height:calc(100vh - 130px);padding:42px;display:grid;position:relative;overflow:hidden;box-shadow:0 40px 70px -42px #46240ead,inset 0 1px #fffbefa6,inset 0 -12px 35px -28px #6f3d1866}.landing-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#924f2233,#924f2200);border-radius:999px;width:320px;height:320px;position:absolute;bottom:-120px;right:-120px}.hero-copy{gap:18px;display:grid}.kicker{letter-spacing:1.8px;text-transform:uppercase;color:#7a431d;font-size:12px;font-weight:600}.hero-title{letter-spacing:-2px;color:#4b2b12;text-shadow:0 1px #fff4d673;margin:0;font-size:clamp(48px,7vw,102px);line-height:.95}.hero-subtitle{font-family:var(--body);color:#4b2b12;margin:0;font-size:clamp(20px,2.2vw,30px);line-height:1.2}.landing-copy{color:#6a4526;max-width:52ch;font-size:16px;line-height:1.62}.landing-points{flex-wrap:wrap;gap:10px;display:flex}.landing-points span{letter-spacing:.4px;color:#6a3b19;background:#fff8e49e;border:1px solid #89532b47;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:600}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.landing .btn.primary{color:#fff7df;background:linear-gradient(135deg,#8b4b23 0%,#c2742f 50%,#e2ac46 100%);border:1px solid #713e1d8c}.landing .btn.secondary{color:#6a3b19;background:#fff8e4c2;border:1px solid #89532b59}.landing .btn.primary:hover{box-shadow:0 24px 32px -20px #5f3519cc}.hero-preview{background:linear-gradient(160deg,#fff6dfbd,#f4dba494);border:1px solid #7b4a2342;border-radius:24px;gap:12px;padding:20px;display:grid;box-shadow:inset 0 0 0 1px #fff8e373}.preview-label{letter-spacing:1.2px;text-transform:uppercase;color:#7a431d;font-size:12px}.preview-block{background:#fffaeed1;border:1px solid #89532b3d;border-radius:14px;gap:5px;padding:11px;transition:transform .18s,box-shadow .18s;display:grid}.preview-block:hover{transform:translateY(-2px);box-shadow:0 16px 24px -20px #572e118c}.preview-block strong{color:#5a3114;font-size:13px}.preview-block span{color:#6f4929;font-size:14px;line-height:1.35}.preview-block.source-block{background:linear-gradient(135deg,#fff2c6f2,#f1cd7ce0);border-color:#91531b59}.preview-block.source-block strong{color:#5a3114}.preview-block.source-block span{color:#734017;font-weight:600}.preview-block.question-block{border-left:4px solid #aa5e269e}.preview-block.answer-block{background:#fffdf6e6;border-color:#7e51244d}.preview-block.citations-block{background:#faeed2b8;border-style:dashed}.preview-block.citations-block span{color:#7a4d29;font-size:12px}.ambient{filter:blur(8px);border-radius:999px;position:absolute}.ambient-one{background:radial-gradient(circle,#ffe18899,#ffe18800);width:520px;height:520px;top:-140px;left:-160px}.ambient-two{background:radial-gradient(circle,#91491b59,#91491b00);width:460px;height:460px;bottom:-180px;right:-140px}.workspace{background:radial-gradient(circle at 12% 8%,#ffdd8b66,#0000 38%),radial-gradient(circle at 88% 92%,#a85c2b40,#0000 40%),linear-gradient(150deg,#faecc580,#ecce8d4d);grid-template-rows:auto minmax(0,1fr);gap:16px;width:100%;max-width:100%;height:100vh;margin:0;padding:20px;display:grid}.topbar{background:linear-gradient(140deg,#fff8e6eb,#f1d398bd);border:1px solid #85502838;border-radius:22px;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex;box-shadow:0 20px 42px -34px #532d1385,inset 0 1px #fffcf399}.title-wrap h2{margin-bottom:4px;font-size:clamp(24px,2vw,30px)}.topbar-actions{gap:10px;display:flex}.app-grid{grid-template-columns:360px 1fr;gap:16px;width:100%;max-width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.source-summary{background:linear-gradient(170deg,#fff9ece6,#f5deabb8);border:1px solid #824e2533;border-radius:24px;flex-direction:column;align-content:start;gap:10px;width:100%;min-height:0;padding:14px;display:flex;overflow:hidden;box-shadow:0 20px 34px -30px #49260e80}.source-list{flex:1;gap:8px;min-height:0;max-height:none;padding-right:4px;display:grid;overflow:auto}.source-card .btn.ghost{background:0 0;border:1px solid #0000000f;padding:6px 8px}.progress-track{background:#0000000f;border-radius:6px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#f1c46b,#c67b3a);height:100%;transition:width .14s linear}.small-muted{color:#6d4a2d;margin-top:6px;font-size:12px}.source-card{background:#fff8e5b8;border:1px solid #89532b47;border-radius:12px;gap:5px;padding:8px 10px;transition:transform .16s,box-shadow .16s;display:grid}.source-card:hover{transform:translateY(-2px);box-shadow:0 16px 24px -22px #552f1499}.source-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.source-card-head strong,.source-card strong{color:#5a3114}.source-preview{color:#6f4929;margin:0;font-size:12px;line-height:1.4}.source-preview-btn{width:fit-content;padding:6px 10px;font-size:12px}.source-hint{color:#6d4a2d;margin-top:4px;font-size:13px}.chat-box{background:linear-gradient(165deg,#fffcf4ed,#f7e4b8b8);border:1px solid #7d4b2333;border-radius:28px;flex-direction:column;gap:16px;width:100%;height:100%;min-height:0;padding:20px;display:flex;overflow:hidden;box-shadow:0 26px 44px -32px #542d138c,inset 0 1px #fffbef9e}.messages{scroll-behavior:smooth;flex-direction:column;flex:1;justify-content:flex-end;gap:12px;min-height:0;padding:8px 10px;display:flex;overflow-y:auto}.bubble{border-radius:16px;max-width:84%;padding:13px 15px;line-height:1.5;animation:.18s ease-out both bubbleIn}.message-body{gap:10px;display:grid}.message-text{white-space:pre-wrap;word-break:break-word}.citation-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.citation-label{color:#6d4a2d;letter-spacing:.2px;font-size:12px;font-weight:700}.bubble.assistant{text-align:left;background:#fffaeef2;border:1px solid #88552d2e;align-self:flex-start}.bubble.success{background:linear-gradient(135deg,#e3f3daf5,#c5e7b0eb);border-color:#548a3e4d}.bubble.error{background:linear-gradient(135deg,#ffe9e6f5,#f8c8c2e6);border-color:#b24b3f4d}.bubble.warning{background:linear-gradient(135deg,#fff3d2f5,#f4d588e6);border-color:#b07f2352}.bubble.user{text-align:left;background:linear-gradient(135deg,#f0ca7e80,#dea65475);border:1px solid #92542242;align-self:flex-end}.bubble.streaming{box-shadow:0 12px 24px -20px #52301259}.citation-chip{color:#6b3e1a;cursor:help;background:#8a4e211f;border:1px solid #8a4e2133;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:2px 7px;font-weight:700;display:inline-flex}.citation-chip:hover{background:#8a4e2133}.composer{border-top:1px solid #89532b38;flex-shrink:0;gap:10px;margin-top:auto;padding-top:16px;display:flex}.composer input{color:#4f2f18;background:#fffbf0e6;border:1px solid #89532b52;border-radius:14px;flex:1;padding:13px 15px}.workspace .btn.primary,.modal .btn.primary{color:#fff7df;background:linear-gradient(135deg,#8b4b23 0%,#c2742f 50%,#e2ac46 100%);border:1px solid #713e1d8c}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:14px;padding:10px 16px;font-weight:600;transition:transform .15s,box-shadow .15s}.btn:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#f9f5ef}.btn.big{width:fit-content;padding:13px 22px}.btn.ghost{background:0 0}.section-head{justify-content:space-between;align-items:center;display:flex}.badge{color:#6d4626;background:#fff8e5cc;border:1px solid #89532b4d;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;display:inline-flex}.badge.online{color:#6f3f18;background:#ad692d33;border-color:#89532b61}.notes-panel{background:linear-gradient(160deg,#fff8e7e6,#f2d497ad);border:1px solid #814d2433;border-radius:24px;align-content:start;gap:14px;padding:18px;display:grid;box-shadow:0 22px 36px -30px #49260e80}.notes-panel ul{color:#704b2f;margin:0;padding-left:18px;line-height:1.5}.notes-panel li+li{margin-top:6px}.muted{color:#6d4a2d}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(145deg,#3e1f0c6b,#592d0f47);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:radial-gradient(circle at 12% 10%,#fff4d085,#0000 34%),linear-gradient(160deg,#fffaeef7,#f3d99ee0);border:1px solid #7d4b233d;border-radius:26px;gap:14px;width:min(680px,100%);padding:22px;display:grid;box-shadow:0 36px 60px -34px #46240e94,inset 0 1px #fffcf4ad}.modal-head{justify-content:space-between;align-items:center;display:flex}.field-label{color:#6f4827;font-size:13px}.mode-switch{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-btn{color:#5c3518;cursor:pointer;background:#fff7e0c7;border:1px solid #89532b4d;border-radius:12px;padding:11px 12px;font-weight:600}.mode-btn.active{background:linear-gradient(140deg,#f2cd7ed1,#e4ad58b3);border-color:#844d2480}.modal textarea,.modal input[type=file]{color:#4f2f18;background:#fffcf4e6;border:1px solid #89532b52;border-radius:12px;width:100%;padding:11px}.modal textarea{resize:vertical;min-height:150px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.close{color:#744923;cursor:pointer;background:0 0;border:none;font-size:18px}.typing-state{color:#6f4929;align-items:center;gap:10px;font-weight:600;display:inline-flex}.typing-dots{align-items:center;gap:4px;display:inline-flex}.typing-dots i{background:#8b4b23;border-radius:999px;width:7px;height:7px;animation:1s ease-in-out infinite typingDot}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes typingDot{0%,80%,to{opacity:.45;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}@media (width<=700px){.landing{padding:14px}.landing-nav{flex-direction:column;align-items:flex-start;gap:10px}.landing-nav nav{flex-wrap:wrap;gap:12px}.landing-card{min-height:unset;grid-template-columns:1fr;padding:24px}.hero-title{font-size:clamp(38px,14vw,64px)}.hero-actions .btn{width:100%}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{width:100%}.topbar-actions .btn{flex:1}.composer{flex-direction:column}.composer .btn{width:100%}.mode-switch{grid-template-columns:1fr}.chat-box{min-height:500px}}@media (width<=1100px){.landing-card,.app-grid{grid-template-columns:1fr;min-height:auto}.chat-box{min-height:520px}}
