:root{
 --paper:#f5f2ec;--paper-deep:#ece7dd;--ink:#1d2a36;--muted:#6e7a7d;--line:rgba(29,42,54,.12);--line-strong:rgba(29,42,54,.2);--navy:#17384a;--navy-soft:#315b72;--gel:#8ebac8;--gel-pale:#e4f0f1;--coral:#d38c7a;--coral-pale:#f5e3dc;--fiber:#918db8;--fiber-pale:#e9e8f4;--green:#668b7d;--green-pale:#e2eee8;--amber:#c18b45;--amber-pale:#f6ebd7;--shadow:0 18px 50px rgba(29,42,54,.08);--radius-xl:24px;--radius-lg:18px;--font-sans:"Aptos","Microsoft YaHei UI","Noto Sans SC",system-ui,sans-serif;--font-display:Georgia,"Songti SC","STSong",serif}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--font-sans);font-size:1rem;background:var(--paper);min-width:320px}button,input{font:inherit}button{border:0;cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(49,91,114,.28);outline-offset:2px}.app-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.app-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 4%,rgba(142,186,200,.18),transparent 28%),radial-gradient(circle at 4% 92%,rgba(211,140,122,.12),transparent 24%)}.fiber{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(49,91,114,.18),transparent);transform-origin:left center}.fiber-a{width:520px;top:178px;right:-70px;transform:rotate(-18deg)}.fiber-b{width:430px;top:67%;left:-100px;transform:rotate(21deg)}.fiber-c{width:300px;top:43%;right:-70px;transform:rotate(31deg)}.cell{position:absolute;border:1px solid rgba(49,91,114,.15);border-radius:50%}.cell-a{width:190px;height:190px;right:4%;top:16%}.cell-b{width:80px;height:80px;left:12%;bottom:8%}.cell-c{width:32px;height:32px;left:23%;top:28%}
.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-rows:76px minmax(calc(100vh - 76px),auto);min-height:100vh}.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(245,242,236,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand-button{display:flex;align-items:center;gap:11px;background:transparent;text-align:left;min-width:220px}.brand-button strong{display:block;font-family:var(--font-display);font-size:1.25rem;letter-spacing:.02em}.brand-button small{display:block;margin-top:2px;color:var(--muted);font-size:0.625rem;letter-spacing:.15em;text-transform:uppercase}.brand-mark{width:30px;height:30px;position:relative;display:inline-block}.brand-mark i{position:absolute;display:block;width:11px;height:11px;border:2px solid var(--navy-soft);border-radius:50%}.brand-mark i:nth-child(1){top:1px;left:9px}.brand-mark i:nth-child(2){top:11px;left:1px;border-color:var(--coral)}.brand-mark i:nth-child(3){top:11px;right:1px;border-color:var(--gel)}.global-search{flex:1;max-width:510px;display:flex;align-items:center;gap:10px;padding:10px 13px;background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:12px;color:var(--muted)}.global-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:0.875rem}.search-icon{font-size:1.25rem;transform:rotate(-20deg)}.global-search kbd{font-size:0.6875rem;color:var(--muted);background:var(--paper-deep);border:1px solid var(--line);padding:2px 6px;border-radius:5px;white-space:nowrap}.top-actions{position:relative;display:flex;align-items:center;gap:10px}.icon-button{width:34px;height:34px;border-radius:50%;background:transparent;color:var(--muted);font-size:1.125rem}.icon-button:hover{background:var(--paper-deep);color:var(--navy)}.profile-switcher{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 7px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.45);font-size:0.8125rem}.profile-switcher:hover{border-color:var(--line-strong);background:white}.chevron{color:var(--muted)}.profile-menu{position:absolute;right:0;top:46px;min-width:210px;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.profile-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:9px;text-align:left;border-radius:9px;background:transparent}.profile-menu button:hover{background:var(--paper)}.mini-avatar,.avatar-large{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700}.mini-avatar{width:28px;height:28px;font-size:0.75rem}.avatar-large{width:48px;height:48px;font-size:1.125rem}.avatar-zhang{background:var(--gel-pale);color:var(--navy);border:1px solid rgba(49,91,114,.18)}.avatar-duan{background:var(--coral-pale);color:#934f41;border:1px solid rgba(211,140,122,.25)}.avatar-shared{background:var(--fiber-pale);color:#5f5a91;border:1px solid rgba(145,141,184,.25)}
.sidebar{display:flex;flex-direction:column;padding:24px 16px 18px;border-right:1px solid var(--line);background:rgba(245,242,236,.72)}.current-person-card{display:flex;align-items:center;gap:10px;padding:11px;border-radius:15px;background:rgba(255,255,255,.45);border:1px solid var(--line);position:relative}.current-person-card strong{display:block;font-size:0.875rem}.current-person-card span:not(.online-dot){display:block;color:var(--muted);font-size:0.6875rem;margin-top:4px}.online-dot{position:absolute;right:12px;top:13px;width:7px;height:7px;border-radius:50%;background:#6da480;box-shadow:0 0 0 3px rgba(109,164,128,.14)}.side-nav{margin-top:30px}.nav-label{padding:0 12px;margin:22px 0 8px;color:#99a09e;font-size:0.625rem;letter-spacing:.16em;text-transform:uppercase}.nav-label:first-child{margin-top:0}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;margin:3px 0;border-radius:10px;background:transparent;color:#617074;text-align:left;font-size:0.875rem}.nav-item span{width:18px;color:#8a9697;font-size:1.125rem;text-align:center}.nav-item:hover{background:rgba(255,255,255,.58);color:var(--navy)}.nav-item.active{background:var(--navy);color:white;box-shadow:0 7px 18px rgba(23,56,74,.16)}.nav-item.active span{color:var(--gel)}.sidebar-footer{margin-top:auto}.privacy-note{display:flex;gap:9px;padding:12px;border-top:1px solid var(--line);color:var(--green)}.privacy-note>span{font-size:1rem}.privacy-note strong{display:block;font-size:0.75rem}.privacy-note small{display:block;margin-top:3px;color:var(--muted);font-size:0.625rem}.settings-link{width:100%;padding:9px 12px;background:transparent;color:var(--muted);text-align:left;font-size:0.8125rem}.settings-link:hover{color:var(--ink)}
.main-content{min-width:0;padding:40px clamp(24px,4vw,66px) 64px;max-width:1540px;width:100%;margin:0 auto}.eyebrow{color:var(--navy-soft);font-size:0.6875rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{margin:7px 0;font-family:var(--font-display);font-size:clamp(1.875rem,4vw,3rem);line-height:1.08;letter-spacing:-.025em;font-weight:500}.page-heading p{max-width:560px;color:var(--muted);margin:0;line-height:1.7;font-size:0.875rem}.heading-actions{display:flex;gap:9px;flex-wrap:wrap}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border-radius:10px;font-size:0.8125rem}.primary-button{background:var(--navy);color:white}.primary-button:hover{background:#224e66}.secondary-button{background:rgba(255,255,255,.52);border:1px solid var(--line);color:var(--navy)}.secondary-button:hover{background:white}.text-button{min-height:auto;padding:3px 0;color:var(--navy-soft);background:transparent;font-size:0.75rem}.text-button:hover{color:var(--coral)}.hero-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;margin-bottom:22px;border:1px solid rgba(49,91,114,.14);border-radius:var(--radius-xl);background:linear-gradient(105deg,rgba(228,240,241,.8),rgba(255,255,255,.52) 52%,rgba(245,227,220,.58));overflow:hidden;position:relative}.hero-strip:after{content:"";position:absolute;width:250px;height:250px;right:-80px;top:-150px;border:1px solid rgba(49,91,114,.14);border-radius:50%;box-shadow:0 0 0 20px rgba(49,91,114,.03),0 0 0 40px rgba(49,91,114,.025)}.hero-strip h2{margin:7px 0 5px;font-family:var(--font-display);font-weight:500;font-size:clamp(1.375rem,2.5vw,2rem)}.hero-strip p{margin:0;color:var(--muted);font-size:0.8125rem;line-height:1.6}.hero-signal{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--navy-soft);font-size:0.6875rem;font-weight:700}.hero-signal span{padding:5px 8px;border:1px solid rgba(49,91,114,.15);border-radius:999px;background:rgba(255,255,255,.45)}.section-block{margin-top:34px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.375rem}.section-title small{color:var(--muted);font-size:0.75rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.split-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr);gap:18px}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.55);box-shadow:0 8px 30px rgba(29,42,54,.035)}.card:hover{border-color:rgba(49,91,114,.2)}.focus-card{padding:18px;min-height:172px;position:relative;overflow:hidden}.focus-card:before{content:"";position:absolute;right:-34px;top:-34px;width:115px;height:115px;border:1px solid currentColor;border-radius:50%;opacity:.12;box-shadow:0 0 0 13px currentColor}.focus-card .card-kicker{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:0.6875rem}.focus-card h3{margin:16px 0 6px;font-family:var(--font-display);font-size:1.25rem;font-weight:500}.focus-card p{margin:0;color:var(--muted);font-size:0.75rem;line-height:1.6}.focus-card .card-action{position:absolute;bottom:17px;left:18px}.tone-gel{color:var(--navy-soft);background:linear-gradient(135deg,rgba(228,240,241,.86),rgba(255,255,255,.5))}.tone-fiber{color:#6f6aa5;background:linear-gradient(135deg,rgba(233,232,244,.9),rgba(255,255,255,.5))}.tone-coral{color:#a35c4c;background:linear-gradient(135deg,rgba(245,227,220,.9),rgba(255,255,255,.5))}.tone-green{color:#4e7e6d;background:linear-gradient(135deg,rgba(226,238,232,.9),rgba(255,255,255,.5))}.panel{padding:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header h3{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.25rem}.panel-header small{color:var(--muted);font-size:0.6875rem}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{padding:12px;background:rgba(245,242,236,.72);border-radius:12px}.metric span{display:block;color:var(--muted);font-size:0.6875rem}.metric strong{display:block;margin-top:6px;font-size:1.3125rem;font-weight:600;letter-spacing:-.04em}.metric small{display:block;margin-top:4px;color:var(--green);font-size:0.625rem}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:75px 14px 1fr;gap:8px;padding-bottom:18px}.timeline-item:last-child{padding-bottom:0}.timeline-date{color:var(--muted);font-size:0.6875rem;padding-top:2px}.timeline-node{position:relative;display:flex;justify-content:center}.timeline-node:before{content:"";width:9px;height:9px;margin-top:3px;border-radius:50%;background:var(--gel);border:3px solid var(--gel-pale);z-index:1}.timeline-node:after{content:"";position:absolute;top:13px;bottom:-18px;width:1px;background:var(--line-strong)}.timeline-item:last-child .timeline-node:after{display:none}.timeline-content strong{display:block;font-size:0.8125rem}.timeline-content span{display:block;margin-top:4px;color:var(--muted);font-size:0.75rem;line-height:1.5}.paper-mini-list{display:grid;gap:12px}.paper-mini{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start;padding-bottom:11px;border-bottom:1px solid var(--line);background:transparent;text-align:left}.paper-mini:last-child{padding-bottom:0;border-bottom:0}.paper-index{color:var(--coral);font-family:var(--font-display);font-size:1.125rem}.paper-mini strong{display:block;font-size:0.8125rem;line-height:1.4;font-weight:600}.paper-mini span{display:block;margin-top:4px;color:var(--muted);font-size:0.6875rem}.paper-status{padding:4px 7px;border-radius:6px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.625rem;white-space:nowrap}.food-feature{min-height:170px;padding:20px;background:linear-gradient(140deg,rgba(102,139,125,.92),rgba(49,91,114,.92));color:white;border-radius:var(--radius-lg);position:relative;overflow:hidden}.food-feature:after{content:"";position:absolute;right:-70px;bottom:-90px;width:250px;height:250px;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 0 0 20px rgba(255,255,255,.05),0 0 0 42px rgba(255,255,255,.05)}.food-feature small{color:rgba(255,255,255,.72);font-size:0.6875rem}.food-feature h3{margin:16px 0 8px;font-family:var(--font-display);font-weight:500;font-size:1.5rem}.food-feature p{margin:0;max-width:250px;color:rgba(255,255,255,.78);font-size:0.75rem;line-height:1.6}.light-button{position:absolute;bottom:17px;left:20px;padding:7px 10px;border:1px solid rgba(255,255,255,.32);border-radius:8px;background:rgba(255,255,255,.1);color:white;font-size:0.6875rem}.light-button:hover{background:rgba(255,255,255,.18)}
/* landing */.landing{max-width:1100px;margin:0 auto;padding-top:18px}.landing-head{text-align:center;margin:10px auto 35px}.landing-head .eyebrow{letter-spacing:.25em}.landing-head h1{margin:12px 0 10px;font-family:var(--font-display);font-size:clamp(2.375rem,7vw,4.75rem);font-weight:500;letter-spacing:-.05em}.landing-head p{max-width:520px;margin:0 auto;color:var(--muted);line-height:1.75;font-size:0.875rem}.people-stage{display:grid;grid-template-columns:1fr 170px 1fr;align-items:center;gap:18px}.person-entry{min-height:330px;padding:28px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.46);text-align:center;transition:.25s ease;position:relative;overflow:hidden}.person-entry:hover{transform:translateY(-5px);border-color:rgba(49,91,114,.27);box-shadow:var(--shadow);background:rgba(255,255,255,.72)}.person-entry:before{content:"";position:absolute;inset:14px;border:1px solid currentColor;border-radius:19px;opacity:.09}.person-entry h2{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.625rem}.person-entry p{margin:8px auto 18px;max-width:210px;color:var(--muted);font-size:0.75rem;line-height:1.6}.entry-link{color:var(--navy-soft);font-size:0.75rem;font-weight:700}.avatar-illustration{width:134px;height:134px;border-radius:50%;position:relative;display:grid;place-items:center;border:1px solid rgba(49,91,114,.16);margin:0 auto 18px}.avatar-illustration:before{content:"";position:absolute;width:83px;height:73px;top:26px;left:25px;border-radius:45% 45% 42% 42%;background:#f3c8a9;border:1px solid rgba(29,42,54,.12)}.avatar-illustration:after{content:"";position:absolute;width:92px;height:45px;top:14px;left:21px;border-radius:55% 55% 24% 24%;background:#3d3534;transform:rotate(-3deg)}.avatar-illustration .face-detail{position:absolute;z-index:2;top:61px;left:45px;width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:34px 0 var(--ink)}.avatar-illustration .face-detail:after{content:"";position:absolute;left:8px;top:20px;width:16px;height:7px;border-bottom:2px solid #874b43;border-radius:0 0 50% 50%}.avatar-illustration .glasses{position:absolute;z-index:3;top:56px;left:36px;width:55px;height:22px;border:2px solid #3b5360;border-radius:9px;opacity:.85}.avatar-illustration .glasses:after{content:"";position:absolute;left:25px;top:8px;width:8px;border-top:2px solid #3b5360}.avatar-illustration .coat{position:absolute;z-index:1;bottom:0;left:30px;width:75px;height:55px;background:white;border-radius:22px 22px 0 0;border:1px solid rgba(29,42,54,.08)}.avatar-illustration .coat:after{content:"";position:absolute;left:36px;top:0;height:55px;border-left:1px solid rgba(29,42,54,.14)}.avatar-illustration.zhang{background:radial-gradient(circle at 65% 25%,rgba(142,186,200,.65),rgba(228,240,241,.8))}.avatar-illustration.duan{background:radial-gradient(circle at 35% 25%,rgba(211,140,122,.54),rgba(245,227,220,.86))}.avatar-illustration.duan:after{background:#51393c;width:98px;left:17px;height:53px;top:10px;border-radius:50% 50% 30% 30%}.avatar-illustration.duan .coat{background:#fffaf6}.connection{position:relative;display:grid;place-items:center;min-height:220px;background:transparent}.connection:before,.connection:after{content:"";position:absolute;left:50%;width:145px;height:1px;background:linear-gradient(90deg,transparent,rgba(49,91,114,.34),transparent);transform-origin:center}.connection:before{transform:rotate(28deg)}.connection:after{transform:rotate(-28deg)}.connection-node{position:relative;z-index:1;width:105px;height:105px;display:grid;place-items:center;border:1px solid rgba(145,141,184,.35);border-radius:50%;background:rgba(233,232,244,.8);color:#5f5a91;box-shadow:0 0 0 14px rgba(233,232,244,.32),0 0 0 28px rgba(233,232,244,.16);text-align:center}.connection-node strong{display:block;font-family:var(--font-display);font-size:1.375rem;font-weight:500}.connection-node small{display:block;margin-top:3px;font-size:0.625rem}.landing-foot{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:35px;color:var(--muted);font-size:0.6875rem}.landing-foot span{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.36)}
/* reader */.subnav-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.tab-button{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.4);color:var(--muted);font-size:0.75rem}.tab-button.active,.tab-button:hover{background:var(--navy);color:white;border-color:var(--navy)}.reader-layout{display:grid;grid-template-columns:215px minmax(0,1fr) 310px;gap:12px;min-height:680px}.reader-sidebar,.reader-main,.reader-assistant{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.58)}.reader-sidebar{padding:15px}.reader-sidebar h3,.reader-assistant h3{margin:0 0 14px;font-family:var(--font-display);font-weight:500;font-size:1.125rem}.library-search{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);outline:0;font-size:0.75rem}.paper-list{display:grid;gap:5px;margin-top:13px}.paper-item{width:100%;padding:10px;border-radius:9px;background:transparent;text-align:left}.paper-item:hover{background:var(--paper)}.paper-item.active{background:var(--gel-pale)}.paper-item strong{display:block;font-size:0.75rem;line-height:1.45}.paper-item span{display:block;margin-top:4px;color:var(--muted);font-size:0.625rem}.reader-main{display:flex;flex-direction:column;overflow:hidden}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}.reader-toolbar strong{display:block;max-width:520px;font-size:0.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-toolbar small{display:block;margin-top:4px;color:var(--muted);font-size:0.625rem}.reader-toolbar-actions{display:flex;gap:6px}.round-control{width:30px;height:30px;border-radius:8px;background:var(--paper);color:var(--navy-soft);font-size:0.8125rem}.round-control:hover{background:var(--gel-pale)}.document-page{flex:1;overflow:auto;padding:34px clamp(24px,4vw,62px) 45px;background:linear-gradient(90deg,rgba(245,242,236,.35),rgba(255,255,255,.52),rgba(245,242,236,.35))}.document-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tag{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.625rem}.document-page h1{max-width:760px;margin:0 0 9px;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:500;line-height:1.2;letter-spacing:-.025em}.document-page .authors{color:var(--muted);font-size:0.6875rem}.doc-rule{width:100%;height:1px;margin:24px 0;background:var(--line)}.document-page h2{margin:22px 0 8px;font-family:var(--font-display);font-size:1.1875rem;font-weight:500}.document-page p{max-width:760px;margin:0 0 13px;color:#38494d;font-size:0.875rem;line-height:2}.abstract-box{margin:18px 0;padding:15px 17px;border-left:3px solid var(--gel);background:rgba(228,240,241,.45)}.abstract-box strong{display:block;margin-bottom:7px;color:var(--navy-soft);font-size:0.6875rem;letter-spacing:.1em;text-transform:uppercase}.highlight{padding:2px 3px;background:rgba(246,235,215,.95);border-bottom:1px solid rgba(193,139,69,.5)}.fake-figure{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:19px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(245,242,236,.6)}.figure-graphic{min-height:125px;position:relative;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,rgba(228,240,241,.9),rgba(233,232,244,.9))}.figure-graphic:before{content:"";position:absolute;width:170%;height:1px;left:-30%;top:60%;background:var(--navy-soft);transform:rotate(-22deg);box-shadow:0 -34px 0 rgba(49,91,114,.28),0 33px 0 rgba(49,91,114,.2)}.figure-graphic:after{content:"";position:absolute;width:55px;height:55px;left:45%;top:32%;border:1px solid rgba(23,56,74,.36);border-radius:50%;box-shadow:0 0 0 12px rgba(23,56,74,.08),0 0 0 24px rgba(23,56,74,.04)}.figure-caption{color:var(--muted);font-size:0.625rem;line-height:1.5}.reader-assistant{padding:15px;overflow:auto}.assistant-card{padding:13px;margin-bottom:10px;border-radius:12px;background:var(--paper)}.assistant-card h4{margin:0 0 8px;color:var(--navy-soft);font-size:0.75rem}.assistant-card p{margin:0;color:#516064;font-size:0.75rem;line-height:1.7}.source-link{display:inline-flex;margin-top:9px;color:var(--coral);font-size:0.6875rem;font-weight:700;background:transparent}.note-input{width:100%;min-height:92px;padding:10px;border:1px solid var(--line);border-radius:10px;resize:vertical;background:rgba(255,255,255,.72);outline:0;color:var(--ink);font-size:0.75rem;line-height:1.6}.reader-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;border-top:1px solid var(--line)}.progress{flex:1;max-width:190px;height:5px;border-radius:99px;background:var(--paper-deep);overflow:hidden}.progress i{display:block;width:64%;height:100%;background:var(--gel);border-radius:inherit}.reader-bottom small{color:var(--muted);font-size:0.625rem}
/* projects health food shared */.research-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:rgba(255,255,255,.42);margin-bottom:20px}.research-hero h2{margin:7px 0;font-family:var(--font-display);font-size:1.875rem;font-weight:500}.research-hero p{margin:0;color:var(--muted);font-size:0.8125rem;line-height:1.6}.research-pulse{display:flex;gap:10px}.pulse{min-width:92px;padding:12px;border-radius:12px;background:var(--paper)}.pulse strong{display:block;font-size:1.25rem}.pulse span{display:block;margin-top:4px;color:var(--muted);font-size:0.625rem}.project-card{padding:20px;min-height:188px;position:relative;overflow:hidden;text-align:left}.project-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:1.3125rem;background:var(--gel-pale);color:var(--navy-soft)}.project-card h3{margin:18px 0 5px;font-family:var(--font-display);font-size:1.3125rem;font-weight:500}.project-card p{margin:0;color:var(--muted);font-size:0.75rem;line-height:1.5}.project-meta{display:flex;gap:12px;margin-top:15px;color:var(--muted);font-size:0.6875rem}.open-project{position:absolute;bottom:18px;right:20px;color:var(--navy-soft);font-size:0.6875rem;font-weight:700}.health-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px}.health-card{padding:20px}.health-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.health-metric{padding:14px;border-radius:13px;background:var(--paper)}.health-metric label{color:var(--muted);font-size:0.6875rem}.health-metric strong{display:block;margin:8px 0 2px;font-size:1.5625rem;letter-spacing:-.06em}.health-metric small{color:var(--green);font-size:0.625rem}.medication{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.medication:last-child{border-bottom:0}.med-dot{width:9px;height:9px;border-radius:50%;background:var(--gel);box-shadow:0 0 0 4px var(--gel-pale)}.medication strong{display:block;font-size:0.75rem}.medication span{display:block;margin-top:3px;color:var(--muted);font-size:0.6875rem}.medication .med-state{margin-left:auto;padding:5px 7px;border-radius:7px;background:var(--green-pale);color:var(--green);font-size:0.625rem}.chart{height:190px;position:relative;padding:15px 8px 8px 20px;border-radius:12px;background:var(--paper);overflow:hidden}.chart:before{content:"";position:absolute;inset:20px 16px 25px 35px;background:repeating-linear-gradient(to bottom,transparent 0 39px,rgba(29,42,54,.09) 40px 41px)}.chart svg{position:absolute;inset:21px 16px 25px 35px;width:calc(100% - 51px);height:calc(100% - 46px)}.chart-labels{position:absolute;left:8px;top:17px;bottom:26px;display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font-size:0.5625rem}.chart-days{position:absolute;left:35px;right:16px;bottom:8px;display:flex;justify-content:space-between;color:var(--muted);font-size:0.5625rem}.food-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:16px}.map-panel{min-height:460px;padding:20px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(228,240,241,.78),rgba(245,242,236,.9))}.map-panel:before{content:"";position:absolute;inset:-30%;background:repeating-linear-gradient(28deg,transparent 0 47px,rgba(49,91,114,.08) 48px 49px),repeating-linear-gradient(117deg,transparent 0 70px,rgba(211,140,122,.08) 71px 72px);transform:rotate(-7deg)}.map-title{position:relative;z-index:1}.map-title h3{margin:0;font-family:var(--font-display);font-size:1.5625rem;font-weight:500}.map-title p{margin:5px 0 0;color:var(--muted);font-size:0.6875rem}.map-route{position:absolute;z-index:1;left:19%;top:45%;width:57%;height:1px;background:var(--navy-soft);transform:rotate(-21deg)}.map-pin{position:absolute;z-index:2;width:17px;height:17px;border-radius:50%;background:var(--coral);border:4px solid rgba(245,227,220,.86);box-shadow:0 5px 13px rgba(211,140,122,.3)}.pin-a{left:20%;top:58%}.pin-b{left:47%;top:46%;background:var(--navy-soft);border-color:var(--gel-pale)}.pin-c{left:73%;top:32%;background:var(--green);border-color:var(--green-pale)}.map-label{position:absolute;z-index:2;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.8);font-size:0.625rem;box-shadow:0 5px 13px rgba(29,42,54,.06)}.map-label.a{left:11%;top:65%}.map-label.b{left:42%;top:53%}.map-label.c{left:66%;top:24%}.restaurant-list{display:grid;gap:10px}.restaurant{display:grid;grid-template-columns:57px 1fr;gap:11px;padding:11px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.48)}.restaurant-thumb{width:57px;height:57px;border-radius:10px;background:linear-gradient(135deg,#95b5a4,#ddc099);position:relative;overflow:hidden}.restaurant-thumb:before{content:"";position:absolute;width:23px;height:23px;top:17px;left:16px;border-radius:50%;background:rgba(255,255,255,.65);box-shadow:16px 7px 0 rgba(255,255,255,.38)}.restaurant h4{margin:0;font-size:0.8125rem}.restaurant p{margin:5px 0 0;color:var(--muted);font-size:0.6875rem;line-height:1.4}.restaurant-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.restaurant-tags span{padding:3px 5px;border-radius:5px;background:var(--green-pale);color:var(--green);font-size:0.5625rem}.shared-hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;padding:25px;border:1px solid rgba(145,141,184,.25);border-radius:var(--radius-xl);background:linear-gradient(110deg,rgba(228,240,241,.68),rgba(233,232,244,.68),rgba(245,227,220,.62))}.shared-person{display:flex;align-items:center;gap:12px}.shared-person:last-child{flex-direction:row-reverse;text-align:right}.shared-person strong{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:500}.shared-person span{display:block;margin-top:4px;color:var(--muted);font-size:0.6875rem}.shared-center{text-align:center}.shared-center .connection-node{margin:0 auto 9px;width:78px;height:78px;box-shadow:none}.shared-center p{margin:0;color:#5f5a91;font-size:0.6875rem;font-weight:700}.shared-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.shared-card{min-height:165px;padding:18px}.shared-card h3{margin:0 0 9px;font-family:var(--font-display);font-size:1.25rem;font-weight:500}.shared-card p{margin:0;color:var(--muted);font-size:0.75rem;line-height:1.6}.shared-stat{margin-top:17px;color:var(--navy-soft);font-size:0.6875rem;font-weight:700}.shared-stat strong{margin-right:3px;font-size:1.5rem;font-weight:500}.tone-purple{background:linear-gradient(135deg,rgba(233,232,244,.83),rgba(255,255,255,.5))}.tone-warm{background:linear-gradient(135deg,rgba(245,227,220,.83),rgba(255,255,255,.5))}.tone-teal{background:linear-gradient(135deg,rgba(228,240,241,.83),rgba(255,255,255,.5))}.tone-leaf{background:linear-gradient(135deg,rgba(226,238,232,.83),rgba(255,255,255,.5))}.empty-state{padding:32px;border:1px dashed var(--line-strong);border-radius:16px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:1.25rem;font-weight:500}.empty-state p{margin:7px 0 16px;font-size:0.75rem}.toast{position:fixed;left:50%;bottom:26px;z-index:50;transform:translate(-50%,18px);padding:11px 15px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(29,42,54,.92);color:white;font-size:0.75rem;opacity:0;pointer-events:none;transition:.25s ease}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1180px){.reader-layout{grid-template-columns:185px minmax(0,1fr)}.reader-assistant{grid-column:1/-1;min-height:190px}.assistant-card{display:inline-block;width:calc(33.33% - 9px);margin-right:8px;vertical-align:top}.note-input{min-height:64px}}
@media (max-width:930px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:18px 11px}.current-person-card{justify-content:center;padding:8px}.current-person-card>div:not(.avatar-large),.online-dot,.nav-label,.nav-item{font-size:0}.nav-item{justify-content:center;padding:11px 0}.nav-item span{font-size:1.1875rem}.privacy-note,.settings-link{display:none}.brand-button{min-width:auto}.brand-button>span:last-child,.global-search{display:none}.topbar{padding:0 17px}.top-actions{margin-left:auto}.main-content{padding:30px 24px 55px}.split-layout,.health-grid,.food-grid{grid-template-columns:1fr}.people-stage{grid-template-columns:1fr 120px 1fr;gap:8px}.person-entry{padding:21px 14px}.connection:before,.connection:after{width:115px}}
@media (max-width:680px){body{font-size:0.9375rem}.app-shell{display:block}.topbar{height:68px;position:sticky}.sidebar{display:none}.main-content{padding:25px 16px 80px}.page-heading{display:block}.heading-actions{margin-top:14px}.hero-strip{display:block;padding:19px}.hero-signal{margin-top:15px}.grid-3,.grid-2,.shared-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.landing{padding-top:0}.landing-head{margin-bottom:23px}.landing-head h1{font-size:2.9375rem}.people-stage{display:grid;grid-template-columns:1fr;gap:12px}.person-entry{min-height:260px}.connection{min-height:115px}.connection:before,.connection:after{width:190px}.connection:before{transform:rotate(8deg)}.connection:after{transform:rotate(-8deg)}.connection-node{width:88px;height:88px}.reader-layout{display:block}.reader-sidebar{margin-bottom:12px}.reader-sidebar .paper-list{grid-template-columns:repeat(2,1fr)}.reader-main{min-height:670px}.reader-assistant{margin-top:12px}.assistant-card{display:block;width:auto;margin-right:0}.document-page{padding:26px 20px 35px}.fake-figure{grid-template-columns:1fr}.research-hero,.shared-hero{display:block}.research-pulse{margin-top:16px}.shared-person:last-child{margin-top:14px}.shared-center{margin:14px 0}.shared-person:last-child{flex-direction:row;text-align:left}.shared-hero .shared-person{justify-content:center}.topbar .profile-switcher span:nth-child(2){display:none}.profile-switcher{padding-right:7px}.chart{height:170px}}

/* Ocean-blue visual direction: calm, academic, and readable for long sessions. */
:root { --paper:#0b3b50; --paper-deep:#082f42; --ink:#eef8f8; --muted:#b3ccd0; --line:rgba(226,244,246,.18); --line-strong:rgba(226,244,246,.3); --navy:#062b3b; --navy-soft:#8fd0d6; --gel:#8fd2d5; --gel-pale:#d9f0f0; --coral-pale:#f5e3dc; --fiber-pale:#e9e8f4; --green-pale:#e2eee8; --amber-pale:#f6ebd7; --shadow:0 18px 50px rgba(0,15,25,.26); }
html,body{background:var(--paper)}
.app-bg::before{background:radial-gradient(circle at 86% 4%,rgba(117,193,204,.18),transparent 28%),radial-gradient(circle at 4% 92%,rgba(211,140,122,.12),transparent 24%)}
.topbar,.sidebar{background:rgba(6,43,59,.9)}
.global-search,.profile-switcher{background:rgba(255,255,255,.1);color:var(--ink)}
.global-search input{color:var(--ink)}
.global-search kbd{background:rgba(255,255,255,.12);color:var(--muted);border-color:var(--line)}
.profile-switcher:hover,.global-search:focus-within{background:rgba(255,255,255,.16)}
.profile-menu{background:#0f4a60;color:var(--ink)}
.profile-menu button:hover{background:rgba(255,255,255,.1)}
.current-person-card,.card,.person-entry,.research-hero,.shared-hero,.reader-sidebar,.reader-main,.reader-assistant{background:rgba(7,49,66,.8);color:var(--ink)}
.card:hover,.person-entry:hover{background:rgba(12,66,85,.94)}
.person-entry p,.page-heading p,.hero-strip p,.project-card p,.shared-card p,.timeline-content span,.paper-mini span,.restaurant p{color:var(--muted)}
.hero-strip{background:linear-gradient(105deg,rgba(18,82,99,.95),rgba(8,48,66,.92) 52%,rgba(91,62,65,.72))}
.hero-strip h2,.hero-strip .hero-signal,.hero-strip .hero-signal span{color:var(--ink)}
.hero-signal span{background:rgba(255,255,255,.08);border-color:var(--line)}
.secondary-button,.round-control,.tab-button{background:rgba(255,255,255,.08);border-color:var(--line);color:var(--ink)}
.secondary-button:hover,.round-control:hover,.tab-button:hover,.tab-button.active{background:var(--navy);color:white}
.nav-item{color:var(--muted)}
.nav-item:hover{background:rgba(255,255,255,.09);color:var(--ink)}
.metric,.pulse,.health-metric,.chart,.assistant-card,.library-search,.note-input{background:rgba(4,33,47,.62);color:var(--ink)}
.metric span,.health-metric label,.assistant-card p,.paper-item span,.figure-caption{color:var(--muted)}
.paper-mini,.paper-item{color:var(--ink)}
.paper-item.active{background:rgba(143,210,213,.2)}
.document-page{background:#f5f2ec;color:#1d2a36}
.document-page p{color:#38494d}
.document-page .authors,.document-page .figure-caption{color:#6e7a7d}
.document-page h1,.document-page h2{color:#1d2a36}
.reader-toolbar,.reader-bottom{color:var(--ink)}
.reader-toolbar small,.reader-bottom small{color:var(--muted)}
.map-panel{background:linear-gradient(135deg,rgba(17,79,96,.95),rgba(7,49,66,.95))}
.map-title h3,.map-title p,.map-title .eyebrow{color:var(--ink)}
.map-title p{color:var(--muted)}
.map-label{background:rgba(5,40,55,.82);color:var(--ink);border-color:var(--line)}
.restaurant{background:rgba(7,49,66,.8);color:var(--ink)}
.shared-card,.project-card{color:var(--ink)}
.shared-card .shared-stat,.project-meta,.project-card .open-project{color:var(--navy-soft)}
.empty-state strong{color:var(--ink)}
.empty-state{color:var(--muted)}
.landing-head p,.landing-foot{color:var(--muted)}
.landing-foot span{background:rgba(255,255,255,.08);border-color:var(--line)}


/* Light ocean-blue pass: brighter, calmer, and easier to read. */
:root { --paper:#d9eef2; --paper-deep:#c4e3e9; --ink:#17384a; --muted:#5f7b82; --line:rgba(23,56,74,.14); --line-strong:rgba(23,56,74,.24); --navy:#164a60; --navy-soft:#2f788c; --gel:#73b9c6; --gel-pale:#e2f3f5; --coral-pale:#f8e9e4; --fiber-pale:#ececf7; --green-pale:#e5f2eb; --amber-pale:#faf0dc; --shadow:0 18px 50px rgba(39,98,115,.13); }
html,body{background:var(--paper)}
.app-bg::before{background:radial-gradient(circle at 86% 4%,rgba(255,255,255,.72),transparent 30%),radial-gradient(circle at 4% 92%,rgba(211,140,122,.16),transparent 24%)}
.topbar{background:rgba(232,247,249,.92);border-color:rgba(23,56,74,.12)}
.sidebar{background:rgba(197,228,234,.86);border-color:rgba(23,56,74,.12)}
.global-search,.profile-switcher{background:rgba(255,255,255,.76);color:var(--ink);border-color:rgba(23,56,74,.14)}
.global-search input{color:var(--ink)}
.global-search kbd{background:var(--paper-deep);color:var(--muted);border-color:var(--line)}
.profile-menu{background:rgba(239,250,251,.98);color:var(--ink);border-color:var(--line)}
.profile-menu button:hover{background:rgba(217,238,242,.75)}
.current-person-card,.card,.person-entry,.research-hero,.shared-hero,.reader-sidebar,.reader-main,.reader-assistant{background:rgba(255,255,255,.68);color:var(--ink)}
.card:hover,.person-entry:hover{background:rgba(255,255,255,.9)}
.hero-strip{background:linear-gradient(105deg,rgba(173,221,228,.95),rgba(221,242,244,.95) 52%,rgba(248,231,226,.88))}
.hero-strip h2,.hero-strip .hero-signal,.hero-strip .hero-signal span{color:var(--ink)}
.hero-signal span{background:rgba(255,255,255,.58);border-color:rgba(23,56,74,.14)}
.secondary-button,.round-control,.tab-button{background:rgba(255,255,255,.62);border-color:var(--line);color:var(--navy)}
.secondary-button:hover,.round-control:hover,.tab-button:hover,.tab-button.active{background:var(--navy);color:white}
.nav-item{color:#3e626c}.nav-item:hover{background:rgba(255,255,255,.6);color:var(--navy)}.nav-item.active{background:var(--navy);color:white}
.metric,.pulse,.health-metric,.chart,.assistant-card,.library-search,.note-input{background:rgba(246,252,252,.72);color:var(--ink)}
.metric span,.health-metric label,.assistant-card p,.paper-item span,.figure-caption{color:var(--muted)}
.paper-mini,.paper-item{color:var(--ink)}
.paper-item.active{background:var(--gel-pale)}
.reader-toolbar,.reader-bottom{color:var(--ink)}.reader-toolbar small,.reader-bottom small{color:var(--muted)}
.map-panel{background:linear-gradient(135deg,rgba(126,190,201,.95),rgba(50,116,135,.95))}
.map-title h3,.map-title p,.map-title .eyebrow{color:white}.map-title p{color:rgba(255,255,255,.78)}
.map-label{background:rgba(245,252,252,.9);color:var(--ink);border-color:var(--line)}
.restaurant{background:rgba(255,255,255,.72);color:var(--ink)}
.shared-card,.project-card{color:var(--ink)}
.shared-card .shared-stat,.project-meta,.project-card .open-project{color:var(--navy-soft)}
.landing-head p,.landing-foot{color:var(--muted)}.landing-foot span{background:rgba(255,255,255,.54);border-color:var(--line)}


/* 文献与城市模块增强 */
.reader-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.reader-actions-row .subnav-tabs{margin-bottom:0}.search-help{margin:-6px 0 10px;color:var(--muted);font-size:0.6875rem;line-height:1.55}.paper-search-wrap{position:relative;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.paper-search-wrap>span{color:var(--muted);font-size:1.0625rem}.paper-search-wrap .library-search{padding:9px 24px 9px 0;border:0;background:transparent}.clear-search{position:absolute;right:6px;width:21px;height:21px;border-radius:50%;background:transparent;color:var(--muted);font-size:0.9375rem;line-height:1}.clear-search:hover{background:var(--paper-deep);color:var(--navy)}.add-inline{width:100%;margin-top:14px;padding:10px;border:1px dashed var(--line-strong);border-radius:9px;background:transparent;color:var(--navy-soft);font-size:0.75rem}.add-inline:hover{background:var(--gel-pale);border-color:var(--gel)}.city-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-6px 0 18px;padding:14px 17px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.54)}.city-toolbar strong{display:block;margin-top:4px;font-family:var(--font-display);font-size:1.5625rem;font-weight:500}.city-toolbar>div>span{display:block;margin-top:4px;color:var(--muted);font-size:0.75rem}.city-select-label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:0.75rem}.city-select-label select{min-width:116px;padding:9px 28px 9px 11px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.8);color:var(--ink);font-size:0.8125rem}.shared-avatar{width:76px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.32),0 0 0 16px rgba(255,255,255,.14)}.shared-avatar strong{font-family:var(--font-display);font-size:1.125rem;font-weight:500;line-height:1}.shared-avatar small{margin-top:7px;color:var(--muted);font-size:0.625rem}.shared-person-copy{min-width:0}.shared-person-copy strong{font-size:1.125rem}.shared-person-copy span{white-space:nowrap}.shared-hero .shared-person{align-items:center}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:rgba(16,59,75,.28);backdrop-filter:blur(5px)}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 25px 90px rgba(23,56,74,.25);color:var(--ink)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-header h2{margin:7px 0 5px;font-family:var(--font-display);font-size:1.75rem;font-weight:500}.modal-header p{max-width:450px;margin:0;color:var(--muted);font-size:0.75rem;line-height:1.6}.modal-close{width:32px;height:32px;border-radius:50%;background:var(--paper-deep);color:var(--navy);font-size:1.375rem;line-height:1}.paper-form{display:grid;gap:13px;margin-top:23px}.paper-form label{display:grid;gap:6px;color:var(--muted);font-size:0.6875rem}.paper-form input,.paper-form select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f7fbfb;color:var(--ink);outline:0;font-size:0.8125rem}.paper-form input:focus,.paper-form select:focus{border-color:var(--navy-soft)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-help{padding:10px 12px;border-radius:9px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.6875rem;line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media(max-width:680px){.reader-actions-row{display:block}.reader-actions-row>.secondary-button{width:100%;margin-top:-8px;margin-bottom:17px}.city-toolbar{align-items:flex-start;display:block}.city-select-label{margin-top:12px;justify-content:space-between}.city-select-label select{flex:1}.form-row{grid-template-columns:1fr}.shared-avatar{margin-bottom:10px}.shared-person-copy{display:none}.shared-hero .shared-person{display:flex;flex-direction:column;text-align:center}.shared-hero .shared-person:last-child{flex-direction:column}}


/* Online literature, editable health, and live nearby food results */
.reader-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.reader-actions-row .subnav-tabs{margin-bottom:0}.search-help{margin:-6px 0 10px;color:var(--muted);font-size:0.6875rem;line-height:1.55}.paper-search-wrap{position:relative;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.paper-search-wrap>span{color:var(--muted);font-size:1.0625rem}.paper-search-wrap .library-search{padding:9px 24px 9px 0;border:0;background:transparent}.clear-search{position:absolute;right:6px;width:21px;height:21px;border-radius:50%;background:transparent;color:var(--muted);font-size:0.9375rem;line-height:1}.clear-search:hover{background:var(--paper-deep);color:var(--navy)}.add-inline{width:100%;margin-top:14px;padding:10px;border:1px dashed var(--line-strong);border-radius:9px;background:transparent;color:var(--navy-soft);font-size:0.75rem}.add-inline:hover{background:var(--gel-pale);border-color:var(--gel)}.online-modal{width:min(820px,100%)}.online-form{margin-top:20px}.online-query-row{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:8px}.online-query-row input,.online-query-row select{min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f7fbfb;color:var(--ink);outline:0;font-size:0.8125rem}.online-results-list{display:grid;gap:9px;margin-top:18px;max-height:52vh;overflow:auto}.online-result{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(245,252,252,.7)}.online-result-main{min-width:0}.online-result-top{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}.oa-tag{background:var(--green-pale);color:var(--green)}.online-result h3{margin:0;font-size:0.875rem;line-height:1.5}.online-result p{margin:5px 0 0;color:var(--muted);font-size:0.6875rem;line-height:1.5}.online-result-actions{display:flex;flex:0 0 auto;gap:7px}.online-result-actions button{min-height:34px;padding:0 10px;font-size:0.6875rem}.online-result-actions button:disabled{cursor:not-allowed;opacity:.55}.online-loading,.online-error{padding:25px;border-radius:12px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.75rem;line-height:1.7}.online-error{background:var(--coral-pale);color:#934f41}.online-error strong{display:block;margin-bottom:5px}.online-error p{margin:0 0 5px}.online-error small{opacity:.75}.health-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-8px 0 18px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.46);color:var(--muted);font-size:0.6875rem}.health-toolbar>div{display:flex;gap:7px;flex-wrap:wrap}.health-toolbar .secondary-button{min-height:32px;padding:0 10px;font-size:0.6875rem}.med-state-button{margin-left:auto;padding:5px 7px;border:0;border-radius:7px;font-size:0.625rem;cursor:pointer}.nearby-empty{margin-top:25px;padding:24px;border:1px dashed var(--line-strong);border-radius:15px;background:rgba(255,255,255,.35);color:var(--muted);text-align:center}.nearby-empty strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:1.25rem;font-weight:500}.nearby-empty p{margin:7px 0 0;font-size:0.75rem}.nearby-results{margin-top:28px}.nearby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nearby-restaurant{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.66)}.nearby-restaurant h3{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:500}.nearby-restaurant p{margin:5px 0 4px;color:var(--navy-soft);font-size:0.6875rem}.nearby-restaurant small{color:var(--muted);font-size:0.625rem}.nearby-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.nearby-actions .secondary-button{min-height:30px;padding:0 8px;font-size:0.625rem}.nearby-actions .text-button{white-space:nowrap}.food-thumb-warm{background:linear-gradient(135deg,#d0a38b,#e9d2a7)}.food-thumb-cool{background:linear-gradient(135deg,#9ba7bd,#e4c8aa)}
@media(max-width:820px){.online-query-row{grid-template-columns:1fr 1fr}.online-query-row .primary-button{grid-column:1/-1}.online-result{display:block}.online-result-actions{margin-top:11px}.online-result-actions button{width:100%}.nearby-grid{grid-template-columns:1fr}}
@media(max-width:680px){.health-toolbar{display:block}.health-toolbar>div{margin-top:9px}.health-toolbar .secondary-button{width:100%}.city-toolbar{align-items:flex-start;display:block}.city-select-label{margin-top:12px;justify-content:space-between}.city-select-label select{flex:1}.online-query-row{grid-template-columns:1fr}.online-query-row .primary-button{grid-column:auto}.online-modal{padding:18px}.nearby-restaurant{display:block}.nearby-actions{align-items:stretch;margin-top:11px}.nearby-actions .secondary-button{width:100%}}


/* City specialties and named restaurant cards */
.compact-section{margin-top:24px}.specialties-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.specialty-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.62)}.specialty-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--coral-pale);color:#a35c4c;font-size:1rem}.specialty-card h3{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:500}.specialty-card p{margin:4px 0 0;color:var(--muted);font-size:0.625rem;line-height:1.45}.named-restaurant-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.named-restaurant{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.62)}.named-restaurant h3{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:500;line-height:1.35}.named-restaurant p{margin:6px 0 4px;color:var(--navy-soft);font-size:0.6875rem;line-height:1.5}.named-restaurant small{display:block;color:var(--muted);font-size:0.625rem;line-height:1.45}.named-restaurant .secondary-button{flex:0 0 auto;min-height:31px;padding:0 8px;font-size:0.625rem}@media(max-width:980px){.specialties-grid,.named-restaurant-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.specialties-grid,.named-restaurant-list{grid-template-columns:1fr}.named-restaurant{display:block}.named-restaurant .secondary-button{width:100%;margin-top:10px}}


/* 论文阅读、字体与美食转盘 */
body,button,input,select,textarea{font-family:"Times New Roman","SimSun","宋体",serif}.brand-button small,.eyebrow,.tag,.nav-label,.global-search kbd,.search-help,.form-help,.online-result-top,.paper-status,.med-state-button,.restaurant-tags,.city-select-label{font-family:"Times New Roman","SimSun","宋体",serif}.document-page,.document-page p,.document-page h1,.document-page h2{font-family:"Times New Roman","SimSun","宋体",serif}.online-results-summary{padding:4px 2px;color:var(--muted);font-size:0.6875rem}.food-wheel-panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:rgba(255,255,255,.7);overflow:hidden}.wheel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.wheel-header h2{margin:7px 0 5px;font-family:"Times New Roman","SimSun","宋体",serif;font-size:1.75rem;font-weight:500}.wheel-header p{margin:0;color:var(--muted);font-size:0.75rem}.spin-button{min-width:108px}.wheel-stage{position:relative;display:grid;place-items:center;min-height:420px;margin:6px 0}.wheel-stage canvas{width:min(420px,70vw);height:auto;aspect-ratio:1;display:block;border-radius:50%;transition:transform 3.3s cubic-bezier(.16,.82,.18,1);filter:drop-shadow(0 12px 18px rgba(37,106,122,.2))}.wheel-pointer{position:absolute;z-index:2;top:8px;color:#a35c4c;font-size:1.75rem;filter:drop-shadow(0 3px 3px rgba(0,0,0,.13))}.wheel-result{min-height:48px;display:grid;place-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.8125rem;text-align:center}.wheel-result strong{margin-left:4px;color:var(--navy);font-size:1.25rem}.wheel-manage{margin-top:17px;padding-top:16px;border-top:1px solid var(--line)}.wheel-item-list{display:flex;flex-wrap:wrap;gap:7px}.wheel-item-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:var(--coral-pale);color:#934f41;font-size:0.6875rem}.wheel-item-chip button{width:17px;height:17px;padding:0;border-radius:50%;background:rgba(147,79,65,.12);color:#934f41;line-height:1}.wheel-item-chip button:hover{background:#934f41;color:white}.wheel-add-row{display:flex;gap:8px;margin-top:12px}.wheel-add-row input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.8);color:var(--ink);outline:0;font-size:0.75rem}.wheel-add-row .secondary-button{min-height:38px;white-space:nowrap;font-size:0.6875rem}.food-grid+.section-block{margin-top:28px}@media(max-width:680px){.wheel-header{display:block}.spin-button{width:100%;margin-top:14px}.wheel-stage{min-height:280px}.wheel-pointer{top:4px}.wheel-add-row{display:block}.wheel-add-row .secondary-button{width:100%;margin-top:8px}}


/* Paper full-text reader, evidence chat, delete controls, and large PDF preview */
.reader-mode-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line);background:rgba(245,242,236,.48)}.reader-mode-tabs .tab-button{padding:8px 10px;font-size:0.6875rem}.paper-open-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.reader-file-note{margin-bottom:12px;padding:10px 12px;border-radius:9px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.6875rem}.paper-pdf-frame{display:block;width:100%;height:calc(100vh - 280px);min-height:720px;border:1px solid var(--line-strong);border-radius:10px;background:white}.no-pdf-box{padding:36px 22px;border:1px dashed var(--line-strong);border-radius:13px;background:rgba(245,242,236,.55);text-align:center;color:var(--muted)}.no-pdf-box strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:1.3125rem;font-weight:500}.no-pdf-box p{margin:8px 0 16px;font-size:0.75rem;line-height:1.6}.fulltext-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}.fulltext-pages{display:grid;gap:16px;margin-top:16px}.fulltext-page{padding:16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.42)}.page-number{margin-bottom:12px;color:var(--navy-soft);font-size:0.625rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.fulltext-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fulltext-column{min-width:0;padding:14px;border-radius:10px;background:rgba(246,252,252,.78)}.fulltext-column.chinese{background:rgba(248,233,228,.52)}.fulltext-column h3{margin:0 0 9px;color:var(--navy-soft);font-family:"Times New Roman","SimSun","宋体",serif;font-size:0.8125rem;font-weight:600}.fulltext-column p{margin:0;color:#38494d;font-size:0.8125rem;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.fulltext-column.chinese p{color:#5d4742}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.analysis-grid>div{padding:14px;border-radius:11px;background:rgba(245,242,236,.64)}.analysis-label{display:block;margin-bottom:7px;color:var(--navy-soft);font-size:0.625rem;font-weight:700;letter-spacing:.1em}.analysis-grid strong{display:block;font-family:var(--font-display);font-size:1.1875rem;font-weight:500}.analysis-grid p{margin:0;color:#516064;font-size:0.75rem;line-height:1.75}.paper-chat-messages{display:grid;gap:8px;max-height:300px;overflow:auto;margin-bottom:10px}.chat-message{padding:9px 10px;border-radius:9px;font-size:0.6875rem;line-height:1.65;white-space:pre-wrap}.chat-message.user{background:var(--gel-pale);color:var(--navy);margin-left:20px}.chat-message.assistant{background:rgba(255,255,255,.7);color:#516064;border:1px solid var(--line)}.chat-empty{padding:9px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:0.6875rem;line-height:1.55}.paper-chat-form{display:grid;grid-template-columns:1fr auto;gap:6px}.paper-chat-form input{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.8);color:var(--ink);outline:0;font-size:0.6875rem}.paper-chat-form .primary-button{min-height:34px;padding:0 10px;font-size:0.6875rem}.chat-evidence{display:grid;gap:7px;margin-top:-3px}.evidence-block{padding:9px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.52);font-size:0.625rem;line-height:1.6}.evidence-block>strong{display:block;margin-bottom:7px;color:var(--navy-soft);font-size:0.625rem}.evidence-original,.evidence-translation{padding:7px;border-radius:7px;background:rgba(228,240,241,.56);color:#38494d}.evidence-translation{margin-top:5px;background:rgba(248,233,228,.56);color:#5d4742}.evidence-original span,.evidence-translation span{display:block;margin-bottom:3px;color:var(--navy-soft);font-size:0.5625rem;font-weight:700;letter-spacing:.08em}.paper-item{position:relative;padding-right:33px}.paper-select{display:block;width:100%;padding:0;background:transparent;text-align:left;color:inherit}.paper-delete{position:absolute;right:7px;top:50%;width:23px;height:23px;transform:translateY(-50%);border-radius:6px;background:transparent;color:#a35c4c;font-size:1rem;line-height:1;opacity:.72}.paper-delete:hover{background:var(--coral-pale);opacity:1}.online-load-more{width:100%;margin-top:4px}.paper-api-note{padding:9px 11px;border-radius:9px;background:var(--amber-pale);color:var(--amber);font-size:0.625rem;line-height:1.55}@media(max-width:900px){.paper-pdf-frame{height:calc(100vh - 250px);min-height:560px}.fulltext-columns{grid-template-columns:1fr}.analysis-grid{grid-template-columns:1fr}}@media(max-width:680px){.reader-mode-tabs{padding:10px 12px}.paper-pdf-frame{height:calc(100vh - 230px);min-height:500px}.paper-chat-form{grid-template-columns:1fr}.paper-chat-form .primary-button{width:100%}.fulltext-page{padding:11px}.online-result-actions{flex-wrap:wrap}}


/* Photo-inspired academic cartoon avatars */
.teacher-art{display:block;width:180px;height:220px;object-fit:contain;margin:0 auto 12px;border-radius:20px;filter:drop-shadow(0 12px 12px rgba(36,99,115,.14))}.person-entry .teacher-art{transition:transform .25s ease}.person-entry:hover .teacher-art{transform:translateY(-3px) scale(1.02)}@media(max-width:680px){.teacher-art{width:150px;height:180px}}


/* User-provided cartoon portraits */
.teacher-art{width:190px;height:238px;object-fit:cover;object-position:center top;border-radius:18px;background:#dceff2}.person-entry .teacher-art{box-shadow:0 12px 24px rgba(36,99,115,.16)}.person-entry.duan-entry .teacher-art{object-position:center 18%}
@media(max-width:680px){.teacher-art{width:160px;height:202px}}


/* Patent search space */
.patent-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;margin:-5px 0 13px}.patent-toolbar .paper-search-wrap{min-height:42px}.patent-toolbar .primary-button,.patent-toolbar .secondary-button{min-height:42px}.patent-note{padding:10px 13px;margin-bottom:22px;border-radius:10px;background:var(--amber-pale);color:var(--amber);font-size:0.6875rem;line-height:1.6}.patent-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.patent-list{display:grid;gap:11px}.patent-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.66)}.patent-card-main{min-width:0}.patent-card h3{margin:6px 0;font-family:var(--font-display);font-size:1.0625rem;font-weight:500;line-height:1.45}.patent-card p{margin:0;color:var(--muted);font-size:0.6875rem;line-height:1.6}.patent-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.patent-actions button{min-height:31px;padding:0 8px;font-size:0.625rem}.patent-library{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.52)}.patent-library-list{display:grid;gap:8px}.patent-library-item{display:flex;justify-content:space-between;gap:8px;padding:10px;border-radius:10px;background:rgba(245,242,236,.7)}.patent-library-item strong{display:block;font-size:0.6875rem;line-height:1.45}.patent-library-item small{display:block;margin-top:4px;color:var(--muted);font-size:0.5625rem}.patent-library-actions{display:flex;align-items:center;gap:8px}.patent-library-actions .paper-delete{position:static;transform:none;width:22px;height:22px}.patent-reader-modal{width:min(760px,100%)}.patent-reader-body{display:grid;gap:14px;margin-top:20px}.patent-reader-summary{padding:16px;border-radius:12px;background:var(--gel-pale)}.patent-reader-summary h3{margin:0 0 9px;font-family:var(--font-display);font-size:1.25rem;font-weight:500}.patent-reader-summary p{margin:0;color:var(--muted);font-size:0.75rem;line-height:1.75}.patent-reader-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.patent-reader-actions button{min-height:35px;font-size:0.6875rem}.patent-reader-note{padding:12px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted);font-size:0.6875rem;line-height:1.65}@media(max-width:900px){.patent-layout{grid-template-columns:1fr}.patent-library{order:-1}}@media(max-width:680px){.patent-toolbar{grid-template-columns:1fr}.patent-toolbar .primary-button,.patent-toolbar .secondary-button{width:100%}.patent-card{display:block}.patent-actions{margin-top:12px}.patent-actions button{flex:1}.patent-library{padding:14px}}


