:root { --ink:#172226; --muted:#657174; --paper:#f7f6f2; --white:#fff; --line:#e6e9e4; --red:#e75155; --darkred:#bd393e; --mint:#e9f4ec; --shadow:0 12px 44px rgba(19,39,36,.065); --radius:21px; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; }
    button,input,textarea,select { font:inherit; }
    button { cursor:pointer; }
    a { color:inherit; }
    button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid #ffacaa; outline-offset:3px; }
    .shell { max-width:1190px; margin:auto; padding:0 24px; }
    .site-header { position:sticky; top:0; z-index:30; background:rgba(247,246,242,.94); backdrop-filter:blur(16px); border-bottom:1px solid rgba(36,55,46,.08); }
    .nav-bar { display:flex; align-items:center; min-height:79px; gap:25px; }
    .brand { display:flex; align-items:center; gap:11px; text-decoration:none; min-width:225px; }
    .brandmark { display:grid; place-items:center; background:#1f493c; width:42px; height:42px; border-radius:13px; color:#fff; font-size:19px; font-weight:800; letter-spacing:-2px; position:relative; }
    .brandmark:after { content:""; width:8px; height:8px; border-radius:50%; background:#fa958d; position:absolute; top:6px; right:5px; }
    .brand-text strong { display:block; font-size:19px; font-weight:800; letter-spacing:-.65px; line-height:1.04; }
    .brand-text span { display:block; margin-top:3px; font-size:10px; color:#7c8985; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; }
    .nav-links { display:flex; align-self:stretch; align-items:center; gap:5px; margin-left:auto; }
    .nav-link { background:transparent; color:#65716f; border:0; padding:13px 15px; border-radius:11px; font-size:13px; font-weight:750; }
    .nav-link:hover,.nav-link.active { color:#22483a; background:#e9ede6; }
    .nav-cta { background:var(--red); border:1px solid var(--red); border-radius:12px; padding:12px 17px; color:white; font-weight:750; box-shadow:0 7px 17px #e751551c; white-space:nowrap; }
    .nav-cta:hover { background:var(--darkred); }
    .demo-ribbon { font-size:12px; color:#55675b; text-align:center; padding:9px 20px; border-bottom:1px solid #e2e9de; background:#edf4e9; }
    .demo-ribbon strong { color:#264a3d; }
    .top { padding-top:38px; }
    .hero { display:grid; grid-template-columns:1fr 375px; align-items:stretch; gap:22px; }
    .hero-main { padding:37px 42px 35px; min-height:310px; background:#e8efe7; border:1px solid #dbe7d9; border-radius:26px; position:relative; overflow:hidden; }
    .hero-main:after { content:""; position:absolute; width:200px; height:200px; border:1px solid #9ec9af80; border-radius:50%; right:-56px; top:-66px; box-shadow:0 0 0 30px #e1eddf,0 0 0 32px #9ec9af4d,0 0 0 66px #e1eddf,0 0 0 68px #9ec9af4d; pointer-events:none; }
    .eyebrow { color:#467362; text-transform:uppercase; font-size:11px; letter-spacing:2px; font-weight:850; }
    .hero h1 { margin:15px 0 12px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(32px,3.6vw,49px); letter-spacing:-1.9px; font-weight:500; line-height:1.11; max-width:570px; position:relative; z-index:1; }
    .hero h1 em { color:#cf6160; font-weight:500; }
    .hero p { position:relative; z-index:1; margin:0; color:#577063; line-height:1.7; max-width:480px; font-size:14px; }
    .hero-actions { margin-top:25px; display:flex; flex-wrap:wrap; gap:11px; position:relative; z-index:1; }
    .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 17px; font-size:13px; font-weight:800; border-radius:12px; border:1px solid #dfe5e1; color:#26403a; background:#fff; transition:transform .15s,background .15s; }
    .btn:hover { transform:translateY(-1px); }
    .btn.primary { background:#244e3f; color:#fff; border-color:#244e3f; }
    .btn.subtle { background:transparent; border-color:#bfd2c5; }
    .hero-side { border-radius:26px; padding:26px; background:#274b3e; color:white; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; }
    .hero-side:after { content:"✳"; position:absolute; bottom:-85px; right:-30px; color:#608b70; font-size:270px; transform:rotate(-12deg); opacity:.5; }
    .mini-label { text-transform:uppercase; font-size:11px; letter-spacing:1.5px; font-weight:800; color:#b2d1bb; z-index:1; }
    .hero-side .metric { margin:14px 0 3px; font-family:Georgia,serif; font-size:75px; letter-spacing:-3px; line-height:1; z-index:1; }
    .hero-side p { color:#bed4c4; margin:10px 0 16px; z-index:1; }
    .side-divider { height:1px; background:#64857488; margin-bottom:17px; z-index:1; }
    .hero-side small { color:#dbe9df; font-size:12px; line-height:1.6; z-index:1; }
    .section-header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:41px; margin-bottom:19px; }
    .section-header h2 { margin:5px 0 0; font-size:27px; letter-spacing:-.9px; }
    .section-header p { margin:6px 0 0; color:#798482; font-size:13px; }
    .count-pill { background:#fff; border:1px solid var(--line); border-radius:100px; padding:9px 14px; font-size:12px; color:#65726e; font-weight:700; white-space:nowrap; }
    .toolbar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:19px; }
    .search { display:flex; flex:1; align-items:center; min-width:230px; gap:10px; padding:0 15px; height:47px; background:#fff; border:1px solid var(--line); border-radius:13px; }
    .search svg { flex-shrink:0; color:#9aa5a1; }
    .search input { width:100%; background:transparent; border:0; outline:none; color:#2b4338; font-size:13px; }
    .segmented { display:flex; gap:3px; padding:5px; border-radius:13px; border:1px solid var(--line); background:white; }
    .segment { border:0; background:transparent; color:#72807b; font-size:12px; font-weight:800; padding:9px 12px; border-radius:9px; white-space:nowrap; }
    .segment.selected { background:#274f40; color:white; }
    .directory-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:22px; align-items:start; }
    .event-list { display:flex; flex-direction:column; gap:14px; }
    .event-card { padding:20px; border:1px solid var(--line); border-radius:20px; background:#fff; display:grid; grid-template-columns:76px minmax(0,1fr) 104px; gap:19px; align-items:start; transition:transform .15s,box-shadow .15s; box-shadow:0 3px 14px rgba(25,40,30,.02); cursor:pointer; }
    .event-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
    .date-block { background:#f1f5ef; border-radius:15px; padding:14px 6px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
    .date-block .month { font-size:10px; font-weight:850; color:#658574; letter-spacing:1.6px; }
    .date-block .day { font-family:Georgia,serif; font-size:36px; line-height:1.15; color:#24523e; }
    .date-block .weekday { font-size:10px; color:#82958a; font-weight:700; }
    .card-body { min-width:0; }
    .card-topline { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 9px; }
    .tag { border-radius:100px; padding:5px 9px; font-weight:800; font-size:10px; letter-spacing:.1px; }
    .tag.colloquium { background:#fae8e7; color:#bd5252; }
    .tag.brownbag { background:#e7eefc; color:#456caa; }
    .tag.local { background:#ebf6df; color:#476e32; }
    .time-note { font-size:11px; color:#8c9993; font-weight:700; }
    .card-body h3 { font-size:18px; line-height:1.3; letter-spacing:-.45px; margin:0 0 7px; }
    .card-meta { color:#74807d; font-size:12px; margin-bottom:11px; display:flex; flex-wrap:wrap; gap:7px 12px; }
    .card-meta span { display:inline-flex; align-items:center; gap:4px; }
    .post-credit { display:flex; align-items:center; gap:6px; font-size:11px; color:#597567; font-weight:650; margin:-3px 0 11px; }
    .post-credit strong { font-weight:850; color:#365848; }
    .post-credit .avatar { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e9f3ec; font-size:11px; color:#4d7862; }

    .card-abstract { color:#61716c; font-size:12.5px; line-height:1.62; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .card-abstract b { color:#405b4d; }
    .directory-attendance { margin-top:11px; display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #dce8df; border-radius:9px; color:#50705e; background:#f4f8f3; font-size:11px; font-weight:750; }
    .directory-attendance.is-planning { border-color:#bad8c7; background:#e8f3ec; color:#286247; }
    .directory-attendance .attendee-num { font-weight:900; font-size:12px; }
    .directory-attendance small { font-size:10px; font-weight:600; opacity:.82; }
    .card-cover { min-height:111px; border-radius:14px; display:grid; place-items:center; overflow:hidden; position:relative; padding:9px; }
    .card-cover .cover-symbol { font-family:Georgia,serif; font-size:54px; opacity:.84; transform:rotate(-12deg); }
    .card-cover .cover-lines { position:absolute; right:-30px; bottom:-38px; width:100px; height:100px; border:2px solid currentColor; opacity:.19; border-radius:50%; box-shadow:0 0 0 13px transparent,0 0 0 14px currentColor,0 0 0 31px transparent,0 0 0 32px currentColor; }
    .card-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    .cover-0 { color:#a04d41; background:#fbded1; }.cover-1 { color:#4367a6; background:#e2e9fb; }.cover-2 { color:#507958; background:#e5f0d9; }.cover-3 { color:#86588e; background:#f0e0f4; }.cover-4 { color:#ae7b37; background:#f7edce; }
    .sidebar { display:flex; flex-direction:column; gap:18px; }
    .side-panel { background:white; border:1px solid var(--line); border-radius:19px; padding:22px; }
    .side-panel h3 { font-size:15px; margin:0 0 14px; letter-spacing:-.3px; }
    .side-panel p { line-height:1.65; font-size:12px; color:#65746e; }
    .steps { display:grid; gap:16px; }
    .step { display:flex; align-items:flex-start; gap:10px; }
    .step-num { display:grid; place-items:center; flex-shrink:0; font-size:11px; font-weight:850; border-radius:10px; background:#f1f4ed; color:#517363; width:27px; height:27px; }
    .step p { margin:0; }
    .step strong { display:block; color:#28453a; font-size:12px; margin:0 0 3px; }
    .notice-panel { background:#faeee9; border:1px solid #f0dcd1; }
    .notice-panel h3 { color:#a9544b; }
    .notice-panel p { color:#966e64; }
    .text-btn { padding:0; border:0; background:none; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:3px; color:#4c7460; }
    .empty { text-align:center; padding:62px 20px; border:1px dashed #ccdbd0; background:#fff; border-radius:20px; color:#60746a; }
    .empty .icon { font-size:33px; }
    .empty h3 { color:#345145; margin:10px 0 5px; }
    .empty p { font-size:13px; }
    .footer { color:#82908a; font-size:12px; padding:45px 0 30px; display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; }
    .footer strong { color:#526d5f; }
    .submit-intro { background:#e8efe7; border:1px solid #dce8dd; border-radius:22px; padding:27px 33px; margin:35px 0 24px; }
    .submit-intro h1 { font-family:Georgia,serif; font-weight:500; font-size:clamp(30px,4vw,43px); margin:10px 0; letter-spacing:-1px; }
    .submit-intro p { color:#62766a; max-width:670px; margin:0; font-size:13px; line-height:1.7; }
    .submission-grid { display:grid; grid-template-columns:minmax(0,1fr) 335px; gap:23px; align-items:start; }
    .form-panel { background:white; border:1px solid var(--line); border-radius:22px; padding:28px; }
    .form-section-heading { display:flex; align-items:center; gap:10px; font-size:17px; margin:0 0 10px; }
    .form-section-heading .number { background:#e8f0e8; color:#396c50; border-radius:9px; font-size:12px; padding:7px 10px; }
    .help { font-size:12px; line-height:1.6; color:#8b9892; margin:0 0 18px; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
    .field { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; min-width:0; }
    .field label { font-size:12px; font-weight:800; color:#40534b; }
    .field label em { color:#dd6862; font-style:normal; }
    .field input,.field textarea,.field select { width:100%; border:1px solid #dfe7e0; background:#fcfdfa; border-radius:11px; padding:12px 13px; color:#263d31; outline:none; font-size:13px; }
    .field textarea { min-height:128px; resize:vertical; line-height:1.6; }
    .field input:focus,.field textarea:focus,.field select:focus { border-color:#84b096; background:#fff; box-shadow:0 0 0 3px #dfefe3; }
    .form-divider { height:1px; background:#edf0eb; margin:14px 0 25px; }
    .upload { border:1px dashed #b9d2bf; background:#f7faf5; border-radius:12px; padding:15px; display:flex; align-items:center; gap:11px; color:#587566; font-size:12px; }
    .upload input { max-width:100%; padding:2px 0; border:0; background:none; font-size:11px; }
    .form-bottom { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:20px; }
    .form-bottom small { color:#8b9990; max-width:330px; line-height:1.55; }
    .error { display:none; background:#fff1ee; border:1px solid #f2c6bf; color:#a8433c; padding:13px 15px; font-size:12px; border-radius:11px; line-height:1.5; margin-bottom:15px; }
    .error.show { display:block; }
    .preview { border-radius:20px; background:#fff; border:1px solid var(--line); padding:20px; position:sticky; top:106px; box-shadow:var(--shadow); }
    .preview h3 { font-size:13px; margin:0 0 12px; }
    .preview small { color:#8b998f; }
    .preview-cover { min-height:125px; border-radius:14px; display:grid; place-items:center; overflow:hidden; position:relative; margin-bottom:14px; }
    .preview-cover img { width:100%; height:100%; max-height:180px; object-fit:cover; position:absolute; inset:0; }
    .preview-cover .cover-symbol { font-family:Georgia,serif; font-size:64px; opacity:.65; }
    .preview-title { font-size:18px; line-height:1.35; letter-spacing:-.4px; margin:9px 0 9px; }
    .preview-meta { color:#86948c; font-size:11px; line-height:1.7; }
    .preview-abstract { color:#68786d; font-size:12px; line-height:1.7; border-top:1px solid #edf0ec; margin-top:12px; padding-top:12px; max-height:115px; overflow:auto; white-space:pre-wrap; }
    .preview-creative { background:#f7f8f4; border-radius:10px; padding:12px; color:#526b5c; margin-top:10px; font-size:12px; line-height:1.7; max-height:155px; overflow:auto; }
    .detail-overlay { position:fixed; inset:0; background:rgba(16,31,24,.60); z-index:50; display:flex; align-items:flex-start; justify-content:center; overflow-y:auto; padding:45px 17px; }
    .detail-overlay[hidden],.view[hidden],.toast[hidden] { display:none !important; }
    body.modal-open { overflow:hidden; }
    .detail-panel { width:min(760px,100%); border-radius:25px; background:white; overflow:hidden; box-shadow:0 25px 100px #142b2855; margin:auto 0; }
    .detail-topbar { display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--line); }
    .detail-topbar strong { font-size:13px; color:#315441; }
    .icon-button { border:0; display:grid; place-items:center; border-radius:50%; width:34px; height:34px; font-size:22px; background:#f1f4ee; color:#415c4c; }
    .detail-cover { margin:23px 28px 0; border-radius:19px; min-height:186px; display:grid; align-items:center; justify-content:center; position:relative; overflow:hidden; }
    .detail-cover .cover-symbol { font-size:105px; opacity:.68; font-family:Georgia,serif; z-index:1; transform:rotate(-14deg); }
    .detail-cover .detail-shape { width:310px; height:310px; border:2px solid currentColor; border-radius:50%; opacity:.16; position:absolute; right:-63px; top:-125px; box-shadow:0 0 0 39px transparent,0 0 0 41px currentColor,0 0 0 80px transparent,0 0 0 82px currentColor; }
    .detail-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    .detail-body { padding:25px 32px 34px; }
    .detail-title { margin:13px 0 11px; font-size:29px; letter-spacing:-1px; line-height:1.18; }
    .detail-meta { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:#63796b; margin-bottom:21px; }
    .detail-meta span { background:#f3f7f2; border-radius:8px; padding:8px 10px; }
    .detail-section { margin-top:22px; }
    .detail-section h3 { font-size:15px; margin:0 0 9px; color:#355342; }
    .detail-section p { margin:0; font-size:13px; line-height:1.85; color:#50645a; white-space:pre-wrap; }
    .rich-text { color:#42554b; font-size:14px; line-height:1.85; overflow-wrap:anywhere; }
    .rich-text p { white-space:normal; margin:10px 0; }.rich-text strong { color:#203f2f; }.rich-text h4 { margin:12px 0 6px; font-size:16px; }.rich-text .math { font-family:Georgia,serif; background:#edf2ed; border-radius:5px; padding:2px 5px; }
    .divider { height:1px; background:#e9eee9; margin:26px 0 22px; }
    .detail-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:21px; align-items:center; }
    .rsvp.selected { background:#e8f3ec; border-color:#bad8c7; color:#286247; }
    .action-count { font-size:11px; font-weight:800; color:inherit; opacity:.7; margin-left:2px; }
    .action-hint { margin:9px 0 0; font-size:11px; color:#87968a; line-height:1.6; }
    .comment-actions { margin-top:9px; display:flex; align-items:center; gap:10px; }
    .comment-like { padding:5px 10px; border:1px solid #e0e7e2; color:#6e7e71; background:white; font-size:11px; font-weight:750; border-radius:9px; }
    .comment-like:hover { background:#f4f7f4; }
    .comment-like.is-on { color:#24634b; border-color:#b9d5c1; background:#ebf5ed; }
    .comment-like span { margin-left:4px; opacity:.8; }
    .comments-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
    .comment { padding:14px 0; border-bottom:1px solid #edf1ed; }
    .comment .byline { color:#395846; font-size:12px; font-weight:800; }
    .comment time { color:#a2aba3; margin-left:7px; font-size:10px; font-weight:500; }
    .comment p { margin:7px 0 0; font-size:13px; color:#56685d; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
    .comment-form { display:grid; gap:10px; margin-top:14px; }
    .comment-form input,.comment-form textarea { width:100%; border:1px solid #e0e8e0; background:#f9fbf8; border-radius:10px; padding:12px; font-size:13px; }
    .comment-form textarea { min-height:77px; resize:vertical; }
    .toast { position:fixed; z-index:99; right:22px; bottom:23px; max-width:430px; background:#254c3d; color:white; padding:15px 20px; border-radius:14px; box-shadow:0 10px 40px #20412f44; font-size:13px; line-height:1.5; }
    @media (max-width:980px) { .hero { grid-template-columns:1fr 290px; }.directory-layout { grid-template-columns:1fr 230px; }.submission-grid { grid-template-columns:1fr 275px; }.hero-side .metric { font-size:58px; } }
    @media (max-width:760px) { .shell { padding:0 16px; }.nav-bar { min-height:66px; gap:7px; }.brand { min-width:0; }.brandmark { width:38px; height:38px; }.brand-text strong { font-size:16px; }.brand-text span { font-size:8px; }.nav-links { margin-left:auto; }.nav-link { padding:9px 8px; font-size:11px; }.nav-cta { padding:10px 11px; font-size:11px; }.top { padding-top:19px; }.hero { grid-template-columns:1fr; gap:12px; }.hero-main { min-height:0; padding:25px 24px 29px; }.hero-main:after { opacity:.4; }.hero h1 { font-size:37px; }.hero-side { padding:18px 24px; min-height:0; flex-direction:row; align-items:center; }.hero-side .metric { margin:7px 0 0; font-size:45px; }.hero-side p { display:none; }.hero-side .side-divider { display:none; }.hero-side small { max-width:180px; }.section-header { margin-top:28px; }.section-header h2 { font-size:24px; }.toolbar { gap:8px; }.search { flex-basis:100%; }.directory-layout,.submission-grid { grid-template-columns:1fr; }.sidebar { display:grid; grid-template-columns:1fr 1fr; }.preview { position:static; }.submit-intro { padding:25px; margin-top:20px; }.detail-overlay { padding:12px; }.detail-body { padding:21px; }.detail-cover { margin:16px 16px 0; min-height:150px; }.detail-title { font-size:25px; } }
    @media (max-width:510px) { .brand-text span { display:none; }.nav-bar { gap:6px; }.nav-cta { font-size:11px; }.nav-link { font-size:11px; }.hero h1 { font-size:34px; }.hero p { font-size:12px; }.section-header { align-items:center; }.count-pill { padding:7px 9px; font-size:10px; }.event-card { grid-template-columns:55px minmax(0,1fr); gap:12px; padding:13px; border-radius:16px; }.date-block { padding:10px 4px; border-radius:11px; }.date-block .day { font-size:27px; }.date-block .month { font-size:9px; }.event-card .card-cover { display:none; }.card-body h3 { font-size:15px; }.card-meta { font-size:11px; }.card-abstract { font-size:11.5px; }.sidebar { grid-template-columns:1fr; }.form-row { grid-template-columns:1fr; gap:0; }.form-panel { padding:19px; }.segmented { width:100%; justify-content:space-between; }.segment { flex:1; padding:8px 5px; font-size:11px; }.detail-actions .btn { padding:10px 12px; }.brandmark { width:35px; height:35px; }.brand-text strong { font-size:15px; } }
    @media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto !important; transition:none !important; } }
/* Calendar and general-post community */
.calendar-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:17px}.calendar-top h2{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekday{text-align:center;font-size:12px;font-weight:800;color:var(--muted);padding:10px 0}.calendar-day,.calendar-empty{border:1px solid var(--line);min-height:118px;padding:9px;border-radius:9px;background:#fff;min-width:0}.calendar-day.today{background:var(--mint);border-color:#a7cbbb}.calendar-day b{font-size:13px}.calendar-event{display:block;width:100%;margin-top:6px;border:0;border-radius:6px;padding:6px;text-align:left;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.calendar-event.colloquium{background:#fae8e7;color:#914548}.calendar-event.brownbag{background:#e7eefc;color:#385d95}.general-feed{columns:3 260px;column-gap:16px}.general-card{break-inside:avoid;margin:0 0 16px;cursor:pointer;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s}.general-card:hover{transform:translateY(-3px)}.general-card img{width:100%;display:block;max-height:400px;object-fit:cover}.general-placeholder{height:145px;display:grid;place-items:center;font-size:68px;background:#e9f4ec;color:#3e7055}.general-card-info{padding:15px}.general-card h3{font-size:15px;margin:0 0 8px}.general-card p{color:var(--muted);font-size:12px;line-height:1.55}.general-card span{color:#84928b;font-size:11px}.general-form{max-width:850px;margin:0 auto 30px}.general-detail-image{width:100%;border-radius:14px;max-height:450px;object-fit:contain;background:#f3f3f3}.rich-text .katex{font-size:1.06em}.preview-abstract .katex{font-size:1em}#generalOverlay[hidden]{display:none!important}
@media(max-width:700px){.calendar-day,.calendar-empty{min-height:78px;padding:3px}.calendar-event{font-size:9px;padding:3px}.calendar-day b{font-size:11px}.general-feed{columns:2 140px;column-gap:9px}.general-card{margin-bottom:9px}.nav-link{padding:7px 5px;font-size:10px}.nav-bar{flex-wrap:wrap}.brand{margin-right:auto}}

/* Community update: clearer guide, threads and image editor. */
.side-panel:not(.notice-panel){background:#f1f6ee;border-color:#c9dece}.side-panel:not(.notice-panel) h3{font-size:17px;color:#244d3d}.step-num{background:#dbe9da!important;font-weight:900!important}.thread{border-bottom:1px solid #edf0eb}.thread>.comment{border:0}.thread-replies{margin-left:20px;padding-left:15px;border-left:2px solid #dde9dd}.thread-replies>.comment{padding:9px 0}.thread-replies summary{cursor:pointer;color:#497660;font-size:12px;padding:8px}.reply-mention{font-size:12px;color:#478268}.comment-content p{margin:5px 0}.comment-content .katex-display{overflow:auto}.general-excerpt{max-height:115px;overflow:hidden;font-size:12px;color:var(--muted)}.general-excerpt p{font-size:12px!important;line-height:1.6!important;margin:0}.general-card .katex{font-size:.95em}.rich-text h1,.rich-text h2,.rich-text h3{line-height:1.35;color:#213c31}.rich-text ul,.rich-text ol{padding-left:24px}.rich-text a{color:#337457;text-decoration:underline}.rich-text img{max-width:100%;height:auto}.image-editor{padding:15px;border:1px solid #d5e4d5;border-radius:12px;background:#f8fbf7;margin-bottom:15px}.editor-help{font-size:12px;color:#658071;margin-bottom:9px}.editor-stage{position:relative;max-width:650px;min-height:100px;touch-action:none;user-select:none;cursor:crosshair;overflow:hidden}.editor-stage img{display:block;width:100%}.editor-label{position:absolute;transform:translate(-50%,-50%);font-weight:800;line-height:1.15;padding:8px;border-radius:7px;max-width:90%;overflow-wrap:anywhere;pointer-events:none;text-align:center}.editor-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.editor-controls label{font-size:12px}.editor-controls input[type=text]{max-width:220px}.action-hint{background:#fff4d8;border:1px solid #eed99a;border-left:4px solid #d99a32;border-radius:10px;padding:13px 16px;margin-top:14px;color:#70521b;font-size:13px;font-weight:600;line-height:1.7}
