:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f4f0;--card:#fff;--ink:#000;--body:#43433d;--muted:#56564e;--faint:#8a8a80;--hairline:#e0e0d8;--error:#b00020;--ok:#157f1f;--warn:#8a6d00;--serif:Georgia, "Times New Roman", serif;--ring:0 0 0 2px #0000002e}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--body);font-family:var(--serif);-webkit-font-smoothing:antialiased;margin:0;padding:0}#root{background:var(--paper);max-width:920px;min-height:100dvh;margin:0 auto}a{color:var(--ink)}input{border:1px solid var(--hairline);background:var(--card);color:var(--ink);border-radius:0;width:100%;margin:.38rem 0;padding:.78rem .9rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}input:hover{border-color:#c9c9c0}input:focus{border-color:var(--ink);box-shadow:var(--ring);outline:none}input::placeholder{color:#77776e}button{border:1px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;text-align:center;letter-spacing:.02em;border-radius:0;width:100%;margin:.35rem 0;padding:.7rem .9rem;font-family:inherit;font-size:1rem;transition:background-color .15s,color .15s,border-color .15s}button:focus{box-shadow:var(--ring);outline:none}button:hover{background:var(--ink);color:var(--card)}button:active{background:#26261f}button:disabled{opacity:.45;cursor:default;background:var(--card);color:var(--ink)}button.primary{background:var(--ink);color:var(--card)}button.primary:hover{background:#26261f}button.ghost{color:var(--body);background:0 0;border-color:#0000;width:auto;margin:0;padding:.4rem .5rem}button.ghost:hover{color:var(--ink);background:0 0}.brand-stack{text-align:center;flex-direction:column;align-items:center;display:flex}.brand-inline{align-items:center;gap:.5rem;display:inline-flex}.brand-mark{background:var(--ink);width:12px;height:12px;display:inline-block}.brand-stack .brand-mark{margin-bottom:9px}.brand-name{letter-spacing:.18em;color:var(--ink);font-size:22px;font-weight:700;line-height:1}.brand-stack .brand-name{margin-bottom:10px}.brand-tagline{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px}.brand-inline .brand-name{font-family:var(--serif);letter-spacing:.22em;font-size:19px}.topbar{border-bottom:1px solid var(--hairline);background:var(--paper);z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;height:62px;padding:0 1.25rem;display:grid;position:sticky;top:0}a.brand-lockup{justify-self:start;text-decoration:none}.topbar-center{justify-self:center}.topbar-link{letter-spacing:.02em;justify-self:end;font-size:.9rem;text-decoration:none}.topbar button.topbar-link{cursor:pointer;width:auto;color:var(--body);background:0 0;border:none;margin:0;padding:.4rem 0}.topbar button.topbar-link:hover{color:var(--ink);background:0 0}.auth{flex-direction:column;align-items:center;min-height:100dvh;padding:min(13vh,110px) 1.25rem 56px;display:flex}.auth>.brand-stack{margin-bottom:28px}.auth-rule{background:var(--hairline);border:none;width:36px;height:1px;margin:0 auto 30px}.auth-panel{width:100%;max-width:420px}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin:0 0 10px;font-size:11px;font-weight:700}.auth-or{color:var(--muted);align-items:center;gap:.75rem;margin:1.1rem 0 .6rem;font-size:.85rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--hairline);flex:1;height:1px}.auth-title{color:var(--ink);letter-spacing:-.01em;margin:0 0 26px;font-size:2rem;font-weight:400;line-height:1.2}.auth-sub{color:var(--muted);margin:-14px 0 18px;font-size:1rem;line-height:1.6}.auth form{margin-top:.25rem}.auth form button{margin-top:.9rem}.auth-links{border-top:1px solid var(--hairline);flex-direction:column;align-items:center;gap:.4rem;margin-top:1.75rem;padding-top:1.5rem;font-size:.95rem;display:flex}.auth-links a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.passkey-btn{margin-top:.75rem}.verify-lead{margin:0 0 .2rem;line-height:1.65}.verify-steps{counter-reset:verify-step;border:1px solid var(--hairline);background:#fff9;border-radius:4px;margin:1.3rem 0 .6rem;padding:0;list-style:none}.verify-steps li{border-bottom:1px solid var(--hairline);color:var(--body);align-items:flex-start;gap:.7rem;padding:.75rem .9rem;font-size:.95rem;line-height:1.45;display:flex}.verify-steps li:last-child{border-bottom:none}.verify-steps li:before{counter-increment:verify-step;content:counter(verify-step);background:var(--ink);width:22px;height:22px;color:var(--card);flex-shrink:0;justify-content:center;align-items:center;margin-top:.05rem;font-size:.78rem;font-weight:700;display:inline-flex}.verify-actions{gap:.75rem;margin-top:1.1rem;display:flex}.verify-actions button{flex:1;margin:0}.verify-actions .verify-login-btn{border:1px solid var(--ink);background:var(--card);color:var(--ink);text-align:center;letter-spacing:.02em;flex:1;justify-content:center;align-items:center;padding:.7rem .9rem;text-decoration:none;display:inline-flex}.verify-actions .verify-login-btn:hover{background:var(--ink);color:var(--card)}.verify-hint{text-align:center;margin-top:1rem;font-size:.85rem}.verify-working{text-align:center;margin-top:.5rem}.verify-spinner{background:var(--ink);width:20px;height:20px;margin:0 auto 14px;animation:.9s ease-in-out infinite verify-blink;display:block}@keyframes verify-blink{0%,to{opacity:1}50%{opacity:.2}}.muted{color:var(--muted)}.faint{color:var(--faint)}.error{color:var(--error);margin:.5rem 0}.ok{color:var(--ok);margin:.5rem 0}.center{text-align:center}.pad{padding:2rem}.empty-state{border:1px dashed var(--hairline);text-align:center;color:var(--muted);background:#ffffff59;border-radius:4px;margin:1rem 0;padding:2.25rem 1.5rem}.empty-state strong{color:var(--ink);margin-bottom:.25rem;font-size:1.05rem;font-weight:400;display:block}.page{min-height:100dvh}hr{border:none;border-top:1px solid var(--hairline);margin:1.5rem 0}.toggle{background:0 0;width:200px;display:flex}.toggle-btn{border:1px solid var(--ink);text-align:center;width:auto;color:var(--body);white-space:nowrap;background:0 0;border-right:none;flex:1;margin:0;padding:.42rem .5rem;font-size:.9rem}.toggle-btn:last-child{border-right:1px solid var(--ink)}.toggle-btn:hover{color:var(--ink);background:0 0}.toggle-btn.active,.toggle-btn.active:hover{background:var(--ink);color:var(--card)}.feed{flex-direction:column;height:100dvh;display:flex}.feed-body{flex-direction:column;flex:1;min-height:0;display:flex}.placeholder{text-align:center;max-width:480px;margin:0 auto;padding:2.5rem 1.5rem}.placeholder h2{color:var(--ink);margin-bottom:.6rem;font-size:1.5rem;font-weight:400}.placeholder p{color:var(--muted);line-height:1.6}.btn-link{border:1px solid var(--ink);color:var(--card);background:var(--ink);margin-top:1.2rem;padding:.55rem 1.2rem;text-decoration:none;display:inline-block}.btn-link:hover{background:#26261f}.card-wrap{flex-direction:column;flex:1;min-height:0;padding:1rem;display:flex}.card{background:var(--card);border:1px solid var(--hairline);touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;flex:1;justify-content:flex-start;min-height:0;padding:1.5rem;display:flex;box-shadow:0 10px 30px #0000000d}.card-top{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;margin-bottom:1.1rem;padding-bottom:.5rem;display:flex}.card-top .card-meta{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);border-bottom:none;margin-bottom:0;padding-bottom:0;font-size:.8rem}.card-title{color:var(--ink);margin:0 0 1rem;font-size:1.7rem;line-height:1.25}.card-content{flex-direction:column;flex:auto;justify-content:flex-start;min-height:0;display:flex}.card-summary{color:var(--body);-webkit-line-clamp:14;-webkit-box-orient:vertical;min-height:0;line-height:1.55;display:-webkit-box;overflow:hidden}.card-bottom{flex-shrink:0;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.card-bottom .card-date,.card-date{color:var(--muted);margin:0;padding:0;font-size:.85rem}.card-hint{text-align:center;color:var(--muted);padding:.75rem;font-size:.85rem}.card-controls{gap:.75rem;margin-top:1rem;display:flex}.card-controls button{flex:1;margin:0}.card-controls button:disabled{opacity:.4}.save-btn{width:auto;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.2rem;display:inline-flex}.save-btn:hover{color:var(--ink);background:0 0}.save-btn.saved{color:var(--ink)}.classify-btn{border:1px solid var(--hairline);width:auto;color:var(--muted);font-size:.8rem;font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;margin:0;padding:.25rem .6rem}.classify-btn:hover{border-color:var(--ink);color:var(--ink);background:0 0}.tutorial-deck{max-width:560px;margin:0 auto}.tutorial-content{justify-content:center}.tutorial-mark{background:var(--ink);flex-shrink:0;width:14px;height:14px;margin:0 auto 22px}.tutorial-deck .card-title{text-align:center;margin-bottom:1.2rem;font-size:2rem}.tutorial-deck .card-summary{text-align:center;-webkit-line-clamp:20;max-width:34rem;margin:0 auto;font-size:1.05rem}.tutorial-deck .card-meta{text-align:center;display:block}.overlay{z-index:100;background:#1e1e1a80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay-card{background:var(--card);border-radius:6px 6px 0 0;width:100%;max-width:680px;max-height:88dvh;padding:1.75rem 1.75rem 2.5rem;overflow-y:auto}.overlay-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.overlay-card h2{color:var(--ink);margin:.75rem 0 1rem;font-size:1.5rem;line-height:1.25}.article-html{overflow-wrap:break-word;color:var(--body);line-height:1.65}.article-html img{max-width:100%;height:auto}.article-html a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.overlay-actions{gap:.75rem;margin-top:1.5rem;display:flex}.overlay-actions .btn-link,.overlay-actions button{text-align:center;flex:1;margin:0}.spot-overlay{z-index:300;position:fixed;inset:0}.spot-cutout{border-radius:4px;position:absolute;box-shadow:0 0 0 9999px #161612a3}.spot-ring{pointer-events:none;border-radius:6px;animation:1.15s ease-in-out infinite spot-pulse;position:absolute}@keyframes spot-pulse{0%,to{box-shadow:0 0 #fffc}50%{box-shadow:0 0 0 10px #fff0}}.spot-tip{background:var(--card);border:1px solid var(--hairline);border-radius:6px;width:min(380px,100vw - 24px);padding:1.1rem 1.2rem 1.15rem;animation:.18s ease-out spot-pop;position:fixed;box-shadow:0 14px 44px #0000004d}@keyframes spot-pop{0%{opacity:0;transform:translateY(6px)}}.spot-step{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.spot-title{color:var(--ink);margin:.35rem 0 .45rem;font-size:1.15rem;font-weight:400;line-height:1.25}.spot-body{color:var(--body);margin:0 0 .95rem;font-size:.95rem;line-height:1.55}.spot-actions{align-items:center;gap:.6rem;display:flex}.spot-actions button{width:auto;margin:0;padding:.5rem 1.15rem}.spot-skip{color:var(--muted);background:0 0;border-color:#0000;margin-right:auto}.spot-skip:hover{color:var(--ink);background:0 0}.settings{max-width:680px;margin:0 auto;padding:2rem 1.5rem 4rem}.settings section{margin:1.6rem 0}.settings h3{color:var(--ink);border-bottom:1px solid var(--hairline);text-transform:uppercase;letter-spacing:.14em;margin:0 0 .5rem;padding-bottom:.55rem;font-size:.95rem;font-weight:400}.settings-menu{flex-direction:column;margin-top:1.4rem;display:flex}.settings-menu button{text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--hairline);border-radius:4px;justify-content:space-between;align-items:center;margin:.45rem 0;padding:.9rem 1.1rem;font-size:1rem;display:flex;box-shadow:0 4px 14px #0000000a}@media (hover:hover){.settings-menu button:hover{background:var(--ink);color:var(--card);border-color:var(--ink)}}.settings-menu button{-webkit-tap-highlight-color:transparent}.settings-menu button:focus{box-shadow:none;outline:none}.settings-menu button .menu-chev{opacity:.55;font-size:1.05rem;line-height:1}.settings-title{white-space:nowrap;color:var(--ink);letter-spacing:.01em;font-size:.95rem;font-weight:700}.breadcrumb-sep{color:var(--muted);padding:0 .15rem;font-weight:400}.saved-title{text-align:left;width:auto;font-family:var(--serif);color:var(--ink);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:1rem;font-weight:700;text-decoration:none}.source-list{margin:1rem 0;padding:0;list-style:none}.source-list li{border:1px solid var(--hairline);background:var(--card);border-radius:4px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;padding:.7rem .9rem;display:flex;box-shadow:0 4px 14px #0000000a}.source-info{flex-direction:column;min-width:0;display:flex}.source-name{color:var(--ink);font-weight:700}.source-url{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.source-list .remove{width:auto;margin:0;padding:.35rem .6rem;font-size:.85rem}.src-status{margin-top:.3rem;font-size:.8rem;line-height:1.2;display:block}.src-ok{color:var(--ok)}.src-pending{color:var(--warn)}.src-err{color:var(--error)}.row-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.icon-btn{border:1px solid var(--hairline);background:var(--card);width:34px;height:34px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.icon-btn:hover{border-color:var(--ink);color:var(--ink);background:0 0}.icon-btn.danger-ic:hover{border-color:var(--error);color:var(--error)}.icon-btn.star{color:var(--faint)}.icon-btn.star:hover{color:#c9a227;background:0 0;border-color:#c9a227}.icon-btn.star.starred{color:#c9a227;background:#c9a22714;border-color:#e3c45a}.source-list li.source-editing{padding:.9rem;display:block}.source-edit{flex-direction:column;gap:.4rem;width:100%;display:flex}.source-edit input{margin:0}.source-edit-actions{gap:.5rem;display:flex}.source-edit-actions button{flex:1;margin:0;padding:.5rem .6rem;font-size:.9rem}button.danger{border-color:var(--error);color:var(--error)}button.danger:hover{background:var(--error);color:var(--card)}.settings-menu button.logout{color:var(--muted);border-color:var(--hairline);justify-content:center;margin-top:1.25rem}.settings-menu button.logout .menu-chev{display:none}.settings-menu button.logout:hover{color:var(--card);background:var(--error);border-color:var(--error)}.add-source input{margin:.35rem 0}.source-io{gap:.75rem;margin:.5rem 0 1rem;display:flex}.source-io>*{flex:1;width:100%}.source-io button,.source-io .import-btn{box-sizing:border-box;border:1px solid var(--ink);background:var(--card);min-width:0;height:42px;color:var(--ink);font-family:var(--serif);cursor:pointer;flex:1 1 0;justify-content:center;align-items:center;margin:0;padding:0 .8rem;font-size:1rem;display:inline-flex}.source-io button:hover,.source-io .import-btn:hover{background:var(--ink);color:var(--card)}.source-io .import-btn input{display:none}.verify-banner{border:1px solid var(--hairline);background:var(--card);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:680px;margin:.9rem auto;padding:.7rem .9rem;font-size:.9rem;display:flex;box-shadow:0 4px 14px #0000000a}.verify-banner button{width:auto;margin:0;padding:.3rem .8rem;font-size:.85rem}.verify-banner .ok{margin:0}.feed-verify{margin:.9rem}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.5rem;display:grid}@media (width>=600px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat-grid.five{grid-template-columns:repeat(2,1fr)}@media (width>=600px){.stat-grid.five{grid-template-columns:repeat(3,1fr)}}.stat{border:1px solid var(--hairline);background:var(--card);border-radius:4px;flex-direction:column;gap:.25rem;padding:.8rem;display:flex;box-shadow:0 4px 14px #0000000a}.stat-num{color:var(--ink);font-size:1.4rem;font-weight:700}.stat-num.model{word-break:break-word;font-size:1rem;line-height:1.3}.stat-num.model.dim{color:var(--faint)}.setting-row{justify-content:space-between;align-items:center;gap:1rem;margin:.75rem 0;display:flex}.reg-toggle button,.period-toggle button{border:1px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;width:auto;padding:.35rem .9rem}.period-toggle{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;display:flex}.toggle-btn.on{background:var(--ink);color:var(--card)}.reg-toggle .toggle-btn:last-child,.period-toggle .toggle-btn:last-child{border-right:1px solid var(--ink)}.badge{border:1px solid var(--ink);vertical-align:middle;color:var(--ink);margin-left:.5rem;padding:.05rem .4rem;font-size:.72rem}.badge-disabled{border-color:var(--error);color:var(--error)}.badge-unverified{border-color:var(--warn);color:var(--warn)}.user-row{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.15rem;margin:0;padding:0;display:flex}.user-actions{align-items:stretch;gap:.5rem;display:flex}.source-list .user-actions button,.user-actions button{white-space:nowrap;border:1px solid var(--ink);text-align:center;flex:1 1 0;width:auto;min-width:0;margin:0;padding:.5rem .6rem;font-size:.9rem}.user-actions button:hover{background:var(--ink);color:var(--card)}.user-actions.ai-actions{margin:.75rem 0}@media (width>=900px){.desktop-layout{flex:1;min-height:0;display:flex}.article-list{border-right:1px solid var(--hairline);background:var(--paper);scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;width:340px;overflow-y:auto}.article-list::-webkit-scrollbar{display:none}.article-list-inner{flex-direction:column;display:flex}.list-item{border:none;border-bottom:1px solid var(--hairline);color:var(--body);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:flex-start;gap:.6rem;width:100%;margin:0;padding:.95rem 1rem;display:flex}.list-item:hover{color:var(--ink);background:#eceae5}.list-item.active{background:var(--ink);color:var(--card)}.list-item.active .list-meta{color:#cfcfc8}.list-item.active:hover{background:var(--ink)}.list-dot{border:1px solid;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:.4rem}.list-dot.read{background:var(--ink)}.list-item.active .list-dot.read{background:var(--card)}.list-item-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.list-title{font-family:var(--serif);font-size:1rem;line-height:1.35}.list-item.active .list-title{color:var(--card)}.list-meta{color:var(--muted);font-size:.8rem}.reader{background:var(--paper);flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.reader-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:1.25rem 3rem .75rem;display:flex}.reader-meta{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.85rem}.reader-title{font-family:var(--serif);color:var(--ink);margin:1.5rem 0 0;padding:0 3rem;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.15}.reader-content{color:var(--body);max-width:70ch;padding:1.25rem 3rem 2rem;font-size:1.08rem;line-height:1.75}.reader-content p{margin:0 0 1em}.reader-content img{max-width:100%;height:auto}.reader-actions{border-top:1px solid var(--hairline);background:#ffffff80;align-items:center;gap:1rem;margin-top:auto;padding:.9rem 3rem;display:flex}.reader-actions button{width:auto;margin:0;padding:.5rem 1.2rem}.reader-actions .primary{background:var(--ink);color:var(--card);margin-left:auto}.reader-count{color:var(--muted);font-size:.9rem}.reader-placeholder{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.reader-placeholder h2{color:var(--ink);font-weight:400}.reader-placeholder p{color:var(--muted)}}.feedback-form{border:none;flex-direction:column;flex:auto;padding:0;display:flex}.feedback-form>*{width:100%}.feedback-intro{color:var(--body);margin:0 0 .75rem;line-height:1.4}.feedback-topics{flex-wrap:wrap;gap:.5rem;display:flex}.feedback-topic{border:1px solid var(--hairline);background:var(--card);cursor:pointer;color:var(--body);align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.9rem;display:inline-flex}.feedback-topic:hover{border-color:var(--ink)}.feedback-topic.active{background:var(--ink);color:var(--card);border-color:var(--ink)}.feedback-topic input{display:none}.feedback-actions{gap:.75rem;margin-top:1rem;display:flex}.feedback-actions button{flex:1;margin:0}.app-version{text-align:center;color:var(--muted);margin:2.5rem 0 .25rem;font-size:.8rem}.load-more{text-align:center;padding:.75rem 1rem 1.5rem}.load-more button{width:auto}.mail-opts{flex-wrap:wrap;gap:.75rem 1.5rem;margin:.35rem 0 .75rem;display:flex}.mail-opts label{color:var(--body);align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.mail-opts input[type=checkbox],.mail-opts input[type=radio]{accent-color:#000;width:auto;margin:0}.field-label{color:var(--muted);letter-spacing:.02em;margin:.5rem 0;font-size:.85rem;display:block}.field-hint{color:var(--faint);margin-top:.15rem;font-size:.78rem;display:block}.mail-tests{flex-wrap:wrap}@media (width<=899px){.source-list .user-actions{display:none}}
