:root{--bg: #121212;--surface: #1e1e1e;--text: #e0e0e0;--accent: #bb86fc;--border: #333;--subtle-border: #222;--muted-text: #8e8e8e;--input-bg: #2a2a2a;--button-text: #000;--post-surface: #202020;--post-surface-hover: #252525;--post-border: #2f2f2f;--post-border-hover: #444;--post-copy: #b8b8b8;--post-shadow: 0 2px 8px rgba(0, 0, 0, .18);--post-shadow-hover: 0 10px 24px rgba(0, 0, 0, .34);--overlay: rgba(0, 0, 0, .75);--modal-shadow: 0 20px 60px rgba(0, 0, 0, .35);--modal-button-height: 42px;--scrollbar-thumb: #3d3d3d;--scrollbar-thumb-hover: #565656;color-scheme:dark}:root[data-theme=light]{--bg: #f7f7f2;--surface: #ffffff;--text: #1f211f;--accent: #146a64;--border: #d4d6ce;--subtle-border: #e5e6df;--muted-text: #666d67;--input-bg: #fbfbf7;--button-text: #ffffff;--post-surface: #ffffff;--post-surface-hover: #f2f6f4;--post-border: #d9ded8;--post-border-hover: #aab8b3;--post-copy: #59615b;--post-shadow: 0 2px 8px rgba(31, 33, 31, .08);--post-shadow-hover: 0 10px 24px rgba(31, 33, 31, .14);--overlay: rgba(31, 33, 31, .42);--modal-shadow: 0 20px 60px rgba(31, 33, 31, .18);--scrollbar-thumb: #c4cac3;--scrollbar-thumb-hover: #9ea8a1;color-scheme:light}body{background-color:var(--bg);color:var(--text);font-family:Courier New,Courier,monospace;margin:0;height:100vh;height:100dvh;overflow:hidden}.app-container{display:grid;grid-template-rows:auto 1fr auto;height:100vh;height:100dvh;max-width:800px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}.app-container>header{padding:.5rem 1rem;border-bottom:1px solid var(--border)}h1{margin:0;font-size:1.25rem}h1 a{color:inherit;text-decoration:none}.board{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;padding:0 1rem}#posts-list,#message-body{min-height:0;overflow-y:auto}#posts-list::-webkit-scrollbar,#message-body::-webkit-scrollbar,.message-block::-webkit-scrollbar{height:10px;width:10px}#posts-list::-webkit-scrollbar-thumb,#message-body::-webkit-scrollbar-thumb,.message-block::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:4px solid var(--bg);border-radius:999px}#posts-list::-webkit-scrollbar-thumb:hover,#message-body::-webkit-scrollbar-thumb:hover,.message-block::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.message-content{overflow-wrap:anywhere}.message-meta{align-items:center;display:flex;gap:12px;margin-top:6px}.message-actions{align-items:center;display:flex;gap:10px}.vote-button{align-items:center;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--muted-text);display:inline-flex;flex:0 0 auto;font-size:.72rem;gap:4px;height:24px;line-height:1;min-width:42px;padding:0 8px}.vote-button:hover,.vote-button:focus-visible,.vote-button.active{border-color:var(--accent);color:var(--accent);opacity:1}.message-reply-button{background:transparent;border:0;color:var(--muted-text);font-size:.72rem;line-height:1.2;padding:0}.message-reply-button:hover,.message-reply-button:focus-visible{color:var(--accent);opacity:1}.message-body-text{white-space:pre-wrap}.message-timestamp{background:var(--bg);color:var(--muted-text);flex:0 0 auto;font-size:.72rem;line-height:1.2;margin-left:auto;pointer-events:none;position:sticky;right:1rem;white-space:nowrap;z-index:1}.message-composer{padding:1rem;background:var(--surface);box-shadow:inset 0 1px 0 var(--border)}.reply-context{align-items:center;color:var(--muted-text);display:flex;font-size:.8rem;gap:8px;justify-content:space-between;margin-bottom:8px;min-height:24px}.reply-cancel-button{background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--muted-text);flex:0 0 auto;height:24px;line-height:1;padding:0;width:24px}#message-form{display:flex;align-items:stretch}input,textarea{background:var(--input-bg);border:1px solid var(--border);color:var(--text);font-family:inherit;outline:none;padding:12px}input{flex-grow:1}textarea{min-height:96px;resize:vertical}#input{min-height:20px;max-height:120px}input:focus,textarea:focus{border-color:var(--accent)}button{background:var(--accent);color:var(--button-text);border:1px solid var(--accent);box-sizing:border-box;padding:0 20px;cursor:pointer;font-weight:700;font-family:inherit}button:hover,.button-link:hover{opacity:.8}.secondary-button{background:transparent;color:var(--text);border-color:var(--border)}.button-link{background:var(--accent);border:1px solid var(--accent);box-sizing:border-box;color:var(--button-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:700;height:var(--modal-button-height);padding:0 20px;text-align:center;text-decoration:none}.button-message-send{border-radius:0 20px 20px 0}.new-post-button,.post-collapse-button{border-radius:20px}textarea#input{border-radius:20px 0 0 20px;flex-grow:1;line-height:1.35;padding-left:18px}.header-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem}.community-title{color:var(--accent);font-weight:700;justify-self:center;max-width:100%;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:.35rem;justify-self:end;min-width:0}.header-actions button{display:inline-flex;align-items:center;height:24px}.header-actions .icon-button{height:32px}.header-login-button{padding:0 12px}.icon-button,.theme-toggle-button{border:none;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;line-height:0}.icon-button svg{width:18px;height:18px;display:block}.notification-button{cursor:pointer;list-style:none;position:relative}.notification-button::-webkit-details-marker{display:none}.notification-button svg{height:20px;width:20px}.notification-dot{align-items:center;background:var(--accent);border:2px solid var(--surface);border-radius:999px;box-sizing:border-box;color:var(--button-text);display:flex;font-size:.45rem;font-weight:700;height:15px;justify-content:center;line-height:1;min-width:15px;padding:0 1px;position:absolute;right:0;top:2px}.notification-menu{position:relative}.notification-menu-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--modal-shadow);display:grid;max-height:min(420px,calc(100vh - 72px));min-width:min(260px,calc(100vw - 24px));overflow-y:auto;padding:6px;position:absolute;right:-36px;top:calc(100% + 8px);width:min(320px,calc(100vw - 24px));z-index:10}.notification-menu-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:34px;padding:0 6px 6px}.notification-menu-header strong{color:var(--text);font-size:.86rem}.header-actions .notification-menu-header button{background:transparent;border:1px solid var(--border);color:var(--muted-text);font-size:.72rem;height:24px;padding:0 8px}.header-actions .notification-menu-header button:disabled{cursor:default;opacity:.45}.notification-empty{color:var(--muted-text);font-size:.82rem;margin:0;padding:14px 8px 10px}.header-actions .notification-item{background:transparent;border:0;color:var(--text);display:grid;gap:3px;height:auto;justify-content:stretch;line-height:1.3;min-height:48px;padding:9px 8px;text-align:left;white-space:normal;width:100%}.header-actions .notification-item:hover,.header-actions .notification-item:focus-visible{background:var(--input-bg);opacity:1}.notification-item.unread{box-shadow:inset 3px 0 0 var(--accent)}.notification-item span,.notification-item small{min-width:0;overflow-wrap:anywhere}.notification-item small{color:var(--muted-text);font-size:.72rem}.account-menu{position:relative}.account-menu-button{cursor:pointer;list-style:none}.account-menu-button::-webkit-details-marker{display:none}.account-menu-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--modal-shadow);display:grid;min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:10}.header-actions .menu-item{background:transparent;border:0;color:var(--text);display:grid;font-size:.86rem;font-weight:700;gap:10px;grid-template-columns:20px minmax(0,1fr);height:36px;justify-content:start;line-height:1.2;padding:0 10px;text-align:left;width:100%}.header-actions .menu-item:hover,.header-actions .menu-item:focus-visible{background:var(--input-bg);opacity:1}.header-actions .menu-item svg,.menu-item-icon{align-self:center;color:var(--muted-text);display:block;height:18px;justify-self:center;width:18px}.theme-toggle-button{flex:0 0 auto;font-size:1rem;line-height:normal}.board-header{background:var(--surface);box-shadow:inset 0 -1px 0 var(--border);color:var(--accent);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-height:24px;margin:0 -1rem;padding:10px 1rem;z-index:1}.post-anchor{display:grid;gap:8px;grid-column:1 / -1;min-width:0}.post-anchor-top{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:8px;min-width:0}.back-to-posts-button{color:var(--accent);background:transparent;border:none;display:grid;height:24px;place-items:center;padding:0;width:24px}.post-collapse-button{color:var(--accent);background:transparent;border:1px solid var(--border);height:24px;line-height:1;padding:0;width:24px}.post-body{color:var(--text);font-weight:400;line-height:1.45;margin:0;max-height:8.7em;overflow-wrap:anywhere;overflow-y:auto;padding-right:4px;white-space:pre-wrap}.post-vote-button{justify-self:center}#post-title{display:block;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.new-post-button{grid-column:2;justify-self:end;min-height:24px;padding:0 10px}.posts-panel{display:grid;gap:12px;align-content:start;list-style:none;margin:0 -1rem;padding:12px 1rem}.messages{margin:0 -1rem}.state-list-item{list-style:none}.state-panel{align-content:center;box-sizing:border-box;color:var(--muted-text);display:grid;gap:8px;justify-items:center;min-height:180px;padding:32px 1rem;text-align:center}.state-panel strong{color:var(--text);font-size:.95rem}.state-panel p{line-height:1.45;margin:0;max-width:34rem}.state-panel-error strong{color:var(--accent)}.state-action-button{border-radius:20px;min-height:36px;margin-top:6px}.message-block{overflow-x:auto;overflow-y:visible;position:relative}.message-block:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.message-item{--reply-step: 28px;box-sizing:border-box;display:grid;grid-template-areas:"message";font-size:.9rem;line-height:1.4;inline-size:100%;min-inline-size:100%;min-width:0;min-height:65px;position:relative;width:100%}.message-block .message-item{inline-size:calc(100% + var(--block-indent, 0px));min-inline-size:calc(100% + var(--block-indent, 0px));width:calc(100% + var(--block-indent, 0px))}.message-scroll-content{background-image:repeating-linear-gradient(to right,var(--subtle-border) 0,var(--subtle-border) 1px,transparent 1px,transparent var(--reply-step));background-position:1rem 0;background-repeat:no-repeat;background-size:var(--reply-indent, 0px) 100%;box-sizing:border-box;grid-area:message;inline-size:100%;min-inline-size:100%;padding:12px 1rem 12px calc(1rem + var(--reply-indent, 0px));width:100%}.post-item{display:grid;gap:6px;padding:14px 16px;cursor:pointer;border:1px solid var(--post-border);border-radius:6px;background:var(--post-surface);box-shadow:var(--post-shadow);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.post-item-top{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.post-item-top strong{min-width:0;overflow-wrap:anywhere}.post-item-body{color:var(--post-copy);font-size:.85rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-item-meta{align-items:center;color:var(--muted-text);display:flex;flex-wrap:wrap;font-size:.78rem;gap:4px 10px;line-height:1.3}.post-item-meta span,.post-item-meta time{min-width:0}.post-item-meta span:not(:last-child):after,.post-item-meta time:not(:last-child):after{color:var(--border);content:"/";margin-left:10px}.post-item:hover,.post-item:focus-visible{background:var(--post-surface-hover);border-color:var(--post-border-hover);box-shadow:var(--post-shadow-hover);transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;justify-content:center;align-items:center;z-index:10}.hidden{display:none}.modal{background:var(--surface);border:1px solid var(--border);padding:1.5rem;width:min(420px,calc(100% - 2rem));box-shadow:var(--modal-shadow);position:relative}.modal-close{position:absolute;top:.75rem;right:.75rem;border:none;background:transparent;color:var(--text);font-size:1.5rem}.modal-copy{line-height:1.5;margin:1rem 0 0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:1rem}.auth-tabs button{background:transparent;border-color:var(--border);color:var(--text);height:var(--modal-button-height)}.auth-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--button-text)}.auth-form,.modal-form{display:grid;gap:.75rem;margin-top:1rem;justify-items:center}.feedback-actions{display:grid;gap:.75rem;margin-top:1rem}.auth-form input,.auth-form button,.modal-form input,.modal-form textarea,.modal-form button{box-sizing:border-box;width:100%}.modal .auth-form button,.modal .modal-form button{display:inline-flex;align-items:center;justify-content:center;height:var(--modal-button-height)}@media(max-width:640px){.message-composer{padding:.75rem 1rem calc(1.5rem + env(safe-area-inset-bottom,0px))}.message-scroll-content{background-position:.75rem 0;padding-left:calc(.75rem + var(--reply-indent, 0px))}}