/* Research groups, collapsible reader rail, paper deletion, and shared papers */
.project-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-group-card{position:relative;padding:20px;min-height:250px}.project-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-space-label{color:var(--muted);font-size:0.625rem;letter-spacing:.08em}.project-title-input{display:block;width:100%;margin:16px 0 8px;padding:0;border:0;background:transparent;color:var(--ink);font-family:var(--font-display);font-size:1.5rem;font-weight:500;outline:0}.project-title-input:focus{border-bottom:1px solid var(--navy-soft)}.project-desc-input{display:block;width:100%;min-height:58px;padding:0;border:0;background:transparent;color:var(--muted);font-family:inherit;font-size:0.75rem;line-height:1.7;resize:none;outline:0}.project-desc-input:focus{border-bottom:1px solid var(--navy-soft)}.project-open-button{position:absolute;right:20px;bottom:18px;min-height:34px;padding:0 10px;font-size:0.6875rem}.reader-layout{min-height:calc(100vh - 260px);grid-template-columns:250px minmax(0,1fr) 340px}.reader-layout.library-collapsed{grid-template-columns:0 minmax(0,1fr) 340px}.reader-layout.library-collapsed>.reader-sidebar{width:0;opacity:0;overflow:hidden;padding:0;border:0}.reader-main{min-height:calc(100vh - 260px)}.reader-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.reader-sidebar-head h3{margin:0}.reader-collapse{width:28px;height:28px;border-radius:8px;background:var(--paper-deep);color:var(--navy);font-size:1.25rem;line-height:1}.reader-collapse:hover{background:var(--gel-pale)}.paper-item-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:4px;margin-bottom:5px}.paper-item-wrap .paper-item{width:100%;min-height:58px}.paper-delete{align-self:center;min-width:42px;min-height:28px;padding:0 7px;border:1px solid rgba(163,92,76,.22);border-radius:7px;background:rgba(248,233,228,.72);color:#a35c4c;font-size:0.625rem;cursor:pointer}.paper-delete:hover{background:#a35c4c;color:white}.fulltext-page{background:rgba(255,255,255,.6)}.page-image{display:block;width:min(100%,820px);max-height:700px;object-fit:contain;margin:16px auto 0;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(23,56,74,.08)}.fulltext-column p{white-space:pre-wrap}.shared-paper-section{padding:20px}.shared-paper-list{display:grid;gap:9px}.shared-paper-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.55)}.shared-paper-row strong{display:block;font-size:0.75rem;line-height:1.45}.shared-paper-row span{display:block;margin-top:4px;color:var(--muted);font-size:0.625rem}.shared-empty{padding:20px;border:1px dashed var(--line-strong);border-radius:10px;text-align:center}.shared-empty strong{display:block;font-family:var(--font-display);font-size:1.1875rem;font-weight:500}.shared-empty p{margin:7px 0 14px;color:var(--muted);font-size:0.6875rem}.paper-api-note{margin-top:8px}@media(max-width:1100px){.reader-layout{grid-template-columns:220px minmax(0,1fr) 300px}.reader-layout.library-collapsed{grid-template-columns:0 minmax(0,1fr) 300px}}@media(max-width:900px){.project-group-grid{grid-template-columns:1fr}.reader-layout{grid-template-columns:200px minmax(0,1fr)}.reader-layout.library-collapsed{grid-template-columns:0 minmax(0,1fr)}.reader-assistant{grid-column:1/-1}.reader-main{min-height:720px}}@media(max-width:680px){.project-group-card{min-height:235px}.project-title-input{font-size:1.3125rem}.reader-layout{display:block;min-height:0}.reader-layout.library-collapsed>.reader-sidebar{display:none}.reader-main{min-height:720px}.reader-assistant{margin-top:12px}.reader-toolbar{align-items:flex-start}.reader-toolbar strong{max-width:210px}.fulltext-columns{grid-template-columns:1fr}.page-image{max-height:480px}.paper-item-wrap{grid-template-columns:minmax(0,1fr) auto}.paper-delete{min-width:36px;font-size:0.5625rem}}


/* Final research/project and full-screen reader polish */
.project-edit-label{display:grid;gap:5px;margin-top:14px;color:var(--muted);font-size:0.625rem}.project-title-input{margin:0!important;padding:7px 0!important;border-bottom:1px solid transparent!important}.project-title-input:focus{border-bottom-color:var(--navy-soft)!important}.project-desc-input{padding:7px 0!important;border-bottom:1px solid transparent!important}.project-desc-input:focus{border-bottom-color:var(--navy-soft)!important}.reader-layout{width:100%;min-height:calc(100vh - 250px);grid-template-columns:255px minmax(0,1fr) 350px}.reader-layout.library-collapsed{grid-template-columns:0 minmax(0,1fr) 350px}.reader-main{min-width:0;min-height:calc(100vh - 250px)}.document-page{width:100%;min-height:calc(100vh - 360px);padding:42px clamp(30px,5vw,90px) 58px}.paper-pdf-frame{width:100%;height:calc(100vh - 235px);min-height:820px;border-radius:12px}.fulltext-page{padding:22px}.fulltext-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.fulltext-column{padding:20px}.fulltext-column p{font-size:0.9375rem;line-height:2}.page-image{width:min(100%,950px);max-height:900px;margin-top:22px}.paper-item-wrap{grid-template-columns:minmax(0,1fr) auto}.paper-delete{min-width:46px;min-height:34px}.shared-paper-row small{display:block;margin-top:5px;color:var(--muted);font-size:0.625rem}.shared-paper-row{align-items:center}.online-results-list{max-height:64vh}.chat-evidence{margin-top:-2px}.chat-message.assistant{font-size:0.75rem}.evidence-block{font-size:0.6875rem}.reader-toolbar-actions{flex-wrap:wrap}@media(max-width:1100px){.reader-layout{grid-template-columns:230px minmax(0,1fr) 300px}.reader-layout.library-collapsed{grid-template-columns:0 minmax(0,1fr) 300px}.document-page{padding-left:34px;padding-right:34px}}@media(max-width:900px){.reader-layout{grid-template-columns:220px minmax(0,1fr)}.reader-layout.library-collapsed{grid-template-columns:0 minmax(0,1fr)}.reader-assistant{grid-column:1/-1}.reader-main{min-height:760px}.paper-pdf-frame{height:calc(100vh - 250px);min-height:660px}}@media(max-width:680px){.document-page{padding:26px 18px 40px}.reader-main{min-height:720px}.paper-pdf-frame{height:calc(100vh - 220px);min-height:540px}.fulltext-page{padding:12px}.fulltext-columns{grid-template-columns:1fr}.fulltext-column{padding:14px}.fulltext-column p{font-size:0.875rem}.page-image{max-height:520px}.project-open-button{position:static;width:100%;margin-top:12px}.shared-paper-row{display:block}.shared-paper-row .text-button{margin-top:9px}}


/* Desktop global navigation collapse */
.sidebar-toggle-button{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.58);color:var(--navy);font-size:1.0625rem}.sidebar-toggle-button:hover{background:var(--gel-pale)}.global-sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)!important}.global-sidebar-collapsed .sidebar{padding-left:11px;padding-right:11px}.global-sidebar-collapsed .current-person-card{justify-content:center;padding:8px}.global-sidebar-collapsed .current-person-card>div:not(.avatar-large),.global-sidebar-collapsed .online-dot,.global-sidebar-collapsed .nav-label,.global-sidebar-collapsed .privacy-note,.global-sidebar-collapsed .settings-link{display:none}.global-sidebar-collapsed .nav-item{justify-content:center;padding:11px 0;font-size:0}.global-sidebar-collapsed .nav-item span{font-size:1.1875rem}.global-sidebar-collapsed .brand-button{min-width:auto}@media(max-width:680px){.sidebar-toggle-button{display:none}}


