/* Primary links must override the general .lab a rule. */
 .permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 24px;margin:20px 0}.permission-grid input{width:auto;margin-right:8px}
[hidden]{display:none!important}#recovery-code{overflow-wrap:anywhere;white-space:pre-wrap;user-select:all}#code:focus{outline:3px solid var(--purple);outline-offset:2px}#login-panel,#account-settings,#recovery-result{max-width:720px;margin-inline:auto}
.ticket-message{padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:16px}#ticket-detail{scroll-margin-top:100px}#ticket-detail h2{overflow-wrap:anywhere}#ticket-detail .message-body{white-space:pre-wrap}
.lab a.primary,.lab a.primary:visited,header a.primary,a.primary,button.primary{color:#fff;background:#6250e8;-webkit-text-fill-color:#fff;text-decoration:none}.lab a.primary:hover,button.primary:hover{background:#4e3dc9;color:#fff}.lab a.secondary{color:var(--purple)}
.ranked{--rank-color:#e1e7f7;--rank-color2:#e1e7f7;display:inline-flex;align-items:center;gap:8px;background:#161c2b;border:1px solid #ffffff20;border-radius:7px;padding:3px 9px;line-height:1.6;max-width:100%;vertical-align:middle;position:relative;isolation:isolate;color:var(--rank-color);font-weight:850}.ranked .rank-name{position:relative;z-index:1;overflow-wrap:anywhere}.ranked .rank-label{font-size:12px;letter-spacing:.06em;color:#dae1f4;border-left:1px solid #ffffff40;padding-left:7px;white-space:nowrap;font-weight:600}.ranked.has-rank-image:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:var(--rank-image);background-size:cover;background-position:center;opacity:.75;z-index:0;pointer-events:none}.ranked.has-rank-image .rank-name{text-shadow:0 1px 3px #000,0 0 5px #000}.ranked.effect-glow .rank-name{animation:rank-glow 3s ease-in-out infinite alternate}.ranked.effect-gradient .rank-name,.ranked.effect-shimmer .rank-name{background:linear-gradient(110deg,var(--rank-color) 15%,var(--rank-color2) 45%,#fff 50%,var(--rank-color2) 55%,var(--rank-color) 85%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:rank-flow 5s linear infinite}.ranked.effect-shimmer .rank-name{animation-duration:7s}@keyframes rank-glow{from{text-shadow:0 0 3px var(--rank-color)}to{text-shadow:0 0 10px var(--rank-color),0 0 16px var(--rank-color2)}}@keyframes rank-flow{from{background-position:200% 0}to{background-position:-20% 0}}.rank-gallery{display:flex;flex-wrap:wrap;gap:12px;padding:18px 0}.rank-editor{max-width:850px}.rank-preview{background:#101625;padding:28px;border-radius:12px;min-height:100px;margin:14px 0}.rank-colors{display:flex;gap:24px;flex-wrap:wrap}.rank-colors input[type=color]{width:100px;height:48px;padding:5px}.rank-actions{min-width:210px}.chat-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;max-width:1100px;margin:auto}.chat-sidebar{background:var(--paper);padding:18px;border:1px solid var(--line);border-radius:16px;align-self:start}.chat-room{display:block;width:100%;text-align:left;margin:8px 0;padding:12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px}.chat-room[aria-pressed=true]{background:var(--purple);color:#fff}.chat-main{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0}.chat-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;border-bottom:1px solid var(--line)}.chat-toolbar h2{font-size:1.4rem;margin:0}.chat-log{height:480px;overflow-y:auto;overscroll-behavior:contain;padding:20px}.chat-message{padding:15px 0;border-bottom:1px solid var(--line)}.chat-message .message-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.message-time{font-size:12px;color:var(--muted)}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin:9px 0}.message-body pre{white-space:pre-wrap;background:var(--code);color:#e1e9ff;padding:14px;border-radius:10px;font:14px/1.6 ui-monospace,monospace}.message-actions{display:flex;gap:7px;flex-wrap:wrap}.message-actions button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;font-size:13px;padding:4px 9px}.message-actions button[aria-pressed=true]{border-color:var(--purple);background:#6d5dfc22}.reply-quote{border-left:3px solid var(--purple);padding:6px 12px;color:var(--muted);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-compose{border-top:1px solid var(--line);padding:16px}.chat-compose textarea{font-family:inherit;min-height:100px}.chat-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.chat-status{font-size:14px;min-height:25px}.chat-log:focus-visible{outline:3px solid var(--purple);outline-offset:-3px}.rank-admin-note{font-size:14px;color:var(--muted)}@media(max-width:720px){.chat-layout{grid-template-columns:1fr}.chat-sidebar{display:flex;flex-wrap:wrap;gap:8px}.chat-sidebar h2,.chat-sidebar p{width:100%;margin:5px}.chat-room{width:auto;flex:1;margin:0}.chat-log{height:55vh;padding:12px}.ranked .rank-label{font-size:12px}.topnav{flex-wrap:wrap}.chat-toolbar .searchbox{width:100%}}
.support-link{position:relative}.notification-badge{position:absolute;right:-14px;top:-13px;min-width:21px;height:21px;border-radius:999px;background:#d51c35;color:white;font:700 12px/21px system-ui;text-align:center;padding:0 4px;border:2px solid var(--paper)}
body:not(.dark) .chat-message .message-body,body:not(.dark) .chat-message .message-body code,body:not(.dark) .chat-message .message-body pre{color:#111;background-color:transparent}body:not(.dark) #chat-text{color:#111;background:#fff}body:not(.dark) .chat-message .message-body pre{background:#f0f2f6}
.ranked .rank-name{display:inline-block}
.effect-rainbow .rank-name{background:linear-gradient(90deg,#ff7c7c,#ffe28a,#87f9ba,#88cfff,#cfadff,#ff7c7c);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:rank-flow 8s linear infinite}
.effect-pulse .rank-name{animation:rank-pulse 4s ease-in-out infinite}
.effect-wave .rank-name{animation:rank-wave 5s ease-in-out infinite}
.effect-bounce .rank-name{animation:rank-bounce 4s ease-in-out infinite}
.effect-sparkle .rank-name{animation:rank-sparkle 5s ease-in-out infinite}
.effect-neon .rank-name{animation:rank-glow 4s ease-in-out infinite alternate;text-shadow:0 0 4px var(--rank-color),0 0 10px var(--rank-color2)}
.effect-orbit .rank-name{animation:rank-orbit 6s ease-in-out infinite}
.effect-scan .rank-name{background:linear-gradient(90deg,var(--rank-color) 30%,#fff 50%,var(--rank-color) 70%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:rank-flow 6s linear infinite}
.effect-hue .rank-name{animation:rank-hue 12s linear infinite}
.effect-outline .rank-name{-webkit-text-stroke:.4px var(--rank-color2);animation:rank-glow 5s ease-in-out infinite alternate}
@keyframes rank-pulse{0%,100%{scale:1}50%{scale:1.06}}
@keyframes rank-wave{0%,100%{translate:0 0}50%{translate:0 -3px}}
@keyframes rank-bounce{0%,35%,65%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes rank-sparkle{0%,100%{text-shadow:2px 0 4px var(--rank-color)}50%{text-shadow:-2px -1px 9px var(--rank-color2),2px 2px 4px white}}
@keyframes rank-orbit{0%,100%{rotate:-2deg}50%{rotate:2deg}}
@keyframes rank-hue{from{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}
.profile-link{text-decoration:none;color:inherit}.profile-link:hover .rank-name{text-decoration:underline}.profile-link:focus-visible{outline:3px solid #8875ff;outline-offset:4px;border-radius:4px}.profile-hero{border:1px solid var(--line,#6666);border-radius:20px;overflow:hidden;margin:24px 0}.profile-banner{height:200px;background:var(--profile-accent);overflow:hidden}.profile-banner>img{width:100%;height:100%;object-fit:cover}.banner-aurora{background:linear-gradient(125deg,#123e50,var(--profile-accent),#392371)}.banner-sunset{background:linear-gradient(125deg,#a12c55,#fa9945,var(--profile-accent))}.banner-ocean{background:linear-gradient(135deg,#083c6a,#25abb8,var(--profile-accent))}.banner-forest{background:linear-gradient(125deg,#143c29,#69a160,var(--profile-accent))}.banner-grid{background-color:var(--profile-accent);background-image:linear-gradient(#ffffff33 1px,transparent 1px),linear-gradient(90deg,#ffffff33 1px,transparent 1px);background-size:32px 32px}.profile-identity{padding:24px}.profile-identity>.avatar{margin-top:-58px;position:relative;border:4px solid var(--profile-accent);background:#fff}.profile-identity h1{overflow-wrap:anywhere}.public-bio{white-space:pre-wrap;overflow-wrap:anywhere}.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px}.badge-card{border:1px solid #8885;border-radius:16px;padding:16px;text-align:center}.badge-card h3{font-size:1rem;margin:10px 0}.badge-card p{font-size:.875rem;line-height:1.5}.badge-icon{font-size:2.5rem;display:block}.badge-icon img{width:64px;height:64px;object-fit:contain}.badge-choice{display:inline-flex;gap:8px;margin:8px}.profile-identity .badge-grid:has(.badge-card){max-width:600px}.profile-identity .badge-grid:not(:has(.badge-card)){display:none}.account-editor input,.badge-editor input,.badge-editor textarea{max-width:100%}
.site-announcements{border-left:4px solid #7560ef;padding:8px 16px;margin:12px 0;background:#7560ef12}.room-unread:not(:empty){background:#cf2443;color:white;border-radius:12px;padding:2px 6px}.font-serif{font-family:Georgia,serif}.font-mono{font-family:ui-monospace,monospace}.layout-compact .profile-banner{height:100px}.layout-compact .profile-identity{padding:16px}.layout-split{display:grid;grid-template-columns:1fr 2fr}.layout-split .profile-banner{height:100%;min-height:220px}.layout-split .profile-identity>.avatar{margin-top:0}.frame-sprout .avatar{box-shadow:0 0 0 5px #4eae72}.frame-bronze .avatar{box-shadow:0 0 0 5px #b87636}.frame-silver .avatar{box-shadow:0 0 0 5px #aab5c4}.frame-gold .avatar{box-shadow:0 0 0 5px #e4b832}.frame-nebula .avatar{box-shadow:0 0 0 5px #9a67ea,0 0 25px #7161ef}.frame-legend .avatar{box-shadow:0 0 0 5px #e4b832,0 0 30px #ec6896;animation:rank-hue 12s linear infinite}.code-diff td{width:50%;vertical-align:top}.code-diff pre{white-space:pre-wrap;word-break:break-word}.diff-remove{background:#d7333318}.diff-add{background:#25804818}#project-code,#debug-code{width:100%;font-family:ui-monospace,monospace;font-size:1rem;line-height:1.6;padding:16px;box-sizing:border-box}#trace-slider{flex:1}#profile-frame option:disabled{color:#888}.chat-message details.panel{margin:8px 0;padding:10px}.badge-choice input{width:auto}@media(max-width:650px){.layout-split{display:block}.layout-split .profile-banner{height:140px;min-height:0}.topnav{flex-wrap:wrap}.code-diff{font-size:.875rem}}

/* Keep administrative identifiers compact without changing their stored values. */
.admin-id{display:inline-block;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:normal;text-transform:none}
