:root{--bg:#0a0a0f;--bg-surface:#12121a;--bg-elevated:#1a1a26;--bg-hover:#22222e;--fg:#e4e4ef;--fg-muted:#8888a0;--fg-dim:#55556a;--accent:#7c6fff;--accent-glow:#7c6fff40;--accent-warm:#f472b6;--accent-hot:#ec4899;--glow-purple:#7c6fff33;--brand-gradient:linear-gradient(135deg, var(--accent), #c084fc, var(--accent-warm), var(--accent));--brand-glow:0 0 .5em #7c6fff66, 0 0 2em #c484fc26;--danger:#f55;--success:#5c7;--warning:#fa3;--glass:#ffffff0a;--glass-strong:#ffffff12;--glass-border:#ffffff14;--radius:.75em;--radius-sm:.5em;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;height:100vh;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;overflow:hidden}#app{height:100vh}.view-transition{height:100vh;animation:.25s ease-out view-in}@keyframes view-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.layout{height:100vh;display:flex}.sidebar{-webkit-backdrop-filter:blur(1.5em)saturate(1.2);background:#12121ae6;border-right:1px solid #7c6fff1a;flex-direction:column;flex-shrink:0;width:16.25em;display:flex;box-shadow:1px 0 2em #7c6fff0a}.sidebar-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1.25em 1em;display:flex}.logo{letter-spacing:.08em;background:var(--brand-gradient);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 .4em #7c6fff80);background-size:200% 200%;background-clip:text;font-size:1.5em;font-weight:700;transition:filter .3s,letter-spacing .3s;animation:6s infinite gradient-shift}.logo:hover{filter:drop-shadow(0 0 .8em #c484fc99)drop-shadow(0 0 2em #f472b64d);letter-spacing:.14em}.room-list{flex:1;padding:.5em;overflow-y:auto}.main{flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.chat-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.room-header{background:var(--glass-strong);-webkit-backdrop-filter:blur(1.875em);border-bottom:1px solid #7c6fff14;padding:1em 1.5em;box-shadow:0 .125em 1.25em #7c6fff0f}.room-header h2{color:var(--fg);font-size:1.125em;font-weight:600}.topic{color:var(--fg-muted);margin-top:.125em;font-size:.8125em;display:block}.modal-overlay{z-index:300;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);text-align:center;-webkit-backdrop-filter:blur(2.5em)saturate(1.2);background:#12121aeb;border:1px solid #7c6fff1f;width:36em;max-width:90vw;padding:2.5em 3em;box-shadow:0 .5em 2.5em #0006,0 0 1.5em #7c6fff14}.modal h3{margin-bottom:.75em}.modal p{color:var(--fg-muted);margin-bottom:1.25em;font-size:.875em}.modal form{flex-direction:column;gap:.75em;display:flex}.modal input{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--fg);outline:none;padding:.625em .875em;font-size:.875em}.modal input:focus{border-color:var(--accent);box-shadow:0 0 0 .125em var(--accent-glow)}.kind-toggle{border-radius:var(--radius-sm);border:1px solid var(--glass-border);gap:0;display:flex;overflow:hidden}.kind-btn{background:var(--bg-elevated);color:var(--fg-muted);cursor:pointer;transition:all var(--transition);border:none;flex:1;padding:.5em;font-size:.8125em}.kind-btn.active{background:var(--accent);color:#fff}.kind-btn:not(.active):hover{background:var(--bg-hover)}.modal-actions{justify-content:center;gap:.75em;display:flex}.modal-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;padding:.5em 1.5em;font-size:.875em;font-weight:500}.modal-btn.accept{background:var(--accent);color:#fff}.modal-btn.accept:hover{filter:brightness(1.15);box-shadow:0 .25em 1em var(--glow-purple)}.modal-btn.decline{background:var(--bg-elevated);color:var(--fg-muted)}.modal-btn.decline:hover{color:var(--danger)}.user-menu{text-align:left;width:36em;max-width:90vw}.user-menu h3,.user-menu-section{margin-bottom:1em}.user-menu-section-header{color:var(--fg-dim);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5em;font-size:.75em;font-weight:600}.user-menu-hint{color:var(--fg-dim);margin-bottom:.5em;font-size:.8125em}.token-row{background:var(--bg-elevated);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:.25em;padding:.5em .75em;display:flex}.token-prefix{color:var(--fg-muted);font-size:.8125em}.token-delete{color:var(--fg-dim);cursor:pointer;background:0 0;border:none;padding:0 .25em;font-size:1.125em;line-height:1}.token-delete:hover{color:var(--danger)}.token-error{color:var(--danger);margin-bottom:.5em;font-size:.75em}.token-reveal{background:var(--bg-elevated);border-radius:var(--radius-sm);margin-top:.75em;padding:.75em}.token-reveal p{color:var(--fg-muted);margin-bottom:.5em;font-size:.75em}.token-reveal pre{word-break:break-all;white-space:pre-wrap;color:var(--fg);margin:0 0 .5em;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.6875em}.token-copy{padding:.25em .75em;font-size:.75em}.token-warning{color:var(--warning);margin-top:.375em;font-size:.6875em}.slopid-connect-details{cursor:default}.slopid-connect-summary{cursor:pointer;align-items:center;gap:.375em;list-style:none;display:flex}.slopid-connect-summary:before{content:"▶";font-size:.5em;transition:transform .15s}.slopid-connect-details[open] .slopid-connect-summary:before{transform:rotate(90deg)}.slopid-connect-summary::-webkit-details-marker{display:none}.slopid-connect-code{word-break:break-all;white-space:pre-wrap;color:var(--fg);background:var(--bg-elevated);border-radius:var(--radius-sm);margin:.25em 0 0;padding:.5em .75em;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.6875em;overflow-x:auto}.user-menu-footer{border-top:1px solid var(--glass-border);margin-top:.5em;padding-top:.75em}.invite-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;margin-left:auto;padding:.25em .75em;font-size:.75em}.invite-btn:hover{filter:brightness(1.15);box-shadow:0 .125em .75em var(--glow-purple)}.conn-status{float:right;border-radius:.625em;padding:.125em .5em;font-size:.6875em}.conn-status.connected{color:var(--success);background:#55cc771a}.conn-status.reconnecting{color:var(--warning);background:#ffaa331a}.conn-status.disconnected{color:var(--danger);background:#ff55551a}.error-banner{color:var(--danger);background:#ff55551a;border-bottom:1px solid #f553;padding:.5em 1.5em;font-size:.8125em}.messages{flex:1;padding:1em 1.5em;overflow-y:auto}.messages-empty{height:100%;color:var(--fg-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5em;display:flex}.messages-empty strong{color:var(--fg-muted)}.hint{font-size:.8125em}.message{padding:.375em 0}.message+.message{border-top:1px solid var(--glass-border)}.message.deleted{opacity:.4}.message-header{align-items:baseline;gap:.5em;margin-bottom:.125em;display:flex}.message-author{color:var(--accent);font-size:.875em;font-weight:600}.mcp-badge{color:var(--fg-dim);border:1px solid var(--border);vertical-align:middle;border-radius:3px;padding:0 3px;font-size:.625em}.message-time{color:var(--fg-dim);font-size:.6875em}.message-body{word-break:break-word;font-size:.875em;line-height:1.5}.message-body a{color:var(--accent);text-decoration:none}.message-body a:hover{text-decoration:underline}.message-body code{background:var(--bg-elevated);border-radius:.25em;padding:.0625em .3125em;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.8125em}.message-body pre{background:var(--bg-elevated);border-radius:var(--radius-sm);margin:.375em 0;padding:.625em .875em;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;overflow-x:auto}.message-body pre code{background:0 0;padding:0}.message-body strong{color:var(--fg)}.message-edited{color:var(--fg-dim);margin-left:.25em;font-size:.6875em}.deleted-text{color:var(--fg-dim);font-style:italic}.edit-history{display:inline}.edit-history summary{cursor:pointer;list-style:none;display:inline}.edit-versions{background:var(--bg-elevated);border-radius:var(--radius-sm);margin-top:.25em;padding:.375em .625em;font-size:.75em}.edit-version{color:var(--fg-dim);padding:.125em 0}.edit-version-label{color:var(--fg-muted);margin-right:.375em;font-weight:500}.thread-badge{background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent);cursor:pointer;transition:all var(--transition);border-radius:1em;margin-top:.25em;padding:.125em .5em;font-size:.6875em;font-weight:600;animation:2s ease-in-out infinite thread-pulse;display:inline-block}.thread-badge:hover{background:var(--accent);color:#fff;animation:none}@keyframes thread-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 .25em #0000}}.message-actions{opacity:0;transition:opacity var(--transition);margin-left:auto}.message:hover .message-actions{opacity:1}.msg-action{cursor:pointer;color:var(--fg-dim);transition:color var(--transition);background:0 0;border:none;padding:0 .25em;font-size:.8125em}.msg-action:hover{color:var(--fg)}.msg-action.danger{color:var(--danger);font-size:.75em}.msg-action.danger:hover{color:#f33}.delete-confirm{gap:.25em;font-size:.75em;display:inline-flex}.reply-quote{color:var(--fg-dim);border-left:2px solid var(--accent);background:var(--glass);border-radius:0 var(--radius-sm) var(--radius-sm) 0;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25em;padding:.125em .5em;font-size:.75em;overflow:hidden}.reply-author{color:var(--accent);font-weight:500}.send-context{color:var(--fg-muted);background:var(--bg-elevated);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:.375em .875em;font-size:.75em;display:flex}.send-context.edit{border-left:3px solid var(--warning)}.send-context-close{color:var(--fg-dim);cursor:pointer;background:0 0;border:none;font-size:1em}.send-context-close:hover{color:var(--fg)}.send-row{gap:.5em;width:100%;display:flex}.room-item{align-items:center;display:flex;position:relative}.room-item-btn{color:var(--fg-muted);text-align:left;cursor:pointer;transition:all var(--transition);border-radius:var(--radius-sm);background:0 0;border:none;flex:1;padding:.625em .75em;font-size:.875em;display:block}.room-item:hover .room-item-btn{color:var(--fg)}.room-item.active .room-item-btn{color:var(--accent);box-shadow:inset 2px 0 0 var(--accent);background:#7c6fff14;font-weight:500}.room-leave{opacity:0;color:var(--fg-dim);cursor:pointer;transition:all var(--transition);background:0 0;border:none;padding:0 .5em;font-size:1em}.room-item:hover .room-leave{opacity:1}.room-leave:hover{color:var(--danger)}.embed-img{border-radius:var(--radius-sm);cursor:pointer;max-width:25em;max-height:18.75em;margin:.375em 0;display:block}.embed-img:hover{box-shadow:0 .25em 1em #0006}.embed-video{aspect-ratio:16/9;border-radius:var(--radius-sm);width:100%;max-width:30em;margin:.375em 0;position:relative;overflow:hidden}.embed-video iframe{width:100%;height:100%;position:absolute;top:0;left:0}.embed-video-native{border-radius:var(--radius-sm);max-width:30em;max-height:22.5em;margin:.375em 0;display:block}.empty{color:var(--fg-dim);flex:1;justify-content:center;align-items:center;font-size:.9375em;display:flex}.send-box{-webkit-backdrop-filter:blur(1.25em)saturate(1.2);background:#12121ae6;border-top:1px solid #7c6fff14;flex-direction:column;gap:.5em;padding:.75em 1.5em 1.25em;display:flex}.send-input-wrapper{flex:1;display:flex;position:relative}.send-input-wrapper textarea{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--fg);transition:border-color var(--transition), box-shadow var(--transition);resize:none;outline:none;flex:1;width:100%;min-height:2.5em;max-height:10em;padding:.625em .875em;font-family:inherit;font-size:.875em;line-height:1.4;overflow-y:auto}.send-input-wrapper textarea:focus{border-color:var(--accent);box-shadow:0 0 0 .125em var(--accent-glow)}.send-input-wrapper textarea::placeholder{color:var(--fg-dim)}.send-input-wrapper textarea.preview-active{color:#0000;caret-color:var(--fg)}.send-overlay{color:var(--fg);pointer-events:none;word-break:break-word;border-radius:var(--radius-sm);border:1px solid #0000;padding:.625em .875em;font-family:inherit;font-size:.875em;line-height:1.4;position:absolute;inset:0;overflow-y:auto}.send-overlay a{color:var(--accent)}.send-overlay code{background:#ffffff14;border-radius:.25em;padding:.0625em .25em;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.8125em}.send-overlay strong{color:var(--fg)}.send-overlay img{max-height:2.5em}.raw-toggle{border:1px solid var(--glass-border);color:var(--fg-dim);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;align-self:center;padding:.25em .5em;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.6875em}.raw-toggle:hover{color:var(--accent);border-color:var(--accent)}.send-box button{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;align-self:center;padding:.625em 1.25em;font-size:.875em;font-weight:500}.send-box button:hover:not(:disabled){filter:brightness(1.2);box-shadow:0 .25em 1em var(--glow-purple), 0 0 .5em var(--accent-glow)}.send-box button:disabled{opacity:.4;cursor:default}.login-container{background:radial-gradient(ellipse at 30% 20%, #7c6fff14 0%, transparent 50%), radial-gradient(ellipse at 70% 80%, #f472b60f 0%, transparent 50%), radial-gradient(ellipse at center, #1a1a2e 0%, var(--bg) 70%);justify-content:center;align-items:center;height:100vh;display:flex;overflow:hidden}.login-container:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#7c6fff04 2px 4px);position:fixed;inset:0}.login-card{z-index:1;-webkit-backdrop-filter:blur(3.75em)saturate(1.3);border-radius:var(--radius);text-align:center;background:#ffffff0a;border:1px solid #7c6fff26;width:28em;max-width:90vw;padding:3.5em 3em;animation:8s ease-in-out infinite card-breathe;position:relative;box-shadow:0 .5em 3.75em #0006,0 0 2em #7c6fff1a,0 0 4em #f472b60f,inset 0 1px #ffffff0f}@keyframes card-breathe{0%,to{box-shadow:0 .5em 3.75em #0006,0 0 2em #7c6fff1a,0 0 4em #f472b60f,inset 0 1px #ffffff0f}50%{box-shadow:0 .5em 3.75em #0006,0 0 3em #7c6fff26,0 0 6em #f472b61a,inset 0 1px #ffffff0f}}.login-card h1{letter-spacing:.12em;background:var(--brand-gradient);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 .6em #7c6fff80)drop-shadow(0 0 2.5em #c484fc33);background-size:200% 200%;background-clip:text;margin-bottom:.125em;font-size:3.5em;font-weight:700;animation:6s infinite gradient-shift}.subtitle{color:var(--fg-dim);letter-spacing:.2em;text-transform:lowercase;margin-bottom:2em;font-size:.8em}.login-card form{flex-direction:column;gap:.75em;display:flex}.login-card input{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--fg);transition:border-color var(--transition);outline:none;padding:.75em 1em;font-size:.875em}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 .125em var(--accent-glow)}.login-card input::placeholder{color:var(--fg-dim)}.login-card button[type=submit]{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;margin-top:.25em;padding:.75em;font-size:.875em;font-weight:600}.login-card button[type=submit]:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 .25em 1em var(--glow-purple)}.error{color:var(--danger);text-align:left;font-size:.8125em}.slopid-form{flex-direction:column;gap:.75em;display:flex}.slopid-form input[type=text],.slopid-form input[type=password]{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--fg);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.75em 1em;font-size:.875em}.slopid-form input[type=text]:focus,.slopid-form input[type=password]:focus{border-color:var(--accent);box-shadow:0 0 0 .125em var(--accent-glow)}.slopid-form input::placeholder{color:var(--fg-dim)}.submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;margin-top:.25em;padding:.75em;font-size:.875em;font-weight:600}.submit-btn:hover{filter:brightness(1.15);box-shadow:0 .25em 1em var(--glow-purple)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.toggle-mode{color:var(--fg-dim);cursor:pointer;text-align:center;width:100%;transition:color var(--transition);background:0 0;border:none;margin-top:.75em;font-size:.8125em}.toggle-mode:hover{color:var(--fg-muted)}.consent{color:var(--fg-dim);cursor:pointer;text-align:left;align-items:flex-start;gap:.5em;font-size:.75em;line-height:1.4;display:flex}.consent input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin-top:.125em}.oauth-buttons{flex-direction:column;gap:.75em;display:flex}.oauth-btn{border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);color:#fff;padding:.75em 1.25em;font-size:.875em;font-weight:600}.oauth-btn.github{background:#24292e}.oauth-btn.github:hover{background:#2f363d}.oauth-btn.google{background:#4285f4}.oauth-btn.google:hover{background:#5a95f5}.divider{color:var(--fg-dim);align-items:center;gap:.75em;margin:1em 0;font-size:.75em;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--glass-border);flex:1}.room-section-header{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);justify-content:space-between;align-items:center;padding:.5em 1em .25em;font-size:.6875em;display:flex}.logout-btn{color:var(--fg-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;font-size:.8125em}.logout-btn:hover{color:var(--danger)}.create-btn{border:1px solid var(--glass-border);color:var(--fg-muted);cursor:pointer;width:1.375em;height:1.375em;transition:all var(--transition);background:0 0;border-radius:.25em;font-size:.875em;line-height:1}.create-btn:hover{color:var(--accent);border-color:var(--accent)}.room-badge{color:var(--fg-dim);background:#ffffff0f;border-radius:.5em;margin-left:.25em;padding:.0625em .3125em;font-size:.625em}.toggle{color:var(--fg-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;margin-top:1em;font-size:.8125em}.toggle:hover{color:var(--accent)}.presence-dot{width:.5em;height:.5em;transition:background var(--transition);border-radius:50%;display:inline-block}.presence-dot.online{background:var(--success);box-shadow:0 0 .375em var(--success)}.presence-dot.away{background:var(--warning)}.presence-dot.offline{background:var(--fg-dim)}.member-list{border-top:1px solid var(--glass-border);padding:.25em .5em;overflow-y:auto}.member-list-header{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin-bottom:.5em;font-size:.6875em}.member-item{border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:.5em;padding:.25em .5em;display:flex}.member-item:hover{background:var(--bg-hover)}.member-name{color:var(--fg-muted);font-size:.8125em}.mention{color:var(--accent);background:var(--accent-glow);border-radius:.1875em;padding:0 .1875em;font-weight:500}.hamburger{z-index:200;background:var(--bg-surface);border:1px solid var(--glass-border);color:var(--fg);border-radius:var(--radius-sm);cursor:pointer;width:2.25em;height:2.25em;font-size:1.25em;display:none;position:fixed;top:.75em;left:.75em}.sidebar-overlay{z-index:49;background:#00000080;display:none;position:fixed;inset:0}::-webkit-scrollbar{width:.375em}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7c6fff33;border-radius:.1875em}::-webkit-scrollbar-thumb:hover{background:#7c6fff59}@media (width<=48em){.hamburger,.sidebar-overlay{display:block}.sidebar{z-index:50;width:17.5em;transition:left .2s;position:fixed;top:0;bottom:0;left:-17.5em}.sidebar-open .sidebar{left:0}.room-header h2{margin-left:2.5em;font-size:1em}.embed-img,.embed-video,.embed-video-native{max-width:100%}.login-card{width:90vw;max-width:none;padding:2em 1.5em}.messages{padding:.75em}.send-box{padding:.625em .75em .875em}.room-header{padding:.75em}.message-body pre{max-width:calc(100vw - 2em)}.message-body code{word-break:break-all}.reply-quote{max-width:calc(100vw - 2em)}.message-header{flex-wrap:wrap}.send-context{min-width:0}.send-context span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.modal{width:90%;max-width:none;padding:1.5em 1em}.user-menu{width:90%;max-width:none}.room-header .topic{font-size:.75em}.room-header .invite-btn{padding:.1875em .5em;font-size:.6875em}.message-actions{opacity:1}}.feed-link{width:100%;color:var(--fg-dim);text-align:left;border:none;border-top:1px solid var(--glass-border);cursor:pointer;transition:color var(--transition);background:0 0;margin-top:auto;padding:.5em 1.25em;font-size:.75em;text-decoration:none;display:block}.feed-link:hover{color:var(--accent)}.frontpage{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.frontpage-header{border-bottom:1px solid #7c6fff14;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;max-width:60em;margin:0 auto;padding:.75em 1.25em;display:flex}.feed-title{letter-spacing:.08em;background:var(--brand-gradient);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 .4em #7c6fff66);background-size:200% 200%;background-clip:text;margin:0;font-size:3em;font-weight:700;animation:6s infinite gradient-shift}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.frontpage-sort{gap:.25em;display:flex}.sort-btn{border:1px solid var(--glass-border);color:var(--fg-dim);border-radius:var(--radius);cursor:pointer;transition:var(--transition);background:0 0;padding:.25em .75em;font-size:.8125em}.sort-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.sort-btn:hover:not(.active){border-color:var(--fg-dim)}.frontpage-feed{flex:1;width:100%;max-width:60em;margin:0 auto;padding:.75em 1.25em;overflow-y:auto}.frontpage-empty{text-align:center;color:var(--fg-dim);padding:2.5em 1.25em;font-size:.875em}.link-card{border:1px solid var(--glass-border);border-radius:var(--radius);transition:var(--transition);background:var(--glass-strong);-webkit-backdrop-filter:blur(.75em);gap:.75em;margin-bottom:.5em;padding:.75em;display:flex}.link-card:hover{background:var(--bg-hover);border-color:#7c6fff40;box-shadow:0 .25em 1.25em #7c6fff1a,0 0 2em #c484fc0f}.link-score{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:3em;display:flex}.score-value{background:var(--brand-gradient);-webkit-text-fill-color:transparent;background-size:200% 200%;background-clip:text;font-size:1em;font-weight:700;animation:6s infinite gradient-shift}.link-content{flex:1;min-width:0}.link-title-row{flex-wrap:wrap;align-items:baseline;gap:.5em;display:flex}.link-title{color:var(--fg);word-break:break-word;font-size:.9375em;font-weight:600;text-decoration:none}.link-title:hover{color:var(--accent)}.link-domain{color:var(--fg-dim);white-space:nowrap;font-size:.75em}.link-description{color:var(--fg-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25em 0 0;font-size:.8125em;display:-webkit-box;overflow:hidden}.link-meta{color:var(--fg-dim);flex-wrap:wrap;align-items:center;gap:.5em;margin-top:.375em;font-size:.75em;display:flex}.link-designation{font-size:.6875em;font-weight:600}.link-submitter,.link-room,.link-time{color:var(--fg-dim)}.link-comments{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75em}.link-comments:hover{text-decoration:underline}.link-thumbnail{object-fit:cover;border-radius:.375em;flex-shrink:0;align-self:center;width:5em;height:3.75em}.link-thread{border-left:2px solid var(--glass-border);margin-top:.5em;padding-left:.75em}.thread-comment{padding:.375em 0;font-size:.8125em}.thread-comment+.thread-comment{border-top:1px solid var(--glass-border)}.thread-author{color:var(--fg);margin-right:.5em;font-weight:600}.thread-time{color:var(--fg-dim);font-size:.6875em}.thread-body{color:var(--fg);margin-top:.125em;line-height:1.4}.thread-compose{margin-top:.5em}.thread-input{background:var(--bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--fg);transition:var(--transition);outline:none;padding:.375em .625em;font-size:.8125em}.thread-input:focus{border-color:var(--accent)}.thread-input::placeholder{color:var(--fg-dim)}.thread-login-link{color:var(--accent);margin-top:.5em;font-size:.8125em;text-decoration:none;display:block}.thread-login-link:hover{text-decoration:underline}.thread-panel{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.thread-panel-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1em;font-size:.875em;font-weight:600;display:flex}.thread-panel-close{color:var(--fg-dim);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:.25em;font-size:1.25em}.thread-panel-close:hover{color:var(--fg)}.thread-panel-messages{flex:1;padding:.75em;overflow-y:auto}.thread-panel-root{background:var(--glass-strong);border-radius:var(--radius-sm);border-left:2px solid var(--accent);margin-bottom:.75em;padding:.75em}.thread-panel-empty{color:var(--fg-dim);padding:.75em;font-size:.8125em}.thread-panel-reply{border-top:1px solid var(--glass-border);padding:.5em .75em}.link-preview-card{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass);-webkit-backdrop-filter:blur(.5em);color:var(--fg);transition:all var(--transition);gap:.75em;max-width:30em;margin:.375em 0;padding:.625em;text-decoration:none;display:flex}.link-preview-card:hover{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 .25em 1em var(--glow-purple)}.link-preview-img{object-fit:cover;border-radius:.375em;flex-shrink:0;width:5em;height:3.75em}.link-preview-text{flex:1;min-width:0}.link-preview-title{margin-bottom:.125em;font-size:.8125em;font-weight:600}.link-preview-desc{color:var(--fg-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75em;display:-webkit-box;overflow:hidden}.link-preview-domain{color:var(--fg-dim);margin-top:.25em;font-size:.6875em}