:root{--paper:oklch(16% 0.014 264);--paper-raised:oklch(21% 0.016 264);--ink:oklch(95% 0.008 250);--ink-soft:oklch(78% 0.018 255);--ink-faint:oklch(62% 0.02 258);--line:oklch(32% 0.02 262);--accent:oklch(70% 0.16 255);--accent-weak:oklch(30% 0.07 258);--gold:oklch(80% 0.13 85);--b:oklch(68% 0.15 250);--a:oklch(68% 0.17 300);--s:oklch(68% 0.17 32);--text-hero:clamp(2rem,1.3rem + 3.2vw,3.4rem);--text-title:clamp(1.1rem,0.95rem + 0.7vw,1.45rem);--space-page:clamp(1.25rem,0.5rem + 3vw,4rem);--radius:14px;--shadow:0 1px 2px oklch(20% 0.02 60/0.04),0 8px 24px oklch(20% 0.02 60/0.06);--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--font-serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",Georgia,serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}.page{max-width:920px;margin:0 auto;padding:var(--space-page)}.admin-page{max-width:none;width:90vw;margin-inline:auto;padding:clamp(1.25rem,2.4vw,2.5rem) 0 3rem;overflow-x:hidden}.admin-page>*{width:100%;min-width:0}.masthead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:2px solid var(--ink);padding-bottom:1rem;margin-bottom:2.5rem}.masthead h1{font-family:var(--font-serif);font-size:var(--text-hero);letter-spacing:-.02em;margin:0;line-height:1}.masthead .tagline{color:var(--ink-soft);font-size:.95rem}.masthead .accent-dot{color:var(--accent)}.section-intro{margin:0 0 2rem;color:var(--ink-soft);max-width:60ch}.search{margin:0 0 2rem;display:grid;grid-gap:.85rem;gap:.85rem}.search-row{display:flex;gap:.6rem}.search-input{flex:1 1;font:inherit;padding:.6rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--paper-raised);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.search-input::placeholder{color:var(--ink-faint)}.search-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.search-submit{font:inherit;font-weight:600;padding:.6rem 1.2rem;border:0;border-radius:10px;background:var(--ink);color:var(--paper-raised);cursor:pointer;transition:background .15s ease}.search-submit:hover{background:var(--accent)}.filter-group{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.filter-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin-right:.3rem;min-width:2.4em}.chip{font:inherit;font-size:.8rem;padding:.22rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-raised);color:var(--ink-soft);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.chip:hover{border-color:var(--ink-soft);color:var(--ink)}.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper-raised)}.chip-clear{margin-left:auto;color:var(--accent);border-style:dashed}.chip-clear:hover{border-color:var(--accent)}.chip-clear:hover,.content-badge{color:var(--accent);background:var(--accent-weak)}.content-badge{font-size:.68rem;padding:.06rem .4rem;border-radius:4px;letter-spacing:.02em}.reader-home .content-badge{background:rgba(255,255,255,.08);color:var(--rh-text)}.chip-static{cursor:default;opacity:.85}.search-date{font:inherit;font-size:.8rem;padding:.18rem .45rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit}.date-sep{opacity:.6}.reader-home .search-date{border-color:var(--rh-line);color:var(--rh-soft);color-scheme:dark}.feed{display:grid;grid-gap:2rem;gap:2rem}.day-group{display:grid;grid-gap:1.25rem;gap:1.25rem}.day-header{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:linear-gradient(var(--paper) 70%,oklch(16% .014 264/0));padding:.5rem 0 .35rem;margin:0}.day-toggle{display:inline-flex;align-items:baseline;gap:.5rem;width:100%;border:0;background:none;padding:0;cursor:pointer;color:var(--ink);font:inherit;text-align:left}.day-caret{color:var(--ink-faint);font-size:.85em;transform:translateY(-1px)}.day-date{font-family:var(--font-serif);font-weight:600;font-size:1.05rem;letter-spacing:.01em}.day-count{margin-left:auto;color:var(--ink-faint);font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-count:before{content:""}.day-toggle:hover .day-date{color:var(--accent)}.day-items{display:grid;grid-gap:1.25rem;gap:1.25rem}.card{position:relative;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;box-shadow:var(--shadow);transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 2px 4px oklch(20% .02 60/.06),0 16px 36px oklch(20% .02 60/.1)}.card-top{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--ink-faint);margin-bottom:.7rem}.card-source{font-weight:600;color:var(--ink-soft)}.card-top .sep:before{content:"·";margin:0 .1rem}.card h2{font-family:var(--font-serif);font-size:var(--text-title);line-height:1.3;margin:0 0 .6rem;letter-spacing:-.01em}.card h2 a{text-decoration:none}.card h2 a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.card .summary{margin:0 0 .9rem;color:var(--ink-soft)}.reason{border-left:3px solid var(--accent);background:var(--accent-weak);padding:.6rem .9rem;border-radius:0 8px 8px 0;font-size:.92rem;margin:0 0 .9rem}.reason .label{font-weight:700;color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-right:.4rem}.source-info{display:grid;grid-gap:.35rem;gap:.35rem;margin:0 0 .85rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;background:oklch(100% 0 0/.035);color:var(--ink-soft);font-size:.84rem}.source-info p{margin:0}.source-info-foot,.source-info-head{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;color:var(--ink-faint);font-size:.76rem}.source-info a{color:var(--accent);text-decoration:none}.source-info a:hover{text-decoration:underline;text-underline-offset:3px}.card-bottom{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tag{font-size:.76rem;color:var(--ink-soft);background:oklch(100% 0 0/.05);border:1px solid var(--line);border-radius:999px;padding:.1rem .6rem}.score{margin-left:auto;display:inline-flex;align-items:baseline;gap:.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score .num{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;line-height:1}.score .max{color:var(--ink-faint);font-size:.8rem}.reactions{gap:.25rem;margin-left:.4rem}.reaction,.reactions{display:inline-flex;align-items:center}.reaction{gap:.3rem;background:transparent;border:1px solid var(--line);border-radius:999px;padding:.18rem .65rem;color:var(--ink-soft);font:inherit;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.reaction:hover:not(:disabled){border-color:var(--ink-soft);color:var(--ink)}.reaction:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reaction:active:not(:disabled){transform:translateY(1px)}.reaction:disabled{opacity:.55;cursor:progress}.reaction.on{color:var(--accent);border-color:var(--accent);background:var(--accent-weak)}.reaction.on:nth-child(2){color:var(--gold);border-color:var(--gold);background:oklch(96% .06 85)}.reaction .count{min-width:1ch}.reaction-error{color:var(--accent);font-size:.8rem;margin-left:.4rem}.detail-link{font-size:.85rem;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.detail-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.card-detail{padding:clamp(1.25rem,.8rem + 1.2vw,2rem);margin-bottom:2.5rem}.card-detail h2{font-size:clamp(1.4rem,1.05rem + 1.4vw,2rem);line-height:1.25}.comments{border-top:1px solid var(--line);padding-top:1.75rem;margin-top:1rem}.comments-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.comments h2{font-family:var(--font-serif);font-size:1.4rem;margin:0}.comments h3{font-size:.95rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft);margin:1.75rem 0 .75rem}.comments-empty{color:var(--ink-faint);font-style:italic}.comments-sort{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-raised)}.comments-sort.inline{margin:.25rem 0 .75rem}.comments-sort button{border:0;border-radius:999px;padding:.28rem .75rem;background:transparent;color:var(--ink-soft);font:inherit;font-size:.82rem;cursor:pointer}.comments-sort button.is-active{background:var(--ink);color:var(--paper)}.comment-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.comment-item{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem}.comment-meta{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--ink-faint);margin-bottom:.3rem}.badge.expert{background:var(--gold)}.comment-body{margin:0;color:var(--ink);white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;align-items:center;gap:.85rem;margin-top:.5rem}.comment-like,.comment-reply-toggle{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;padding:.1rem .2rem;font:inherit;font-size:.82rem;color:var(--ink-faint);cursor:pointer;transition:color .15s ease}.comment-like.on,.comment-like:hover:not(:disabled),.comment-reply-toggle:hover{color:var(--accent)}.comment-like:disabled{opacity:.6;cursor:not-allowed}.comment-like .count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.comment-replies{list-style:none;margin:.75rem 0 0;padding:0 0 0 .9rem;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:.6rem}.comment-composer.reply{margin-top:.6rem}.comment-composer.reply textarea{min-height:3rem}.comment-composer{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.comment-composer textarea{width:100%;min-height:4.5rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius);font:inherit;color:var(--ink);background:var(--paper-raised);resize:vertical}.comment-composer textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.composer-actions button{background:var(--ink);color:var(--paper-raised);border:none;border-radius:999px;padding:.45rem 1.2rem;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,transform .12s ease}.composer-actions button:hover:not(:disabled){background:var(--accent)}.composer-actions button:active:not(:disabled){transform:translateY(1px)}.composer-actions button:disabled{opacity:.5;cursor:not-allowed}.composer-error{color:var(--accent);font-size:.85rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.badge{font-size:.74rem;font-weight:700;color:var(--paper-raised);border-radius:6px;padding:.12rem .5rem;letter-spacing:.02em}.badge.B{background:var(--b)}.badge.A{background:var(--a)}.badge.S{background:var(--s)}.note{margin-top:2.5rem;font-size:.8rem;color:var(--ink-faint);border-top:1px solid var(--line);padding-top:1rem}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:2.5rem;text-align:center;color:var(--ink-soft)}.report-section{margin-bottom:2.4rem}.report-section-title{font-family:var(--font-serif);font-size:1.15rem;margin:0 0 1rem;padding-bottom:.4rem;border-bottom:1px solid var(--line);letter-spacing:-.01em}.report-empty-section{color:var(--ink-faint);font-size:.9rem;margin:0}.report-archive{margin-top:2.5rem;border-top:1px solid var(--line);padding-top:1.2rem}.report-archive ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:.5rem;gap:.5rem;font-size:.9rem;color:var(--ink-soft)}.report-archive a{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-decoration:none;color:var(--accent)}.report-archive a:hover{text-decoration:underline;text-underline-offset:3px}.masthead nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:1rem;font-size:.95rem}.masthead nav a{color:var(--ink-soft);text-decoration:none}.masthead nav a:hover{color:var(--accent)}.admin-table{width:100%;min-width:0;border-collapse:collapse;font-size:.86rem;table-layout:fixed}.admin-table-wrap{width:100%;overflow-x:hidden;border-bottom:1px solid var(--line)}.admin-sources-table-wrap{overflow-x:hidden}.admin-sources-table{min-width:0}.admin-sources-table td,.admin-sources-table th{padding-inline:.65rem}.admin-table td,.admin-table th{position:relative;text-align:left;padding:.75rem .65rem;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.admin-table th{color:var(--ink-faint);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-table .admin-select-col{width:2.2rem;padding-right:.25rem}.admin-select-col input{inline-size:1rem;block-size:1rem;accent-color:var(--accent)}.admin-muted{color:var(--ink-faint)}.admin-soft{color:var(--ink-soft)}.admin-col-resizer{position:absolute;top:.35rem;right:-.2rem;z-index:1;width:.45rem;height:calc(100% - .7rem);cursor:col-resize}.admin-col-resizer:after{content:"";display:block;width:1px;height:100%;margin:0 auto;background:transparent}.admin-col-resizer:hover:after{background:var(--accent)}.pill{display:inline-flex;align-items:center;font-size:.74rem;border-radius:999px;padding:.05rem .55rem;border:1px solid var(--line);white-space:nowrap}.pill.healthy{color:oklch(48% .13 150);background:oklch(95% .05 150)}.pill.degraded{color:oklch(55% .13 75);background:oklch(95% .06 85)}.pill.disabled,.pill.paused{color:oklch(50% .12 30);background:oklch(95% .05 30)}.pill.unavailable{color:oklch(54% .16 25);background:oklch(95% .05 25);cursor:help}.pill.paused{cursor:help}.admin-action{font:inherit;font-size:.74rem;padding:.2rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--paper-raised);color:var(--ink-soft);cursor:pointer}.admin-action:hover{border-color:var(--ink);color:var(--ink)}.admin-danger-action,.admin-danger-link{font:inherit;cursor:pointer}.admin-danger-action{font-size:.78rem;padding:.25rem .65rem;border:1px solid oklch(58% .16 25);border-radius:6px;background:transparent;color:oklch(68% .16 25)}.admin-danger-action:disabled{cursor:not-allowed;opacity:.45}.admin-danger-link{border:0;padding:0;background:transparent;color:oklch(68% .16 25);white-space:nowrap}.admin-danger-action:not(:disabled):hover,.admin-danger-link:hover{color:oklch(78% .16 25)}.admin-section{margin:0 0 2.5rem}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem}.admin-section-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem}.admin-section h2{font-family:var(--font-serif);margin:0 0 1rem}.admin-section-head h2{margin:0}.admin-row-actions{position:relative;display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap;padding-bottom:.45rem}.admin-row-resizer{position:absolute;right:0;bottom:-.3rem;width:2.2rem;height:.45rem;cursor:row-resize}.admin-row-resizer:after{content:"";display:block;height:1px;margin-top:.22rem;background:transparent}.admin-row-resizer:hover:after{background:var(--accent)}.admin-compact-form,.admin-form{display:grid;grid-gap:.8rem;gap:.8rem;margin-bottom:1.5rem}.admin-form{padding:1rem;background:var(--paper-raised)}.admin-dialog,.admin-form{border:1px solid var(--line);border-radius:var(--radius)}.admin-dialog{width:min(720px,calc(100vw - 2rem));max-height:min(760px,calc(100vh - 2rem));padding:0;color:var(--ink);background:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.45)}.admin-source-review-dialog{width:min(860px,calc(100vw - 2rem))}.admin-dialog-empty{padding:1.5rem;color:var(--ink-soft)}.admin-review-list{display:grid;grid-gap:1rem;gap:1rem;max-height:min(640px,calc(100vh - 8rem));overflow-y:auto;padding:1rem}.admin-review-card{display:grid;grid-gap:.8rem;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper-raised)}.admin-review-meta{display:flex;flex-wrap:wrap;gap:.8rem;color:var(--ink-faint);font-size:.82rem}.admin-review-form{display:grid;grid-gap:.8rem;gap:.8rem}.admin-review-reject{justify-self:end}.admin-dialog::-webkit-backdrop{background:rgba(0,0,0,.55)}.admin-dialog::backdrop{background:rgba(0,0,0,.55)}.admin-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1rem 0}.admin-dialog-head h2{margin:0;font-family:var(--font-serif)}.admin-dialog-close{inline-size:2rem;block-size:2rem;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:6px;cursor:pointer}.admin-dialog-form{margin:0;border:0;background:transparent}.admin-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.admin-secondary-action{font:inherit;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:6px;padding:.45rem .8rem;cursor:pointer}.admin-dialog-close:hover,.admin-secondary-action:hover{color:var(--ink);border-color:var(--ink-faint)}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.8rem;gap:.8rem}.admin-field{display:grid;grid-gap:.25rem;gap:.25rem;color:var(--ink-soft);font-size:.82rem}.admin-field input,.admin-field select,.admin-field textarea{width:100%;padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.admin-field textarea{resize:vertical}.admin-inline-panel summary{color:var(--accent);cursor:pointer}.admin-inline-panel[open]{min-width:min(560px,78vw)}.login-card{max-width:360px;margin:4rem auto}.login-card label{display:block;font-size:.85rem;margin:.9rem 0 .3rem;color:var(--ink-soft)}.login-card input{width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;font:inherit}.login-card button{margin-top:1.2rem;width:100%;padding:.6rem;background:var(--ink);color:var(--paper-raised);border:0;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}.login-card button:hover{background:var(--accent)}.error-text{font-size:.85rem}.error-text,.link-button{color:var(--accent);margin-top:.8rem}.link-button{background:none;border:0;padding:0;font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.link-button:hover{text-decoration:underline;text-underline-offset:3px}.link-button:disabled{color:var(--ink-faint);cursor:default;text-decoration:none}.masthead-account{display:inline-flex;align-items:center;gap:.85rem}.masthead-account-link{color:var(--ink-soft);text-decoration:none}.masthead-account-link:hover{color:var(--accent)}.masthead-account-name{color:var(--ink);font-weight:600;max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.masthead-account .link-button{margin-top:0}.masthead-bell{position:relative;display:inline-flex;text-decoration:none;font-size:1.05rem;line-height:1}.masthead-bell-badge{position:absolute;top:-.5rem;left:.7rem;min-width:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--accent);color:var(--paper);font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center}.notification-list{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.notification-link{text-decoration:none;color:inherit;display:block}.notification-item{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised)}.notification-link:hover .notification-item{border-color:var(--accent)}.notification-item.unread{border-left:3px solid var(--accent)}.notification-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.notification-title{font-weight:600;color:var(--ink)}.notification-body{color:var(--ink-soft);font-size:.9rem;overflow:hidden;text-overflow:ellipsis}.notification-time{color:var(--ink-faint);font-size:.8rem;white-space:nowrap;flex-shrink:0}.notification-dot{position:absolute;top:.7rem;right:.7rem;width:.5rem;height:.5rem;border-radius:999px;background:var(--accent)}.inline-comments{margin-top:1rem;border-top:1px solid var(--line);padding-top:.75rem}.inline-comments-toggle{background:none;border:0;padding:0;color:var(--ink-soft);font:inherit;font-size:.88rem;cursor:pointer}.inline-comments-toggle:hover{color:var(--accent)}.inline-comments-panel{margin-top:.85rem;display:flex;flex-direction:column;gap:.5rem}.inline-comments-status{color:var(--ink-faint);font-size:.85rem;margin:.3rem 0}.changelog{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-gap:1.75rem;gap:1.75rem}.changelog-entry{border-left:2px solid var(--line);padding:0 0 0 1.25rem}.changelog-meta{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.3rem}.changelog-date{color:var(--ink-faint);font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.changelog-badge{font-size:.72rem;border-radius:999px;padding:.05rem .6rem;border:1px solid var(--line);color:var(--ink-soft)}.changelog-badge.feature{color:oklch(48% .13 150);background:oklch(95% .05 150)}.changelog-badge.improvement{color:var(--b);background:oklch(95% .04 250)}.changelog-badge.fix{color:var(--accent);background:var(--accent-weak)}.changelog-badge.removed{color:var(--ink-faint);background:oklch(95% 0 0)}.changelog-title{font-family:var(--font-serif);font-size:1.15rem;margin:0 0 .4rem}.changelog-body{color:var(--ink-soft);margin:.3rem 0}.about{max-width:64ch}.about-intro{font-size:1.1rem;color:var(--ink)}.about p{color:var(--ink-soft)}.about-cta{color:var(--accent);text-decoration:none;font-weight:600}.about-cta:hover{text-decoration:underline;text-underline-offset:3px}.feedback-form{display:grid;grid-gap:.4rem;gap:.4rem;max-width:600px}.source-recommendation-form{display:grid;grid-gap:.85rem;gap:.85rem;max-width:720px}.feedback-form input,.feedback-form textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--paper)}.feedback-form label{font-size:.85rem;color:var(--ink-soft);margin-top:.6rem}.feedback-form .composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-top:.8rem}.feedback-form .composer-actions button{padding:.5rem 1.1rem;background:var(--ink);color:var(--paper-raised);border:0;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}.feedback-form .composer-actions button:disabled{opacity:.5;cursor:not-allowed}.feedback-done{max-width:600px;display:grid;grid-gap:.9rem;gap:.9rem;justify-items:start}.feedback-done button{padding:.45rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--paper-raised);font:inherit;cursor:pointer}.particle-field{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1200px 820px at 72% -12%,rgba(70,92,220,.12),transparent 60%),radial-gradient(900px 720px at 8% 112%,rgba(200,110,70,.08),transparent 55%),#07080b}.particle-field canvas{display:block;width:100%;height:100%}.reader-home{position:relative;z-index:1;max-width:1280px;--rh-text:rgba(236,239,247,0.94);--rh-soft:rgba(178,188,214,0.78);--rh-faint:rgba(142,152,180,0.62);--rh-line:rgba(255,255,255,0.09);--rh-surface:rgba(255,255,255,0.035);--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;color:var(--rh-text);padding-top:0}.reader-home .masthead{border-bottom-color:rgba(255,255,255,.14)}.reader-home .masthead h1{color:var(--rh-text)}.reader-home .masthead .tagline{color:var(--rh-soft)}.reader-home .accent-dot{color:rgb(77 107 254)}.reader-home .masthead nav a{color:var(--rh-soft)}.reader-home .masthead nav a:hover{color:#fff}.reader-home .section-intro{color:var(--rh-soft)}.reader-home .search-input{background:rgba(255,255,255,.04);border-color:var(--rh-line);color:var(--rh-text)}.reader-home .search-input::placeholder{color:var(--rh-faint)}.reader-home .search-input:focus-visible{border-color:rgb(77 107 254);box-shadow:0 0 0 3px rgba(77,107,254,.25)}.reader-home .search-submit{background:rgba(255,255,255,.92);color:#0a0b0d}.reader-home .search-submit:hover{background:#fff}.reader-home .chip{background:rgba(255,255,255,.04);border-color:var(--rh-line);color:var(--rh-soft)}.reader-home .chip:hover{border-color:rgba(255,255,255,.28);color:var(--rh-text)}.reader-home .chip.is-active{background:rgba(255,255,255,.92);border-color:transparent;color:#0a0b0d}.reader-home .filter-label{color:var(--rh-faint)}.reader-home .chip-clear{color:rgb(255 132 47)}.reader-home .day-header{background:linear-gradient(#07080b 62%,rgba(7,8,11,0))}.reader-home .day-date,.reader-home .day-toggle{color:var(--rh-text)}.reader-home .day-caret,.reader-home .day-count{color:var(--rh-faint)}.reader-home .day-toggle:hover .day-date{color:#fff}.reader-home .tl-group{display:block}.reader-home .tl-group-body[hidden]{display:none}.reader-home .tl-group--year{margin-top:0}.reader-home .tl-group--year>.tl-group-header .day-date{font-size:1.5rem}.reader-home .tl-group--month{margin-top:0;padding-left:0}.reader-home .tl-group--month>.tl-group-header .day-date{font-size:1.2rem}.reader-home .tl-group--week{margin-top:0;padding-left:0}.reader-home .tl-group--week>.tl-group-header .day-date{font-size:1rem;color:var(--rh-soft)}.reader-home .tl-group--month>.tl-group-header,.reader-home .tl-group--week>.tl-group-header,.reader-home .tl-group--year>.tl-group-header{display:none;padding:0}.reader-home .tl-group--day{padding-left:0}.reader-home .day-items{display:flex;flex-direction:column;gap:var(--tl-gap);--tl-rail-w:58px;--tl-gap:1.1rem}.reader-home .day-items[hidden]{display:none}.tl-row{position:relative;display:grid;grid-template-columns:var(--tl-rail-w) 1fr;grid-column-gap:var(--tl-gap);column-gap:var(--tl-gap)}.tl-row:before{content:"";position:absolute;left:calc(var(--tl-rail-w) + var(--tl-gap) / 2 - 1px);top:.45rem;bottom:calc(var(--tl-gap) * -1);width:2px;background:var(--rh-line)}.tl-row:last-child:before{bottom:auto;height:1.1rem}.tl-rail{text-align:right;padding-top:.25rem}.tl-time{font-family:var(--font-mono);font-size:.78rem;color:var(--rh-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.tl-dot{position:absolute;left:calc(var(--tl-rail-w) + var(--tl-gap) / 2 - 5px);top:.5rem;width:10px;height:10px;border-radius:999px;background:rgb(var(--card-accent,126 142 184));box-shadow:0 0 0 4px rgb(var(--card-accent,126 142 184)/.16);z-index:1}.bento-cell{position:relative;border-radius:16px;transition:transform .22s cubic-bezier(.16,1,.3,1)}.bento-cell:hover{transform:translateY(-2px);z-index:2}.tl-featured .card{border-color:rgb(var(--card-accent)/.4)}.tl-compact .card{padding:.85rem 1.05rem}.reader-home .card{height:100%;display:flex;flex-direction:column;padding:1.15rem 1.25rem;background:var(--rh-surface);border:1px solid var(--rh-line);border-radius:16px;box-shadow:none;overflow:hidden;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:border-color .22s ease,background .22s ease}.reader-home .card:hover{transform:none;box-shadow:none}.bento-cell:hover .card{border-color:rgb(var(--card-accent)/.5);background:rgba(255,255,255,.055)}.reader-home .card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgb(var(--card-accent)/.9),transparent 75%)}.bento-cell .spotlight{position:absolute;inset:0;border-radius:16px;pointer-events:none;opacity:0;transition:opacity .26s ease;background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%),rgb(var(--card-accent)/.18),transparent 62%)}.bento-cell:hover .spotlight{opacity:1}.card-meta-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.model-tag{font-size:.68rem;font-weight:600;letter-spacing:.09em;color:rgb(var(--card-accent))}.heat,.model-tag{font-family:var(--font-mono)}.heat{font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.heat,.reader-home .card-top{color:var(--rh-faint)}.reader-home .card-source{color:var(--rh-soft)}.reader-home .card h2{color:var(--rh-text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.reader-home .card h2 a:hover{-webkit-text-decoration-color:rgb(var(--card-accent));text-decoration-color:rgb(var(--card-accent))}.reader-home .summary{color:var(--rh-soft);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.reader-home .reason{background:rgb(var(--card-accent)/.1);border-left-color:rgb(var(--card-accent)/.85);color:var(--rh-soft)}.reader-home .reason .label{color:rgb(var(--card-accent))}.reader-home .source-info{border-color:var(--rh-line);background:rgb(var(--card-accent)/.08);color:var(--rh-soft)}.reader-home .source-info-foot,.reader-home .source-info-head{color:var(--rh-faint)}.reader-home .source-info a{color:rgb(var(--card-accent))}.reader-home .card-bottom{margin-top:auto;padding-top:.6rem}.reader-home .tag{background:rgba(255,255,255,.05);border-color:var(--rh-line);color:var(--rh-soft)}.reader-home .score .num{color:var(--rh-text)}.reader-home .score .max{color:var(--rh-faint)}.reader-home .reaction{border-color:var(--rh-line);color:var(--rh-soft);background:transparent}.reader-home .reaction:hover:not(:disabled){border-color:rgba(255,255,255,.28);color:var(--rh-text)}.reader-home .detail-link{color:var(--rh-soft)}.reader-home .detail-link:hover{color:rgb(var(--card-accent));border-bottom-color:rgb(var(--card-accent))}.reader-home .empty{border-color:var(--rh-line);color:var(--rh-soft)}.reader-home .note{color:var(--rh-faint);border-top-color:var(--rh-line)}.tl-featured .card h2{-webkit-line-clamp:4}.tl-featured .summary{-webkit-line-clamp:6}.tl-compact .summary{-webkit-line-clamp:2}.card-media{margin:.25rem 0 .6rem;border-radius:12px;overflow:hidden;border:1px solid var(--rh-line);max-height:280px}.card-media img,.card-media video{display:block;width:100%;height:100%;max-height:280px;object-fit:cover;background:#000}.tl-compact .card-media,.tl-compact .card-media img,.tl-compact .card-media video{max-height:150px}.reader-home .badge .star{color:rgb(var(--card-accent));font-size:.9em}@media (max-width:600px){.reader-home .day-items{--tl-rail-w:42px;--tl-gap:0.75rem}.reader-home .card{height:auto}.tl-time{font-size:.72rem}}@media (prefers-reduced-motion:reduce){.bento-cell{transition:none}.bento-cell:hover{transform:none}.bento-cell .spotlight{transition:none}}.reader-home{max-width:none;width:min(1440px,calc(100vw - 1rem));margin-inline:auto;padding:0 0 3rem}.reader-home .masthead{margin-top:0;margin-bottom:.45rem;min-height:0;align-items:baseline}.reader-home .section-intro{display:none;margin-bottom:0}.tl-row .card{height:auto}.reader-home .search{background:rgba(255,255,255,.03);border:1px solid var(--rh-line);border-radius:16px;padding:1rem 1.15rem;margin:0 0 .35rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.reader-home .day-items{--tl-rail-w:46px;--tl-gap:0.75rem}.reader-home .card h2{font-size:clamp(1.1rem,1rem + .45vw,1.4rem)}.tl-featured .card h2{font-size:clamp(1.3rem,1.05rem + .7vw,1.75rem)}.reader-home .summary{font-size:.95rem}.reader-home .card-top,.reader-home .reason{font-size:.86rem}.reader-home .card{background:linear-gradient(160deg,rgb(var(--card-accent)/.1),rgb(var(--card-accent)/.02) 60%),var(--rh-surface)}.bento-cell:hover .card{background:linear-gradient(160deg,rgb(var(--card-accent)/.16),rgb(var(--card-accent)/.04) 60%),rgba(255,255,255,.045);border-color:rgb(var(--card-accent)/.55)}.tl-standard .summary{-webkit-line-clamp:3}.comment-ticker{display:flex;align-items:center;gap:.4rem;margin:.15rem 0 .55rem;min-height:1.4em;font-size:clamp(.72rem,2.8cqi,.82rem);color:var(--rh-soft)}.comment-ticker-quote{color:rgb(var(--card-accent));font-size:1.15em;line-height:1}.comment-ticker-line{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.92;animation:tickerFade .36s ease}@keyframes tickerFade{0%{opacity:0;transform:translateY(3px)}to{opacity:.92;transform:none}}.comment-ticker-dots{display:inline-flex;gap:3px}.tick-dot{width:4px;height:4px;border-radius:999px;background:var(--rh-faint);opacity:.5}.tick-dot.on{background:rgb(var(--card-accent));opacity:1}@media (prefers-reduced-motion:reduce){.comment-ticker-line{animation:none}}