:root{--bg:#F5F0E8;--panel:#EDE8DF;--surface:#FFFFFF;--text:#1A1915;--muted:#7C7B75;--line:#DDD8CE;--line-2:#E8E3DA;--brand-h:52px;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px rgba(0, 0, 0, .06),0 1px 2px rgba(0, 0, 0, .04);--shadow-md:0 4px 12px rgba(0, 0, 0, .08),0 1px 3px rgba(0, 0, 0, .06);--container-max:1120px;--space-md:16px;--space-lg:32px;--content-max:768px;--bgColor-neutral-muted:#EEEAE3;--color-neutral-muted:#EEEAE3;--accent:#E25700;--accent-hover:#C4643F;--accent-light:#FBF0EB;--accent-subtle:rgba(218, 119, 86, .1);--transition-fast:120ms ease;--transition-normal:200ms ease}*{box-sizing:border-box}body,html{height:100vh}body{margin:0;color:var(--text);font:14px/1.55 Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app{display:grid;grid-template-columns:220px 1fr;grid-template-rows:var(--brand-h) 1fr;column-gap:0;height:100vh}.sidebar{grid-row:1/span 2;background:var(--panel);border-right:1px solid var(--line);display:grid;grid-template-rows:var(--brand-h) 1fr auto;position:sticky;top:0;height:100vh;overflow:hidden;width:100%}.brand{height:var(--brand-h);display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);gap:10px;text-decoration:none;color:var(--text)}.nav{padding:8px;display:flex;flex-direction:column;gap:2px;overflow:auto;font-size:14px}@media (max-width:980px){.nav{width:100%;box-sizing:border-box}}.nav a,.nav button{font-size:inherit;appearance:none;cursor:pointer;width:100%;text-align:left;padding:10px 12px;background:0 0;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);display:flex;align-items:center;gap:8px;font-weight:500;transition:background var(--transition-fast),color var(--transition-fast)}.nav button img{width:20px;height:20px;flex-shrink:0}.nav a:hover,.nav button:hover{background:#e4ddd3}.nav button[aria-current=page]{background:#e4dcd2;border-color:#d8d0c5}.nav a{text-decoration:none}.nav .btn.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);justify-content:center;text-align:center}.nav .btn.btn-primary:hover{background:var(--accent-hover)}.header{grid-column:2;grid-row:1;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);height:var(--brand-h);gap:12px;background:var(--bg)}.user-slot{padding:8px}#btn-user-slot-login{background:var(--accent);color:#fff;border-color:var(--accent);justify-content:center;font-weight:600}#btn-user-slot-login:hover{filter:brightness(.9)}.user-chip{width:100%;display:flex;align-items:center;gap:10px;background:0 0;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer;transition:background var(--transition-fast)}.user-chip:hover{background:#e4ddd3}.comment-row .avatar,.user-chip .avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-weight:700}.user-chip[aria-expanded=true]{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.user-chip .meta{line-height:1.1;min-width:0}.user-chip .name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .handle{font-size:12px;color:var(--muted)}.user-menu-anchor{position:relative;display:block}.user-menu{position:absolute;left:0;right:0;bottom:100%;z-index:1000}.user-menu[hidden]{display:none}.user-menu[data-placement=bottom]{bottom:auto;top:calc(100% + 8px)}.menu-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:6px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:none}.menu-caret{position:absolute;bottom:-5px;right:12px;width:10px;height:10px;transform:rotate(45deg);background:var(--card-bg,#fff);box-shadow:0 1px 3px rgba(0,0,0,.12)}.user-chip svg{transition:transform .15s ease}.user-chip[aria-expanded=true] svg{transform:rotate(180deg)}.user-menu button{width:100%;text-align:left;background:0 0;border:none;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13px;transition:background var(--transition-fast)}.user-menu button:hover{background:var(--bg)}.search{display:flex;align-items:center;gap:8px;width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;box-shadow:var(--shadow);margin-right:auto;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.search input{width:100%;border:none;outline:0;font:inherit;color:var(--text);background:0 0}.search .kbd{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:1px 5px;background:var(--bg)}.content{grid-column:2;grid-row:2;min-width:0;height:100%;overflow-y:auto;padding-left:0;padding-right:0;padding-bottom:40px}.subgrid-container{box-sizing:border-box;display:flex;flex-direction:column;width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;justify-content:stretch;padding-left:var(--space-md);padding-right:var(--space-md)}@media (min-width:768px){.content>.subgrid-container{padding-left:var(--space-lg);padding-right:var(--space-lg)}}.main-container{width:100%;flex:1 1 0%;gap:var(--space-lg,24px);place-content:space-between;max-width:var(--content-max);margin:0 auto;padding-inline:var(--space-md)}@media (min-width:768px){.main-container{grid-template-columns:minmax(0,var(--content-max)) auto}}@media (min-width:1100px){.main-container{grid-template-columns:minmax(0,var(--content-max)) minmax(0,var(--rail-width))}}.view{height:100%;overflow:auto}.view:not(.active){display:none}.home{padding:32px;color:var(--muted);overflow:auto}.home .panel{max-width:720px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.home h1{margin:0 0 8px;font-size:20px;color:var(--text);font-weight:700;letter-spacing:-.2px}.home p{margin:0;line-height:1.6}.view.messages{overflow:hidden}.messages{display:grid;grid-template-columns:340px 1fr;height:100%}.convo-pane{display:flex;flex-direction:column;height:100%;min-height:0}.convo-header{position:sticky;top:0;z-index:0;padding:8px}#newchat-modal[aria-hidden=false]{display:block}#newchat-modal{position:fixed;inset:0;display:none}#newchat-modal .overlay{position:absolute;inset:0;background:rgba(45,43,40,.4);backdrop-filter:blur(4px)}#newchat-modal .card{position:relative;z-index:1;width:min(520px,92vw);margin:12vh auto;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 48px rgba(100,80,50,.15)}#newchat-modal .row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}#newchat-modal label{font-size:12px;color:var(--muted)}#newchat-modal input,#newchat-modal textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}#newchat-modal input:focus,#newchat-modal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:0}#newchat-modal .actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:8px}#newchat-error{color:#b00020;font-size:12px;font-weight:500}.convo-list{border-right:1px solid var(--line);background:var(--panel);overflow:auto}.convo-item{width:100%;text-align:left;cursor:pointer;background:0 0;border:1px solid transparent;border-radius:0;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:6px;transition:background var(--transition-fast)}.convo-item+.convo-item{border-top:1px solid var(--line-2)}.convo-item:hover{background:#e4ddd3}.convo-item:active{background:#ddd6cb}.convo-item.is-active,.convo-item[aria-current=true]{background:#ddd6cb;border-color:transparent}.convo-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.convo-meta{color:var(--muted);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.convo-preview{color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.convo-unread,.notif-unread{text-align:right;justify-self:end;align-self:start;display:inline-block;padding:2px 6px;border-radius:8px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:11px;line-height:1.2;font-weight:600}.conversation{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}.conversation-empty{flex:1;display:grid;place-items:center;color:var(--muted)}#view-messages .conversation-empty[hidden]{display:none!important}.message-list{padding:30px;overflow:auto;display:flex;flex-direction:column;gap:10px;flex:1 1 auto}.msg{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);flex:0 0 auto;max-width:70%;min-width:120px;word-wrap:break-word;overflow-wrap:break-word}.msg-sent{align-self:flex-end;margin-right:12px;background:#fff3e0;border-color:#ffcc80}.msg-received{align-self:flex-start;margin-left:12px}.msg-sending{opacity:.5}.msg-header{font-size:12px;color:var(--muted);margin-bottom:6px;display:flex;gap:6px;flex-wrap:wrap}.conversation-composer{display:flex;gap:8px;align-items:flex-end;padding:10px 12px}.conversation-composer textarea{flex:1;min-height:44px;max-height:160px;resize:none;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;color:var(--text);background:var(--surface);outline:0}.conversation-composer textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.conversation-composer .btn-primary:disabled{opacity:.45;background:#d4b8a8;border-color:#d4b8a8;cursor:not-allowed;box-shadow:none}.profile{display:grid;grid-template-rows:auto 1fr;height:100%}.profile-header{padding:16px 20px;position:relative}.profile-header::after{content:"";position:absolute;left:16px;right:20px;bottom:0;height:1px;background-color:var(--line)}.profile-title{font-weight:700;font-size:18px;letter-spacing:-.2px;display:flex;align-items:baseline;gap:8px}.profile-handle{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.profile-bio{margin:8px 0 0;font-size:14px;color:var(--muted);line-height:1.4}.profile-interact{margin-top:12px}.profile-interact>div,.profile-interact>template+*{display:flex;align-items:center;gap:8px}.follow-slot{display:inline-flex}#follow-btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;padding:6px 18px;cursor:pointer;font-size:13px;font-weight:600;line-height:1.4;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}#follow-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 1px 3px rgba(218,119,86,.3)}#follow-btn:active{background:#e25700;transform:translateY(.5px)}#follow-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}#unfollow-btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 18px;cursor:pointer;font-size:13px;font-weight:500;line-height:1.4;min-width:92px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}#unfollow-btn .unfollow-label{display:none}#unfollow-btn:hover{border-color:#e25750;background:rgba(226,87,80,.08);color:#e25750}#unfollow-btn:hover .following-label{display:none}#unfollow-btn:hover .unfollow-label{display:inline}#unfollow-btn:active{background:rgba(226,87,80,.15)}#unfollow-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.profile-chat-btn{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;padding:8px 8px;cursor:pointer;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex;align-items:center;gap:5px;transition:background var(--transition-fast)}.profile-chat-btn:hover{background:var(--surface)}.profile-chat-btn:active{background:#e4ddd3;transform:translateY(.5px)}.profile-chat-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-articles{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto}.dashboard{display:grid;grid-template-rows:auto 1fr;height:100%}.dashboard-header{padding:16px 20px;position:relative}.dashboard-header::after{content:"";position:absolute;left:16px;right:20px;bottom:0;height:1px;background-color:var(--line)}.dashboard-articles{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto}.dashboard-title-wrap{position:relative;display:inline-flex;align-items:flex-start}.dashboard-hover-actions{display:none;position:absolute;left:100%;top:-4px;margin-left:8px;z-index:10;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px;box-shadow:var(--shadow-md);gap:2px;white-space:nowrap;flex-direction:column;min-width:100px}.dashboard-hover-actions::before{content:"";position:absolute;top:0;right:100%;width:16px;height:100%}.dashboard-title-wrap:hover .dashboard-hover-actions{display:inline-flex}.dashboard-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:var(--muted)}.dashboard-tag{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:2px 8px;font-size:11px}.dashboard-stat{font-size:12px;display:inline-flex;align-items:center;gap:3px}.dashboard-action-btn{appearance:none;display:block;width:100%;padding:6px 12px;border:none;border-radius:6px;background:0 0;cursor:pointer;font-size:13px;font-weight:500;color:var(--text);text-align:left;text-decoration:none;line-height:1.4;transition:background var(--transition-fast)}.dashboard-action-btn:hover{background:var(--bg)}.dashboard-action-btn.danger{color:#d9534f}.dashboard-action-btn.danger:hover{background:rgba(217,83,79,.08)}.btn-danger{background:#d9534f;color:#fff;border-color:#d9534f}.btn-danger:hover{background:#c9302c}.delete-article-body{padding:16px 0 0}.delete-article-body .modal-buttons{margin-top:20px}.delete-article-body p{margin:0 0 16px;font-size:14px;line-height:1.5}.article{padding:12px 14px}.article h3{margin:0 0 6px;font-size:15px;position:relative;z-index:6}.article .meta{color:var(--muted);font-size:12px;margin-bottom:4px}.load-more-sentinel{padding:12px;text-align:center;color:var(--muted)}#convos-indicator,#messages-indicator{display:none;padding:12px;color:var(--muted)}#convos-indicator.htmx-request,#messages-indicator.htmx-request{display:block}@media (max-width:980px){.app{grid-template-columns:160px 1fr}.brand-name{display:none}.messages{grid-template-columns:1fr}.convo-list{height:40%}.conversation{height:60%}}.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 16px;cursor:pointer;box-shadow:none;font-size:13px;font-weight:500;line-height:1.4;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{background:var(--bg);border-color:#d0cac0}.btn:active{background:#e4ddd3;transform:translateY(.5px)}.btn-ghost{background:0 0;border:1px solid var(--line)}.btn-ghost:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 1px 3px rgba(218,119,86,.3)}.btn-primary:active{background:#e25700;transform:translateY(.5px)}.btn:disabled,.btn[aria-disabled=true],.btn[disabled]{opacity:.4;background:#e8e3da;color:#a09890;border-color:#ddd8ce;cursor:not-allowed;box-shadow:none;pointer-events:none}.btn-primary:disabled,.btn-primary[aria-disabled=true],.btn-primary[disabled]{background:#e0b5a0;border-color:#e0b5a0;color:#fff}.btn-primary:disabled:hover,.btn-primary[disabled]:hover,.btn:disabled:active,.btn:disabled:hover,.btn[disabled]:active,.btn[disabled]:hover{background:inherit}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal{position:fixed;inset:0;display:none;z-index:50}.modal[aria-hidden=false]{display:block}.modal-overlay{position:absolute;inset:0;background:rgba(26,25,21,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-card{position:relative;z-index:1;width:min(480px,92vw);margin:10vh auto;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 4px 16px rgba(0,0,0,.08);max-height:90vh;overflow-y:auto}.modal-header .icon-btn{background:0 0;border:none;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}#keyboard-modal .modal-header{display:flex;flex-wrap:wrap;align-items:flex-start}#keyboard-modal #shortcuts-title{order:1;flex:1 1 auto}#keyboard-modal .modal-close{order:2;margin-left:auto}#keyboard-modal .modal-subtitle{order:3;flex:0 0 100%;margin:8px 0 10px}#keyboard-modal .tabs{border-bottom:none;margin:16px -24px 0;padding:0 24px;display:flex;gap:24px}.modal-title{font-weight:700;font-size:16px;letter-spacing:-.2px}.modal-close{appearance:none;background:0 0;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--muted);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:background var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background:var(--bg);color:var(--text)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form label{font-size:12px;font-weight:500;color:var(--muted)}.auth-form input,.auth-form textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-form input:focus,.auth-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:0}.auth-form select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;line-height:1.2;appearance:none;-webkit-appearance:none;-moz-appearance:none}.auth-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.auth-note{font-size:12px;color:var(--muted);min-height:20px}.auth-link{color:var(--accent);text-decoration:underline;cursor:pointer}.hint-list{margin:6px 0 0 0;padding-left:18px}.hint-list li{list-style:none;position:relative;padding-left:14px;color:var(--muted)}.hint-list li::before{content:"•";position:absolute;left:0;top:0}.hint-list li.ok{color:var(--text);font-weight:600}.hint-list li.ok::before{content:"✓"}.auth-form label:has(#signup-consent){text-align:left}.auth-form label:has(#signup-consent) input[type=checkbox]{width:auto!important;margin-top:3px;flex-shrink:0}.write{display:grid;grid-template-rows:auto 1fr;height:100%}.write-header{padding:16px 20px;font-weight:700;font-size:16px;letter-spacing:-.2px;position:relative}.write-header::after{content:"";position:absolute;left:16px;right:20px;bottom:0;height:1px;background-color:var(--line)}.write-form{padding:16px;display:flex;flex-direction:column;gap:12px;height:100%}.write-form .field{display:flex;flex-direction:column;gap:6px}.write-form input[type=text],.write-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.write-form input[type=text]:focus,.write-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:0}.write-form textarea{resize:vertical;min-height:220px}.write-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:auto;align-items:center}#write-saving[hidden]{display:none}.field .count-row{display:flex;align-items:baseline;gap:8px;margin-top:4px;min-height:1.2em}.field .radio-row{display:flex;align-items:baseline;gap:8px;margin-top:4px;min-height:1.2em;padding-bottom:.5em}.field .radio-row .radio-button{align-self:auto}.field .count-row .error-text{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b00020}.field .count-row .count{margin-left:auto;align-self:auto}.field .count-row .count.error{color:#b00020;font-weight:600}.markdown-editor{display:flex;border-radius:var(--radius-sm);border:1px solid var(--line);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;background:var(--surface);flex-direction:column;color:var(--text);height:100%;width:100%;margin-top:5px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.markdown-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.markdown-editor-write-container{display:block}.markdown-editor-preview-container{display:none}.markdown-editor.preview-mode .markdown-editor-write-container{display:none}.markdown-editor.preview-mode .markdown-editor-preview-container{display:block}.markdown-editor-preview-container.disabled,.markdown-editor-write-container.disabled{opacity:.5;pointer-events:none}.markdown-tabs{display:flex;border-bottom:1px solid var(--line)}.markdown-tab{padding:8px 12px;border:none;background:0 0;color:var(--muted);cursor:pointer;font-size:13px;border-right:1px solid transparent;border-left:1px solid transparent}.markdown-tab:first-child{border-top-left-radius:6px}.markdown-tab.active{background:var(--bg);color:var(--text);border-bottom:2px solid var(--accent);border-right-color:transparent;border-left-color:transparent;font-weight:600}.markddown-tab:hover:not(.active){background:var(--panel)}.toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line)}.toolbar button{border:1px solid transparent;background:0 0;color:var(--muted);padding:4px 6px;border-radius:6px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:24px}.toolbar button b,.toolbar button i{font-weight:600}.toolbar button:hover{background:var(--bg);color:var(--text)}.toolbar button:active{background:#ddd8ce}.toolbar-separator{width:1px;height:18px;background:var(--line);margin:0 4px}.markdown-editor-preview-container,.markdown-editor-write-container{padding:8px 10px}.markdown-editor-write-container{display:block;min-height:230px}.markdown-editor-preview-container{display:block;min-height:230px}#markdown-editor-write{width:100%;height:100%;resize:vertical;border:none;outline:0;color:#0d1117;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:20px}.md{line-height:2}.md blockquote,.md h1,.md h2,.md h3,.md h4,.md h5,.md h6,.md ol,.md p,.md ul{margin:1.5em 0}.md h1:first-child,.md h2:first-child,.md h3:first-child,.md p:first-child{margin-top:0}.md p:last-child{margin-bottom:0}.md blockquote{margin:.5em 0;padding-left:1em;border-left:4px solid var(--md-blockquote-border,#d0d7de);color:var(--md-blockquote-color,inherit)}.render-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.render-viewer{font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.render-preview,.render-viewer{height:100%;width:100%;font-size:20px;resize:vertical;border:none;outline:0;color:#0d1117;padding:8px 10px}.markdown-image{max-width:100%;height:auto}.markdown-code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted));border-radius:6px}ul:has(> li.task-list-item){list-style:none;padding-left:0}.task-list{list-style:none;padding-left:0}.task-list-item{list-style-type:none}.task-list-item>input[type=checkbox]{margin-right:.4rem}@media (max-width:800px){.container{grid-template-columns:1fr}}.read{display:block;grid-template-rows:auto 1fr;height:100%}.read-header{padding:16px 20px;position:relative}.read-header::after{content:"";position:absolute;left:16px;right:20px;bottom:0;height:1px;background-color:var(--line)}.read-header h1{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.3px;line-height:1.3}.read-title-row{display:flex;align-items:baseline;gap:12px}.read-title-row h1{flex:1}.edit-article-link{font-size:13px;color:var(--accent);text-decoration:none;white-space:nowrap;font-weight:500}.edit-article-link:hover{text-decoration:underline}.read-header .meta{color:var(--muted);font-size:12px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.read-header .handle{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.license-info{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;margin-top:4px}.license-icon{width:14px;height:14px;fill:var(--muted);flex-shrink:0}.read-content{padding:8px 10px;overflow:auto;line-height:1.6}.read-error{padding:16px 20px;color:#b00020}a{color:inherit;text-decoration:underline;text-decoration-color:rgba(0,0,0,.35);text-underline-offset:2px;text-decoration-thickness:1px;transition:text-decoration-color .12s ease,text-decoration-thickness .12s ease}a:hover{text-decoration-color:rgba(0,0,0,.85)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}a.btn,a.btn:link,a.btn:visited{text-decoration:none}.article h3 a,.messages .convo-title a,.read-header h1 a{text-decoration:none;color:var(--text);letter-spacing:-.1px}.article h3>a{font-weight:700}.article h3 a .dashboard-action-btn{font-weight:500}.article h3 a:hover,.messages .convo-title a:hover,.read-header h1 a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--accent)}.auth-note a,.home .panel a,.meta a,.read-content a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.auth-note a:hover,.home .panel a:hover,.meta a:hover,.read-content a:hover{text-decoration-thickness:2px}.auth-note a:visited,.home .panel a:visited,.meta a:visited,.read-content a:visited{text-decoration-color:rgba(0,0,0,.5)}.comment-tree{position:relative;padding:16px 20px;overflow:auto}.comment-tree--loading{visibility:hidden}.comment-rails-layer{position:absolute;inset:0;pointer-events:none;z-index:0}.comment-controls-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.comment-card{position:relative;margin-top:10px;z-index:1}.comment-row{position:relative;display:flex;align-items:flex-start;gap:8px}.comment-content{max-width:68ch}.comment-meta{color:var(--muted);margin-left:8px}.comment-body{margin-top:4px;line-height:1.5}.comment-body-deleted{margin-top:4px;line-height:1.5;color:#999}.comment-row--deleted .comment-body,.comment-row--deleted .comment-meta{color:transparent;position:relative}.comment-row--deleted .comment-meta::after{content:"[deleted]";color:#888;position:absolute;left:0;top:0}.comment-row--deleted .comment-body::after{content:"comment deleted by user";color:#888;position:absolute;left:0;top:0}.comment-row--deleted .comment-actions{pointer-events:none}.comment-row--deleted .comment-actions *{opacity:0}.comment-actions{display:flex;gap:6px;margin-top:6px}.comment-actions .btn{background:0 0;border-color:transparent;color:var(--muted);box-shadow:none;padding:2px 4px;border-radius:6px;font-size:12px;font-weight:500}.comment-actions .btn:hover{background:0 0;color:var(--text);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.comment-actions .btn:active{transform:none}.comment-actions .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.comment-actions--deleted{visibility:hidden;pointer-events:none}.comment-children{position:relative;margin-left:28px}.comment-card.comment-collapsed .comment-actions,.comment-card.comment-collapsed .comment-body,.comment-card.comment-collapsed>.comment-children{display:none!important}.comment-toggle{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);display:inline-grid;place-items:center;font-weight:700;cursor:pointer}.comment-toggle--collapse{position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px rgba(0,0,0,.06);pointer-events:auto}.comment-load-more{display:inline-block;cursor:pointer;user-select:none;padding:6px 10px;margin:6px 0;border-radius:999px;color:var(--text);background:var(--surface);border:1px solid var(--line);font-weight:600}.comment-load-more.htmx-request,.comment-load-more[aria-busy=true]{opacity:.6;pointer-events:none}.reply-form{padding:16px;display:flex;flex-direction:column;gap:12px;height:100%}.reply-form .field{display:flex;flex-direction:column;gap:6px}.reply-form input[type=text],.reply-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.reply-form input[type=text]:focus,.reply-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:0}.reply-form textarea{resize:vertical;min-height:110px}.reply-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:0;align-items:center}.report-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:0;align-items:center}.vote{--up:#6A635D;--down:#6A635D;--focus:#2563eb;--neutral:#6A635D;display:inline-flex;align-items:center;gap:.5rem;user-select:none;color:var(--neutral)}.vote .icon-btn{appearance:none;border:0;background:0 0;display:grid;place-items:center;cursor:pointer;transition:box-shadow .16s,background-color .16s,color .12s,transform .06s}.vote .icon-btn:focus{outline:0}.vote .icon-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,#fff)}.vote .icon-btn:active{transform:translateY(1px)}.vote .icon-btn:disabled{opacity:.55;cursor:not-allowed}.vote .icon-btn svg path{transform:translateY(2px)}.vote .circle{fill:none;stroke:currentColor;stroke-width:2}.vote .chev{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}@supports (color:color-mix(in srgb,#000 10%,#fff)){.vote .icon-btn.up:hover{color:var(--up);background:color-mix(in srgb,var(--up) 14%,transparent)}.vote .icon-btn.down:hover{color:var(--down);background:color-mix(in srgb,var(--down) 14%,transparent)}}@supports not (color:color-mix(in srgb,#000 10%,#fff)){.vote .icon-btn.up:hover{color:var(--up);background:rgba(22,163,74,.14)}.vote .icon-btn.down:hover{color:var(--down);background:rgba(220,38,38,.14)}}.vote .icon-btn .vote-icon.selected{display:none}.vote .icon-btn .vote-icon.idle{display:block}.vote .icon-btn[aria-pressed=true] .vote-icon.selected{display:block}.vote .icon-btn[aria-pressed=true] .vote-icon.idle{display:none}.vote .count{min-width:2ch;text-align:center;font-variant-numeric:tabular-nums;opacity:.9}.vote .score{margin-left:.25rem;font-variant-numeric:tabular-nums;opacity:.7}.vote--deleted{visibility:hidden}.article-actions{display:flex;align-items:center;gap:16px;margin-top:8px}.article-container .article-actions{padding:8px 16px}.profile-articles .article-actions{pointer-events:none;margin-bottom:-10px}.profile-articles .article-actions .icon-btn:hover,.profile-articles .article-actions a:hover{background:0 0!important;color:inherit!important}.article-actions .pill,.comment-actions .pill{display:inline-flex;align-items:center;gap:4px;background:var(--bg);border-radius:999px;border:1px solid var(--line);padding:4px 10px;height:28px}.profile-articles .article-actions .pill{display:inline-flex;align-items:center;gap:4px;border:none;background:var(--bg);padding:4px 2px;height:28px}.profile-articles .vote.pill{gap:2px;padding:4px 8px;background:var(--bg);margin-left:-16px}.article-actions .pill:hover{background:var(--surface)}.vote.pill{gap:2px;padding:4px 8px;background:var(--bg);border:1px solid var(--line)}.vote.pill .icon-btn{display:flex;align-items:center;background:0 0;border:none;padding:0;cursor:pointer;color:#6a635d}.vote.pill .icon-btn:disabled{opacity:.4;cursor:not-allowed}.vote.pill .score{font-size:13px;font-weight:500;color:#3a3530;min-width:16px;text-align:center}.reply-action{display:inline-flex;align-items:center;gap:6px}button.reply-action.pill{cursor:pointer;font:inherit;background:var(--bg);border:1px solid var(--line)}.reply-action.pill{text-decoration:none;color:var(--text)}.reply-action.pill:hover{background:var(--surface)}.reply-action.pill .reply-count{font-size:13px;font-weight:500}#view-notifications.view.notifications{height:calc(100vh - var(--brand-h))}.notifications-header{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center}.notifications-list{overflow:auto;padding:8px 12px}.notif-item{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid var(--line)}.notif-item:hover{background:rgba(0,0,0,.02)}.notif-item.unread{background:var(--accent-light)}.notif-item.unread:hover{background:#f5e5dc}.notif-main{display:flex;flex-direction:column;gap:4px}.notif-title{font-weight:700}.notif-meta{color:var(--muted);font-size:12px}.notif-badge{display:inline-block;padding:2px 7px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:11px;font-weight:500}.notif-more{text-align:center;padding:10px;color:var(--muted)}.notif-more.htmx-request{opacity:.6}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-subtle);color:var(--text)}.tabs{border-bottom:1px solid var(--line);margin:16px -24px 0;padding:0 24px;display:flex;gap:24px}.tab-button{border:none;background:0 0;padding:10px 0;cursor:pointer;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;transition:color var(--transition-fast)}.tab-button:hover{color:var(--text)}.tab-button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-panels{padding-top:16px}.tab-panel{display:none}.tab-panel.active{display:block}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}.shortcut-label{color:var(--text)}.shortcut-key{padding:3px 8px;border-radius:5px;border:1px solid var(--line);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;color:var(--muted);background:var(--bg);min-width:24px;text-align:center}.section-footer{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.toggle-wrapper{display:flex;align-items:center;gap:8px}.toggle-label{font-size:14px}.toggle{position:relative;width:46px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#d0d0d0;border-radius:999px;transition:.25s}.toggle-slider::before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 4px rgba(0,0,0,.25)}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider::before{transform:translateX(22px)}.kb-selected{outline:2px solid currentColor;border-radius:8px}.info-btn{anchor-name:--info-btn}.my-popover{position:fixed;position-anchor:--info-btn;inset:auto;bottom:calc(anchor(top) + 20px);justify-self:center}.my-popover[popover]{max-width:min(360px,calc(100vw - 24px));white-space:normal;overflow-wrap:anywhere;border:1px solid var(--line);outline:0;background:var(--surface);box-shadow:var(--shadow-md);border-radius:var(--radius);padding:12px 14px}.icon-btn{appearance:none;-webkit-appearance:none;background:0 0;border:0;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--text);cursor:pointer}.hidden{display:none}#global-error[hidden]{display:none}body.error-mode main.content{position:relative;z-index:0}body.error-mode aside.sidebar{position:relative;z-index:2}body.error-mode #keyboard-modal,body.error-mode #newchat-modal,body.error-mode main.content>*{display:none!important}body.error-mode main.content::before{content:"Something went wrong, please try again later";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--muted);z-index:1;font-weight:500}body.api-error-mode main.content>*{display:none!important}body.api-error-mode main.content::before{content:"Something went wrong, please try again later";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--muted);z-index:1;font-weight:500}.option-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:10px;margin-top:6px}@media (max-width:520px){.option-grid{grid-template-columns:1fr}}.gender-row{display:flex;gap:24px;align-items:center;margin-top:6px}.gender-item{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text)}.gender-item input[type=radio]{transform:translateY(1px)}.day-adjust-tag{margin-top:4px;display:inline-block;padding:2px 8px;font-size:12px;border-radius:9999px;background:var(--accent-light);color:var(--accent-hover)}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;margin-top:14px;width:100%}.chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--chip);color:var(--chip-text);cursor:pointer;user-select:none;transition:transform .05s ease,background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);font-size:13px;font-weight:600;line-height:1}.chip:hover{box-shadow:var(--shadow)}.chip:active{transform:translateY(1px)}.chip[aria-pressed=true]{background:var(--chip-selected-bg);border-color:var(--chip-selected-line);color:var(--chip-selected-text)}.info-row{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--accent-light);color:var(--muted);font-size:13px;line-height:1.45;margin-bottom:14px}.info-row a{color:var(--blue);text-decoration:none;font-weight:700}.info-row a:hover{text-decoration:underline}.footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:8px}.section-title{font-weight:700;margin:0 0 6px;font-size:16px;letter-spacing:-.2px}.section-desc{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45;max-width:54ch}#report-modal-body{display:flex;gap:12px 12px;flex-direction:column;min-height:0}.report-content{max-height:60vh;overflow-y:auto;scrollbar-gutter:stable both-edges}.report-action.pill{cursor:pointer;font:inherit;background:var(--bg);border:1px solid var(--line)}.report-action.pill:hover{background:#fff}.reply-action.pill{text-decoration:none;color:#3a3530}.chips-scroll{max-height:60vh;overflow-y:auto;min-height:0;scrollbar-gutter:stable both-edges;display:flex;flex-wrap:wrap;gap:10px;padding-right:6px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal-header.vary{display:flex;flex-wrap:wrap;align-items:flex-start}.modal-close.vary{order:2;margin-left:auto}.modal-subtitle{order:3;flex:0 0 100%;margin:8px 0 0}.modal-title.vary{order:1;flex:1 1 auto}.question{font-weight:700;margin:8px 0 10px}.radio{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:14px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px}.modal-buttons{display:flex;gap:10px}.settings-sections{display:flex;flex-direction:column;padding-top:16px}.settings-item{width:100%;text-align:left;padding:9px 0;border:0;border-radius:var(--radius-sm);background:0 0;color:var(--text);font:inherit;cursor:pointer;transition:background var(--transition-fast);display:flex;align-items:center;justify-content:space-between}.settings-item:hover{background:var(--bg)}.settings-edit-icon{width:20px;height:20px;flex-shrink:0}.toggle-wrap{flex-shrink:0}.toggle{position:relative;display:block;width:46px;height:26px;cursor:pointer}.toggle input{display:none}.toggle-track{position:absolute;inset:0;background:#b0aea8;border-radius:13px;transition:background .25s ease,opacity .2s ease}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:disabled+.toggle-track{background:#d1d5db;cursor:not-allowed}.toggle input:disabled~.toggle-thumb{background:#f3f4f6;box-shadow:none}.toggle input:disabled+.toggle-track,.toggle input:disabled~.toggle-thumb{opacity:.7}.toggle input:disabled~.toggle-thumb,.toggle input:disabled~.toggle-track{pointer-events:none}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .25s cubic-bezier(.4, 0, .2, 1),opacity .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.3);z-index:1}.toggle input:checked~.toggle-thumb{transform:translateX(20px)}.toggle.syncing{pointer-events:none}.toggle.syncing .toggle-track{opacity:.35}.toggle.syncing .toggle-thumb{opacity:.45}.toggle.error .toggle-thumb{animation:shake .35s ease}@keyframes shake{0%,100%{transform:translateX(var(--thumb-x,0))}25%{transform:translateX(calc(var(--thumb-x,0) - 3px))}75%{transform:translateX(calc(var(--thumb-x,0) + 3px))}}.setting-row{padding:20px 0 28px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.blur-section{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s ease,opacity .3s ease,border-color .3s ease;opacity:1}.blur-section.hidden{grid-template-rows:0fr;opacity:0;border-color:transparent}.blur-section-inner{overflow:hidden}.setting-info{flex:1;min-width:0}.setting-label{font-size:14px;color:var(--text);margin-bottom:3px}.setting-desc{font-size:12.5px;color:var(--muted);line-height:1.5}.disabled{opacity:.4;background:var(--bg);color:var(--muted);border-color:var(--line);cursor:not-allowed;box-shadow:none;pointer-events:none}input:disabled{opacity:.45;cursor:not-allowed}.article-overlay{position:relative;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(245,240,232,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:4;opacity:0;pointer-events:none;transition:opacity .3s}.article-container.show-overlay .article-overlay,.article.show-overlay .article-overlay{opacity:1;pointer-events:auto}.overlay-content{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:center;padding:12px 12px}.overlay-icon{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.overlay-text{font-size:.95rem}.overlay-sub{color:var(--text-muted);font-size:.95rem;line-height:1.5}.overlay-btn{margin-top:8px;padding:10px 24px;border-radius:999px;border:none;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);color:#fff}.overlay-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.overlay-btn.signup{background:var(--accent)}.overlay-btn.reveal{background:var(--accent)}.article-overlay.overlayBlur{position:relative;background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;pointer-events:auto;margin:-12px -14px;padding:12px 14px}.blur-content{visibility:hidden;min-height:160px}#read-article .blur-content{visibility:visible;min-height:160px}.blur-reveal-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:inherit;overflow:hidden;z-index:5}#read-article .blur-reveal-controls{align-items:flex-start;padding-top:30px}.blur-reveal-controls .overlay-btn{margin-top:2px;padding:10px 24px;font-size:14px;font-family:inherit;font-weight:600;line-height:1.2;color:#fff}.comment-overlay-wrap{position:relative;min-height:200px;margin-top:24px}.comment-overlay-wrap.article-overlay.comment-overlay-show{opacity:1;pointer-events:auto;padding:60px 20px}.comment-overlay-blur{position:relative;overflow:hidden;margin:-12px -14px;padding:12px 14px}.comment-overlay-blur .blur-reveal-controls{align-items:flex-start;padding-top:80px}.comment-blur-content{-webkit-filter:blur(16px);user-select:none;pointer-events:none;overflow:hidden}.policy-bar{position:fixed;bottom:0;left:220px;right:0;display:flex;justify-content:center;align-items:center;gap:24px;padding:10px 16px;background:0 0;font-size:12px;pointer-events:none}.policy-bar a{color:var(--muted);text-decoration:none;transition:color var(--transition-fast);white-space:nowrap;pointer-events:auto}.policy-bar a:hover{color:var(--text)}@media (max-width:980px){.policy-bar{left:160px;gap:16px;padding:8px 12px;font-size:11px}}