/* Reference layout: main paper workspace in the center, AI assistant fixed at far right. */
@media(min-width:901px){.reader-layout{grid-template-columns:255px minmax(0,1fr) 350px}.reader-layout.library-collapsed{grid-template-columns:0 minmax(0,1fr) 350px}.reader-sidebar{grid-column:1;grid-row:1}.reader-main{grid-column:2;grid-row:1}.reader-assistant{grid-column:3;grid-row:1;min-width:0}}


/* PDF reading surface with selectable text and far-right translation assistant */
.pdf-reading-surface{width:100%;padding:12px 0}.pdf-surface-note{padding:10px 13px;margin-bottom:14px;border:1px solid var(--line);border-radius:9px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.6875rem;line-height:1.6}.pdf-page-stack{display:grid;gap:18px}.pdf-page-card{padding:18px;border:1px solid var(--line-strong);border-radius:14px;background:#fff;box-shadow:0 10px 26px rgba(23,56,74,.08)}.pdf-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;color:var(--navy-soft);font-size:0.625rem;font-weight:700;letter-spacing:.12em}.pdf-page-head small{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:0.625rem;font-weight:400;letter-spacing:0}.pdf-page-image{display:block;width:100%;max-height:none;object-fit:contain;margin:0 auto 16px;border:1px solid rgba(23,56,74,.14);border-radius:8px;background:#fff;image-rendering:auto}.pdf-text-layer{padding:20px 22px;border:1px solid rgba(23,56,74,.12);border-radius:9px;background:#f8fbfb;user-select:text;cursor:text}.pdf-text-layer-label{margin-bottom:10px;color:var(--navy-soft);font-size:0.625rem;font-weight:700;letter-spacing:.1em}.pdf-text-layer p{max-width:none;margin:0;color:#263a42;font-size:0.9375rem;line-height:2;white-space:pre-wrap}.pdf-text-layer ::selection{background:#b8e3e7;color:#17384a}.selection-empty{padding:11px;border:1px dashed var(--line-strong);border-radius:9px;color:var(--muted);font-size:0.6875rem;line-height:1.6}.selection-label{margin-bottom:8px;color:var(--navy-soft);font-size:0.625rem;font-weight:700}.selection-original,.selection-translation{padding:9px;border-radius:8px;color:#334b53;font-size:0.6875rem;line-height:1.7;white-space:pre-wrap}.selection-original{background:var(--gel-pale)}.selection-translation{margin-top:6px;background:var(--coral-pale);color:#684d47}.selection-translate-button{width:100%;min-height:34px;margin-top:9px;font-size:0.6875rem}.reader-assistant{min-width:0}.reader-assistant .assistant-card{overflow:hidden}.reader-assistant .assistant-action-stack{display:flex;gap:7px;flex-wrap:wrap}.reader-assistant .assistant-action-stack .secondary-button{min-height:34px;font-size:0.6875rem}@media(min-width:1200px){.pdf-page-card{padding:24px}.pdf-text-layer{padding:25px 30px}.pdf-text-layer p{font-size:1rem;line-height:2.05}}@media(max-width:680px){.pdf-page-card{padding:11px}.pdf-page-head{display:block}.pdf-page-head small{display:block;max-width:100%;margin-top:5px}.pdf-text-layer{padding:13px}.pdf-text-layer p{font-size:0.875rem;line-height:1.85}}


/* Final four-issue polish */
.reader-toolbar-actions [data-reader-tab]{display:none}.pdf-page-image{image-rendering:auto;width:100%;max-height:none}.pdf-text-layer{font-size:1rem}.pdf-text-layer p{font-size:1rem;line-height:2.1}.document-pdf-mode .document-page{padding-left:24px;padding-right:24px}.document-pdf-mode .pdf-reading-surface{max-width:none}.selection-translation{font-size:0.8125rem;line-height:1.8}.selection-original{font-size:0.8125rem;line-height:1.8}.patent-toolbar .paper-search-wrap .library-search{border:0;background:transparent}.patent-open-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.patent-open-options button{font-size:0.6875rem}@media(min-width:1200px){.pdf-page-card{padding:28px}.pdf-text-layer{padding:26px 32px}.pdf-text-layer p{font-size:1.0625rem;line-height:2.12}}

/* 2026-08-31: make the paper assistant follow the document scroll on desktop. */
@media(min-width:901px){
  .reader-layout{align-items:start;}
  .reader-main{overflow:visible;height:auto;min-height:0;}
  .reader-main .document-page{overflow:visible;min-height:0;}
  .reader-assistant{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 116px);overflow-y:auto;overscroll-behavior:contain;}
}
@media(max-width:900px){
  .reader-main{overflow:hidden;}
  .reader-main .document-page{overflow:auto;}
  .reader-assistant{position:static;max-height:none;overflow:visible;}
}
.pdf-reading-surface .pdf-page-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;}
.pdf-reading-surface .pdf-page-card{padding:22px;background:#fff;}
@media(min-width:1200px){.pdf-reading-surface .pdf-page-card{padding:30px 34px;}}


/* 2026-08-31: two-column reader after removing translation and AI assistant. */
@media(min-width:901px){
  .reader-layout-no-assistant{grid-template-columns:255px minmax(0,1fr);}
  .reader-layout-no-assistant .reader-main{grid-column:2;}
}
@media(max-width:900px){
  .reader-layout-no-assistant{grid-template-columns:1fr;}
  .reader-layout-no-assistant .reader-main{grid-column:1;}
}


/* Editorial + dashboard local-reference refresh — 2026-08-31 */
:root{
  --paper:#dceff2;
  --paper-deep:#d2e7eb;
  --ink:#18313f;
  --muted:#607981;
  --line:rgba(24,49,63,.13);
  --line-strong:rgba(24,49,63,.22);
  --navy:#164a60;
  --navy-soft:#2f7487;
  --gel:#78afba;
  --gel-pale:#e8f3f3;
  --coral:#b86f5b;
  --coral-pale:#f4e6df;
  --shadow:0 12px 34px rgba(24,49,63,.055);
  --radius-xl:20px;
  --radius-lg:14px;
  --font-display:"Iowan Old Style","Palatino Linotype",Georgia,"Songti SC","STSong",serif;
}
html,body{background:var(--paper);color:var(--ink)}
body{background-image:linear-gradient(180deg,rgba(255,255,255,.15),transparent 38%)}
.topbar{background:rgba(247,246,240,.9);border-bottom-color:var(--line);box-shadow:0 1px 0 rgba(255,255,255,.5)}
.sidebar{background:rgba(229,241,241,.86);border-right-color:var(--line)}
.global-search,.profile-switcher,.current-person-card{background:rgba(252,250,245,.72);color:var(--ink)}
.global-search input{color:var(--ink)}
.global-search kbd{background:transparent;color:var(--muted)}
.brand-button strong{font-size:1.3125rem;letter-spacing:.01em}
.brand-button small,.eyebrow,.project-space-label,.card-kicker{font-family:Consolas,"SFMono-Regular",monospace;letter-spacing:.14em}
.nav-item{border:1px solid transparent;border-radius:9px;color:#627a81}
.nav-item:hover{background:rgba(252,250,245,.68);border-color:var(--line);color:var(--ink)}
.nav-item.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:none}
.main-content{max-width:1500px;padding-top:42px}
.page-heading{position:relative;align-items:flex-end;margin-bottom:34px;padding-bottom:23px}
.page-heading::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--line-strong),var(--line),transparent)}
.page-heading h1{font-size:clamp(2.125rem,4.5vw,3.625rem);font-weight:400;letter-spacing:-.045em;line-height:1.03}
.page-heading p{font-size:0.8125rem;line-height:1.85}
.primary-button,.secondary-button{border-radius:8px;box-shadow:none}
.primary-button{background:var(--navy)}
.secondary-button{background:rgba(252,250,245,.72);border-color:var(--line)}
.card,.person-entry,.reader-sidebar,.reader-main,.project-group-card,.research-hero,.shared-hero{background:rgba(252,250,245,.88);border-color:var(--line);box-shadow:var(--shadow);color:var(--ink)}
.card:hover,.person-entry:hover,.project-group-card:hover{background:rgba(255,254,250,.96);border-color:var(--line-strong);box-shadow:0 14px 38px rgba(24,49,63,.07)}
.hero-strip{background:rgba(252,250,245,.78);border-color:var(--line);border-radius:16px;box-shadow:none}
.hero-strip::after{opacity:.62}
.hero-strip h2{font-weight:400;letter-spacing:-.025em}
.hero-signal span{background:transparent;border-color:var(--line);border-radius:4px}
.section-block{margin-top:42px}
.section-title{margin-bottom:17px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.section-title h2,.panel-header h3{font-weight:400;letter-spacing:-.018em}
.focus-card{min-height:184px;padding:21px;border-radius:13px;box-shadow:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.focus-card:hover{transform:translateY(-2px)}
.focus-card::before{display:none}
.focus-card::after{position:absolute;right:17px;bottom:5px;font-family:var(--font-display);font-size:4rem;line-height:1;color:rgba(24,49,63,.065);letter-spacing:-.08em;pointer-events:none}
.focus-card:nth-child(1)::after{content:"01"}
.focus-card:nth-child(2)::after{content:"02"}
.focus-card:nth-child(3)::after{content:"03"}
.focus-card h3{font-size:1.3125rem;font-weight:400;max-width:75%}
.focus-card .card-action{z-index:1}
.tone-gel{background:linear-gradient(180deg,rgba(232,243,243,.94),rgba(252,250,245,.92))}
.tone-fiber{background:linear-gradient(180deg,rgba(237,235,246,.94),rgba(252,250,245,.92))}
.tone-coral{background:linear-gradient(180deg,rgba(246,233,227,.94),rgba(252,250,245,.92))}
.tone-green{background:linear-gradient(180deg,rgba(231,240,235,.94),rgba(252,250,245,.92))}
.panel{padding:23px}
.metric-row{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metric{position:relative;padding:15px 14px;background:transparent;border-radius:0}
.metric:not(:last-child){border-right:1px solid var(--line)}
.metric strong{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:-.03em}
.timeline-item{grid-template-columns:76px 14px 1fr}
.timeline-date{font-family:Consolas,"SFMono-Regular",monospace;font-size:0.5625rem;letter-spacing:.04em}
.project-group-grid{gap:16px}
.project-group-card{position:relative;overflow:hidden;min-height:276px;border-radius:14px;padding:23px}
.project-group-card::before{position:absolute;right:18px;top:4px;font-family:var(--font-display);font-size:4.5rem;line-height:1;color:rgba(24,49,63,.06);letter-spacing:-.09em;pointer-events:none}
.project-group-card:nth-child(1)::before{content:"01"}
.project-group-card:nth-child(2)::before{content:"02"}
.project-group-card:nth-child(3)::before{content:"03"}
.project-group-card:nth-child(4)::before{content:"04"}
.project-group-head,.project-edit-label,.project-meta,.project-open-button{position:relative;z-index:1}
.project-symbol{border-radius:7px;background:rgba(216,237,239,.68);border:1px solid var(--line)}
.project-title-input{font-family:var(--font-display);font-size:1.5625rem!important;font-weight:400;letter-spacing:-.025em}
.project-desc-input{line-height:1.75}
.project-open-button{border-radius:7px}
.landing{max-width:1140px}
.landing-head{margin-top:20px;margin-bottom:40px}
.landing-head h1{font-size:clamp(3.375rem,7vw,5.125rem);font-weight:400;letter-spacing:-.065em}
.landing-head p{max-width:590px;font-size:0.8125rem;line-height:1.85}
.people-stage{gap:24px}
.person-entry{border-radius:18px;box-shadow:none}
.person-entry::before{inset:12px;border-radius:13px;opacity:.075}
.person-entry h2{font-weight:400;font-size:1.8125rem;letter-spacing:-.03em}
.landing-foot{padding-top:22px;border-top:1px solid var(--line)}
.landing-foot span{font-family:Consolas,"SFMono-Regular",monospace;letter-spacing:.08em;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media(max-width:900px){
  .main-content{padding-top:32px}
  .page-heading h1{font-size:clamp(2rem,7vw,3rem)}
  .focus-card::after,.project-group-card::before{font-size:3.25rem}
}
@media(max-width:680px){
  .page-heading{padding-bottom:18px}
  .metric-row{grid-template-columns:repeat(2,1fr)}
  .metric:nth-child(2){border-right:0}
  .metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .people-stage{gap:14px}
  .landing-head h1{font-size:3.125rem}
}


/* Editorial project-card footer alignment fix */
.project-group-card{display:flex;flex-direction:column}
.project-group-card .project-meta{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.project-open-button{position:static!important;right:auto!important;bottom:auto!important;align-self:flex-end;margin-top:12px;min-height:34px}
@media(max-width:680px){.project-open-button{width:100%;align-self:stretch}}


/* Release layout: the reader uses the full content width after the assistant column was removed. */
.papers-view .main-content{max-width:none;width:100%;padding-left:clamp(22px,3vw,52px);padding-right:clamp(22px,3vw,52px)}
.papers-view .reader-layout-no-assistant{width:100%;grid-template-columns:255px minmax(0,1fr)}
.papers-view .reader-layout-no-assistant .reader-main{min-width:0;width:100%}
.papers-view .document-page{max-width:none;width:100%}

/* Weather panel */
.weather-panel{padding:24px;overflow:hidden;background:rgba(252,250,245,.88)}
.weather-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.weather-panel-head h2{margin:7px 0 5px;font-family:var(--font-display);font-size:1.75rem;font-weight:400;letter-spacing:-.03em}
.weather-panel-head p{margin:0;color:var(--muted);font-size:0.75rem;line-height:1.7}
.weather-location{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.weather-location input{width:170px;min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.7);color:var(--ink);outline:0;font-size:0.75rem}
.weather-location .secondary-button{min-height:38px;font-size:0.6875rem;padding:0 11px}
.weather-location-label{padding:13px 0;color:var(--muted);font-size:0.6875rem}
.weather-location-label strong{color:var(--navy-soft);font-weight:700}
.weather-current{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 0 20px}
.weather-current-icon{font-size:3rem;line-height:1}
.weather-current>div:nth-child(2) strong{display:block;font-family:var(--font-display);font-size:2.75rem;font-weight:400;line-height:1;letter-spacing:-.05em}
.weather-current>div:nth-child(2) span{display:block;margin-top:8px;color:var(--navy-soft);font-size:0.75rem}
.weather-current-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:var(--muted);font-size:0.6875rem}
.weather-forecast{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.weather-day{min-height:92px;padding:13px 12px;border-right:1px solid var(--line)}
.weather-day:last-child{border-right:0}
.weather-day>span{display:block;color:var(--muted);font-family:Consolas,"SFMono-Regular",monospace;font-size:0.625rem}
.weather-day strong{display:block;margin-top:10px;color:var(--navy-soft);font-size:0.75rem;font-weight:600;white-space:nowrap}
.weather-day small{display:block;margin-top:7px;color:var(--muted);font-size:0.625rem;line-height:1.45}
.weather-loading,.weather-error,.weather-empty{padding:18px;border-radius:9px;background:var(--gel-pale);color:var(--navy-soft);font-size:0.75rem;line-height:1.7}
.weather-error{background:var(--coral-pale);color:#934f41}
@media(max-width:820px){
  .weather-panel-head{display:block}
  .weather-location{justify-content:flex-start;margin-top:16px}
  .weather-current{grid-template-columns:auto 1fr}
  .weather-current-meta{grid-column:1/-1;align-items:flex-start;flex-direction:row;flex-wrap:wrap}
  .weather-forecast{grid-template-columns:repeat(2,minmax(0,1fr))}
  .weather-day:nth-child(2n){border-right:0}
  .weather-day:nth-child(-n+3){border-bottom:1px solid var(--line)}
}
@media(max-width:680px){
  .weather-panel{padding:18px}
  .weather-location input{width:100%}
  .weather-location .secondary-button{flex:1}
  .weather-current-icon{font-size:2.375rem}
  .weather-current>div:nth-child(2) strong{font-size:2.25rem}
}


/* Mobile navigation: keep the same full navigation as desktop in an off-canvas drawer. */
.sidebar-backdrop{display:none}
@media(max-width:900px){
  body.mobile-sidebar-open{overflow:hidden}
  .sidebar-backdrop{position:fixed;inset:68px 0 0;background:rgba(24,49,63,.28);backdrop-filter:blur(2px);z-index:20}
  .mobile-sidebar-open .sidebar-backdrop{display:block}
  .app-shell .sidebar{position:fixed;left:0;top:68px;bottom:0;width:min(300px,84vw);height:auto;display:flex;z-index:30;overflow-y:auto;padding:20px 16px 24px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:14px 0 34px rgba(24,49,63,.13)}
  .mobile-sidebar-open .sidebar{transform:translateX(0)}
  #app.mobile-sidebar-open{z-index:25}
  .mobile-sidebar-open .sidebar .current-person-card>div:not(.avatar-large),.mobile-sidebar-open .sidebar .online-dot,.mobile-sidebar-open .sidebar .nav-label,.mobile-sidebar-open .sidebar .nav-item{font-size:inherit}
  .mobile-sidebar-open .sidebar .nav-item{justify-content:flex-start;padding:11px 12px}
  .mobile-sidebar-open .sidebar .nav-item span{font-size:inherit}
  .mobile-sidebar-open .sidebar .current-person-card{justify-content:flex-start;padding:10px}
}
@media(max-width:680px){
  .app-shell .sidebar{top:68px}
}

/* Backdrop is outside #app, so mirror the drawer state with :has(). */
@media(max-width:900px){
  body:has(#app.mobile-sidebar-open) .sidebar-backdrop{display:block}
}


/* Patent release page: external search only, centered library surface. */
.patent-external-toolbar{max-width:1120px;margin:0 auto;padding:18px 0 0}
.patent-external-toolbar .paper-search-wrap{max-width:680px;margin:0 auto}
.patent-external-toolbar .patent-open-options{justify-content:center;margin-top:12px}
.patent-library-full{width:min(1120px,100%);margin:30px auto 0;padding:24px;border:1px solid var(--line);border-radius:16px;background:rgba(252,250,245,.88);box-shadow:var(--shadow)}
.patent-library-full .section-title{margin-bottom:20px}
.patent-library-full-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.patent-library-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.62)}
.patent-library-card-main{min-width:0}
.patent-library-card h3{margin:10px 0 7px;font-family:var(--font-display);font-size:1.1875rem;font-weight:400;line-height:1.35}
.patent-library-card p{margin:0;color:var(--muted);font-size:0.75rem;line-height:1.7}
.patent-library-card .patent-library-actions{display:flex;flex:0 0 auto;align-items:center;gap:9px}
.patent-library-empty{min-height:150px;display:grid;place-content:center;text-align:center}
@media(max-width:760px){.patent-library-full{padding:18px}.patent-library-full-list{grid-template-columns:1fr}.patent-library-card{display:block}.patent-library-card .patent-library-actions{justify-content:flex-end;margin-top:14px}}


/* Mobile release fixes: keep the menu trigger visible and enlarge patent source links. */
@media(max-width:900px){
  .sidebar-toggle-button{display:inline-flex;align-items:center;justify-content:center;}
}
.patent-external-toolbar{padding:22px 0 8px}
.patent-external-title{text-align:center;margin-bottom:15px}
.patent-external-title h2{margin:7px 0 4px;font-family:var(--font-display);font-size:1.6875rem;font-weight:400}
.patent-external-title p{margin:0;color:var(--muted);font-size:0.75rem}
.patent-external-toolbar .patent-open-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:15px}
.patent-external-toolbar .patent-open-options .secondary-button{min-height:48px;padding:0 12px;font-size:0.8125rem;white-space:nowrap}
.home-empty-note{margin:0;color:var(--muted);font-size:0.75rem;line-height:1.75}
@media(max-width:900px){.patent-external-toolbar .patent-open-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.patent-external-toolbar .patent-open-options{grid-template-columns:1fr}.patent-external-toolbar .patent-open-options .secondary-button{width:100%}}



/* Shared online gallery release. */
.shared-release-page{max-width:1180px;margin:0 auto;padding-bottom:40px}
.shared-release-hero .page-heading{margin-bottom:20px}
.shared-release-literature,.shared-release-gallery{margin-top:18px}
.shared-release-literature .panel-header,.shared-release-gallery .panel-header,.gallery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.shared-panel-actions{display:flex;gap:8px;flex-wrap:wrap}.shared-paper-list{display:grid;gap:9px;margin-top:18px}.shared-paper-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.42)}.shared-paper-main{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;background:transparent;text-align:left}.shared-paper-main strong{font-size:0.875rem}.shared-paper-main span{color:var(--muted);font-size:0.6875rem}.shared-paper-row .paper-delete{flex:none}
.shared-release-literature .panel-header h2,.shared-release-gallery .panel-header h2,.gallery-head h2{margin:0 0 7px;font-family:var(--font-display);font-size:1.6875rem;font-weight:400}
.shared-release-literature .panel-header p,.shared-release-gallery .panel-header p,.gallery-head p{margin:0;color:var(--muted);font-size:0.8125rem}
.shared-paper-empty,.gallery-empty{min-height:120px;margin-top:18px;border:1px dashed var(--line-strong);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:22px;color:var(--muted);text-align:center}
.shared-paper-empty strong{color:var(--navy);font-size:1.0625rem}
.shared-paper-empty p{margin:0;color:var(--muted);font-size:0.8125rem}
.gallery-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.gallery-preview img{width:100%;height:190px;object-fit:cover;border-radius:12px;background:var(--paper-deep)}
.gallery-page{max-width:1180px;margin:0 auto;padding-bottom:40px}
.gallery-head{padding-bottom:18px;border-bottom:1px solid var(--line)}
.gallery-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.gallery-upload-form{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(252,250,245,.76)}
.gallery-form-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.gallery-form-title strong{font-size:1.125rem}.gallery-form-title span{color:var(--muted);font-size:0.75rem}
.gallery-form-grid{display:grid;grid-template-columns:1.1fr 1.5fr .8fr .9fr;gap:12px}.gallery-form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:0.75rem}.gallery-form-grid input,.gallery-form-grid textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:0.8125rem}.gallery-description{grid-column:1/-1}.gallery-upload-actions{display:flex;align-items:center;gap:12px;margin-top:15px}.gallery-upload-actions small{color:var(--muted);font-size:0.6875rem}.gallery-list-head{display:flex;align-items:baseline;justify-content:space-between;margin-top:26px}.gallery-list-head h3{margin:0;font-family:var(--font-display);font-size:1.375rem;font-weight:400}.gallery-list-head span{color:var(--muted);font-size:0.75rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px}.gallery-photo-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:rgba(252,250,245,.86)}.gallery-photo-card img{display:block;width:100%;height:230px;object-fit:cover;background:var(--paper-deep)}.gallery-photo-copy{padding:12px 13px 14px}.gallery-photo-meta{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.gallery-photo-meta strong{font-size:0.875rem}.gallery-photo-meta span,.gallery-photo-copy small{color:var(--muted);font-size:0.6875rem}.gallery-photo-copy p{margin:7px 0;color:var(--muted);font-size:0.75rem;line-height:1.55}.gallery-photo-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.gallery-delete-button{padding:3px 7px;border:1px solid rgba(163,82,66,.22);border-radius:6px;background:transparent;color:#a35242;font-size:0.6875rem}.gallery-delete-button:hover{background:var(--coral-pale)}.gallery-error{color:#a35242}.gallery-empty button{margin-top:4px}
@media(max-width:900px){.shared-release-page,.gallery-page{padding:0 0 28px}.shared-release-literature .panel-header,.shared-release-gallery .panel-header,.gallery-head{flex-direction:column}.shared-panel-actions{width:100%}.gallery-form-grid{grid-template-columns:1fr 1fr}.gallery-description{grid-column:1/-1}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo-card img{height:170px}.gallery-preview img{height:140px}.gallery-upload-actions{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:520px){.gallery-form-grid{grid-template-columns:1fr}.gallery-description{grid-column:auto}.gallery-grid,.gallery-preview{grid-template-columns:1fr}.gallery-photo-card img{height:220px}.gallery-form-title{align-items:flex-start;flex-direction:column;gap:5px}}
