:root{--bg:#f6f2e9;--bg-2:#ece3d2;--panel:rgba(255,252,246,0.78);--panel-solid:#fffcf6;--ink:#2a241d;--muted:#7a6f5f;--accent:#7d1416;--accent-dark:#5a0e10;--accent-tint:rgba(125,20,22,0.1);--border:#ddd2bd}*{box-sizing:border-box}body,html{font-family:Times New Roman,Times,serif}body{margin:0;min-height:100vh;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 50% -10%,rgba(255,255,255,.6),transparent 70%),linear-gradient(180deg,var(--bg) 0,var(--bg-2) 100%);background-attachment:fixed}body:before{left:0;right:0;bottom:0;height:58vh;background:url(/campus.svg) no-repeat bottom;background-size:cover}body:after,body:before{content:"";position:fixed;opacity:.12;pointer-events:none;z-index:0}body:after{top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,82vw);height:80vh;background:url(/strauss-portrait.svg) no-repeat 50%;background-size:contain}.wrap{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:64px 20px 150px}h1{font-size:48px;font-weight:700;letter-spacing:.01em;margin:0 0 9px;color:var(--accent);text-shadow:0 1px 0 rgba(255,255,255,.6)}.sub,h1{text-align:center}.sub{color:var(--muted);font-style:italic;font-size:20px;margin:0 auto 21px}.sub:after{content:"";display:block;width:96px;height:1px;margin:27px auto 0;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.msg{background:var(--panel);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:14px;padding:20px 22px;margin-bottom:18px;box-shadow:0 1px 2px rgba(60,42,30,.04),0 10px 28px rgba(60,42,30,.07)}.msg.user{background:rgba(255,252,246,.45);border-style:dashed;overflow-wrap:anywhere}.role{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:10px}.answer{white-space:pre-wrap;overflow-wrap:anywhere;font-size:17.5px;line-height:1.72}.sources{margin-top:16px;padding-top:13px;border-top:1px solid var(--border);font-size:13.5px;color:var(--muted)}.sources span{display:block;overflow-wrap:anywhere;word-break:break-word;padding:1px 0}.attachment-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.attachment-tags-pending{margin-bottom:12px}.attachment-tag{display:inline-flex;align-items:center;gap:6px;background:var(--panel-solid);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:14px;color:var(--muted);max-width:100%;overflow-wrap:anywhere;word-break:break-word;box-shadow:0 1px 2px rgba(60,42,30,.05)}.attachment-tag-error{color:var(--accent);border-color:#d9b3b3;background:#fbf1f1}.attachment-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0;font-family:inherit}.attachment-remove:hover{color:var(--accent)}form{position:fixed;bottom:0;left:0;right:0;z-index:2;background:linear-gradient(transparent,var(--bg-2) 42%);padding:30px 20px 24px}.bar-wrap{max-width:760px;margin:0 auto}.bar{display:flex;align-items:flex-end;gap:12px;background:var(--panel-solid);border:1px solid var(--border);border-radius:16px;padding:10px;box-shadow:0 2px 4px rgba(60,42,30,.05),0 14px 34px rgba(60,42,30,.1)}textarea{flex:1 1;padding:13px 12px;border:none;border-radius:10px;font-size:15px;font-family:inherit;background:transparent;color:var(--ink);resize:none;overflow-wrap:break-word;white-space:pre-wrap;min-height:48px;max-height:340px;line-height:1.4}textarea:focus{outline:none}textarea::placeholder{color:var(--muted);font-style:italic;opacity:.8}.bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint),0 14px 34px rgba(60,42,30,.12)}.attach-btn{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-size:18px;cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease,transform .1s ease}.attach-btn:hover:not(:disabled){background:var(--accent-tint);border-color:var(--accent)}.attach-btn:active:not(:disabled){transform:translateY(1px)}.attach-btn:disabled{opacity:.5;cursor:default}button[type=submit]{height:45px;padding:0 24px;border:none;border-radius:12px;background:linear-gradient(180deg,#93202a 0,var(--accent) 55%,var(--accent-dark) 100%);color:#fbf5ec;font-family:inherit;font-size:14px;letter-spacing:.03em;cursor:pointer;flex-shrink:0;box-shadow:0 2px 8px rgba(125,20,22,.35);transition:transform .12s ease,box-shadow .15s ease,filter .15s ease}button[type=submit]:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 5px 14px rgba(125,20,22,.4)}button[type=submit]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(125,20,22,.35)}button:disabled{opacity:.5;cursor:default}.empty{color:var(--muted);font-style:italic;font-size:17px;text-align:center;margin-top:12px}@media (max-width:600px){.wrap{padding:36px 16px 120px}h1{font-size:clamp(27px,9.3vw,48px)}.sub{font-size:17px}.sub:after{margin-top:18px}.empty{font-size:15px}.answer{font-size:16.5px}.msg{padding:16px}form{padding:16px 12px 14px}.bar{gap:7px;padding:7px;border-radius:14px}textarea{font-size:14px;padding:9px 10px;min-height:38px}.attach-btn{width:38px;height:38px;font-size:17px}button[type=submit]{height:38px;padding:0 15px;font-size:14px}}