:root{--bg:#eef7f5;--panel:#ffffff;--panel-strong:#f8fbfd;--panel-hover:#f1faf7;--surface-strong:#eef7f5;--sidebar-bg:#e6f2ef;--sidebar-line:#d1e3df;--sidebar-hover:rgba(213,233,228,0.66);--sidebar-active:rgba(202,225,220,0.84);--sidebar-active-border:rgba(128,170,162,0.3);--sidebar-hover-text:#496963;--sidebar-active-text:#294f4b;--sidebar-muted:#5c7472;--line:#dde8ef;--text:#172238;--muted:#6f7f92;--accent:#13a892;--accent-deep:#0f766e;--accent-soft:rgba(19,168,146,0.1);--tag:#eef5f7;--timeline:#b9ded8;--blue-soft:#e8f6f3;--blue-text:#0f766e;--amber-soft:#fff5df;--amber-text:#9a5a00;--font-ui:Inter,Arial,"PingFang SC","Microsoft YaHei",sans-serif;--font-content:"Noto Serif SC","Songti SC",STSong,SimSun,serif}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--sidebar-line);background:linear-gradient(180deg,rgba(250,253,252,.72) 0,rgba(230,242,239,.96) 42%,rgba(225,238,235,1) 100%),var(--sidebar-bg);padding:42px 18px 24px}.brand{display:flex;gap:10px;padding:10px 10px 24px;font-size:20px;font-weight:700;letter-spacing:0;text-align:center}.brand,.brand-mark{align-items:center;justify-content:center}.brand-mark{background:linear-gradient(135deg,#16b7a0,#0f8f7d);border-radius:8px;color:#fff;display:inline-flex;font-size:16px;height:34px;line-height:1;width:34px}.brand-text span{color:var(--accent)}.nav-section{margin-top:20px}.nav-title{font-size:12px;margin:0 0 10px}.nav-link,.nav-title{color:var(--sidebar-muted)}.nav-link{align-items:center;display:flex;gap:12px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:400;line-height:1.35;padding:12px 13px;margin-bottom:8px}.nav-link svg{flex:0 0 auto;height:18px;width:18px}.nav-link.active,.nav-link:hover{border-color:var(--sidebar-active-border);box-shadow:0 8px 18px rgba(37,59,80,.035)}.nav-link:hover{background:var(--sidebar-hover);color:var(--sidebar-hover-text)}.nav-link.active{background:var(--sidebar-active);box-shadow:0 8px 18px rgba(37,59,80,.035);color:var(--sidebar-active-text)}.mobile-nav{display:none}.main{display:flex;flex-direction:column;min-width:0;padding:24px 32px 56px}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.5;margin-top:40px;padding-top:18px;text-align:center}.site-footer a{color:inherit}.site-footer a:hover{color:var(--accent-deep)}.daily-layout+.site-footer,.feedback-page+.site-footer{display:none}.toolbar{border-bottom:1px solid var(--line);margin-bottom:22px;padding:2px 0 18px}.toolbar h1{margin:0 0 6px;font-size:28px}.toolbar p{margin:0;color:var(--muted)}.feed-toolbar h1{font-size:16px;font-weight:700;line-height:1.45}.feed-toolbar p{font-size:13px;line-height:1.5}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.source-filters{margin-top:18px}.feed-toolbar .source-filters{margin-top:0}.filter-label{color:var(--accent-deep);flex:0 0 auto;font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1;margin-right:2px;white-space:nowrap}.filter{font-size:15px;font-weight:400;line-height:1.45;border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--muted);background:var(--panel-strong)}.filter.active{background:var(--accent-soft);border-color:rgba(19,168,146,.35);color:var(--accent)}.daily-items,.timeline{display:grid;grid-gap:14px;gap:14px;min-width:0}.date-group .timeline{border-left:1px solid var(--timeline);padding-left:18px;position:relative}.date-label{align-self:start;color:#233047;display:grid;grid-gap:3px;gap:3px;justify-items:end;line-height:1.3;margin:18px 0 0;text-align:right}.date-label span{color:#718096;font-size:13px}.date-label strong{color:var(--text);font-size:21px;font-weight:800}@media (min-width:861px){.sidebar>.nav-section .nav-link{font-size:15px}.sidebar>.nav-section .nav-link.active,.sidebar>.nav-section .nav-link:hover{border-color:rgba(19,168,146,.28);box-shadow:0 8px 18px rgba(37,59,80,.02)}.sidebar>.nav-section .nav-link:hover{background:rgba(19,168,146,.07);color:var(--accent-deep)}.sidebar>.nav-section .nav-link.active{background:var(--accent-soft);color:var(--accent-deep)}.date-label,.date-label span,.date-label strong{color:var(--accent)}}.date-group+.date-group{margin-top:26px}.date-group{display:grid;grid-template-columns:86px minmax(0,1fr);grid-gap:22px;gap:22px;min-width:0}.feed-page-surface{background:transparent;border:0;border-radius:8px;padding:0}.feed-card{display:block;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);overflow:hidden;padding:17px 18px;position:relative;box-shadow:0 10px 28px rgba(37,59,80,.035);transition:border-color .16s ease,transform .16s ease,background .16s ease}.date-group .timeline .feed-card:before{background:var(--accent);border:3px solid var(--bg);border-radius:999px;content:"";height:9px;left:-24px;position:absolute;top:21px;width:9px}.feed-card:hover{border-color:rgba(19,168,146,.38);background:var(--panel-hover);transform:translateY(-1px)}.feed-meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;font-size:12px;margin-bottom:10px}.source-name{color:#718096;font-weight:600}.feed-time{color:#8a98aa}.feed-card h2{color:var(--text);font-size:18px;font-weight:700;line-height:1.45;margin:0 0 10px;overflow-wrap:anywhere}.daily-module .feed-card h2{font-size:16px;line-height:1.45}.feed-card p{color:#4b5d73;font-family:var(--font-content);font-size:13px;line-height:1.8;margin:0 0 14px;overflow-wrap:anywhere}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--tag);border-radius:6px;color:#617685;font-size:12px;max-width:100%;overflow-wrap:anywhere;padding:5px 8px}.tag:first-child{background:var(--blue-soft);color:var(--blue-text)}.featured{align-items:center;background:var(--amber-soft);border:1px solid rgba(220,154,32,.32);border-radius:999px;color:var(--amber-text);display:inline-flex;line-height:1;padding:3px 7px}.daily-layout{display:grid;grid-template-columns:210px minmax(0,1fr);grid-gap:32px;gap:32px;height:calc(100vh - 80px);justify-content:start;margin:0;max-width:none;min-height:0;overflow:hidden}.daily-content,.form-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.date-list{align-self:start;background:transparent;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:4px 0;scrollbar-width:none;width:210px}.date-list::-webkit-scrollbar{display:none}.mobile-date-picker{display:none}.latest-report{background:var(--bg);border:1px solid var(--line);border-radius:8px;display:block;margin-bottom:28px;padding:18px;text-align:center}.latest-report strong{color:var(--accent-deep);display:block;font-size:14px;line-height:1.35;margin-bottom:8px}.latest-report span{color:#77bba9;display:block;font-size:14px;letter-spacing:.08em}.latest-report.active{background:var(--panel-hover);border-color:rgba(19,168,146,.28)}.date-month-group{border-bottom:1px solid #e2eaf0;padding:0 0 14px}.date-month-group+.date-month-group{margin-top:16px}.date-month-group summary{align-items:center;color:#667789;cursor:pointer;display:grid;font-size:14px;font-weight:700;grid-template-columns:18px minmax(0,1fr);list-style:none;border-radius:8px;padding:10px 12px}.date-month-group summary::-webkit-details-marker{display:none}.date-month-group summary:before{border-bottom:2px solid #9badc0;border-right:2px solid #9badc0;content:"";height:8px;transform:rotate(-45deg);transition:transform .16s ease;width:8px}.date-month-group[open] summary:before{transform:rotate(45deg)}.date-month-group[open] summary{background:#e5f4ef;color:var(--accent-deep)}.date-month-group[open] summary:before{border-color:var(--accent-deep)}.month-report-list{display:grid;grid-gap:6px;gap:6px;padding-top:6px}.date-row{background:var(--bg);display:grid;grid-gap:14px;gap:14px;grid-template-columns:42px minmax(0,1fr);border-radius:8px;color:var(--muted);padding:10px 12px}.date-row strong{line-height:1.35}.date-row span,.date-row strong{color:#667789;display:block;font-size:14px}.date-row span{line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-row.active{background:#e5f4ef;box-shadow:none}.date-row.active,.date-row.active span,.date-row.active strong{color:var(--accent-deep)}.daily-content{align-content:start;background:transparent;border:0;display:grid;grid-template-columns:minmax(0,1080px);justify-content:center;justify-self:stretch;max-width:none;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:46px 54px;scrollbar-width:none;width:100%}.daily-content::-webkit-scrollbar{display:none}.daily-content>.feed-meta{justify-content:center;letter-spacing:.1em;text-transform:uppercase}.daily-heading{font-size:48px;letter-spacing:0;margin:0 0 38px;text-align:center}.daily-subtitle{color:var(--muted);margin:0 0 34px;text-align:center}.daily-module{border-top:0;padding:34px 0}.daily-module:first-of-type{border-top:1px solid var(--line);padding-top:52px}.daily-items{gap:18px}.daily-module-heading{align-items:baseline;display:grid;grid-gap:14px;gap:14px;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:26px}.module-number{color:var(--accent);font-size:44px;font-weight:800;letter-spacing:0;line-height:1}.daily-module-heading h2{font-size:27px;line-height:1.2;margin:0}.module-count{color:var(--accent-deep);font-size:12px;font-weight:700;justify-self:end}.feedback-page{align-items:start;display:grid;justify-items:center;min-height:calc(100vh - 80px);padding-top:72px}.form-panel{max-width:720px;padding:22px;width:min(720px,100%)}.form-panel,.form-panel .field input,.form-panel .field select,.form-panel .field textarea,.form-panel option{background:var(--panel-hover)}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.field label,.field>span{color:var(--muted)}.field>span{font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:10px 12px}.button{border:1px solid rgba(45,212,191,.45);border-radius:8px;background:var(--accent-soft);color:var(--accent);cursor:pointer;padding:10px 14px}.button:disabled{cursor:wait;opacity:.7}.button.secondary{border-color:var(--line);background:#fff;color:#334155}.form-status{color:var(--accent);margin:14px 0 0}.form-status.error{color:#f87171}.empty-state{border:1px dashed var(--line);border-radius:8px;color:var(--muted);margin:0;padding:18px}.changelog-timeline{display:grid;grid-gap:54px;gap:54px;margin:0 auto;max-width:820px;padding-top:22px}.changelog-month-entries,.changelog-month-group,.changelog-year-group{display:grid}.changelog-year-group{gap:34px}.changelog-month-group{gap:20px}.changelog-month-entries{gap:30px}.changelog-year-label{color:var(--accent-deep);font-size:27px;font-weight:750;line-height:1.1;margin:0}.changelog-month-label{border-top:1px solid var(--line);color:var(--accent-deep);font-size:15px;font-weight:700;line-height:1.3;margin:0 0 -2px 100px;padding-top:18px}.changelog-entry{display:grid;grid-gap:28px;gap:28px;grid-template-columns:72px minmax(0,1fr);position:relative}.changelog-entry:before{background:var(--timeline);bottom:-30px;content:"";left:100px;position:absolute;top:28px;width:1px}.changelog-entry:last-child:before{display:none}.changelog-date{color:var(--accent-deep);font-family:var(--font-content);font-size:20px;font-weight:700;line-height:1.3;padding-top:10px;text-align:right}.changelog-card{border-left:1px solid var(--line);padding:14px 0 18px 26px;position:relative}.changelog-card:before{background:var(--accent);border:4px solid #e9f7f4;border-radius:999px;content:"";height:8px;left:-7px;position:absolute;top:18px;width:8px}.changelog-card .feed-meta{color:var(--accent-deep);font-size:11px;font-weight:700;letter-spacing:.18em;margin:0 0 10px}.changelog-card h3{color:var(--text);font-size:18px;font-weight:700;line-height:1.45;margin:0 0 8px}.changelog-card p{color:#5a6b80;font-family:var(--font-content);font-size:14px;line-height:1.8;margin:0}.review-login{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,360px) auto;margin-top:18px}.review-login .field{margin:0}.review-board{display:grid;grid-gap:16px;gap:16px}.review-summary{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;padding:12px}.review-summary,.review-tools{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.review-tools{display:grid;grid-gap:14px;gap:14px;padding:14px}.review-filter-block{display:grid;grid-gap:10px;gap:10px}.review-filter-head{align-items:center;color:var(--muted);display:flex;font-size:13px;font-weight:700;justify-content:space-between}.review-text-button{background:transparent;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:0}.review-chip-list{display:flex;flex-wrap:wrap;gap:8px}.review-chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;font:inherit;font-size:14px;padding:8px 12px}.review-chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-deep)}.review-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.review-actions .field{margin:0;min-width:180px}.compact-field span{font-size:12px}.review-list{display:grid;grid-gap:14px;gap:14px}.review-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px}.review-card-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.review-source{color:var(--accent);font-size:12px}.review-select{align-items:center;color:var(--accent-deep);display:inline-flex;font-size:13px;font-weight:700;gap:6px;margin-bottom:8px}.review-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.review-checkbox{align-items:center;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:8px;min-height:42px;padding:0 12px}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:auto;border-bottom:1px solid var(--sidebar-line);border-right:0;padding:8px 18px}.sidebar>.brand,.sidebar>.nav-section{display:none}.mobile-nav{display:block;position:relative}.mobile-nav>summary{align-items:center;background:var(--panel-hover);border:1px solid var(--sidebar-line);border-radius:8px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;list-style:none;padding:8px 12px}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav>summary:after{border-bottom:2px solid #8aa0b5;border-right:2px solid #8aa0b5;content:"";flex:0 0 auto;height:8px;transform:rotate(45deg);transition:transform .16s ease;width:8px}.mobile-nav[open]>summary:after{transform:rotate(225deg)}.mobile-current,.mobile-nav-brand{align-items:center;display:flex;min-width:0}.mobile-nav-brand{gap:8px}.mobile-nav .brand-mark{border-radius:7px;font-size:13px;height:28px;width:28px}.mobile-nav .brand-text{font-size:16px;font-weight:700;white-space:nowrap}.mobile-current{color:var(--accent);flex:0 0 auto;font-size:14px;font-weight:400;gap:6px;margin-left:auto;white-space:nowrap}.mobile-current svg{height:16px;width:16px}.mobile-nav-panel{background:var(--sidebar-bg);border:1px solid var(--sidebar-line);border-radius:8px;box-shadow:0 18px 46px rgba(37,59,80,.14);display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));left:0;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:50}.mobile-nav-panel .nav-link{font-size:14px;gap:7px;margin-bottom:0;min-width:0;padding:9px 10px;white-space:nowrap}.mobile-nav-panel .nav-link svg{height:16px;width:16px}.main{min-width:0;overflow-x:hidden;padding:20px}.filter{font-size:15px}.filters{align-items:center;flex-wrap:nowrap;gap:7px;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{flex:0 0 auto}.daily-layout{grid-template-columns:1fr;gap:12px;height:auto;overflow:visible}.date-list{display:none}.mobile-date-picker{display:block;margin-bottom:0;position:relative;z-index:10}.mobile-date-picker>summary{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;grid-gap:0 10px;gap:0 10px;grid-template-columns:auto auto minmax(0,1fr);list-style:none;padding:14px 15px}.mobile-date-picker>summary::-webkit-details-marker{display:none}.mobile-date-picker>summary:before{border-bottom:2px solid var(--accent-deep);border-right:2px solid var(--accent-deep);content:"";height:8px;grid-column:1;grid-row:1;position:relative;top:-1px;transform:rotate(45deg);transition:transform .16s ease;width:8px}.mobile-date-picker[open]>summary:before{transform:rotate(225deg)}.mobile-date-picker>summary span{color:var(--accent-deep);font-size:12px;grid-column:2;grid-row:1;line-height:1}.mobile-date-picker>summary strong{color:var(--accent-deep);font-size:16px;grid-column:3;grid-row:1;justify-self:end;line-height:1}.mobile-date-panel{background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 46px rgba(37,59,80,.14);left:0;max-height:70vh;overflow:auto;padding:14px;position:absolute;right:0;top:calc(100% + 8px)}.mobile-date-panel .latest-report{margin-bottom:16px}.daily-content{max-height:none;overflow-y:visible;padding:22px 22px 30px;scrollbar-gutter:auto}.daily-module-heading{align-items:baseline;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.module-count{grid-column:auto;justify-self:end}.feedback-page{min-height:auto;padding-top:18px}.changelog-timeline{gap:42px;padding-top:6px}.changelog-year-group{gap:30px}.changelog-month-group{gap:16px}.changelog-month-entries{gap:28px}.changelog-year-label{font-size:27px}.changelog-month-label{font-size:15px;margin-left:0;padding-top:16px}.changelog-entry{gap:4px 8px;grid-template-columns:22px auto minmax(0,1fr)}.changelog-entry:before{background:var(--timeline);bottom:-28px;content:"";display:block;left:10px;position:absolute;top:14px;width:1px}.changelog-entry:after{background:var(--accent);border:4px solid var(--bg);border-radius:999px;content:"";height:8px;left:3px;position:absolute;top:-2px;width:8px}.changelog-date{border-top:0;font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--accent-deep);line-height:1;padding-top:0;grid-column:2;text-align:left}.changelog-card{border-left:0;grid-column:3;padding:0 0 18px}.changelog-card .feed-meta{line-height:1;margin-top:0}.changelog-card:before{display:none}.date-group{grid-template-columns:1fr;gap:8px}.date-label{justify-items:start;text-align:left}.date-group .timeline{margin-left:5px}.review-grid,.review-login{grid-template-columns:1fr}.review-actions{align-items:stretch;flex-direction:column}.review-actions .button,.review-actions .field{width:100%}.review-card-head{display:grid}}