/* /Components/AdxChart.razor.rz.scp.css */
.chart-wrapper[b-3806lartb8]
{
    width: 100%;
}

.adx-empty[b-3806lartb8]
{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var( --text-strong );
    opacity: 0.35;
    font-size: 0.9rem;
}

.adx-error[b-3806lartb8]
{
    padding: 1rem;
    border-radius: 8px;
    background: rgb( from var( --error, #c33 ) r g b / 0.08 );
    border: 1px solid rgb( from var( --error, #c33 ) r g b / 0.4 );
    color: var( --text-strong );
    font-size: 0.85rem;
    overflow: auto;
    max-height: 100%;
}

.adx-error-title[b-3806lartb8]
{
    font-weight: 600;
    color: var( --error, #c33 );
    margin-bottom: 0.25rem;
}

.adx-error-msg[b-3806lartb8]
{
    margin-bottom: 0.5rem;
    white-space: pre-wrap;
    font-family: monospace;
}

.adx-error details[b-3806lartb8]
{
    margin-top: 0.5rem;
    opacity: 0.7;
}

.adx-error details summary[b-3806lartb8]
{
    cursor: pointer;
    font-size: 0.8rem;
    user-select: none;
}

.adx-error details pre[b-3806lartb8]
{
    margin: 0.25rem 0 0;
    padding: 0.5rem;
    background: rgb( 0 0 0 / 0.2 );
    border-radius: 4px;
    font-size: 0.75rem;
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Brix/Blocks/AttachmentEditor.razor.rz.scp.css */

.attachment_editor .option[b-xuwwfkx1et]
{
    position: absolute;
    width: 200px;
    bottom: -16px;
    background-color: rgb( from var( --menu-background ) r g b / 0.67 );
    padding: 0.5rem;
    border-radius: 5px;
    backdrop-filter: blur( 10px );
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    z-index: 100;
    border: 2px solid rgb( var( --tint ) / 0.33 );
}

.attachment_editor .option .row[b-xuwwfkx1et]
{
    display: flex;
    gap: 0.5rem;
    font-size: 0.7rem;
}

.attachment_editor .option .row input[b-xuwwfkx1et]
{
    border: none;
    background-color: rgb( var( --scrim ) / 0.33 );
    font-size: 0.8rem;
}
/* /Components/Brix/Blocks/EmbedBlock.razor.rz.scp.css */

.embed[b-jcm8x5dfk1]
{
    max-width: 100vw;
    overflow: hidden;
}


.embed[b-jcm8x5dfk1]  iframe
{
    width: 100%;
    height: auto;
    aspect-ratio: 16/9 !important;
}
/* /Components/Brix/Blocks/ImageBlock.razor.rz.scp.css */
.attachment[b-ofyxp76i6b]
{
    display: flex;
    align-content: center;
    justify-content: center;
}

img[b-ofyxp76i6b]
{
    max-width: 100%;
}
/* /Components/Brix/Blocks/LinkPreviewBlock.razor.rz.scp.css */

.link-preview[b-t5y6fm03my] {
	display: flex;
	gap: 16px;
	padding: 12px 16px;
	background: rgb( var( --scrim ) / 0.15 );
	border-radius: 4px;
	text-decoration: none;
	color: inherit;
	max-width: 520px;
	overflow: hidden;
	margin: 8px auto;
}

.link-preview.large-image[b-t5y6fm03my] {
	flex-direction: column;
	padding: 0;
	gap: 0;
}

.link-preview.large-image .content[b-t5y6fm03my] {
	padding: 12px 16px;
}

.link-preview:hover[b-t5y6fm03my] {
	background: rgb( var( --scrim ) / 0.25 );
}

.content[b-t5y6fm03my] {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.site-name[b-t5y6fm03my] {
	font-size: 0.75em;
	opacity: 0.7;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.title[b-t5y6fm03my] {
	font-weight: 600;
	color: #5b9bd5;
	font-size: 0.95em;
}

.link-preview:hover .title[b-t5y6fm03my] {
	text-decoration: underline;
}

.description[b-t5y6fm03my] {
	font-size: 0.85em;
	opacity: 0.8;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.thumbnail[b-t5y6fm03my] {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	border-radius: 4px;
	overflow: hidden;
}

.thumbnail img[b-t5y6fm03my] {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner[b-t5y6fm03my] {
	width: 100%;
	max-height: 260px;
	overflow: hidden;
}

.banner img[b-t5y6fm03my] {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* /Components/Brix/Blocks/QuoteBlock.razor.rz.scp.css */

.forum-quote[b-zl5c7j5e4h] {
	border: 1px solid var( --primary );
	background-color: rgb( from var( --primary ) r g b / 0.15 );
	border-radius: 4px;
	margin: 8px 0;
	font-size: 0.85em;
}

.head[b-zl5c7j5e4h] {
	background-color: var( --primary );
	padding: 4px 10px;
	font-size: 0.85em;
}

.head a[b-zl5c7j5e4h] {
	color: var( --primary-alt );
	text-decoration: none;
}

.head a:hover[b-zl5c7j5e4h] {
	text-decoration: underline;
}

.body[b-zl5c7j5e4h] {
	padding: 10px;
	line-height: 1.4;
	white-space: pre-wrap;
	max-height: 150px;
	overflow: hidden;
	mask-image: linear-gradient(to bottom, #fff 70%, transparent);
	-webkit-mask-image: linear-gradient(to bottom, #fff 70%, transparent);
}
/* /Components/Brix/Blocks/VideoBlock.razor.rz.scp.css */

.attachment[b-k887q4ef24]
{
    display: flex;
    align-content: center;
    justify-content: center;
}

video[b-k887q4ef24]
{
    max-width: 100%;
}
/* /Components/Brix/BrixEditor.razor.rz.scp.css */
.brix-editor trix-editor[b-06395suona]
{
    min-height: 5em;
    outline: none;
}

.draft-banner[b-06395suona]
{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin-bottom: 8px;
    border-radius: 6px;
    border: 1px solid rgb( from var( --primary ) r g b / 0.3 );
    background-color: rgb( from var( --primary ) r g b / 0.08 );
    font-size: 0.85rem;
    color: var( --text-faint );
}

.draft-banner .material-symbols-outlined[b-06395suona]
{
    font-family: Material Symbols Rounded;
    font-size: 18px;
    color: var( --primary );
}

.draft-banner .label[b-06395suona]
{
    flex: 1;
}

.draft-banner .discard[b-06395suona]
{
    background: none;
    border: 1px solid rgb( from var( --text-faint ) r g b / 0.4 );
    color: var( --text-faint );
    border-radius: 4px;
    padding: 3px 10px;
    font-size: 0.8rem;
    cursor: pointer;
}

.draft-banner .discard:hover[b-06395suona]
{
    background-color: rgb( var( --tint ) / 0.08 );
    color: var( --text-strong );
}

.toolbar[b-06395suona]
{
    position: sticky;
    top: 10px;
    z-index: 100;
    display: flex;
    gap: 8px;
    width: 100%;
    justify-content: flex-start;
    max-height: 0px;
    margin-bottom: 0px;
    transition: all 0.1s ease;
    opacity: 0;
    pointer-events: none;
    padding: 0px;
    transition-delay: 2s;
    visibility: hidden;
    transform-origin: 300px 50%;
    background-color: rgb( from var( --site-background-color ) r g b / 0.85 );
    backdrop-filter: blur( 10px ) saturate( 1.2 );
    border-radius: 8px;
    border: 1px solid var( --surface-line );
}

.brix-editor.has-focus .toolbar[b-06395suona]
{
    max-height: 200px;
    opacity: 1;
    pointer-events: all;
    padding: 8px;
    transition-delay: 0s;
    visibility: visible;
}

.brix-editor.with-box trix-editor[b-06395suona]
{
    border-radius: 3px;
    padding: .4rem .5rem;
    border: 1px solid rgb( from var( --primary ) r g b / 0.2 );
    background-color: rgb( var( --scrim ) / 0.1 );
    color: #a5c3f9;
}

.toolbar button[b-06395suona], .trix-dialog input[type=button][b-06395suona]
{
    justify-content: center;
    align-items: center;
    border: 0px;
    background-color: #777;
    color: var( --text-faint );
    cursor: pointer;
}

.toolbar button[b-06395suona]
{
    width: 32px;
    height: 32px;
    font-family: "Material Symbols Rounded";
    content: 'people';
    text-indent: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0.5;
    background-color: transparent;
    box-shadow: none;
}

.toolbar button:hover[b-06395suona]
{
    background-color: rgb( var( --tint ) / 0.06 );
}

.toolbar > button[b-06395suona], .toolbar .buttongroup[b-06395suona], .trix-dialog input[type=button][b-06395suona]
{
    border-radius: 5px;
}

.toolbar .buttongroup[b-06395suona]
{
    display: flex;
    gap: 1px;
}

.toolbar button.trix-active[b-06395suona]
{
    opacity: 1;
}

[b-06395suona] .attachment
{
    position: relative;
    cursor: pointer;
}

[b-06395suona] .attachment a
{
    text-decoration: none;
    color: rgb( var( --tint ) / 0.67 );
}

[b-06395suona] .attachment_editor
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

/* Trix renders its own <img>/<video> inside each attachment figure; the
 * AttachmentEditor component renders its own preview inside .attachment_editor.
 * Hide Trix's native preview so we don't show two of them while editing.
 * The :has() bump is needed to outrank BrixStyles' `.brix-styles ::deep img`
 * rule which sets display: block. */
[b-06395suona] figure.attachment:has(.attachment_editor) > img,
[b-06395suona] figure.attachment:has(.attachment_editor) > video,
[b-06395suona] figure.attachment:has(.attachment_editor) > a > img,
[b-06395suona] figure.attachment:has(.attachment_editor) > a > video
{
    display: none;
}

[b-06395suona] .attachment__progress
{
    appearance: none;
    border: none;
    display: block;
    overflow: hidden;
    opacity: 0.8;
    z-index: 1000;
    min-height: 20px;
    width: auto;
    height: 24px;
    margin: 1rem;
    display: block;
    background: rgb( from var( --primary ) r g b / 0.33 );
    border-radius: 10px;
    overflow: hidden;
}

[b-06395suona] .attachment__progress::-webkit-progress-bar
{
    background: rgb( var( --scrim ) / 0.3 );
    border-radius: 8px;
}

[b-06395suona] .attachment__progress::-webkit-progress-value
{
    background: var( --primary );
    transition: width 0.1s ease;
}

[b-06395suona] .attachment__progress::-moz-progress-bar
{
    background: var( --primary );
    border-radius: 8px;
}

[b-06395suona] .attachment a
{
    display: flex;
    flex-direction: column;
}

[b-06395suona] .trix-button--remove
{
    width: 32px;
    height: 32px;
    color: transparent;
    overflow: hidden;
    border-radius: 100px;
    background-color: var( --text-strong );
    position: relative;
}

[b-06395suona] .trix-button--remove::before
{
    font-family: "Material Symbols Rounded";
    content: 'close';
    text-indent: 0px;
    display: flex;
    font-size: 22px;
    justify-content: center;
    align-items: center;
    color: #777;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

[b-06395suona] .attachment__metadata
{
    display: none;
}

[b-06395suona] .attachment__progress[value="100"]
{
    opacity: 0;
}

[b-06395suona] trix-editor [data-trix-mutable].attachment
{
    outline: 2px solid var( --text-strong );
}

[b-06395suona] trix-editor .attachment .option
{
    visibility: hidden;
}

[b-06395suona] trix-editor [data-trix-mutable].attachment .option
{
    visibility: visible;
}

[b-06395suona] .attachment__caption-editor
{
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    color: inherit;
    text-align: center;
    vertical-align: top;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

[b-06395suona] .attachment__caption textarea
{
    
    background-color: transparent;  
    height: 32px;
}

[b-06395suona] .attachment__caption
{
    text-decoration: none;
    text-align: center;
}

[b-06395suona] .attachment__toolbar
{
    position: absolute;
    z-index: 1;
    top: -0.9em;
    left: 0;
    width: 100%;
    text-align: center;
}

[b-06395suona] [data-trix-mutable]:not(.attachment__caption-editor)
{
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.trix-input--dialog[b-06395suona]
{
    font-size: inherit;
    font-weight: normal;
    padding: 0.5em 0.8em;
    margin: 0 10px 0 0;
    border-radius: 3px;
    border: 1px solid #bbb;
    background-color: var( --menu-background );
    box-shadow: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.trix-input--dialog.validate:invalid[b-06395suona]
{
    box-shadow: var( --error ) 0px 0px 1.5px 1px;
}

.trix-button--dialog[b-06395suona]
{
    font-size: inherit;
    padding: 0.5em;
    border-bottom: none;
}

.trix-dialog--link[b-06395suona]
{
    max-width: 600px;
}

.trix-dialog__link-fields[b-06395suona]
{
    display: flex;
    align-items: baseline;
}

.trix-dialog__link-fields .trix-input[b-06395suona]
{
    flex: 1;
}

.trix-dialog__link-fields .trix-button-group[b-06395suona]
{
    display: flex;
    flex-direction: row;
    margin: 0;
    gap: 0.5rem;
}

.trix-dialog[b-06395suona]
{
    display: none;
    position: absolute;
    left: 10px;
    top: 15px;
    font-size: 0.75em;
    padding: 10px;
    background: rgb( var( --tint ) / 0.13 );
    backdrop-filter: blur( 5px );
    border-radius: 5px;
    z-index: 5;
}

.trix-dialog.trix-active[b-06395suona]
{
    display: flex;
}

[b-06395suona] .upload-progress
{
    background-color: var( --primary );
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1rem;
    color: var( --primary-alt );
    flex-direction: column;
}

[b-06395suona] .upload-progress .label
{
    opacity: 0.6;
    font-size: 12px;
    animation: uploading-b-06395suona 0.2s alternate infinite;
    animation-timing-function: ease-in-out;
}

[b-06395suona] .upload-progress .number
{
    font-weight: bold;
}

@keyframes uploading-b-06395suona
{
    0%
    {
        transform: scale( 1.0 );
    }

    100%
    {
        transform: scale( 1.1 );
    }
}
/* /Components/Brix/BrixStyles.razor.rz.scp.css */
/* Brix default content styling — mirrors the documentation prose styles so a
 * Brix body (eg a tutorial) reads the same as a /dev/doc page. Brix-specific
 * affordances (figure captions, attachment galleries, embeds, edit markers)
 * are kept below the doc-style block. */

.brix-styles[b-7jij0vc11q]  a
{
    text-decoration: underline;
}

.brix-styles[b-7jij0vc11q]  p
{
    margin-bottom: 1rem;
}

.brix-styles[b-7jij0vc11q]  h1
{
    margin: 0;
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    padding: 0;
    line-height: 1.3;
    font-size: 1.75rem;
    color: var( --text-strong );
    font-weight: 600;
}

.brix-styles[b-7jij0vc11q]  h1:first-child
{
    margin-top: 0;
}

/* The heading is already bold — a nested <strong>/<b> would just stack
 * font-weights and read as the same visual style. Force it to inherit so
 * users can leave their formatting alone without it looking weird. */
.brix-styles[b-7jij0vc11q]  h1 strong,
.brix-styles[b-7jij0vc11q]  h1 b,
.brix-styles[b-7jij0vc11q]  h2 strong,
.brix-styles[b-7jij0vc11q]  h2 b,
.brix-styles[b-7jij0vc11q]  h3 strong,
.brix-styles[b-7jij0vc11q]  h3 b
{
    font-weight: inherit;
}

.brix-styles[b-7jij0vc11q]  h2
{
    margin: 0;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    padding: 0;
    line-height: 1.3;
    font-size: 1.4rem;
    color: var( --text-strong );
    font-weight: 600;
}

.brix-styles[b-7jij0vc11q]  h3
{
    margin: 0;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    padding: 0;
    line-height: 1.3;
    font-size: 1.1rem;
    color: var( --text-strong );
    font-weight: 550;
}

.brix-styles[b-7jij0vc11q]  pre
{
    overflow: auto;
    line-height: 1.4;
}

.brix-styles[b-7jij0vc11q]  img,
.brix-styles[b-7jij0vc11q]  video
{
    max-width: 90%;
    display: block;
    margin: 1rem auto;
    border-radius: 8px;
}

.brix-styles[b-7jij0vc11q]  table
{
    margin: 2rem 0;
}

.brix-styles[b-7jij0vc11q]  hr
{
    margin: 2rem 0;
    opacity: 0.1;
}

.brix-styles[b-7jij0vc11q]  code
{
    color: #d17b3d;
    background-color: rgb( var( --tint ) / 0.06 );
    padding: 0.15em 0.4em;
    border-radius: 4px;
    font-size: 0.9em;
}

.brix-styles[b-7jij0vc11q]  pre code
{
    background-color: transparent;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
}

.brix-styles[b-7jij0vc11q]  blockquote
{
    margin: 0;
    padding: 0;
    margin-left: 1rem;
    padding-left: 1rem;
    border-left: 2px solid var( --primary );
}

/* Info / warning / success callouts. Selectors cover the bare-tag form
 * (`<info>` etc., what the Brix editor emits via Trix's block attributes) and
 * the older `<div class="info">` form so legacy docs still render. */

.brix-styles[b-7jij0vc11q]  div.warning,
.brix-styles[b-7jij0vc11q]  div.info,
.brix-styles[b-7jij0vc11q]  div.success,
.brix-styles[b-7jij0vc11q]  info,
.brix-styles[b-7jij0vc11q]  warning,
.brix-styles[b-7jij0vc11q]  success
{
    /* Block layout (not flex) — Trix emits inline text and inline elements
     * directly inside the callout, and a flex container would split each one
     * into its own row. Vertical centering for the common 1–2 line case is
     * handled by symmetric padding + min-height. */
    display: block;
    margin: 1rem 0;
    padding: 1.25rem 1rem 1.25rem 64px;
    min-height: 64px;
    box-sizing: border-box;
    border-radius: 0px 8px 8px 0px;
    position: relative;
}

.brix-styles[b-7jij0vc11q]  div.warning:before,
.brix-styles[b-7jij0vc11q]  div.info:before,
.brix-styles[b-7jij0vc11q]  div.success:before,
.brix-styles[b-7jij0vc11q]  info:before,
.brix-styles[b-7jij0vc11q]  warning:before,
.brix-styles[b-7jij0vc11q]  success:before
{
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY( -50% );
    font-size: 28px;
    line-height: 1;
}

.brix-styles[b-7jij0vc11q]  div.info,
.brix-styles[b-7jij0vc11q]  info
{
    background-color: rgb( from var( --primary ) r g b / 0.13 );
    border-left: 5px solid var( --primary );
    color: var( --text-strong );
}

.brix-styles[b-7jij0vc11q]  div.info code,
.brix-styles[b-7jij0vc11q]  info code
{
    color: var( --primary );
}

.brix-styles[b-7jij0vc11q]  div.info:before,
.brix-styles[b-7jij0vc11q]  info:before
{
    font-family: "Material Symbols Rounded";
    content: "info";
    color: var( --primary );
}

.brix-styles[b-7jij0vc11q]  div.info > p,
.brix-styles[b-7jij0vc11q]  info > p
{
    padding: 0;
    margin: 0;
}

.brix-styles[b-7jij0vc11q]  div.warning,
.brix-styles[b-7jij0vc11q]  warning
{
    background-color: color-mix( in srgb, var( --error ) 13%, transparent );
    border-left: 5px solid var( --error );
    color: var( --text-strong );
}

.brix-styles[b-7jij0vc11q]  div.warning code,
.brix-styles[b-7jij0vc11q]  warning code
{
    color: var( --error );
}

.brix-styles[b-7jij0vc11q]  div.warning:before,
.brix-styles[b-7jij0vc11q]  warning:before
{
    font-family: "Material Symbols Rounded";
    content: "gpp_maybe";
    color: var( --error );
}

.brix-styles[b-7jij0vc11q]  div.warning > p,
.brix-styles[b-7jij0vc11q]  warning > p
{
    padding: 0;
    margin: 0;
}

.brix-styles[b-7jij0vc11q]  div.success,
.brix-styles[b-7jij0vc11q]  success
{
    background-color: color-mix( in srgb, var( --success ) 13%, transparent );
    border-left: 5px solid var( --success );
    color: var( --text-strong );
}

.brix-styles[b-7jij0vc11q]  div.success code,
.brix-styles[b-7jij0vc11q]  success code
{
    color: var( --success );
}

.brix-styles[b-7jij0vc11q]  div.success:before,
.brix-styles[b-7jij0vc11q]  success:before
{
    font-family: "Material Symbols Rounded";
    content: "new_releases";
    color: var( --success );
}

.brix-styles[b-7jij0vc11q]  div.success > p,
.brix-styles[b-7jij0vc11q]  success > p
{
    padding: 0;
    margin: 0;
}

/* ===== Brix-specific affordances ===== */

.brix-styles[b-7jij0vc11q]  figure[title]:not([title=""])::after
{
    content: attr( title );
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 50%;
    transform: translate( -50%, 0 );
    bottom: -8px;
    font-size: 12px;
    font-weight: bold;
    background-color: var( --text-strong );
    color: var( --text-on-strong );
    padding: 8px;
    border-radius: 8px;
    pointer-events: none;
    transition: all 0.2s ease-out;
}

.brix-styles[b-7jij0vc11q]  figure[title]:not([title=""]):hover::after
{
    opacity: 0;
    transform: translate( -50%, 10px );
}

.brix-styles[b-7jij0vc11q]  figure.attachment
{
    margin: 1rem 0;
    font-size: 1rem;
    position: relative;
}

.brix-styles[b-7jij0vc11q]  .attachment--png figcaption,
.brix-styles[b-7jij0vc11q]  .attachment--jpg figcaption
{
    display: none;
}

.brix-styles[b-7jij0vc11q]  div.embed
{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2rem 0rem;
    flex-direction: column;
}

.brix-styles[b-7jij0vc11q]  .attachment-gallery
{
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.brix-styles[b-7jij0vc11q]  .attachment-gallery .attachment
{
    flex: 1 0 33%;
    padding: 0 0.5em;
}

.brix-styles[b-7jij0vc11q]  .naturalsize
{
    pointer-events: none;
}

.brix-styles[b-7jij0vc11q]  edit
{
    display: block;
    opacity: 0.5;
    padding: 1rem 0;
}
/* /Components/Buttons/Button.razor.rz.scp.css */
.btn[b-b8qsllkcs2]
{
    --border: rgb( var( --tint ) / 0.1 );
    --border-active: rgb( var( --tint ) / 0.22 );
    --color: rgb( var( --tint ) / 0.72 );
    --color-active: var( --text-strong );
    --bg: rgb( var( --tint ) / 0.04 );
    --bg-active: rgb( var( --tint ) / 0.09 );
    display: inline-flex;
    pointer-events: all;
    cursor: pointer;
    user-select: none;
    color: var( --color );
    gap: 6px;
    align-items: center;
    line-height: 1;
    border-radius: 6px;
    padding: 9px 13px;
    font-weight: 500;
    outline: 1px solid var( --border );
    background-color: var( --bg );
    transition: background-color 0.15s ease, outline-color 0.15s ease, color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.btn.active[b-b8qsllkcs2],
.btn:hover[b-b8qsllkcs2]
{
    color: var( --color-active );
    background-color: var( --bg-active );
    outline: 1px solid var( --border-active );
}

.btn:active[b-b8qsllkcs2]
{
    transform: translateY( 1px );
}

.btn.vertical[b-b8qsllkcs2]
{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.btn.large[b-b8qsllkcs2]
{
    padding: 12px 20px;
    gap: 8px;
    font-size: 1.2rem;
    font-weight: 600;
}

.btn.large .icon[b-b8qsllkcs2]
{
    font-weight: normal;
}

.btn.disabled[b-b8qsllkcs2]
{
    pointer-events: none;
    opacity: 0.4;
}

.btn > .label[b-b8qsllkcs2]
{
    flex-grow: 1;
}

.btn > .count[b-b8qsllkcs2]
{
    font-size: 10px;
    background-color: rgb( var( --tint ) / 0.13 );
    color: rgb( var( --tint ) / 0.67 );
    padding: 3px 4px;
    margin-left: 8px;
    border-radius: 4px;
}

/* Filled colored variants — primary / danger / warning / admin — share the same physical
   look: solid colored fill, subtle inset top highlight for "pop", soft outer shadow for
   depth. Hover brightens and lifts the shadow; press settles down. */
.btn.primary[b-b8qsllkcs2],
.btn.danger[b-b8qsllkcs2],
.btn.warning[b-b8qsllkcs2],
.btn.admin[b-b8qsllkcs2]
{
    color: var( --primary-alt );
    font-weight: 600;
    outline: none;
    border: 0;
    box-shadow:
        inset 0 1px 0 var( --btn-highlight ),
        var( --shadow-sm );
}

.btn.primary[b-b8qsllkcs2] { background-color: var( --primary ); }
.btn.danger[b-b8qsllkcs2]  { background-color: var( --error ); }
.btn.warning[b-b8qsllkcs2] { background-color: var( --warning ); }
.btn.admin[b-b8qsllkcs2]   { background-color: var( --admin ); }

.btn.primary:hover[b-b8qsllkcs2],
.btn.danger:hover[b-b8qsllkcs2],
.btn.warning:hover[b-b8qsllkcs2],
.btn.admin:hover[b-b8qsllkcs2],
.btn.primary.active[b-b8qsllkcs2],
.btn.danger.active[b-b8qsllkcs2],
.btn.warning.active[b-b8qsllkcs2],
.btn.admin.active[b-b8qsllkcs2]
{
    color: var( --primary-alt );
    outline: none;
    filter: brightness( 1.12 );
    box-shadow:
        inset 0 1px 0 var( --btn-highlight-strong ),
        0 4px 10px rgb( var( --scrim ) / 0.3 );
}

.btn.primary:active[b-b8qsllkcs2],
.btn.danger:active[b-b8qsllkcs2],
.btn.warning:active[b-b8qsllkcs2],
.btn.admin:active[b-b8qsllkcs2]
{
    transform: translateY( 1px );
    filter: brightness( 1.04 );
    box-shadow:
        inset 0 1px 0 var( --btn-highlight-soft ),
        0 1px 1px rgb( var( --scrim ) / 0.2 );
}

/* Saving / success / failed / invalid / unmodified state.
   .saving and .success/.failed come from Button's async OnClicked lifecycle.
   .invalid and .unmodified come from the optional EditContext parameter. */
.btn.saving[b-b8qsllkcs2],
.btn.success[b-b8qsllkcs2],
.btn.failed[b-b8qsllkcs2],
.btn.invalid[b-b8qsllkcs2]
{
    position: relative;
    overflow: hidden;
    pointer-events: none;
}

.btn.saving[b-b8qsllkcs2]:after,
.btn.success[b-b8qsllkcs2]:after,
.btn.failed[b-b8qsllkcs2]:after,
.btn.invalid[b-b8qsllkcs2]:after
{
    font-family: "Material Symbols Rounded";
    font-variation-settings: "FILL" 1;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
}

.btn.saving[b-b8qsllkcs2]
{
    opacity: 0.5;
}

.btn.saving[b-b8qsllkcs2]:after
{
    content: 'save';
    background-color: color-mix( in srgb, var( --primary ) 60%, rgb( var( --scrim ) / 1 ) );
    color: var( --primary );
}

.btn.success[b-b8qsllkcs2]:after
{
    content: 'check';
    background-color: color-mix( in srgb, var( --success ) 60%, rgb( var( --scrim ) / 1 ) );
    color: var( --success );
}

.btn.failed[b-b8qsllkcs2]:after,
.btn.invalid[b-b8qsllkcs2]:after
{
    content: 'error_outline';
    background-color: color-mix( in srgb, var( --error ) 60%, rgb( var( --scrim ) / 1 ) );
    color: var( --error );
    font-size: 30px;
}

.btn.invalid[b-b8qsllkcs2]
{
    opacity: 0.9;
}

.btn.unmodified[b-b8qsllkcs2]
{
    pointer-events: none;
    opacity: 0.5;
}

/* Attention pulse — for buttons with new content */
.btn.attention[b-b8qsllkcs2]
{
    position: relative;
    animation: attention-b-b8qsllkcs2 1s linear infinite;
}

.btn.attention[b-b8qsllkcs2]:after
{
    content: '';
    width: 8px;
    height: 8px;
    background-color: var( --accent );
    position: absolute;
    top: 2px;
    right: 4px;
    border-radius: 100px;
}

@keyframes attention-b-b8qsllkcs2
{
    0%   { opacity: 1; }
    10%  { opacity: 0.8; }
    100% { opacity: 1; }
}

/*
 * Dropdown popup — anchored to the trigger via CSS Anchor Positioning.
 * Rendered as a sibling of the trigger with `style="position-anchor: --xxx"`.
 * No DOM wrapper around the trigger, so styling the trigger from a parent
 * via ::deep doesn't have to dig through extra layers.
 */
.btn-options[b-b8qsllkcs2]
{
    position: fixed;
    position-area: bottom span-right;
    position-try-fallbacks: bottom span-right, bottom span-left, top span-right, top span-left;
    margin: 0;
    padding: 0;
    background-color: var( --menu-background );
    outline: var( --menu-border );
    border-radius: 4px;
    min-width: anchor-size( width );
    z-index: 100;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scaleY( 0.8 );
    transform-origin: top left;
    transition: opacity 0.1s ease-out, transform 0.1s ease-out, visibility 0s 0.1s;
}

.btn-options.right[b-b8qsllkcs2]
{
    position-area: bottom span-left;
    position-try-fallbacks: bottom span-left, bottom span-right, top span-left, top span-right;
    transform-origin: top right;
}

/* Show on trigger hover OR when hovering the popup itself (lets the cursor travel between them) */
.btn:hover + .btn-options[b-b8qsllkcs2],
.btn-options:hover[b-b8qsllkcs2]
{
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: scaleY( 1 );
    transition: opacity 0.1s ease-out, transform 0.1s ease-out, visibility 0s 0s;
}

/* Nested dropdown — flyout to the LEFT of its parent menu item, top-aligned */
.btn-options[b-b8qsllkcs2]  .btn-options
{
    position-area: none;
    top: anchor( top );
    right: anchor( left );
    bottom: auto;
    left: auto;
    transform-origin: top right;
}

/* Items inside the dropdown — style any nested Button as a menu row via ::deep */
.btn-options[b-b8qsllkcs2]  .btn
{
    width: 100%;
    padding: 0.3rem 1rem;
    white-space: nowrap;
    display: flex;
    gap: 0.5rem;
    color: var( --menu-option-color );
    background-color: var( --menu-option-colorbg );
    align-items: center;
    text-transform: none;
    border-radius: 0;
    outline: none;
    justify-content: flex-start;
}

.btn-options[b-b8qsllkcs2]  .btn:hover
{
    color: var( --menu-option-color-hover );
    background-color: var( --menu-option-colorbg-hover );
}

.btn-options[b-b8qsllkcs2]  .btn:hover .icon
{
    color: var( --menu-option-color-hover );
}

.btn-options[b-b8qsllkcs2]  .btn.active,
.btn-options[b-b8qsllkcs2]  .btn:active
{
    color: var( --menu-option-color-active );
    background-color: var( --menu-option-colorbg-active );
}

.btn-options[b-b8qsllkcs2]  .btn.active .icon,
.btn-options[b-b8qsllkcs2]  .btn:active .icon
{
    color: var( --menu-option-color-active );
}

.btn-options[b-b8qsllkcs2]  .icon
{
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.btn-options[b-b8qsllkcs2]  .icon img
{
    max-height: 100%;
    max-width: 100%;
}

.btn-options[b-b8qsllkcs2]  img
{
    width: 18px;
    height: 18px;
}

.btn-options[b-b8qsllkcs2]  hr
{
    width: 100%;
    border: 0;
    border-top: var( --menu-border );
    background-color: transparent;
    height: 0;
    margin: 8px 0;
}

.btn-options[b-b8qsllkcs2]  h1,
.btn-options[b-b8qsllkcs2]  h2,
.btn-options[b-b8qsllkcs2]  h3,
.btn-options[b-b8qsllkcs2]  h4
{
    font-size: 1rem;
    font-weight: normal;
    padding: 0 1rem;
    color: var( --accent );
}

/* Highlight when active — kept around for legacy callers; the parent already
   gets `.active` automatically when an option is active, so this reads as
   plain `.btn.highlight-root.active` now. */
.btn.highlight-root.active[b-b8qsllkcs2]
{
    color: var( --text-strong );
}

.btn.highlight-root.active .icon[b-b8qsllkcs2]
{
    color: var( --accent );
}

/* /Components/Buttons/ButtonGroup.razor.rz.scp.css */

.button-group[b-x4wa3a58c7]
{
    display: inline-flex;
    border-radius: 8px;
    flex-grow: 0;
    flex-shrink: 1;
    flex-direction: row;
    overflow: hidden;
    user-select: none;
}

.button-group[b-x4wa3a58c7]  > *
{
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background-color: rgb( var( --tint ) / 0.06 );
    border-right: 1px solid rgb( var( --scrim ) / 1 );
    gap: 5px;
    border-radius: 0;
}

.button-group[b-x4wa3a58c7]  > *:last-child
{
    border-right: none;
}

.button-group[b-x4wa3a58c7]  > *:active
{
}

.button-group[b-x4wa3a58c7]  > *:hover
{
    background-color: rgb( var( --tint ) / 0.13 );
}

.button-group[b-x4wa3a58c7]  > .active
{
    background-color: var( --primary );
    color: var( --primary-alt );
}
/* /Components/Cards/Callout.razor.rz.scp.css */
.callout[b-z9ndpftwr6]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 1.1rem 1.4rem;
    border-radius: 10px;
    border: 1px solid var( --surface-line );
    background:
        linear-gradient( 135deg, rgb( from var( --tone ) r g b / 0.12 ), rgb( from var( --tone ) r g b / 0.04 ) );
}

.callout.tone-primary[b-z9ndpftwr6] { --tone: var( --primary ); }
.callout.tone-warning[b-z9ndpftwr6] { --tone: var( --warning ); }
.callout.tone-success[b-z9ndpftwr6] { --tone: var( --success ); }
.callout.tone-admin[b-z9ndpftwr6]   { --tone: var( --admin ); }

.callout .text[b-z9ndpftwr6]
{
    flex: 1;
    min-width: 0;
}

.callout .title[b-z9ndpftwr6]
{
    font-size: 1.05rem;
    font-weight: 600;
    color: var( --text-strong );
}

.callout .subtitle[b-z9ndpftwr6]
{
    margin-top: 0.15rem;
    font-size: 0.85rem;
    color: var( --text-color );
}

.callout .content[b-z9ndpftwr6]
{
    margin-top: 0.4rem;
    font-size: 0.9rem;
    color: var( --text-color );
}

.callout .actions[b-z9ndpftwr6]
{
    display: flex;
    gap: 0.4rem;
    align-items: center;
}
/* /Components/Cards/Card.razor.rz.scp.css */
.card[b-gw33s6te2a]
{
    margin: 2rem auto;
    max-width: 600px;
    display: flex;
    gap: 0rem;
    flex-direction: column;
    border-radius: 10px;

}

.card .header[b-gw33s6te2a]
{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
}

.card .header .heading[b-gw33s6te2a]
{
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.card .header .title[b-gw33s6te2a]
{
    font-weight: 600;
}

.card .header .description[b-gw33s6te2a]
{
    font-size: 13px;
    opacity: 0.7;
}

.card .header .card-icon[b-gw33s6te2a]
{
    display: flex;
    flex-shrink: 0;
    opacity: 0.4;
}

.card .header .card-icon.success[b-gw33s6te2a]
{
    color: var( --success );
    opacity: 1;
}

.card .header .card-icon.error[b-gw33s6te2a]
{
    color: var( --error );
    opacity: 1;
}

.card .header .card-icon.warning[b-gw33s6te2a]
{
    color: var( --warning );
    opacity: 1;
}

.card .body[b-gw33s6te2a]
{
    padding: 1rem;
}

/* When the header already padded the top, don't double-pad the body above it. */
.card .header + .body[b-gw33s6te2a]
{
    padding-top: 0;
}

.card .footer[b-gw33s6te2a]
{
    text-align: right;
    padding: 1rem;
}
/* /Components/Cards/InfoBox.razor.rz.scp.css */
.info-box[b-0y4ea9mal4]
{
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.25rem;
    margin: 0 0 1.5rem 0;
    background-color: rgb( from var( --primary ) r g b / 0.08 );
    border: 1px solid rgb( from var( --primary ) r g b / 0.25 );
    border-radius: 10px;
}

.info-box .icon[b-0y4ea9mal4]
{
    font-size: 2rem;
    color: color-mix( in srgb, var( --primary ) 55%, var( --text-strong ) );
    flex-shrink: 0;
    flex-grow: 0;
}

.info-box .body[b-0y4ea9mal4]
{
    flex: 1;
    min-width: 0;
    font-size: 0.95rem;
    opacity: 0.9;
    margin-top: 5px;
}

.info-box .body .content[b-0y4ea9mal4]  p
{
    margin: 0;
    margin-bottom: 0.5rem;
}

.info-box .body .title[b-0y4ea9mal4]
{
    font-weight: 600;
    margin-bottom: 0.35rem;
    opacity: 1;
}

.info-box .body[b-0y4ea9mal4]  p:last-child
{
    margin-bottom: 0;
}
/* /Components/Cards/LinkCard.razor.rz.scp.css */
.linkcard[b-x4646r4maa]
{
    display: block;
    padding: 0.6rem 0.75rem;
    border-radius: 7px;
    background: var( --surface-bg-fade );
    color: inherit;
    text-decoration: none;
    transition: background 0.15s ease, transform 0.15s ease;
}

.linkcard:hover[b-x4646r4maa]
{
    background: var( --surface-bg-hover );
    transform: translateX( 2px );
}

.linkcard .title[b-x4646r4maa]
{
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.3;
    color: var( --text-strong );
}

.linkcard .summary[b-x4646r4maa]
{
    margin-top: 0.2rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var( --text-muted );
    opacity: 0.85;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.linkcard .meta[b-x4646r4maa]
{
    margin-top: 0.2rem;
    font-size: 0.75rem;
    color: var( --text-faint );
    opacity: 0.7;
}

.linkcard .stars[b-x4646r4maa]
{
    margin-top: 0.3rem;
    font-size: 0.8rem;
    line-height: 1;
    letter-spacing: 1px;
    color: rgb( var( --tint ) / 0.2 );
}

.linkcard .stars .star.filled[b-x4646r4maa]
{
    color: var( --highlight-gold );
}
/* /Components/Cards/StatCard.razor.rz.scp.css */
.statcard[b-j5st3to3em]
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    text-align: center;
    padding: 1rem;
    border-radius: 10px;
    line-height: 1;
    gap: 0.5rem;
}

.icon[b-j5st3to3em]
{
    font-family: "Material Symbols Rounded";
    font-size: 128px;
    margin-bottom: -48px;
    color: rgb( from var( --primary ) r g b / 0.67 );
    mask: linear-gradient( to bottom, white, transparent 80% );
    z-index: -10;
    font-variation-settings: "FILL" 1;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

.value[b-j5st3to3em]
{
    font-size: 32px;
    font-weight: 550;
    color: var( --text-strong );
}

.subtitle[b-j5st3to3em]
{
    opacity: 0.5;
}

.numeric .value[b-j5st3to3em]
{
    font-family: Sen;
    font-size: 48px;
    font-variant-numeric: tabular-nums;
}
/* /Components/Charts/ChartHeader.razor.rz.scp.css */
.chart-header[b-h917hju9hv]
{
    display: flex;
    flex-direction: row;
    gap: 1rem;
    margin: 3rem 1rem 1rem 1rem;
}

.left[b-h917hju9hv]
{

}

.title[b-h917hju9hv]
{
    font-size: 1.25rem;
    font-weight: bold;
    color: var( --text-strong );
}

.subtitle[b-h917hju9hv]
{
    opacity: 0.4;
    font-size: 0.9rem;
}

.controls[b-h917hju9hv]
{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-grow: 1;
    gap: 1rem;
}
/* /Components/Charts/ChartRender.razor.rz.scp.css */
.chartrender[b-y7cskr33io]
{
    width: 100%;
    height: 100%;
    min-height: 200px;
}

.loading[b-y7cskr33io]
{
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: linear-gradient( 90deg, transparent 5%, rgb( var( --tint ) / 0.2 ) 50%, transparent 75% );
    background-size: 200% 100%;
    animation: shimmer-b-y7cskr33io 1.0s infinite linear;
}

.nodata[b-y7cskr33io]
{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgb( var( --tint ) / 0.05 );
    color: rgb( var( --tint ) / 0.5 );
}

@keyframes shimmer-b-y7cskr33io
{
    from
    {
        background-position: -100% 0;
    }

    to
    {
        background-position: 100% 0;
    }
}

/* /Components/Charts/DailyChart.razor.rz.scp.css */
.chart-wrapper[b-tva1g0by0f]
{
    width: 100%;
}
/* /Components/Display/AiContent.razor.rz.scp.css */
.input-page[b-ad7lmw0j2h], .input-page pre[b-ad7lmw0j2h]
{
    font-size: 13px;
}

.input-page h2[b-ad7lmw0j2h]
{
    font-size: 1rem;
}

.prompt[b-ad7lmw0j2h]
{
    background-color: rgb( from var( --menu-background ) r g b / 0.67 );
    padding: 1rem;
}

.loading[b-ad7lmw0j2h]
{
    font-family: Material Symbols Rounded;
    font-size: 128px;
    margin: 2rem;
    display: flex;
    justify-content: center;
    animation: alternate-spin-b-ad7lmw0j2h 0.4s infinite;
    opacity: 0.3;
}

@keyframes alternate-spin-b-ad7lmw0j2h
{
    0%
    {
        transform: rotate(0deg);
    }

    100%
    {
        transform: rotate(360deg);
    }
}
/* /Components/Display/AuditLogView.razor.rz.scp.css */
.audit-message[b-7l9vcwibbn] {
	display: flex;
	align-items: center;
	gap: 6px;
}

.audit-private[b-7l9vcwibbn] {
	font-size: 0.85em;
	opacity: 0.7;
}

.audit-changes[b-7l9vcwibbn] {
	margin: 4px 0 0 0;
	padding-left: 18px;
	font-size: 0.85em;
	color: var( --text-muted );
}

.audit-changes li[b-7l9vcwibbn] {
	margin: 0;
}
/* /Components/Display/Badge.razor.rz.scp.css */
/* Default shape: squared, uppercase, filled tag — feature flags (Beta / New / …) */
.badge[b-aiz2f85bv4]
{
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1;
    white-space: nowrap;
    background: rgb( from var( --tone ) r g b / 0.18 );
    color: var( --tone );
    border: 1px solid rgb( from var( --tone ) r g b / 0.4 );
    cursor: help;
    vertical-align: middle;
}

/* Pill shape: rounded, normal-case status marker (● online / Playing X / Banned) */
.badge.pill[b-aiz2f85bv4]
{
    gap: 0.4rem;
    flex-grow: 0;
    padding: 0.25rem 0.625rem;
    border-radius: 100px;
    font-size: 0.8rem;
    font-weight: normal;
    text-transform: none;
    letter-spacing: normal;
    text-decoration: none;
    cursor: default;
    background: none;
    border: 1px solid color-mix( in srgb, var( --tone ) 40%, transparent );
}

a.badge.pill[b-aiz2f85bv4]
{
    cursor: pointer;
}

.badge.pill.filled[b-aiz2f85bv4]
{
    background: color-mix( in srgb, var( --tone ) 12%, transparent );
}

/* Tones */
.badge.tone-success[b-aiz2f85bv4]    { --tone: var( --success ); }
.badge.tone-new[b-aiz2f85bv4]        { --tone: var( --success ); }
.badge.tone-accent[b-aiz2f85bv4]     { --tone: var( --accent ); }
.badge.tone-beta[b-aiz2f85bv4]       { --tone: var( --accent-bright ); }
.badge.tone-primary[b-aiz2f85bv4]    { --tone: var( --primary ); }
.badge.tone-info[b-aiz2f85bv4]       { --tone: var( --primary ); }
.badge.tone-error[b-aiz2f85bv4]      { --tone: var( --error ); }
.badge.tone-warning[b-aiz2f85bv4]    { --tone: var( --warning ); }
.badge.tone-deprecated[b-aiz2f85bv4] { --tone: var( --warning ); }
.badge.tone-neutral[b-aiz2f85bv4]    { --tone: rgb( var( --tint ) / 0.7 ); }

.badge-icon[b-aiz2f85bv4]
{
    display: inline-flex;
    align-items: center;
    line-height: 0;
    flex-shrink: 0;
}

.badge-icon[b-aiz2f85bv4]  img,
.badge-icon[b-aiz2f85bv4]  svg
{
    width: 1.1em;
    height: 1.1em;
    display: block;
}

.badge.pill .dot[b-aiz2f85bv4]
{
    font-size: 0.7em;
}

.badge.pill .pulse[b-aiz2f85bv4]
{
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var( --tone );
    box-shadow: 0 0 6px var( --tone );
    animation: badge-pulse-b-aiz2f85bv4 1.6s ease-in-out infinite;
}

@keyframes badge-pulse-b-aiz2f85bv4
{
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}

@media (min-width: 700px)
{
    .badge.pill[b-aiz2f85bv4]
    {
        padding: 0.35rem 0.85rem;
        font-size: 0.85rem;
    }
}
/* /Components/Display/DataGrid.razor.rz.scp.css */
.datagrid-toolbar[b-2efr8kd95n]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.6rem;
}

.datagrid-filters[b-2efr8kd95n],
.datagrid-controls[b-2efr8kd95n]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* When only controls are present, keep them on the right. */
.datagrid-controls[b-2efr8kd95n]
{
    margin-left: auto;
}

table[b-2efr8kd95n]
{
    max-width: 100%;
    overflow: hidden;
    overflow-wrap: anywhere;
}

table thead tr td[b-2efr8kd95n]
{
    user-select: none;
    font-size: 11px;
    white-space: nowrap;
}

.sortable[b-2efr8kd95n]
{
    cursor: pointer;
}

.sortable:hover[b-2efr8kd95n]
{
    filter: brightness( 150% );
    background-color: rgb( var( --tint ) / 0.02 );
}

table thead tr td.sorted[b-2efr8kd95n]
{
    position: relative;
    color: var( --text-muted );
    padding-right: 22px;
}

table thead tr td.sorted[b-2efr8kd95n]:after
{
    content: "filter_list";
    position: absolute;
    font-family: "Material Symbols Rounded";
    font-size: 14px;
    right: 4px;
    transition: all 0.2s ease;
    opacity: 0.6;
    transform: rotate( 180deg );
}

table thead tr td.sorted.desc[b-2efr8kd95n]:after
{
    transform: rotate( 0deg );
}

td.align-right[b-2efr8kd95n]
{
    text-align: right;
}

.datagrid[b-2efr8kd95n]
{
    transition: all 0.3s ease;
}

.datagrid.busy[b-2efr8kd95n]
{
    opacity: 0.5;
    pointer-events: none;
    animation: loading-flash-b-2efr8kd95n 0.6s infinite;
}

@keyframes loading-flash-b-2efr8kd95n
{
    0%
    {
        outline: 1px solid rgb( from var( --accent ) r g b / 0.67 );
        outline-offset: 1px;
    }

    100%
    {
        outline: 1px solid rgb( from var( --accent ) r g b / 0 );
        outline-offset: 16px;
    }
}


.datagrid[b-2efr8kd95n]  .pagination a
{
    font-size: 13px;
    padding: 7px 5px;
    min-width: 20px;
    font-weight: normal;
}

tfoot td[b-2efr8kd95n]
{
    padding: 0;
}

tfoot td .inner[b-2efr8kd95n]
{
    display: flex;
    align-items: center;
}

tfoot td .inner .info[b-2efr8kd95n]
{
    flex-grow: 1;
    opacity: 0.4;
    padding: 4px 1rem;
}

.inner-info[b-2efr8kd95n]
{
    padding: 1rem;
    text-align: center;
    color: rgb( var( --tint ) / 0.27 );
}

.nosort[b-2efr8kd95n]
{
    pointer-events: none;
}

col[b-2efr8kd95n]
{
    width: 1px;
}

col.grow[b-2efr8kd95n]
{
    width: 100%;
    white-space: normal;
}

td.shrink[b-2efr8kd95n]
{
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

td.nowrap[b-2efr8kd95n]
{
    white-space: nowrap;
}

td.tight[b-2efr8kd95n]
{
    padding: 3px;
}

td.numeric[b-2efr8kd95n]
{
    font-family: Sen;
    font-variant-numeric: tabular-nums;
}

td.checkbox[b-2efr8kd95n]
{
    padding: 2px;
}

td.controls[b-2efr8kd95n]
{
    overflow: hidden;
    height: 1px;
    padding: 0;
    text-align: center;
}

td.controls .inner[b-2efr8kd95n]
{
    animation: slidein-b-2efr8kd95n 0.5s ease-out;
    padding: 8px;
}

td.controls .inner button[b-2efr8kd95n]
{
    border-radius: 4px;
    background-color: color-mix( in srgb, var( --warning ) 70%, rgb( var( --scrim ) / 1 ) );
    color: color-mix( in srgb, var( --warning ) 30%, var( --text-strong ) );
}

td.controls .inner button:hover[b-2efr8kd95n]
{
    background-color: color-mix( in srgb, var( --warning ) 70%, rgb( var( --scrim ) / 1 ) );
    color: color-mix( in srgb, var( --warning ) 30%, var( --text-strong ) );
    filter: brightness( 1.4 );
}

.folded[b-2efr8kd95n]
{
    cursor: pointer;
    color: var( --text-strong );
}

@keyframes slidein-b-2efr8kd95n
{
    from
    {
        max-height: 0px;
        padding: 0px;
    }

    to
    {
        max-height: 40px;
        padding: 8px;
    }
}
/* /Components/Display/Dollars.razor.rz.scp.css */
.dollars[b-31ko23lc04]
{
    font-family: Sen;
    font-variant-numeric: tabular-nums;
}

.red[b-31ko23lc04]
{
    color: #e34c97;
}

.green[b-31ko23lc04]
{
    color: #5ee55e;
}
/* /Components/Display/Loading.razor.rz.scp.css */

.loading-alert[b-9dwic5q221]
{
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    margin: 2rem;
    animation: fadein-b-9dwic5q221 3s forwards;
}

.loading-alert .inner[b-9dwic5q221]
{
    display: flex;
    gap: 1rem;
    padding: 1rem 2rem;
    border-radius: 10px;
    flex-direction: column;
    align-items: center;
}

.loading-alert .left[b-9dwic5q221]
{
    font-size: 96px;
    opacity: 0.4;
    line-height: 1;
    display: flex;
    animation: spin-b-9dwic5q221 0.3s forwards infinite linear;
}

.loading-alert .right[b-9dwic5q221]
{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.loading-alert .right .title[b-9dwic5q221]
{
    font-size: 18px;
    margin: 0;
    padding: 0.8rem 0;
    line-height: 1;
    font-weight: 550;
}


.loading-alert .right .text[b-9dwic5q221]
{
    font-size: 13px;
    opacity: 0.6;
}

@keyframes spin-b-9dwic5q221
{
    0%
    {
        transform: rotate(0deg);
    }

    100%
    {
        transform: rotate(360deg);
    }
}

@keyframes fadein-b-9dwic5q221
{
    0%
    {
        opacity: 0;
    }

    25%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}
/* /Components/Display/OrgName.razor.rz.scp.css */
.orgname[b-bw93tjthim]
{
    color: color-mix( in srgb, var( --primary ) 60%, var( --text-strong ) );
    font-weight: 600;
    transition: color 0.12s ease;
}

.orgname.banned[b-bw93tjthim]
{
    color: var( --error ) !important;
}

.orgname.shadowbanned[b-bw93tjthim]
{
    color: var( --warning ) !important;
}

.orgname.monetization-disabled[b-bw93tjthim]
{
    color: #a855f7 !important; /* violet — distinct from banned/shadowbanned */
}

.orgname:hover[b-bw93tjthim]
{
    color: var( --text-strong );
}
/* /Components/Display/PackageName.razor.rz.scp.css */
.packagename[b-i722sq81h1]
{
    color: color-mix( in srgb, var( --primary ) 60%, var( --text-strong ) );
    font-weight: 600;
    transition: color 0.12s ease;
}

.packagename.banned[b-i722sq81h1]
{
    color: var( --error ) !important;
}

.packagename.shadowbanned[b-i722sq81h1]
{
    color: var( --warning ) !important;
}

.packagename.monetization-disabled[b-i722sq81h1]
{
    color: #a855f7 !important; /* violet — distinct from banned/shadowbanned */
}

.packagename:hover[b-i722sq81h1]
{
    color: var( --text-strong );
}
/* /Components/Display/ProgressBar.razor.rz.scp.css */
.progress-bar[b-04h0bzlp33]
{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.progress-bar .bar[b-04h0bzlp33]
{
	height: 6px;
	border-radius: 3px;
	background: rgba( 255, 255, 255, 0.1 );
	overflow: hidden;
}

.progress-bar .bar .fill[b-04h0bzlp33]
{
	height: 100%;
	background: var( --accent );
	transition: width 0.2s ease;
}

.progress-bar .label[b-04h0bzlp33]
{
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	opacity: 0.7;
}

.progress-bar .dots[b-04h0bzlp33]
{
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 4px;
	width: 100%;
}

.progress-bar .dot[b-04h0bzlp33]
{
	/* Grow to share the width evenly, but never bigger than the cap — once capped,
	   the leftover width is shared out by the container's space-around. */
	flex: 1 1 0;
	min-width: 16px;
	max-width: 34px;
	aspect-ratio: 1;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	background: rgba( 255, 255, 255, 0.1 );
	color: transparent;
}

.progress-bar .dot.filled[b-04h0bzlp33]
{
	background: var( --accent );
	color: #fff;
}
/* /Components/Display/SkinItem.razor.rz.scp.css */
.skin-item[b-nmstotrvjx]
{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 2px 8px 2px 0;
    max-width: 280px;
}

.skin-item img[b-nmstotrvjx]
{
    width: 22px;
    height: 22px;
    border-radius: 3px;
    flex-shrink: 0;
}

.skin-item span[b-nmstotrvjx]
{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Display/Username.razor.rz.scp.css */
.username[b-0uuyjtl707]
{
    color: color-mix( in srgb, var( --primary ) 60%, var( --text-strong ) );
    font-weight: 600;
    transition: color 0.12s ease;
}

.username.banned[b-0uuyjtl707]
{
    color: var( --error ) !important;
}

.username.bot[b-0uuyjtl707]
{
    color: #a855f7 !important; /* violet — distinct from banned/suspicious/online */
}

.username.suspicious[b-0uuyjtl707]
{
    color: var( --warning ) !important;
}

.online[b-0uuyjtl707]
{
    color: var( --success );
}

.username:hover[b-0uuyjtl707]
{
    color: var( --text-strong );
}
/* /Components/Display/VMdlViewer.razor.rz.scp.css */
.vmdl-viewer[b-uxjl4jof71]
{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.vmdl-info[b-uxjl4jof71]
{
	color: var(--c-text-light, #888);
	font-size: 0.85em;
}

.vmdl-error[b-uxjl4jof71]
{
	color: var(--c-danger, #e66);
	font-size: 0.85em;
}

.vmdl-canvas[b-uxjl4jof71]
{
	width: 100%;
	aspect-ratio: 16/9;
	border-radius: 6px;
	cursor: grab;
	touch-action: none;
}

.vmdl-canvas:active[b-uxjl4jof71]
{
	cursor: grabbing;
}

.vmdl-controls[b-uxjl4jof71]
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: 100%;
}
/* /Components/Display/VSndPlayer.razor.rz.scp.css */
.vsnd-player[b-29vyv1xrhr]
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.vsnd-error[b-29vyv1xrhr]
{
	color: var(--c-danger, #e66);
	font-size: 0.85em;
}
/* /Components/Display/VTexViewer.razor.rz.scp.css */
.vtex-viewer[b-m3v7660ia9]
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.vtex-error[b-m3v7660ia9]
{
	color: var(--c-danger, #e66);
	font-size: 0.85em;
}

.vtex-canvas[b-m3v7660ia9]
{
	display: none;
	width: 100%;
	max-width: 320px;
	height: auto;
	border-radius: 6px;
	background: #0002;
}

.vtex-canvas.shown[b-m3v7660ia9]
{
	display: block;
}
/* /Components/EditableBlock.razor.rz.scp.css */

.edit-control-bar[b-6vkaalnypj]
{
    margin: 2rem;
    margin-top: 5rem;
    position: sticky;
    bottom: 0px;
    background-color: rgb( var( --scrim ) / 0.2 );
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    padding: 1.5rem 2rem;
    gap: 1rem;
}

.edit-control-bar[b-6vkaalnypj]  .btn
{
    display: flex;
    padding: 0.4rem 1rem;
    gap: 1rem;
    font-size: 0.8rem;
    background-color: transparent;
    border: 1px solid rgb( var( --tint ) / 0.2 );
    color: rgb( var( --tint ) / 0.67 );
    font-weight: normal;
}

.edit-control-bar[b-6vkaalnypj]  .btn.primary
{
    background-color: var( --primary );
    border: 0px;
    color: var( --primary-alt );
}

.edit-control-bar[b-6vkaalnypj]  .btn.primary:hover
{
    filter: brightness( 1.4 );
}

.edit-control-bar[b-6vkaalnypj]  .btn.primary:active
{
    transform: scale( 0.97 );
}

.pageditor-header[b-6vkaalnypj]
{
    position: relative;
    width: 100%;
}

.pageditor-header[b-6vkaalnypj]  .btn
{
    background-color: #222;
    color: rgb( var( --tint ) / 0.2 );
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
    font-weight: normal;
    display: flex;
    gap: 0.5rem;
    position: absolute;
    right: 0px;
    z-index: 10000;
}

.pageditor-header i[b-6vkaalnypj]
{
    font-size: 0.9rem;
}

.pageditor-header i:hover[b-6vkaalnypj]
{
    background-color: var( --text-strong );
    color: var( --text-on-strong );
}
/* /Components/Forms/DatePicker.razor.rz.scp.css */
.date-picker[b-alqjkjrvgx]
{
    padding: 0.75rem;
    border-radius: 6px;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    max-width: 320px;
    user-select: none;
    outline: 0;
}

.month-header[b-alqjkjrvgx]
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 0.9rem;
    color: var( --input-text );
    padding: 0 0.25rem 0.5rem;
}

.month-header button[b-alqjkjrvgx]
{
    appearance: none;
    background: transparent;
    border: 0;
    color: var( --input-text );
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    transition: opacity 0.12s ease, background-color 0.12s ease;
}

.month-header button:hover[b-alqjkjrvgx]
{
    opacity: 1;
    background-color: rgb( var( --tint ) / 0.08 );
}

.day-grid[b-alqjkjrvgx]
{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.day-name[b-alqjkjrvgx]
{
    text-align: center;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.4;
    padding: 4px 0;
}

.day[b-alqjkjrvgx], .empty-day[b-alqjkjrvgx]
{
    text-align: center;
    cursor: pointer;
    border-radius: 100px;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    flex-direction: column;
    gap: 2px;
    line-height: 1;
    color: var( --input-text );
    opacity: 0.75;
    transition: background-color 0.12s ease, color 0.12s ease, opacity 0.12s ease;
}

.empty-day[b-alqjkjrvgx]
{
    cursor: default;
    opacity: 0;
}

.day:hover[b-alqjkjrvgx]
{
    background-color: rgb( from var( --primary ) r g b / 0.15 );
    opacity: 1;
}

.day.today[b-alqjkjrvgx]
{
    outline: 1px solid var( --input-border-hover );
    opacity: 1;
}

.day.selected[b-alqjkjrvgx]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    opacity: 1;
}

.day.selected:hover[b-alqjkjrvgx]
{
    background-color: var( --primary );
}

.blue[b-alqjkjrvgx]::after
{
    content: "";
    width: 4px;
    height: 4px;
    background-color: var( --primary );
    border-radius: 10px;
}

.day.selected.blue[b-alqjkjrvgx]::after
{
    background-color: var( --primary-alt );
    opacity: 0.7;
}
/* /Components/Forms/Form.razor.rz.scp.css */

.easy-form[b-ytqrkpwu1w]
{
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	max-width: 640px;
	width: 100%;
	margin-inline: auto;
}

.easy-form.wide[b-ytqrkpwu1w],
.easy-form.compact[b-ytqrkpwu1w]
{
	max-width: none;
}

.easy-form[b-ytqrkpwu1w]  h2
{
	font-size: 1.05rem;
	font-weight: 600;
	color: var( --text-strong );
	margin: 1.5rem 0 0.5rem;
	padding: 0;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.easy-form[b-ytqrkpwu1w]  h2:first-child
{
	margin-top: 0;
}

.easy-form[b-ytqrkpwu1w]  h3
{
	font-size: 0.78rem;
	font-weight: 600;
	color: var( --text-strong );
	margin: 1.25rem 0 0.4rem;
	padding: 0;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.6;
}

.easy-form[b-ytqrkpwu1w]  h3:first-child
{
	margin-top: 0;
}

.easy-form[b-ytqrkpwu1w]  .form-row
{
	margin: 0;
}

.easy-form.compact[b-ytqrkpwu1w]
{
	gap: 0.85rem;
}

.easy-form.compact[b-ytqrkpwu1w]  .form-row
{
	gap: 0.5rem;
}

.easy-form.compact[b-ytqrkpwu1w]  .form-row > .label
{
	font-size: 0.75rem;
	font-weight: 500;
	opacity: 0.75;
}

.easy-form.compact[b-ytqrkpwu1w]  .form-row .control input,
.easy-form.compact[b-ytqrkpwu1w]  .form-row .control select,
.easy-form.compact[b-ytqrkpwu1w]  .form-row .control textarea
{
	padding: 0.35rem 0.55rem;
	font-size: 12px;
	border-radius: 4px;
}

.easy-form.compact[b-ytqrkpwu1w]  .form-row.width-narrow > .body,
.easy-form.compact[b-ytqrkpwu1w]  .form-row.width-medium > .body
{
	max-width: none;
}

.easy-form.compact[b-ytqrkpwu1w]  .input-enum-buttons
{
	padding: 2px;
}

.easy-form.compact[b-ytqrkpwu1w]  .input-enum-buttons button
{
	padding: 4px 6px;
	font-size: 11px;
}

.easy-form.compact[b-ytqrkpwu1w]  .group
{
	padding: 0.75rem;
	margin: 0.5rem 0;
	gap: 0.6rem;
}

.easy-form[b-ytqrkpwu1w]  .group
{
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.25rem 1.5rem;
	border-radius: 10px;
	margin: 1rem 0;
	background: var( --form-surface );
	border: 1px solid var( --form-divider );
}

[b-ytqrkpwu1w] .group h2
{
	margin: 0 0 0.75rem;
	padding: 0;
	font-size: 1rem;
	font-weight: 600;
}

[b-ytqrkpwu1w] .form-row .control input[type=checkbox]
{
	appearance: none;
	height: 20px;
	width: 20px;
	padding: 0;
	cursor: pointer;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

[b-ytqrkpwu1w] .form-row .control input[type=checkbox]:checked
{
	background-color: var( --primary );
	border: 1px solid var( --primary );
}

[b-ytqrkpwu1w] .form-row .control input[type=checkbox]:checked::after
{
	content: 'check';
	font-family: "Material Symbols Rounded";
	position: absolute;
	font-size: 13px;
	color: var( --primary-alt );
}

[b-ytqrkpwu1w] .form-row .control input[type=file]
{
	position: relative;
}

[b-ytqrkpwu1w] .form-row .control input[type=file]::after
{
	content: '📂 Choose or drop a file..';
	position: absolute;
	display: flex;
	align-items: center;
	padding-left: 8px;
	background-color: var( --input-bg );
	color: var( --input-placeholder );
	width: 100%;
	left: 1px;
	top: 1px;
	bottom: 1px;
	right: 1px;
	cursor: pointer;
}
/* /Components/Forms/FormControls.razor.rz.scp.css */
controls[b-nid33ivzii]
{
    display: flex;
    padding: 1rem;
    padding-top: 1.5rem;
    margin-top: 1.5rem;
    border-top: 1px solid var( --form-divider );
    justify-content: flex-end;
    gap: 1rem;
}

controls[b-nid33ivzii]  button.button
{
    font-size: 1rem;
    padding: 0.5rem 1rem;
    min-width: 120px;
}
/* /Components/Forms/FormRow.razor.rz.scp.css */

.form-row[b-apgpfrdly8]
{
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 1.25rem 0;
}

.form-row > .label[b-apgpfrdly8]
{
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0;
    line-height: 1.2;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var( --form-label-color );
}

.form-row > .label .help-icon[b-apgpfrdly8]
{
    color: var( --primary );
    cursor: help;
    font-size: 1rem;
}

.form-row > .body[b-apgpfrdly8]
{
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.form-row > .body > .control[b-apgpfrdly8]
{
    position: relative;
}

.form-row > .body > .help-inline[b-apgpfrdly8]
{
    font-size: 0.78rem;
    opacity: 0.55;
    padding: 0.25rem 0 0;
    line-height: 1.4;
}

.form-row > .body > .error[b-apgpfrdly8]
{
    color: var( --error );
    font-size: 0.8rem;
    padding: 0.25rem 0 0;
}

.form-row > .body > .error:empty[b-apgpfrdly8]
{
    display: none;
}

.form-row.width-narrow > .body[b-apgpfrdly8]
{
    max-width: 280px;
}

.form-row.width-medium > .body[b-apgpfrdly8]
{
    max-width: 440px;
}

.form-row.has-counter[b-apgpfrdly8]  input,
.form-row.has-counter[b-apgpfrdly8]  textarea
{
    padding-right: 3rem;
}
/* /Components/Forms/FormRowAuto.razor.rz.scp.css */
.char-counter[b-w3mhg4oayz]
{
    position: absolute;
    bottom: 0.55rem;
    right: 0.8rem;
    font-size: 0.7rem;
    opacity: 0.4;
    color: var( --input-text );
    font-variant-numeric: tabular-nums;
    pointer-events: none;
    transition: color 0.12s ease, opacity 0.12s ease;
}

.char-counter.full[b-w3mhg4oayz]
{
    color: var( --error );
    opacity: 1;
}
/* /Components/Forms/InputBool.razor.rz.scp.css */
.input-bool[b-l33jxc9hkr]
{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	cursor: pointer;
	line-height: 1.5;
	max-width: 100%;
}

.input-bool input[type="checkbox"][b-l33jxc9hkr]
{
	appearance: none;
	height: 20px;
	width: 20px;
	margin: 0;
	margin-top: 2px;
	padding: 0;
	cursor: pointer;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	background-color: var( --input-bg );
	border: 1px solid var( --input-border );
	border-radius: 4px;
	transition: background-color 0.12s ease, border-color 0.12s ease;
}

.input-bool:hover input[type="checkbox"]:not(:checked)[b-l33jxc9hkr]
{
	border-color: var( --input-border-hover );
}

.input-bool input[type="checkbox"]:checked[b-l33jxc9hkr]
{
	background-color: var( --primary );
	border: 1px solid var( --primary );
}

.input-bool input[type="checkbox"]:checked[b-l33jxc9hkr]::after
{
	content: 'check';
	font-family: "Material Symbols Rounded";
	font-size: 13px;
	color: var( --primary-alt );
}

.input-bool .label[b-l33jxc9hkr]
{
	flex: 1 1 0;
	min-width: 0;
	overflow-wrap: anywhere;
	opacity: 0.7;
}

.input-bool:hover .label[b-l33jxc9hkr]
{
	opacity: 1;
}
/* /Components/Forms/InputEnumButtons.razor.rz.scp.css */
.input-enum-buttons[b-h7iy7pjeus]
{
    display: flex;
    padding: 3px;
    gap: 2px;
    border-radius: 6px;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    overflow: hidden;
}

.input-enum-buttons button[b-h7iy7pjeus]
{
    margin: 0;
    padding: 6px 10px;
    flex-grow: 1;
    flex-basis: 0;
    font-size: 12px;
    background-color: transparent;
    color: var( --input-text );
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    user-select: none;
    opacity: 0.65;
    transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.input-enum-buttons button:hover[b-h7iy7pjeus]
{
    background-color: rgb( from var( --primary ) r g b / 0.15 );
    color: var( --primary-alt );
    opacity: 1;
}

.input-enum-buttons button.active[b-h7iy7pjeus]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    opacity: 1;
    box-shadow: 0 1px 3px rgb( var( --scrim ) / 0.3 );
}

.input-enum-buttons.tags-style[b-h7iy7pjeus]
{
    padding: 1rem;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.input-enum-buttons.tags-style button[b-h7iy7pjeus]
{
    padding: 7px 14px;
    font-size: 0.9rem;
    border-radius: 999px;
    flex-grow: 0;
    flex-basis: auto;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    color: var( --input-text );
    opacity: 0.85;
}

.input-enum-buttons.tags-style button:hover[b-h7iy7pjeus]
{
    background-color: rgb( from var( --primary ) r g b / 0.18 );
    border-color: rgb( from var( --primary ) r g b / 0.55 );
    color: var( --primary-alt );
    opacity: 1;
}

.input-enum-buttons.tags-style button.active[b-h7iy7pjeus]
{
    background-color: var( --primary );
    border-color: var( --primary );
    color: var( --primary-alt );
    opacity: 1;
    box-shadow: 0 1px 4px rgb( from var( --primary ) r g b / 0.4 );
}
/* /Components/Forms/InputImage.razor.rz.scp.css */
.image-upload[b-7wo0lwz7i8]
{
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

.preview[b-7wo0lwz7i8], img[b-7wo0lwz7i8]
{
    height: 80px;
    width: 100px;
    flex-shrink: 0;
    background-color: rgb( var( --scrim ) / 0.2 );
}

img[b-7wo0lwz7i8]
{
    object-fit: contain;
}

.uploading[b-7wo0lwz7i8]
{
    opacity: 0.4;
}

.upload[b-7wo0lwz7i8]
{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    background-color: rgb( var( --tint ) / 0.06 );
    color: rgb( var( --tint ) / 0.8 );
    cursor: pointer;
    user-select: none;
}

.upload:hover[b-7wo0lwz7i8]
{
    background-color: rgb( var( --tint ) / 0.1 );
}

/* Hide the raw browser file input - the label is the visible trigger. */
.upload[b-7wo0lwz7i8]  input[type=file]
{
    display: none;
}
/* /Components/Forms/InputRange.razor.rz.scp.css */
.input-range[b-v3s58ktfds]
{
    display: inline-flex;
    min-width: 250px;
    align-items: center;
    gap: 0.75rem;
}

.input-range .range[b-v3s58ktfds]
{
    flex-grow: 1;
}

.input-range[b-v3s58ktfds]  input.number
{
    flex-grow: 0;
    max-width: 60px;
    width: auto !important;
    text-align: right;
}

input[type="range"][b-v3s58ktfds]
{
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    padding: 0;
    margin: 0;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 100px;
    outline: none;
    cursor: pointer;
    transition: border-color 0.12s ease;
}

input[type="range"]:hover[b-v3s58ktfds]
{
    border-color: var( --input-border-hover );
}

input[type="range"]:focus[b-v3s58ktfds]
{
    border-color: var( --primary );
    box-shadow: 0 0 0 3px var( --input-focus-ring );
}

input[type="range"][b-v3s58ktfds]::-webkit-slider-thumb
{
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    background-color: var( --primary );
    border: 2px solid var( --primary-alt );
    border-radius: 100px;
    cursor: grab;
    box-shadow: 0 1px 3px rgb( var( --scrim ) / 0.4 );
    transition: transform 0.12s ease;
}

input[type="range"][b-v3s58ktfds]::-webkit-slider-thumb:hover
{
    transform: scale( 1.15 );
}

input[type="range"][b-v3s58ktfds]::-webkit-slider-thumb:active
{
    cursor: grabbing;
    transform: scale( 1.1 );
}

input[type="range"][b-v3s58ktfds]::-moz-range-thumb
{
    width: 16px;
    height: 16px;
    background-color: var( --primary );
    border: 2px solid var( --primary-alt );
    border-radius: 100px;
    cursor: grab;
    box-shadow: 0 1px 3px rgb( var( --scrim ) / 0.4 );
}

input[type="range"][b-v3s58ktfds]::-moz-range-track
{
    background-color: transparent;
    border: 0;
}
/* /Components/Forms/MonthPicker.razor.rz.scp.css */
.month-picker[b-ebawunfj7f]
{
    padding: 0.75rem;
    border-radius: 6px;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    max-width: 320px;
    user-select: none;
    outline: 0;
}

.year-header[b-ebawunfj7f]
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 0.9rem;
    color: var( --input-text );
    padding: 0 0.25rem 0.5rem;
}

.year-header a[b-ebawunfj7f]
{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 6px;
    border-radius: 4px;
    color: var( --input-text );
    opacity: 0.6;
    transition: opacity 0.12s ease, background-color 0.12s ease;
}

.year-header a:hover[b-ebawunfj7f]
{
    opacity: 1;
    background-color: rgb( var( --tint ) / 0.08 );
}

.month-grid[b-ebawunfj7f]
{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
}

.month[b-ebawunfj7f]
{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 0;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    color: var( --input-text );
    opacity: 0.75;
    transition: background-color 0.12s ease, opacity 0.12s ease;
}

.month:hover[b-ebawunfj7f]
{
    background-color: rgb( from var( --primary ) r g b / 0.15 );
    opacity: 1;
}

.month.selected[b-ebawunfj7f]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    opacity: 1;
}

.month.today[b-ebawunfj7f]
{
    outline: 1px solid var( --input-border-hover );
    opacity: 1;
}

.month.blue[b-ebawunfj7f]
{
    background-color: rgb( from var( --primary ) r g b / 0.2 );
}

.month.future[b-ebawunfj7f]
{
    opacity: 0.35;
}
/* /Components/Forms/MultiSelectControl.razor.rz.scp.css */
.select-control[b-swjcjq04qb]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
/* /Components/Forms/MultiSelectOption.razor.rz.scp.css */
.select-control > .select-option[b-h0rt16gawf]
{
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    padding-right: 2.5rem;
    align-items: flex-start;
    flex: 1 1 220px;
    min-width: 0;
    cursor: pointer;
    border-radius: 8px;
    border: 1px solid var( --input-border );
    background-color: var( --input-bg );
    color: var( --input-text );
    opacity: 0.75;
    user-select: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, opacity 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.select-control > .select-option:hover[b-h0rt16gawf]
{
    opacity: 1;
    border-color: var( --input-border-hover );
    transform: translateY( -1px );
    box-shadow: 0 4px 12px rgb( var( --scrim ) / 0.18 );
}

.select-control > .select-option:active[b-h0rt16gawf]
{
    transform: translateY( 0 );
    box-shadow: 0 2px 6px rgb( var( --scrim ) / 0.18 );
}

.select-control > .select-option.active[b-h0rt16gawf]
{
    opacity: 1;
    background-color: rgb( from var( --primary ) r g b / 0.12 );
    border-color: var( --primary );
    box-shadow: 0 0 0 3px rgb( from var( --primary ) r g b / 0.2 );
}

.select-control > .select-option.active[b-h0rt16gawf]::after
{
    content: 'check_circle';
    font-family: 'Material Symbols Rounded';
    position: absolute;
    top: 0.6rem;
    right: 0.7rem;
    font-size: 1.2rem;
    line-height: 1;
    color: var( --primary );
}

.select-control > .select-option .icon[b-h0rt16gawf]
{
    font-size: 1.4rem;
    line-height: 1;
    color: var( --input-text );
    opacity: 0.7;
    flex-shrink: 0;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.select-control > .select-option:hover .icon[b-h0rt16gawf]
{
    opacity: 1;
}

.select-control > .select-option.active .icon[b-h0rt16gawf]
{
    color: var( --primary );
    opacity: 1;
}

.select-control > .select-option .content[b-h0rt16gawf]
{
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex-grow: 1;
}

.select-control > .select-option .title[b-h0rt16gawf]
{
    font-family: Poppins;
    font-weight: 600;
    font-size: 0.9rem;
    color: var( --input-text );
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.select-control > .select-option.active .title[b-h0rt16gawf]
{
    color: var( --primary-alt );
}

.select-control > .select-option .subtitle[b-h0rt16gawf]
{
    font-family: "Sen";
    font-weight: normal !important;
    font-size: 0.75rem;
    opacity: 0.5;
    line-height: 1.4;
}

.select-control > .select-option.active .subtitle[b-h0rt16gawf]
{
    opacity: 0.8;
}

.select-control > .select-option .subtitle:empty[b-h0rt16gawf]
{
    display: none;
}
/* /Components/Forms/SelectControl.razor.rz.scp.css */
.select-control[b-zx69ckwtsq]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
/* /Components/Forms/SelectOption.razor.rz.scp.css */
.select-control > .select-option[b-qd06ljx5fw]
{
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    padding-right: 2.5rem;
    align-items: flex-start;
    flex: 1 1 220px;
    min-width: 0;
    cursor: pointer;
    border-radius: 8px;
    border: 1px solid var( --input-border );
    background-color: var( --input-bg );
    color: var( --input-text );
    opacity: 0.75;
    user-select: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, opacity 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.select-control > .select-option:hover[b-qd06ljx5fw]
{
    opacity: 1;
    border-color: var( --input-border-hover );
    transform: translateY( -1px );
    box-shadow: 0 4px 12px rgb( var( --scrim ) / 0.18 );
}

.select-control > .select-option:active[b-qd06ljx5fw]
{
    transform: translateY( 0 );
    box-shadow: 0 2px 6px rgb( var( --scrim ) / 0.18 );
}

.select-control > .select-option.active[b-qd06ljx5fw]
{
    opacity: 1;
    background-color: rgb( from var( --primary ) r g b / 0.12 );
    border-color: var( --primary );
    box-shadow: 0 0 0 3px rgb( from var( --primary ) r g b / 0.2 );
}

.select-control > .select-option.active[b-qd06ljx5fw]::after
{
    content: 'check_circle';
    font-family: 'Material Symbols Rounded';
    position: absolute;
    top: 0.6rem;
    right: 0.7rem;
    font-size: 1.2rem;
    line-height: 1;
    color: var( --primary );
}

.select-control > .select-option .icon[b-qd06ljx5fw]
{
    font-size: 1.4rem;
    line-height: 1;
    color: var( --input-text );
    opacity: 0.7;
    flex-shrink: 0;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.select-control > .select-option:hover .icon[b-qd06ljx5fw]
{
    opacity: 1;
}

.select-control > .select-option.active .icon[b-qd06ljx5fw]
{
    color: var( --primary );
    opacity: 1;
}

.select-control > .select-option .content[b-qd06ljx5fw]
{
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex-grow: 1;
}

.select-control > .select-option .title[b-qd06ljx5fw]
{
    font-family: Poppins;
    font-weight: 600;
    font-size: 0.9rem;
    color: var( --input-text );
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.select-control > .select-option.active .title[b-qd06ljx5fw]
{
    color: var( --primary-alt );
}

.select-control > .select-option .subtitle[b-qd06ljx5fw]
{
    font-family: "Sen";
    font-weight: normal !important;
    font-size: 0.75rem;
    opacity: 0.5;
    line-height: 1.4;
}

.select-control > .select-option.active .subtitle[b-qd06ljx5fw]
{
    opacity: 0.8;
}

.select-control > .select-option .subtitle:empty[b-qd06ljx5fw]
{
    display: none;
}
/* /Components/Forms/TextInput.razor.rz.scp.css */
.text-input[b-muo8m7pxlt]
{
    display: block;
    width: 100%;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 8px;
    padding: 7px 12px;
    color: var( --input-text );
    font-family: inherit;
    font-size: 0.95rem;
    outline: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.text-input[b-muo8m7pxlt]::placeholder
{
    color: var( --input-placeholder );
}

.text-input:hover[b-muo8m7pxlt]
{
    border-color: var( --input-border-hover );
}

.text-input:focus[b-muo8m7pxlt]
{
    border-color: var( --primary );
    background-color: var( --input-bg-focus );
    box-shadow: 0 0 0 3px var( --input-focus-ring );
}

/* Leading search icon, inside the field - a background SVG plus padding, no wrapping element. */
.text-input.has-icon[b-muo8m7pxlt]
{
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b93a7'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='7'/%3E%3Cline%20x1='21'%20y1='21'%20x2='16.65'%20y2='16.65'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 11px center;
    background-size: 17px;
    padding-left: 36px;
}

.text-input.large[b-muo8m7pxlt]
{
    padding: 13px 18px;
    border-radius: 12px;
    font-size: 1.1rem;
}

.text-input.large.has-icon[b-muo8m7pxlt]
{
    background-position: 16px center;
    background-size: 21px;
    padding-left: 50px;
}
/* /Components/Forms/VideoInput.razor.rz.scp.css */
.image-upload[b-m5ls1xi2xs]
{
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

.preview[b-m5ls1xi2xs], img[b-m5ls1xi2xs], .image-upload[b-m5ls1xi2xs]  video
{
    height: 80px;
    width: 100px;
    flex-shrink: 0;
    background-color: rgb( var( --scrim ) / 0.2 );
    object-fit: contain;
}

.uploading[b-m5ls1xi2xs]
{
    opacity: 0.4;
}

.upload[b-m5ls1xi2xs]
{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    background-color: rgb( var( --tint ) / 0.06 );
    color: rgb( var( --tint ) / 0.8 );
    cursor: pointer;
    user-select: none;
}

.upload:hover[b-m5ls1xi2xs]
{
    background-color: rgb( var( --tint ) / 0.1 );
}

/* Hide the raw browser file input - the label is the visible trigger. */
.upload[b-m5ls1xi2xs]  input[type=file]
{
    display: none;
}
/* /Components/Layout/Cell.razor.rz.scp.css */
.cell-component[b-t6875b7g0m]
{
    display: flex;
    flex-direction: column;
}

.cell-component.grow[b-t6875b7g0m]
{
    flex-grow: 1;
    flex-shrink: 0;
}

.cell-component:not(.grow)[b-t6875b7g0m]
{
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: auto;
}

/* Min-width percentages for use inside <Row> (which wraps its children). Lets you do e.g.
   <Row><Cell Width50>...</Cell><Cell>...</Cell></Row> for 50% + rest, that wraps sensibly.
   !important ensures it wins over Row's generic >* { min-width:0 } rule. */
.cell-component.width-10[b-t6875b7g0m]  { min-width: 10% !important; }
.cell-component.width-20[b-t6875b7g0m]  { min-width: 20% !important; }
.cell-component.width-33[b-t6875b7g0m]  { min-width: 33.333% !important; }
.cell-component.width-50[b-t6875b7g0m]  { min-width: 50% !important; }

.cell-component.align-left[b-t6875b7g0m]   { align-items: flex-start; }
.cell-component.align-center[b-t6875b7g0m] { align-items: center; }
.cell-component.align-right[b-t6875b7g0m]  { align-items: flex-end; }

.cell-component.valign-top[b-t6875b7g0m]    { justify-content: flex-start; }
.cell-component.valign-center[b-t6875b7g0m] { justify-content: center; }
.cell-component.valign-bottom[b-t6875b7g0m] { justify-content: flex-end; }
.cell-component.valign-spaced[b-t6875b7g0m] { justify-content: space-between; }
/* /Components/Layout/Container.razor.rz.scp.css */
/* Width presets. The base .container is already centered (margin: 0 auto), so these
   only narrow the column — no per-page max-width / centering CSS needed. */
.container-outer.width-narrow .container[b-61n75awl3v]
{
    max-width: 560px;
}

.container-outer.width-medium .container[b-61n75awl3v]
{
    max-width: 720px;
}

.container-outer.width-wide .container[b-61n75awl3v]
{
    max-width: 960px;
}

.container-outer.has-sidebar .container[b-61n75awl3v]
{
    display: flex;
    gap: 2rem;
    max-width: var( --site-design-width );
}

.container-outer.has-sidebar .container > .left[b-61n75awl3v]
{
    max-width: 300px;
    flex-shrink: 0;
}

.container-outer.has-sidebar .container > .center[b-61n75awl3v]
{
    flex-grow: 1;
}

.container-outer.dark[b-61n75awl3v]
{
    background-color: var( --site-background-color-dark );
}

@media (max-width: 800px)
{
    .container-outer.has-sidebar .container[b-61n75awl3v]
    {
        flex-direction: column-reverse;
    }
}

.container-outer.has-background[b-61n75awl3v]
{
    position: relative;
}

.background-media[b-61n75awl3v]
{
    display: flex;
    z-index: 0;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    opacity: 1;
    pointer-events: none;
    overflow: hidden;
    justify-content: center;
    align-items: center;
}

.background-media img[b-61n75awl3v],
.background-media[b-61n75awl3v]  video
{
    position: absolute;
    left: -20px;
    right: -20px;
    width: 110%;
    height: 110%;
    object-fit: cover;
    object-position: center;
    filter: blur( 5px ) sepia( 1 ) hue-rotate( 182deg ) saturate( 2 ) brightness( 0.5 );
    filter: sepia( 1 ) hue-rotate( 182deg ) saturate( 4 ) brightness( 0.5 );
}


.container-outer.padding-10[b-61n75awl3v] { padding: 10rem 0; }
.container-outer.padding-9[b-61n75awl3v] { padding: 9rem 0; }
.container-outer.padding-8[b-61n75awl3v] { padding: 8rem 0; }
.container-outer.padding-7[b-61n75awl3v] { padding: 7rem 0; }
.container-outer.padding-6[b-61n75awl3v] { padding: 6rem 0; }
.container-outer.padding-5[b-61n75awl3v] { padding: 5rem 0; }
.container-outer.padding-4[b-61n75awl3v] { padding: 4rem 0; }
.container-outer.padding-3[b-61n75awl3v] { padding: 3rem 0; }
.container-outer.padding-2[b-61n75awl3v] { padding: 2rem 0; }
.container-outer.padding-1[b-61n75awl3v] { padding: 1rem 0; }
.container-outer.padding-0[b-61n75awl3v] { padding: 0; }

.container-outer.padding-0 .container[b-61n75awl3v]{ padding: 0; }
/* /Components/Layout/Grid.razor.rz.scp.css */
.grid[b-luu9ne7ti7]
{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.grid.padded[b-luu9ne7ti7]
{
    padding: 2rem 1rem;
}

.grid.gap[b-luu9ne7ti7]
{
    gap: 1rem;
}
/* /Components/Layout/Hero.razor.rz.scp.css */
.hero[b-evo5m8284g]
{
    position: relative;
    align-items: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var( --site-header-color );
    z-index: 0;
}

.hero-body[b-evo5m8284g]
{
    z-index: 1;
    flex-grow: 1;
    flex-shrink: 0;
    padding: 6rem 2rem 4rem 2rem;
    display: flex;
    align-items: start;
    justify-content: center;
    flex-direction: column;
}

.hero-body[b-evo5m8284g]  .hero-branding
{
    margin-bottom: 1.5rem;
    max-height: 80px;
}

@media (max-width: 849px)
{
    .hero-body[b-evo5m8284g]  .hero-branding
    {
        max-height: 64px;
    }
}

.hero-body[b-evo5m8284g]  .title
{
    color: var( --text-strong );
}

@media (min-width: 850px)
{
    .hero.is-medium .hero-body[b-evo5m8284g]
    {
        padding-bottom: 9rem;
        padding-top: 9rem;
    }
}

/* about-hero variant: large square package showcase */
.hero.about-hero .container[b-evo5m8284g]
{
    width: 100%;
    min-height: 600px;
}

.hero.about-hero .hero-body[b-evo5m8284g]
{
    max-width: 350px;
    justify-content: flex-start;
}

.hero.about-hero .hero-body[b-evo5m8284g]  .hero-branding
{
    border-radius: 10px;
    box-shadow: 5px 5px 40px rgb( var( --scrim ) / 0.67 );
    width: 256px;
    height: 256px;
    max-height: 256px;
}

.background-media[b-evo5m8284g],
.background-media img[b-evo5m8284g],
.background-media[b-evo5m8284g]  video
{
    display: flex;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -100;
    width: 100%;
}

.background-media[b-evo5m8284g]
{
    mask-image: linear-gradient( to right, #0000 0%, white 70%, white 80%, #0000 100% );
    max-width: 1400px;
    left: 50%;
    transform: translateX( -50% );
}
/* /Components/Layout/Row.razor.rz.scp.css */
.row-component[b-s8yx1tv4rv]
{
    display: flex;
    flex-direction: row;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 1rem 0;

    > *
    {
        flex-basis: 240px;
        flex-grow: 1;
        flex-shrink: 1;
        min-width: 0;
    }
}

.row-component.no-padding[b-s8yx1tv4rv]
{
    margin: 0;
}

.row-component.no-gap[b-s8yx1tv4rv]
{
    gap: 0;
}
/* /Components/Layout/Tile.razor.rz.scp.css */
.tile[b-rpg8ph5r4o]
{
    display: flex;
    flex-direction: column;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    border-radius: 12px;
    padding: 1.5rem;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.tile.linkable:hover[b-rpg8ph5r4o]
{
    border-color: var( --surface-line-hover );
    background-color: var( --surface-bg-hover );
    transform: translateY( -1px );
}

.tile .header[b-rpg8ph5r4o]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 1rem;
}

.tile .header .icon[b-rpg8ph5r4o]
{
    font-family: 'Material Symbols Rounded';
    font-size: 2rem;
    color: var( --primary );
    line-height: 1;
}

.tile .header .counter[b-rpg8ph5r4o]
{
    font-size: 0.75rem;
    color: var( --text-color );
    opacity: 0.55;
    background: rgb( var( --scrim ) / 0.25 );
    border: 1px solid var( --surface-line );
    border-radius: 100px;
    padding: 2px 10px;
    white-space: nowrap;
}

.tile .title[b-rpg8ph5r4o]
{
    margin: 0 0 0.4rem 0;
    font-size: 1.15rem;
    font-weight: 600;
    color: var( --text-strong );
    line-height: 1.3;
}

.tile.linkable:hover .title[b-rpg8ph5r4o]
{
    color: var( --primary-alt );
}

.tile .description[b-rpg8ph5r4o]
{
    margin: 0 0 0.5rem 0;
    opacity: 0.7;
    font-size: 0.95rem;
    line-height: 1.5;
}

.tile .body[b-rpg8ph5r4o]
{
    display: flex;
    flex-direction: column;
    margin-top: auto;
}
/* /Components/Layout/TileGrid.razor.rz.scp.css */
.tile-grid[b-ftb1u0xhn6]
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--tile-min, 260px), 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
    align-items: normal;
}
/* /Components/Layout/TileGridItem.razor.rz.scp.css */
.tile-grid-item[b-h2z2n11mzz]
{
    cursor: grab;
    transition: transform 0.15s ease, outline-offset 0.15s ease;
    outline: 2px dashed transparent;
    outline-offset: 0;
    border-radius: 12px;
}

.tile-grid-item:active[b-h2z2n11mzz]
{
    cursor: grabbing;
}

.tile-grid-item.dragging[b-h2z2n11mzz]
{
    opacity: 0.4;
}

.tile-grid-item.drop-hover[b-h2z2n11mzz]
{
    transform: scale(1.03);
    outline-color: rgb( from var( --accent-bright ) r g b / 0.6 );
    outline-offset: 6px;
}

.tile-grid-item img[b-h2z2n11mzz],
.tile-grid-item a[b-h2z2n11mzz]
{
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: auto;
}
/* /Components/Library/Breadcrumbs/Bread.razor.rz.scp.css */

.breadcrumbs[b-5iauzblm1d]
{
    z-index: 2;
    backdrop-filter: blur( calc( 10px * var( --blur-amount ) ) ) saturate( calc( 100% - var( --bg-saturate ) ) );
    background-color: rgb( from var( --site-background-color ) r g b / calc( var(--bg-amount) * 60% ) );
    padding: calc( var( --padding ) ) 2rem;
    font-size: 13px;
    width: 100%;
}

    .breadcrumbs .inner[b-5iauzblm1d]
    {
        max-width: var( --site-design-width );
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        padding: 2rem;
    }

        .breadcrumbs .inner[b-5iauzblm1d]  > .crumb::after
        {
            content: '>';
            margin-left: 0.5rem;
            opacity: 0.8;
            pointer-events: none;
            color: var( --primary );
        }

        .breadcrumbs .inner[b-5iauzblm1d]  > .crumb:nth-last-child(1 of .crumb),
        .breadcrumbs .inner[b-5iauzblm1d]  > .crumb:nth-last-child(1 of .crumb) a
        {
            pointer-events: none;
            color: var( --text-strong );
        }

            .breadcrumbs .inner[b-5iauzblm1d]  > .crumb:nth-last-child(1 of .crumb)::after
            {
                content: '';
            }

        .breadcrumbs .inner[b-5iauzblm1d]  > * > span
        {
            opacity: 0.5;
        }

        .breadcrumbs .inner[b-5iauzblm1d]  > *:last-child span
        {
            opacity: 1;
            color: var( --text-strong );
        }

        .breadcrumbs .inner[b-5iauzblm1d]  > .crumbright
        {
            flex-grow: 1;
            gap: 1rem;
            display: flex;
            justify-content: flex-end;
        }


@media (max-width: 800px)
{
    .breadcrumbs[b-5iauzblm1d]
    {
        font-size: 12px;
    }
}
/* /Components/Library/Data/Pagination.razor.rz.scp.css */

.pagination[b-ep15ucvxhc]
{
    display: flex;
    color: var( --text-color );
    align-content: center;
    justify-content: center;
    user-select: none;
}

.pagination .inner[b-ep15ucvxhc]
{
    border-radius: 8px;
    display: flex;
    overflow: hidden;
}

.pagination a[b-ep15ucvxhc]
{
    font-size: 0.8rem;
    min-width: 25px;
    color: var( --text-color );
    font-size: 1rem;
    font-weight: bold;
    background-color: transparent;
    padding: 0.5rem 0.4rem;
    min-width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    cursor: pointer;
}

.pagination a[disabled][b-ep15ucvxhc]
{
    pointer-events: none;
    opacity: 0.5;
}

.pagination a:hover[b-ep15ucvxhc]
{
    background-color: color-mix( in srgb, var( --primary ) 20%, transparent );
    color: var( --text-strong );
}

.pagination a:active[b-ep15ucvxhc]
{
    background-color: color-mix( in srgb, var( --primary ) 50%, transparent );
    color: var( --text-strong );
}

.pagination a.active[b-ep15ucvxhc]
{
    background-color: color-mix( in srgb, var( --primary ) 30%, transparent );
    color: var( --text-strong );
}

.pagination a:disabled[b-ep15ucvxhc]
{
    pointer-events: none;
    opacity: 0.5;
}
/* /Components/Library/Data/Time.razor.rz.scp.css */
.time[b-qwf2fczvdv]
{
    white-space: nowrap;
}
/* /Components/Library/HoverPopup.razor.rz.scp.css */
.contents[b-4dp85j4vpe]
{
    display: block;
}

.tip[b-4dp85j4vpe]
{
    position: fixed;
    position-area: top;
    position-try-fallbacks: top, bottom, right, left;
    position-visibility: no-overflow;
    box-sizing: border-box;
    white-space: normal;
    z-index: 1;

}

.contents:hover > .tip[b-4dp85j4vpe],
.contents:focus-within > .tip[b-4dp85j4vpe]
{
    opacity: 1;
    transform: translateY(0) scale(1);
    /* delay only when showing */
    transition-delay: 0.2s;
}

.tip.design-normal[b-4dp85j4vpe]
{
    pointer-events: none;
    text-align: initial;
    background-color: rgb( var( --scrim ) / 1 );
    font-size: 11px;
    max-inline-size: min(220px, calc(100vw - 16px));
    box-sizing: border-box;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgb( from var( --menu-background ) r g b / 0.67 );
    color: #b5d5e8;
    white-space: normal;
    /* animation state */
    opacity: 0;
    transform: translateY(6px) scale(0.96);
    /* smooth hide (no delay) */
    transition: opacity 0.12s ease-out, transform 0.18s ease-out;
    margin: 1rem;
    backdrop-filter: blur( 5px );
    box-shadow: 3px 3px 16px rgb( var( --scrim ) / 0.33 );
    border: 1px solid rgb( var( --tint ) / 0.13 );
}

.tip.design-normal[b-4dp85j4vpe]  table
{
    padding: 0;
}

.tip.design-normal[b-4dp85j4vpe]  table tr
{
    background-color: transparent;
}

.tip.design-normal[b-4dp85j4vpe]  table td
{
    padding: 1px 4px;
    font-size: 11px;
    background-color: transparent;
    border: 0px;
}

.contents:has( .tip:empty )[b-4dp85j4vpe]
{
    display: none;
}
/* /Components/Library/Icon.razor.rz.scp.css */
.icon[b-mm6ejh1j5h]
{
    font-family: "Material Symbols Rounded";
    font-variation-settings: "FILL" 1;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}
/* /Components/Library/Modal.razor.rz.scp.css */
.modal[b-a1pm5regkm]
{
    position: fixed;
    left: 0px;
    top: 0px;
    bottom: 0px;
    right: 0px;
    background-color: rgb( var( --scrim ) / 0.67 );
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
}
/* /Components/Library/Navigation/SidebarContent.razor.rz.scp.css */
/* Mobile-first. Sidebar is just a block at the top of the page by default.
   The desktop case fixes its width and gives it a sticky scroll. */

.sidebar-container[b-7xml4r5lb1]  a.active,
.sidebar-container[b-7xml4r5lb1]  a.is-active
{
    color: var( --text-strong );
}

.sidebar[b-7xml4r5lb1]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    position: relative;
    z-index: 5;
}

.sidebar > .sidebar-inner[b-7xml4r5lb1]
{
    display: flex;
    flex-direction: column;
    padding: 0.75rem 1rem;
    flex-grow: 1;
}

.sidebar > .sidebar-inner .sidebar-section[b-7xml4r5lb1]
{
    display: flex;
    flex-direction: column;
}

.sidebar > .sidebar-inner .sidebar-section[b-7xml4r5lb1]  hr
{
    opacity: 0;
}

.sidebar > .sidebar-inner .sidebar-section.mid[b-7xml4r5lb1]
{
    flex-grow: 1;
}

.sidebar.third[b-7xml4r5lb1]
{
    z-index: 5;
    background-color: var( --site-sidebar-third );
}

.sidebar.third[b-7xml4r5lb1]::after
{
    background-color: var( --site-sidebar-third );
}

@media (min-width: 1100px)
{
    .sidebar[b-7xml4r5lb1]
    {
        flex-shrink: 0;
        width: 280px;
        gap: 1rem;
    }

    .sidebar > .sidebar-inner[b-7xml4r5lb1]
    {
        padding: 1rem;
    }
}
/* /Components/Library/Navigation/SiteHeader.razor.rz.scp.css */
.sidebar-container[b-slw86c66lg]  a.active,
.sidebar-container[b-slw86c66lg]  a.is-active
{
    color: var( --text-strong );
}
/* /Components/Library/PopupHost.razor.rz.scp.css */
.popup-host[b-4pseeszjk8]
{
    position: fixed;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    z-index: 10000;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
}

.popup-host.active[b-4pseeszjk8]
{
    pointer-events: all;
    opacity: 1;
}

.popup[b-4pseeszjk8]  .popup-modal
{
    min-width: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.popup[b-4pseeszjk8]  .popup-menu
{
    background-color: var( --site-background-color );
    box-shadow: 2px 2px 4px 2px rgb( var( --scrim ) / 0.13 );
    border-radius: 4px;
    overflow: hidden;
    font-size: 13px;
    border: 1px solid var( --site-header-color );
    outline: 1px solid rgb( var( --tint ) / 0.02 );
    outline-offset: -2px;
    color: var( --text-color );
}

.popup[b-4pseeszjk8]  .popup-menu > .loading
{
    margin: 1rem;
}

.popup[b-4pseeszjk8]  .popup-menu > .loading:after
{
    font-family: "Material Symbols Rounded";
    content: 'hourglass_empty';
    font-size: 30px;
    opacity: 0.2;
}

/* -------------------------------------------------------------------------
   <ul class="menu"> rendered as popup content. Used inside <PopupToggle>'s
   <Menu> RenderFragment by callers like PostAdmin, Screenshots, Videos.
   ------------------------------------------------------------------------- */

.popup[b-4pseeszjk8]  ul.menu
{
    margin: 0;
    padding: 0;
    min-width: 100px;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
}

.popup[b-4pseeszjk8]  ul.menu > li
{
    margin: 0;
    padding: 0;
    color: var( --text-color );
}

.popup[b-4pseeszjk8]  ul.menu > li > a,
.popup[b-4pseeszjk8]  ul.menu > li.option
{
    padding: 8px 16px;
    text-decoration: none;
    display: flex;
    cursor: pointer;
    user-select: none;
    gap: 16px;
    color: var( --text-color );
}

.popup[b-4pseeszjk8]  ul.menu > li > a.checked:before,
.popup[b-4pseeszjk8]  ul.menu > li > a.unchecked:before,
.popup[b-4pseeszjk8]  ul.menu > li.option.checked:before,
.popup[b-4pseeszjk8]  ul.menu > li.option.unchecked:before
{
    content: 'check';
    font-family: "Material Symbols Rounded";
    width: 16px;
    font-weight: bolder;
    color: var( --success );
    font-size: 15px;
}

.popup[b-4pseeszjk8]  ul.menu > li > a.unchecked:before,
.popup[b-4pseeszjk8]  ul.menu > li.option.unchecked:before
{
    opacity: 0.5;
    color: rgb( var( --tint ) / 0.33 );
}

.popup[b-4pseeszjk8]  ul.menu > li > a i,
.popup[b-4pseeszjk8]  ul.menu > li.option i
{
    font-size: 14px;
}

.popup[b-4pseeszjk8]  ul.menu > li > a:hover,
.popup[b-4pseeszjk8]  ul.menu > li.option:hover
{
    background-color: var( --primary );
    color: var( --primary-alt );
}

.popup[b-4pseeszjk8]  ul.menu > li > a .count,
.popup[b-4pseeszjk8]  ul.menu > li.option .count
{
    opacity: 0.5;
}

.popup[b-4pseeszjk8]  ul.menu > li.separator
{
    background-color: var( --text-color );
    height: 1px;
    margin: 4px 0;
    opacity: 0.1;
}

.popup[b-4pseeszjk8]  ul.menu > li.title
{
    padding: 8px 8px;
    font-size: 11px;
    color: var( --text-color );
    opacity: 0.5;
}
/* /Components/Library/PopupToggle.razor.rz.scp.css */
.popup-button[b-bxnppvchs9]
{
    cursor: pointer;
}

/* Applied by PopupToggle when Right=true so the menu aligns with the right
   edge of the trigger button instead of the left. */
.menu-align-right[b-bxnppvchs9]
{
    transform: translateX( -80% );
}
/* /Components/Library/QuestionDialog.razor.rz.scp.css */
.dialog[b-dbk2gby5mc]
{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.6rem;
    width: 380px;
    max-width: calc( 100vw - 2rem );
    padding: 2rem 1.75rem 1.5rem;
    border-radius: 16px;
    background-color: var( --site-header-color );
    border: 1px solid var( --surface-line );
    box-shadow: var( --shadow-lg );
    animation: dialog-in-b-dbk2gby5mc 0.18s ease-out;
}

@keyframes dialog-in-b-dbk2gby5mc
{
    from { opacity: 0; transform: translateY( 8px ) scale( 0.97 ); }
    to { opacity: 1; transform: none; }
}

/* Round icon badge above the title — tinted with the brand colour. */
.dialog-icon[b-dbk2gby5mc]
{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 0.25rem;
    border-radius: 50%;
    background-color: rgb( from var( --primary ) r g b / 0.14 );
    color: var( --primary );
}

.dialog-icon[b-dbk2gby5mc]  .icon
{
    font-size: 28px;
}

.dialog .header[b-dbk2gby5mc]
{
    font-weight: 700;
    font-size: 1.15rem;
    color: var( --text-strong );
}

.dialog .body[b-dbk2gby5mc]
{
    font-size: 0.9rem;
    line-height: 1.45;
    color: var( --text-muted );
}

.dialog .footer[b-dbk2gby5mc]
{
    display: flex;
    gap: 0.6rem;
    width: 100%;
    margin-top: 0.85rem;
}

/* Both actions share the row evenly and centre their label (site buttons are left-aligned). */
.dialog .footer[b-dbk2gby5mc]  .dialog-btn
{
    flex: 1;
    justify-content: center;
    padding: 11px 16px;
    font-size: 0.95rem;
    border-radius: 10px;
}

.dialog .footer[b-dbk2gby5mc]  .dialog-btn .label
{
    flex-grow: 0;
    text-align: center;
}
/* /Components/Menu/TabBar.razor.rz.scp.css */
.tab-bar[b-tb8ybyz6s3]
{
    font-size: 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgb( var( --tint ) / 0.06 );
}

.tab-bar .inner[b-tb8ybyz6s3]
{
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    max-width: 1100px;
    width: 100%;
    position: relative;
    top: 2px;
    font-weight: 500;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
}

.tab-bar .inner[b-tb8ybyz6s3]::-webkit-scrollbar
{
    display: none;
}

.tab-bar .left[b-tb8ybyz6s3]
{
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    flex-shrink: 0;
}

.tab-bar .right[b-tb8ybyz6s3]
{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-end;
    flex-shrink: 0;
}

.tab-bar .inner .left[b-tb8ybyz6s3]  > .btn,
.tab-bar .inner .right[b-tb8ybyz6s3]  > .btn
{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    background-color: transparent;
    outline: none;
    border-radius: 0;
    border-bottom: 2px solid transparent;
    padding: 6px 12px;
    color: rgb( from var( --text-muted ) r g b / 0.8 );
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
}

.tab-bar .inner .left[b-tb8ybyz6s3]  > .btn:hover,
.tab-bar .inner .right[b-tb8ybyz6s3]  > .btn:hover
{
    color: var( --text-muted );
    background-color: transparent;
    outline: none;
}

.tab-bar .inner .left[b-tb8ybyz6s3]  > .btn.active,
.tab-bar .inner .right[b-tb8ybyz6s3]  > .btn.active
{
    border-bottom: 2px solid var( --primary );
    background-color: transparent;
    color: var( --text-strong );
    outline: none;
}

.tab-bar .inner .left[b-tb8ybyz6s3]  > .btn .icon,
.tab-bar .inner .right[b-tb8ybyz6s3]  > .btn .icon
{
    opacity: 0.3;
    font-size: 1.2rem;
    line-height: 1;
}

.tab-bar .inner .left[b-tb8ybyz6s3]  > .btn.active .icon,
.tab-bar .inner .right[b-tb8ybyz6s3]  > .btn.active .icon
{
    color: var( --primary );
    opacity: 1;
}
/* /Components/Menu/VerticalMenu.razor.rz.scp.css */

.vertical-menu[b-fi41fxbnty]
{
    font-size: 13px;
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
    gap: 2px;
    user-select: none;
}

.vertical-menu.boxed[b-fi41fxbnty]
{
    background: linear-gradient( 180deg, #1f2a4144 0%, #1f2a4111 100% );
    border: 1px solid rgb( var( --tint ) / 0.07 );
    border-radius: 8px;
    padding: 0.5rem 0.6rem 0.6rem 0.6rem;
    margin-bottom: 0.75rem;
    box-shadow: 0 2px 8px rgb( var( --scrim ) / 0.2 );
    backdrop-filter: blur( 4px );
}

.vertical-menu.boxed[b-fi41fxbnty]  h3
{
    color: var( --text-muted );
    opacity: 0.6;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin: 2px 0 4px 0;
    padding: 0 6px;
}

.vertical-menu.boxed[b-fi41fxbnty]  .btn
{
    padding: 4px 8px;
    font-size: 12px;
    color: var( --text-muted );
    border-radius: 4px;
    gap: 8px;
}

.vertical-menu.boxed[b-fi41fxbnty]  .btn:hover
{
    background-color: rgb( var( --tint ) / 0.06 );
    color: var( --text-strong );
}

.vertical-menu.boxed[b-fi41fxbnty]  .btn .icon
{
    color: var( --text-muted );
    font-size: 14px;
    opacity: 1;
}

.vertical-menu.boxed[b-fi41fxbnty]  .btn:hover .icon
{
    color: var( --accent-bright );
}

.vertical-menu[b-fi41fxbnty]  h3
{
    padding: 0;
    margin: 6px 0;
    font-size: 13px;
    font-weight: normal;
    opacity: 0.25;
    padding-left: 0px;
    margin-top: 8px;
}

/*
 * Sidebar-style row styling for any <Button> placed inside a VerticalMenu.
 * Replaces the old MenuButton-specific .sidebar-link styles.
 */
.vertical-menu[b-fi41fxbnty]  .btn
{
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 0;
    border-radius: 5px;
    padding: 6px 12px;
    color: rgb( from var( --text-muted ) r g b / 0.8 );
    background-color: transparent;
    outline: none;
    cursor: pointer;
    text-decoration: none;
    overflow: hidden;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
}

.vertical-menu[b-fi41fxbnty]  .btn .label
{
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.vertical-menu[b-fi41fxbnty]  .btn .icon,
.vertical-menu[b-fi41fxbnty]  .btn img.icon
{
    font-size: 15px;
    width: auto;
    height: auto;
    opacity: 0.7;
}

.vertical-menu[b-fi41fxbnty]  .btn img.icon
{
    max-width: 22px;
    max-height: 22px;
    object-fit: cover;
    border-radius: 4px;
}

.vertical-menu[b-fi41fxbnty]  .btn:hover
{
    background-color: rgb( from var( --text-muted ) r g b / 0.1 );
    color: var( --text-muted );
    outline: none;
}

.vertical-menu[b-fi41fxbnty]  .btn:active
{
    background-color: var( --primary );
    color: var( --primary-alt );
    outline: none;
}

.vertical-menu[b-fi41fxbnty]  .btn.active
{
    background-color: var( --bg-highlight );
    color: var( --text-strong );
    outline: none;
}

.vertical-menu[b-fi41fxbnty]  .btn.danger:hover
{
    background-color: rgb( from var( --error ) r g b / 0.4 );
    color: color-mix( in srgb, var( --error ) 50%, var( --text-strong ) );
}

.vertical-menu[b-fi41fxbnty]  .btn.primary,
.vertical-menu[b-fi41fxbnty]  .btn.primary:hover
{
    background-color: var( --primary );
    color: var( --primary-alt );
}

.vertical-menu[b-fi41fxbnty]  .btn.primary:hover
{
    filter: brightness( 130% );
}

.vertical-menu[b-fi41fxbnty]  .btn.admin
{
    color: var( --admin );
}

.vertical-menu[b-fi41fxbnty]  .btn .count
{
    font-size: 10px;
    opacity: 0.6;
    flex-shrink: 0;
}

/* IsNew → Attention dot, but in the sidebar context we want a static dot, not a pulse */
.vertical-menu[b-fi41fxbnty]  .btn.attention
{
    animation: none;
    padding-left: 16px;
}

.vertical-menu[b-fi41fxbnty]  .btn.attention:after
{
    content: ' ';
    background-color: var( --primary );
    position: absolute;
    top: 12px;
    left: 3px;
    width: 8px;
    height: 8px;
    border-radius: 100px;
}

/* External link suffix icon */
.vertical-menu[b-fi41fxbnty]  .btn.external .label:after
{
    content: "open_in_new";
    font-family: "Material Symbols Rounded";
    opacity: 0.5;
    font-size: 13px;
    line-height: 1;
    margin-left: auto;
}

/*
 * A ButtonGroup dropped inside a VerticalMenu: the sidebar-row .btn styling above is more specific
 * than ButtonGroup's own, so re-assert the segmented-pill look (centered, square, shared dividers).
 */
.vertical-menu[b-fi41fxbnty]  .button-group
{
    margin: 4px 0;
}

.vertical-menu[b-fi41fxbnty]  .button-group .btn
{
    justify-content: center;
    padding: 5px 10px;
    margin: 0;
    border-radius: 0;
    background-color: rgb( var( --tint ) / 0.06 );
}

.vertical-menu[b-fi41fxbnty]  .button-group .btn .label
{
    flex-grow: 0;
}

.vertical-menu[b-fi41fxbnty]  .button-group .btn:hover
{
    background-color: rgb( var( --tint ) / 0.13 );
    color: var( --text-strong );
}

.vertical-menu[b-fi41fxbnty]  .button-group .btn.active
{
    background-color: var( --primary );
    color: var( --primary-alt );
}
/* /Components/Modals/ModalDialog.razor.rz.scp.css */

.modal-dialog[b-mrntmcs37e]
{
    width: 600px;
    /* Cap at viewport so tall modals don't run off the screen. Header and
     * footer stay pinned because the dialog is a vertical flex container —
     * only .body scrolls (see overflow-y below). */
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    outline: 1px solid rgb( var( --tint ) / 0.06 );
    outline-offset: -3px;
    background-color: var( --site-background-color );
    border-radius: 10px;
    box-shadow: 0px 0px 50px rgb( var( --scrim ) / 0.33 );
    user-select: none;
}

.modal-dialog > .header > .title[b-mrntmcs37e]
{
    font-size: 1rem;
    font-weight: 550;
    padding: 1rem 2rem;
    color: var( --text-strong );
}

.modal-dialog > .body[b-mrntmcs37e]
{
    padding: 1rem 2rem;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    font-size: 13px;
    /* Take whatever vertical space is left between header/footer, scroll if
     * the form is taller. min-height: 0 is required so flex children can
     * shrink below their content size. */
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.modal-dialog > .footer[b-mrntmcs37e]
{
    padding: 1rem 2rem;
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}

.modal-dialog > .footer .button[b-mrntmcs37e]
{
    padding: 0.5rem 1rem;
    font-size: 1rem;
    border-radius: 16px;
}
/* /Components/Modals/Popover.razor.rz.scp.css */

.popover[b-x8tk0tfmo3]
{
    margin: 0;
    position: absolute;
}
/* /Components/Navigation/NavTree.razor.rz.scp.css */
.sidebar .children[b-imufi82mpi]
{
    display: flex;
    flex-direction: column;
}

.sidebar[b-imufi82mpi]  .document
{
    display: flex;
    flex-direction: row;
    white-space: nowrap;
    height: 20px;
    font-size: 0.9rem;
    padding: 0px 1rem;
}

    .sidebar[b-imufi82mpi]  a:hover
    {
        color: #c1e2ff;
    }

    .sidebar[b-imufi82mpi]  a.active,
    .sidebar[b-imufi82mpi]  .active a
    {
        color: var( --text-strong );
    }

.sidebar[b-imufi82mpi]  .sidebar-block .document:active
{
    color: cyan;
}

.sidebar[b-imufi82mpi]  .document .icon
{
    width: 24px;
}

.active-children[b-imufi82mpi]
{
}
/* /Components/Navigation/NavTreeItem.razor.rz.scp.css */
.item[b-4mnn7tq8p0]
{
    white-space: nowrap;
}

.row[b-4mnn7tq8p0]
{
    display: flex;
}

.item .row[b-4mnn7tq8p0]
{
    display: flex;
    align-items: center;
    cursor: pointer;
}

.item .row:hover[b-4mnn7tq8p0]
{
    filter: brightness( 1.5 );
}

.item .row > .inner[b-4mnn7tq8p0]
{
    flex-grow: 1;
    overflow: hidden;
}

.item > .children[b-4mnn7tq8p0]
{
    padding-left: 0.5rem;
    display: none;
}

.item.is-expanded > .children[b-4mnn7tq8p0]
{
    display: block;
}

.toggle-icon[b-4mnn7tq8p0], .no-expander[b-4mnn7tq8p0]
{
    width: 20px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    flex-grow: 0;
}

.toggle-icon[b-4mnn7tq8p0]:before
{
    font-family: "material symbols rounded";
    font-size: 26px;
    opacity: 0.5;
    content: 'arrow_right';
}

.item.is-expanded > .row > .toggle-icon[b-4mnn7tq8p0]:before
{
    content: 'arrow_drop_down';
    opacity: 0.9;
}

.toggle-icon:hover[b-4mnn7tq8p0]:before
{
    opacity: 1;
}

.item .inner[b-4mnn7tq8p0]  .main a
{
    padding: 0.3rem;
}

.is-expanded > .row > .inner[b-4mnn7tq8p0]  .main a
{
    color: var( --text-strong );
}
/* /Components/Navigation/TabFrame.razor.rz.scp.css */
/* The tab strip - layout, active-tab underline, bottom border and the spacing
   below it - all come from <TabBar>. We only need the click cursor here since
   our tabs are plain divs (in-memory switch) rather than anchor buttons. */

.btn[b-3aoonuc379]
{
	cursor: pointer;
}
/* /Components/Navigation/TableOfContents.razor.rz.scp.css */
.toc-block[b-bmmqvgr5fe]
{
    background: var( --surface-bg );
    border: 1px solid var( --surface-line );
    border-radius: 10px;
    padding: 1rem 1.1rem;
}

.toc-block h3[b-bmmqvgr5fe]
{
    margin: 0 0 0.7rem 0;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var( --text-faint );
    opacity: 0.7;
}

.toc-block[b-bmmqvgr5fe]  .toc-list
{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.toc-block[b-bmmqvgr5fe]  .toc-item a
{
    display: block;
    padding: 0.3rem 0.6rem;
    color: var( --text-faint );
    text-decoration: none;
    font-size: 0.85rem;
    line-height: 1.35;
    border-radius: 4px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

/* Suppress the mouse-click outline; keyboard users still get one via
 * :focus-visible. */
.toc-block[b-bmmqvgr5fe]  .toc-item a:focus
{
    outline: none;
}

.toc-block[b-bmmqvgr5fe]  .toc-item a:focus-visible
{
    outline: 2px solid var( --primary );
    outline-offset: -2px;
}

.toc-block[b-bmmqvgr5fe]  .toc-item a:hover
{
    color: var( --text-strong );
}

.toc-block[b-bmmqvgr5fe]  .toc-item a.active
{
    color: var( --text-strong );
    background-color: rgb( from var( --primary ) r g b / 0.15 );
}

.toc-block[b-bmmqvgr5fe]  .toc-level-2 a
{
    padding-left: 1.5rem;
}

.toc-block[b-bmmqvgr5fe]  .toc-level-3 a
{
    padding-left: 2.25rem;
    font-size: 0.8rem;
}
/* /Components/News/BackgroundMedia.razor.rz.scp.css */

.background-media[b-4fgf5meh9j]
{
    z-index: -100;
    position: fixed;
    width: 100%;
    left: 0px;
    right: 0px;
    top: 0px;
    mask: linear-gradient( to bottom, #fffa, #fff0 );
    opacity: calc( 60% - 40% * min( 1, (var( --scroll ) / 600 ) ) );
    --blur-amount: calc( min( 1, (var( --scroll ) / 2000 ) ) );
    filter: blur( calc( 2px + 20px * var( --blur-amount ) ) );
    transition: all 2s ease;
}

.background-media img[b-4fgf5meh9j],
.background-media[b-4fgf5meh9j]  video
{
    width: 100%;
    object-fit: cover;
    object-position: center;
    min-height: 90vh;
}
/* /Components/News/ChangeListEditor.razor.rz.scp.css */
.changelist-editor[b-5x0ly3r3bi]
{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

.meta[b-5x0ly3r3bi]
{
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sections[b-5x0ly3r3bi]
{
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.section .header[b-5x0ly3r3bi]
{
    font-size: 1.2rem;
    font-weight: 550;
    color: var( --text-strong );
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.6rem;
}

.section textarea[b-5x0ly3r3bi]
{
    line-height: 1.6;
    resize: vertical;
    min-height: 90px;
}

.actions[b-5x0ly3r3bi]
{
    display: flex;
    justify-content: flex-end;
}
/* /Components/News/ChangeListGroup.razor.rz.scp.css */
.add-section[b-opi98fbk2k]
{
    display: flex;
    margin: 5rem 2rem;
    justify-content: center;
    align-items: center;
}

.changelistgroup[b-opi98fbk2k]
{
    display: flex;
    justify-content: center;
}

a.title[b-opi98fbk2k],
a.created[b-opi98fbk2k]
{
    text-decoration: none;
}

a.title:hover[b-opi98fbk2k],
a.version:hover[b-opi98fbk2k],
a.created:hover[b-opi98fbk2k]
{
    filter: brightness( 1.25 );
}

.version[b-opi98fbk2k]
{
    background-color: rgb( from var( --accent ) r g b / 0.5 );
    color: var( --accent-bright );
    padding: 2px 16px;
    border-radius: 8px;
    animation: gradient-animation-b-opi98fbk2k 1s linear infinite;
    background-image: linear-gradient( 45deg, rgb( from var( --accent ) r g b / 0.4 ), rgb( from var( --accent ) r g b / 0.7 ), rgb( from var( --accent ) r g b / 0.4 ) );
    background-size: 100px 100px;
}

.meta-column[b-opi98fbk2k]
{
    width: 200px;
    display: flex;
    flex-grow: 0;
    flex-shrink: 0;
    flex-direction: column;
}

.meta-column .content[b-opi98fbk2k]
{
    position: sticky;
    top: 130px;
    padding-bottom: 32px;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.meta-column .content .title[b-opi98fbk2k]
{
    font-size: 1.3rem;
    font-weight: bold;
    color: var( --text-strong );
}

.meta-column .content .created[b-opi98fbk2k]
{
    opacity: 0.5;
    padding-bottom: 1rem;
}

.changes[b-opi98fbk2k]
{
    flex-grow: 1;
}

@media (max-width: 1200px)
{
    .changelistgroup[b-opi98fbk2k]
    {
        flex-direction: column;
        padding: 1rem;
        width: 100%;
    }

    .meta-column[b-opi98fbk2k]
    {
        width: unset;
    }

    .changes[b-opi98fbk2k]
    {
        min-width: unset;
    }
}

.changes[b-opi98fbk2k]  li::marker
{
    color: rgb( var( --tint ) / 0.33 );
}


@keyframes gradient-animation-b-opi98fbk2k
{
    0%
    {
        background-position: 100px 50%;
        color: rgb( from var( --accent-bright ) r g b / 0.73 );
    }

    50%
    {
        color: var( --accent-bright );
    }

    100%
    {
        background-position: 0px 50%;
        color: rgb( from var( --accent-bright ) r g b / 0.73 );
    }
}
/* /Components/News/ChangeListSection.razor.rz.scp.css */


.changelistsection[b-vm84fuzyg5]
{
    margin-bottom: 2rem;
    overflow: hidden;
}

.changelistsection .header[b-vm84fuzyg5]
{
    font-size: 1.2rem;
    font-weight: 550;
    color: var( --text-strong );
    display: flex;
    gap: 0.5rem;
    align-items: center;
    padding-bottom: 0.5rem;
    
}

ul[b-vm84fuzyg5]
{
    padding: 0;
    margin: 0;
    padding-left: 24px;
}

.changelistsection .entries > *[b-vm84fuzyg5]
{

}

.changelistsection .entries > *:nth-child( 2n )[b-vm84fuzyg5]
{

}

.changelistsection .entries > *:hover[b-vm84fuzyg5]
{
    filter: brightness( 1.3 );
}

/* /Components/News/NewsEditModal.razor.rz.scp.css */
.attach-changelist[b-pl7xyyz3sy],
.attached-changelist[b-pl7xyyz3sy]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.attached-changelist .title[b-pl7xyyz3sy]
{
    flex-grow: 1;
    font-weight: 550;
    color: var( --text-strong );
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/News/NewsHeader.razor.rz.scp.css */

.post-meta .avatar img[b-3gdw0pyvwx]
{
	width: 48px;
	height: 48px;
	border-radius: 100px;
}

[b-3gdw0pyvwx] .popup-button.edit-button
{
	background: transparent;
	color: rgb( var( --tint ) / 0.33 );
	font-size: 12px;
}

.post-meta[b-3gdw0pyvwx]
{
	display: flex;
	gap: 1rem;
	align-items: center;
}

.post-meta > span[b-3gdw0pyvwx]
{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 4px;
	backdrop-filter: blur( 10px ) brightness( 0.6 );
	padding: 8px 10px;
	line-height: 1;
}

.post-meta > span i[b-3gdw0pyvwx]
{
	color: var( --accent );
	font-size: 16px;
}

.hero-body[b-3gdw0pyvwx] 
{
	display: flex;
	align-items: flex-start;
}

[b-3gdw0pyvwx] div.container
{
	max-width: 800px !important;
}

h1[b-3gdw0pyvwx]
{
	margin: 0;
	padding: 0;
}
/* /Components/News/NewsPostCard.razor.rz.scp.css */

.post-card[b-2phq3kwx96]
{

}

.viewed:not( :hover )[b-2phq3kwx96]
{
    opacity: 0.3;
    filter: saturate( 0 );
}

.post-card a[b-2phq3kwx96]
{
    display: flex;
    flex-direction: row-reverse;
    gap: 1rem;
    padding: 0rem;
    transition: all 0.2s ease;
}

.post-card a:hover[b-2phq3kwx96]
{
    filter: brightness( 1.1 );
}

.thumb img[b-2phq3kwx96], .thumb video[b-2phq3kwx96]
{
    height: 230px;
    object-fit: cover;
    object-position: center center;
    aspect-ratio: 16/9;
}

.right[b-2phq3kwx96]
{
    display: flex;
    flex-direction: column;
    padding: 1rem;
    flex-grow: 1;
}

.right[b-2phq3kwx96]  .package-info
{
    color: var( --primary );
    font-size: 0.9rem;
}

.right .title[b-2phq3kwx96]
{
    font-size: 1.5rem;
    font-weight: bold;
}

.right .meta[b-2phq3kwx96]
{
    margin-top: 1rem;
    flex-grow: 1;
    opacity: 0.6;
    font-size: 0.8rem;
    display: flex;
    gap: 1rem;
}

.right .meta .author[b-2phq3kwx96]
{
    font-weight: bold;
}


.state[b-2phq3kwx96]
{
    background-color: var( --text-strong );
    color: var( --text-on-strong );
    padding: 4px;
    font-size: 12px;
    margin: 0px 10px;
}

.summary[b-2phq3kwx96]
{
    opacity: 0.75;
}
/* /Components/News/NewsPostList.razor.rz.scp.css */
.post-list[b-xbra7b2aq1]
{
    display: flex;
    flex-direction: column;
    gap: 10rem;
}
/* /Components/News/NewsPostListEntry.razor.rz.scp.css */

.post-card[b-ltoe8o33nn]
{
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 600px;
}

.post-card a[b-ltoe8o33nn]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0rem;
    transition: all 0.1s ease;
    padding: 1rem;
    border-radius: 10px;
    background-color: transparent;
}

.post-card a:hover[b-ltoe8o33nn]
{
    background-color: var( --accent );
}

.thumb img[b-ltoe8o33nn], .thumb[b-ltoe8o33nn]  video
{
    width: 100%;
    object-fit: cover;
    object-position: center center;
    aspect-ratio: 2/1;
    border-radius: 10px;
}

.right[b-ltoe8o33nn]
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 0.5rem;
    padding: 0 1rem;
    font-size: 1.2rem;
    color: var( --text-strong );
}

.right[b-ltoe8o33nn]  .package-info
{
    color: var( --primary );
    font-size: 0.9rem;
}

.right .title[b-ltoe8o33nn]
{
    font-size: 2rem;
    font-weight: bold;
    color: var( --text-strong );
}

.right .meta[b-ltoe8o33nn]
{
    flex-grow: 0;
    opacity: 0.6;
    font-size: 1rem;
    display: flex;
    gap: 1rem;
}

.right .meta .author[b-ltoe8o33nn]
{
    font-weight: bold;
}

.summary[b-ltoe8o33nn]
{
    opacity: 0.75;
    text-wrap-mode: wrap;
}

.comments[b-ltoe8o33nn]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.meta > *[b-ltoe8o33nn]
{
    background-color: rgb( from var( --accent ) r g b / 0.27 );
    color: var( --accent-bright );
    padding: 3px 6px;
    border-radius: 5px;
}
/* /Components/News/NewsPostView.razor.rz.scp.css */
.add-section[b-tm3q4pfnad]
{
    display: flex;
    margin: 5rem 2rem;
    justify-content: center;
    align-items: center;
}

section.comments[b-tm3q4pfnad]
{
    margin-top: 10rem;
    padding-top: 10rem;
    border-top: 1px solid rgb( var( --tint ) / 0.06 );
}

.comments .container[b-tm3q4pfnad]
{
    max-width: 800px;
}

@media (max-width: 800px)
{
    .comments[b-tm3q4pfnad]
    {
        overflow: hidden;
        padding: 0 1rem;
    }
}

[b-tm3q4pfnad] .news-section
{
    transition: all 0.6s ease;
}

.sections[b-tm3q4pfnad]
{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;

}

.news-post[b-tm3q4pfnad]
{
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 5rem;
}

.toc-container[b-tm3q4pfnad]
{
    display: flex;
    flex-direction: column;
    white-space: nowrap;
    width: 220px;
}

.toc-container .toc[b-tm3q4pfnad]
{
    height: 100%;
    margin-top: 5rem;
}

.toc-container[b-tm3q4pfnad]  .table-of-contents
{
    position: sticky;
    top: 5rem;
    z-index: 1000;
}

@media (max-width: 1180px)
{
    .toc-container[b-tm3q4pfnad]
    {
       display: none;
    }
}

/* The "Edit Post Details" toggle is projected into the breadcrumb bar, so the
   .edit-button styling scoped to NewsHeader doesn't reach it - restyle it here. */
.edit-post-details[b-tm3q4pfnad]  .popup-button.edit-button
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    color: rgb( var( --tint ) / 0.5 );
    cursor: pointer;
    transition: all 0.2s;
}

.edit-post-details[b-tm3q4pfnad]  .popup-button.edit-button:hover
{
    color: rgb( var( --tint ) );
    background-color: rgb( var( --tint ) / 0.1 );
}

.bbcode[b-tm3q4pfnad]
{
    border: 1px solid rgb(var(--tint) / 0.15);
    border-radius: 5px;
    padding: 16px;
    white-space: pre-wrap;
}
/* /Components/News/NewsSectionView.razor.rz.scp.css */


.news-section[b-wutqjpcebb]
{
    text-align: left;
    margin-top: 2rem;
    margin-bottom: 2rem;
    scroll-margin: 15vh;
    width: 100%;
    max-width: 100vw;
}

.news-section .container[b-wutqjpcebb]
{
    max-width: 800px;
    max-width: 800px;
}


.news-section-header[b-wutqjpcebb]
{
    margin-bottom: 1rem;
    display: flex;
    gap: 0.5rem;
    align-items: flex-end;
}

.news-section-header h1[b-wutqjpcebb]
{
    margin: 0;
    padding: 0;
    color: var( --text-strong );
    scroll-margin: 230px;
    font-size: 1.5rem;
}

@media (max-width: 800px)
{
    .news-section-header h1[b-wutqjpcebb]
    {
        font-size: 1.25rem;
    }
}

.news-section-header h1 a[b-wutqjpcebb]
{
    color: var( --text-strong );
}

.news-section-header[b-wutqjpcebb]  .edit-button
{
    position: absolute;
    right: 100%;
    border-radius: 5px;
    margin-right: 10px;
    height: 100%;
}

.news-section-header[b-wutqjpcebb]  .edit-button:hover
{
    color: var( --text-strong );
    text-shadow: 0px 0px 10px var( --text-strong );
}


.news-section-body[b-wutqjpcebb]
{
    min-height: 50px;
    font-size: 1rem;
}

.news-section-footer[b-wutqjpcebb]
{
    user-select: none;
}

h1.title[b-wutqjpcebb]
{
    position: relative;

}

h1.title[b-wutqjpcebb]  .popup-button
{
    position: absolute;
    
    padding: 0.5rem;
    background: transparent;
    color: rgb( var( --tint ) / 0.33 );
}

.news-section .container[b-wutqjpcebb]  .popup-button.edit-button,
.news-section .container[b-wutqjpcebb]  .edit-page
{
    opacity: 0;
}

.news-section .container:hover[b-wutqjpcebb]  .popup-button.edit-button,
.news-section .container:hover[b-wutqjpcebb]  .edit-page
{
    opacity: 1;
}

[b-wutqjpcebb] .pageditor-header
{
    position: absolute;
    opacity: 1;
    width: 100%;
    height: 0px;
}

[b-wutqjpcebb] .pageditor-header .btn
{
    background-color: transparent;
    color: rgb( var( --tint ) / 0.2 );
    font-weight: normal;
    display: flex;
    gap: 0.5rem;
    position: absolute;
    right: 0px;
    z-index: 100;
    padding: 4px 8px;
}

[b-wutqjpcebb] .pageditor-header .btn:hover
{
    color: var( --text-strong );
    text-shadow: 0px 0px 10px var( --text-strong );
}


.author[b-wutqjpcebb]
{
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 0.7rem;
    color: var( --text-muted );
    padding-bottom: 6px;
}

.author > a[b-wutqjpcebb]
{
    display: flex;
    align-items: center;
    gap: 2px;
}

.author .avatar[b-wutqjpcebb]
{
    width: 16px;
    border-radius: 100px;
}

.author > a[b-wutqjpcebb]
{
    border-radius: 5px;
    overflow: hidden;
    padding-right: 1rem;
    color: var( --text-strong );
}

@media (max-width: 800px)
{
    .news-section[b-wutqjpcebb]
    {
        padding: 1rem;
    }
}
/* /Components/Package/PackageCard.razor.rz.scp.css */
.packagecard[b-ghzlms0tyw]
{
    display: flex;
    flex-direction: column;
    min-width: 14%;
    flex-shrink: 0;
    flex-grow: 0;
    width: 185px;
    padding: 0px;
}

.packagecard.is-material[b-ghzlms0tyw]
{
    width: 100px;
    max-width: 100px;
}

.packagecard.is-game[b-ghzlms0tyw]
{
    width: 250px;
    max-width: 250px;
}

.packagecard.is-map[b-ghzlms0tyw]
{
    width: 250px;
    max-width: 300px;
}

.packagecard > .image[b-ghzlms0tyw]
{
    width: 100%;
    aspect-ratio: 16/9;
    display: flex;
    position: relative;
    overflow: clip;
    border-radius: 4px;
}

.packagecard > .image[b-ghzlms0tyw]::before
{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid rgb( var( --tint ) / 0.06 );
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0px 0px 32px rgb( var( --scrim ) / 0.06 );
    z-index: 1;
}


.packagecard.square > .image[b-ghzlms0tyw]
{
    aspect-ratio: 1;
}

.packagecard.tall > .image[b-ghzlms0tyw]
{
    aspect-ratio: 9/16;
}

.packagecard > .image a[b-ghzlms0tyw]
{
    display: flex;
    width: 100%;
    height: 100%;
}

.packagecard > .image img[b-ghzlms0tyw]
{
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    right: 0px;
    transition: all 0.2s ease;
}

.image-hover[b-ghzlms0tyw]
{
    position: absolute;
    left: px;
    top: 0px;
    bottom: 0px;
    right: 0px;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 1;
}

.image-hover[b-ghzlms0tyw]  video
{
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    animation: video-in-b-ghzlms0tyw 0.1s linear normal;
}

.packagecard > .image:hover[b-ghzlms0tyw]::before
{
    border: 1px solid rgb( var( --tint ) / 0.33 );
}

.package-card-header[b-ghzlms0tyw]
{
    font-size: 1rem;
    padding: 4px 8px;
}

.package-card-header .title[b-ghzlms0tyw]
{
    display: inline-block;
    width: 100%;
    opacity: 0.9;
    font-weight: 500;
    color: var( --text-strong );
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.package-card-meta[b-ghzlms0tyw]
{
    margin-top: 0.3rem;
    display: flex;
    justify-content: flex-end;
    font-size: 12px;
    gap: 0.5rem;
    height: 32px;
    padding: 4px 8px;
}

.package-card-meta .meta[b-ghzlms0tyw]
{
    display: flex;
    align-items: center;
    font-variation-settings: "FILL" 1;
    gap: 5px;
    user-select: none;
}

.package-card-meta .meta:hover[b-ghzlms0tyw]
{
    filter: brightness( 2 );
}

.package-card-meta i[b-ghzlms0tyw]
{
    opacity: 0.7;
    font-size: 15px;
}

.package-card-meta .meta .value[b-ghzlms0tyw]
{
    opacity: 0.8;
}

.card-decorator-updated[b-ghzlms0tyw], .card-decorator-hidden[b-ghzlms0tyw], .card-decorator-errors[b-ghzlms0tyw]
{
    display: flex;
    flex-direction: row;
    background-color: color-mix( in srgb, var( --success ) 30%, rgb( var( --scrim ) / 0.8 ) );
    color: color-mix( in srgb, var( --success ) 80%, var( --text-strong ) );
    position: absolute;
    padding: 6px 8px;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 1px;
    user-select: none;
    cursor: pointer;
}

.card-decorator-errors[b-ghzlms0tyw]
{
    background-color: rgb( var( --scrim ) / 0.8 );
    color: var( --text-muted );
    gap: 5px;
}

.card-decorator-updated[b-ghzlms0tyw]
{
    left: 0px;
    top: 0px;
    border-radius: 3px 0px 2px 0px;
}


.card-decorator-users[b-ghzlms0tyw]
{
    right: 0px;
    top: 0px;
    border-radius: 0px 3px 0px 2px;
    font-size: 12px;
    font-weight: bold;
    gap: 3px;
    align-items: center;

    i
    {
        font-size: 16px;
        display: flex;
    }
}

.changed.changed_up > .card-decorator-users[b-ghzlms0tyw]
{
    animation: card-decorator-users-change-b-ghzlms0tyw 1s ease-out;
    animation-iteration-count: 1;
}

@keyframes card-decorator-users-change-b-ghzlms0tyw
{
    0%
    {
        transform: scale( 1.1 );
        filter: brightness( 4 );
    }

    100%
    {
        filter: brightness( 1 );
        transform: scale( 1 );
    }
}

.changed.changed_down > .card-decorator-users[b-ghzlms0tyw]
{
    animation: card-decorator-users-change-down-b-ghzlms0tyw 0.4s ease-out;
    animation-iteration-count: 1;
}

@keyframes card-decorator-users-change-down-b-ghzlms0tyw
{
    0%
    {
        transform: scale( 1 );
        filter: brightness( 2 );
    }

    100%
    {
        filter: brightness( 1 );
        transform: scale( 1 );
    }
}


.card-decorator-hidden[b-ghzlms0tyw]
{
    bottom: 0px;
    left: 00px;
    right: 0px;
    background-color: rgb( var( --scrim ) / 0.6 );
    color: #fff;
    padding: 10px;
}

.card-decorator-archived[b-ghzlms0tyw]
{
    bottom: 0px;
    left: 00px;
    right: 0px;
    background-color: rgb( from var( --error ) r g b / 0.45 );
    color: #fff;
    padding: 10px;
}

.card-decorator-moderation[b-ghzlms0tyw]
{
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    top: 0px;
    background-color: color-mix( in srgb, var( --error ) 30%, rgb( var( --scrim ) / 0.8 ) );
    border: 2PX solid var( --warning );
    color: #fff;
    padding: 10px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    font-weight: 800;
    font-size: 10px;
    color: var( --warning );
    pointer-events: none;
}


@keyframes video-in-b-ghzlms0tyw
{
    0%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

[b-ghzlms0tyw] highlightchange
{
    display: contents;
}

.packagecard.style-large[b-ghzlms0tyw]
{
    width: 400px;
    max-width: 400px;
}

.packagecard.small[b-ghzlms0tyw]
{
    width: 120px;
    max-width: 120px;
}

.packagecard.small .package-card-header[b-ghzlms0tyw]
{
    font-size: 0.8rem;
    padding: 3px 6px;
}

.packagecard.small .package-card-header .title[b-ghzlms0tyw]
{
    font-size: 0.8rem;
    font-weight: 500;
}

.packagecard.small .player-count[b-ghzlms0tyw]
{
    right: 4px;
    bottom: 4px;
    padding: 2px 4px;
    font-size: 9px;
}

.packagecard .player-count[b-ghzlms0tyw]
{
    position: absolute;
    right: 8px;
    bottom: 8px;
    font-size: 12px;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    background-color: #222d;
    border-radius: 4px;
    padding: 2px 6px;
    outline: 1px solid #fff1;
    color: #7f3;

    &:before
    {
        content: '●';
    }
}

.player[b-ghzlms0tyw]
{
    z-index: 1000;
    right: 5px;
    top: 5px;
    position: absolute;
}

.packagecard .pulse[b-ghzlms0tyw]
{
    animation: pulse-size-b-ghzlms0tyw 0.3s;
}

@keyframes pulse-size-b-ghzlms0tyw
{
    0%
    {
        transform: scale( 1 );
        opacity: 1;
    }

    30%
    {
        transform: scale( 1.3 );
        background-color: var( --success );
    }

    80%
    {
        transform: scale( 0.9 );
    }

    100%
    {
        transform: scale( 1 );
    }
}

@media (max-width: 768px)
{
}
/* /Components/Package/PackageFlairBar.razor.rz.scp.css */
.flair-bar[b-3rfxsbaedu]
{
	position: absolute;
	top: 6px;
	left: 6px;
	z-index: 2;
	display: flex;
	gap: 5px;
	pointer-events: none;
}

.flair[b-3rfxsbaedu]
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	pointer-events: auto;
	user-select: none;
	border-radius: 4px;
	color: #fff;
	background-color: #222b;
	border: 1px solid #fff4;
	outline: 1px solid #0002;
}

.flair[b-3rfxsbaedu]  .icon
{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	line-height: 1;
}
/* /Components/Package/PackageListPage.razor.rz.scp.css */

.packagetags[b-ssxfuzqioj]
{
    user-select: none;
    position: relative;
    max-width: 210px;
}

.packagetags .tags-inner[b-ssxfuzqioj]
{
    text-align: justify;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.packagetags.contracted .tags-inner[b-ssxfuzqioj]
{
    mask-image: linear-gradient( black 40%, transparent);
    max-height: 100%;
}

.packagetags.contracted[b-ssxfuzqioj]
{
    max-height: 100px;
    overflow: hidden;
}

.packagetags .expander[b-ssxfuzqioj]
{
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 5px;
    cursor: pointer;
    user-select: none;
    text-align: center;
    font-size: 12px;
}

.packagetags .expander:hover[b-ssxfuzqioj]
{
    color: var( --text-strong );
}

.packagetags.contracted .expander[b-ssxfuzqioj]
{
    position: absolute;
    bottom: -10px;
    left: 0px;
    right: 0px;
    padding: 5px;
    cursor: pointer;
    user-select: none;
    text-align: center;
}



.packagetags span.packagetag[b-ssxfuzqioj]
{
    display: flex;
    flex-grow: 1;
    text-align: center;
    justify-content: center;
    font-size: 11px;
    background-color: rgb( var( --scrim ) / 0.27 );
    padding: 1px 3px;
    cursor: pointer;
    color: #acfa;
    opacity: 0.8;
}

.packagetags span.packagetag:hover[b-ssxfuzqioj]
{
    opacity: 1;
}

.packagetags span.packagetag.has[b-ssxfuzqioj]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    padding: 1px 4px;
}

.packagetags span.packagetag.is-popular[b-ssxfuzqioj]
{
    color: #acfc;
    font-size: 12px;
    padding: 1px 1px;
}

.packagetags span.packagetag.is-not-popular[b-ssxfuzqioj]
{
    color: #acf6;
    font-size: 8px;
}

.packages-grid[b-ssxfuzqioj]
{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px 9px;
    align-items: center;
}

.packages-grid[b-ssxfuzqioj]:after
{
    content: "";
    flex: auto;
}

/* When a CardTemplate is supplied (eg /learn → TutorialCard), drop the row-flex
 * thumbnail layout and stack cards in a single column so the data-first design
 * isn't squeezed into 200px-wide grid cells. */
.packages-grid.list[b-ssxfuzqioj]
{
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
}

.packages-grid.list[b-ssxfuzqioj]:after
{
    display: none;
}

[b-ssxfuzqioj] .packagecard
{
    flex-grow: 1;
    max-width: 33%;
    min-width: 10%;
    width: 180px;
    max-width: 200px;
}

.facetlist[b-ssxfuzqioj]
{
    font-size: 13px;
}

.facetlist .facet[b-ssxfuzqioj]
{
    display: flex;
    cursor: pointer;
    padding: 2px 5px;
    height: 24px;
    transition: all 0.3s ease;
    overflow: hidden;
    gap: 8px;
    align-items: center;
    user-select: none;
}

.facetlist .facet.empty[b-ssxfuzqioj]
{
    opacity: 0.5;
}

.facetlist .facet:hover[b-ssxfuzqioj]
{
    color: var( --text-strong );
}

.facetlist .facet.active[b-ssxfuzqioj]
{
    color: var( --primary-alt );
    background-color: var( --primary );
    border-radius: 5px;
    opacity: 1;
}

.facetlist .facet[b-ssxfuzqioj]  .icon
{
    opacity: 0.6;
    font-size: 1rem;
}

.facetlist .facet .name[b-ssxfuzqioj]
{
    flex-grow: 1;
}

.facetlist .facet .count[b-ssxfuzqioj]
{
    opacity: 0.4;
}

.facetlist .children[b-ssxfuzqioj]
{
    padding-left: 1rem;
}


.filters[b-ssxfuzqioj]
{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filters > *[b-ssxfuzqioj]
{
    background-color: var( --primary );
    padding: 5px;
    color: var( --primary-alt );
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.8rem;
}

.filters > *[b-ssxfuzqioj]::before
{
    content: 'close';
    font-family: "material symbols rounded";
}

.property-tags[b-ssxfuzqioj]
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 8px;
}

.property-tags .propertytag[b-ssxfuzqioj]
{
    background-color: rgb( from var( --primary ) r g b / 0.07 );
    flex-grow: 1;
    font-size: 0.7rem;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    gap: 5px;
    align-items: center;
}

.property-tags .propertytag:hover[b-ssxfuzqioj]
{
    background-color: rgb( from var( --primary ) r g b / 0.13 );
}

.property-tags .propertytag.active[b-ssxfuzqioj]
{
    background-color: var( --primary );
    color: var( --primary-alt );
}

.pagination-container[b-ssxfuzqioj]
{
    margin-bottom: 2rem;
}
/* /Components/Package/PackageRow.razor.rz.scp.css */
/* ----------------------------------------------------------------------------
   PackageRow — section header + horizontal scroller of <PackageCard>s.
   Drop-in for any landing page that surfaces multiple lists.
   ---------------------------------------------------------------------------- */

.package-row-section[b-3zquf1jtl2]
{
    margin: 1.75rem 0;
    overflow-x: clip;
}

/* ============ Header ============ */

.row-head[b-3zquf1jtl2]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 0.25rem;
    margin-bottom: 1rem;
}

.row-info[b-3zquf1jtl2]
{
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}

.row-mark[b-3zquf1jtl2]
{
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgb( var( --tint ) / 0.04 );
    border: 1px solid rgb( var( --tint ) / 0.08 );
    color: var( --text-strong );
    transition: background 0.2s ease, border-color 0.2s ease;
}

.row-mark[b-3zquf1jtl2]  i
{
    font-size: 1.35rem;
}

a.row-info:hover .row-mark[b-3zquf1jtl2]
{
    background: rgb( var( --tint ) / 0.07 );
    border-color: rgb( var( --tint ) / 0.18 );
}

.row-text h2[b-3zquf1jtl2]
{
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.1;
    color: var( --text-strong );
    transition: color 0.2s ease;
}

a.row-info:hover .row-text h2[b-3zquf1jtl2]
{
    color: var( --link-hover );
}

.row-meta[b-3zquf1jtl2]
{
    margin-top: 0.2rem;
    font-family: 'Sen', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var( --text-muted );
    opacity: 0.7;
    font-variant-numeric: tabular-nums;
}

/* ============ Scroller ============ */

.scroller[b-3zquf1jtl2]
{
    overflow-x: auto;
    overflow-y: hidden;
}

.cards[b-3zquf1jtl2]
{
    display: flex;
    gap: 1rem;
    padding: 0.25rem 0.25rem 0.5rem;
}

.card-cell[b-3zquf1jtl2]
{
    flex-shrink: 0;
}

/* ============ Drag-to-scroll (dragscroll.js attaches via .dragscroll) ============ */

.dragscroll[b-3zquf1jtl2]
{
    cursor: grab;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.dragscroll.dragging[b-3zquf1jtl2]
{
    cursor: grabbing;
    scroll-behavior: auto !important;
}

.dragscroll[b-3zquf1jtl2]::-webkit-scrollbar
{
    width: 0;
    height: 0;
}

.dragscroll.dragging[b-3zquf1jtl2]  *
{
    user-select: none;
    -webkit-user-drag: none;
}

/* ============ Responsive ============ */

@media ( max-width: 600px )
{
    .row-mark[b-3zquf1jtl2]
    {
        width: 34px;
        height: 34px;
    }

    .row-text h2[b-3zquf1jtl2]
    {
        font-size: 1.05rem;
    }
}
/* /Components/Page/AdminSection.razor.rz.scp.css */
.admin-section[b-cbjt9j1ldj]
{
    display: flex;
    flex-direction: column;
    border: 2px solid rgb( from var( --admin ) r g b / 0.6 );
    background-color: rgb( from var( --admin ) r g b / 0.12 );
    border-radius: 0.5rem;
    padding: 1rem;
    padding-top: 0;
}

.admin-section > h1[b-cbjt9j1ldj]
{
    font-size: 0.7rem !important;
    line-height: 1 !important;
    color: var( --admin );
    font-weight: 800 !important;
}

.admin-section[b-cbjt9j1ldj]  a
{
    padding: 4px 5px;
    font-size: 0.8rem;
    color: var( --admin ) !important;
    border-radius: 5px;
    cursor: pointer;
}

.admin-section[b-cbjt9j1ldj]  a.active
{
    background-color: var( --admin ) !important;
    color: var( --admin-alt ) !important;
}
/* /Components/Page/NoPermission.razor.rz.scp.css */

.packagelist[b-sxuf8pw94u]
{
    display: flex;
    flex-direction: column;
}

.packagelist.loading > .body[b-sxuf8pw94u]
{  
    filter: blur(2px) saturate( 0 );
    opacity: 0.5;
    transition: all 0.1s linear;
    
}
.packagelist > .body[b-sxuf8pw94u]
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: flex-start;

}

.packagecard:last-child[b-sxuf8pw94u]
{
    margin-right: auto;
}
/* /Components/Page/PageAlert.razor.rz.scp.css */

.page-alert[b-hfh4tkcbwq]
{
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    margin: 2rem;
}

.page-alert .inner[b-hfh4tkcbwq]
{
    display: flex;
    gap: 1rem;
    padding: 1rem 2rem;
    border-radius: 10px;
    flex-direction: column;
    align-items: center;
}

.page-alert .left[b-hfh4tkcbwq]
{
    font-size: 96px;
    opacity: 0.4;
    line-height: 1;
    display: flex;

}

.page-alert .right[b-hfh4tkcbwq]
{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.page-alert .right .title[b-hfh4tkcbwq]
{
    font-size: 18px;
    margin: 0;
    padding: 0.8rem 0;
    line-height: 1;
    font-weight: 550;
}


.page-alert .right .text[b-hfh4tkcbwq]
{
    font-size: 13px;
    opacity: 0.6;
}
/* /Components/Page/PageEditor.razor.rz.scp.css */

.pageditor[b-3g1immdkn6]
{
    position: relative;
}

.pageditor.can-edit.is-empty[b-3g1immdkn6]
{
    min-height: 50px;
    outline: 2px dashed rgb( var( --tint ) / 0.06 );
    outline-offset: -2px;
}

.pageditor.can-edit:hover[b-3g1immdkn6]
{
    outline: 2px dashed rgb( var( --tint ) / 0.13 );
    outline-offset: -2px;
}

.edit-control-bar[b-3g1immdkn6]
{
    margin: 2rem;
    margin-top: 5rem;
    position: sticky;
    bottom: 0px;
    background-color: rgb( var( --scrim ) / 0.2 );
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    padding: 1.5rem 2rem;
    gap: 1rem;
}

.edit-control-bar[b-3g1immdkn6]  .btn
{
    display: flex;
    padding: 0.4rem 1rem;
    gap: 1rem;
    font-size: 0.8rem;
    background-color: transparent;
    border: 1px solid rgb( var( --tint ) / 0.2 );
    color: rgb( var( --tint ) / 0.67 );
    font-weight: normal;
}

.edit-control-bar[b-3g1immdkn6]  .btn.primary
{
    background-color: var( --primary );
    border: 0px;
    color: var( --primary-alt );
}

.edit-control-bar[b-3g1immdkn6]  .btn.primary:hover
{
    filter: brightness( 1.4 );
}

.edit-control-bar[b-3g1immdkn6]  .btn.primary:active
{
    transform: scale( 0.97 );
}

.pageditor-header[b-3g1immdkn6]
{
    position: absolute;
    top: 4px;
    right: 4px;
    visibility: hidden;
    z-index: 1000;
}

.pageditor-header[b-3g1immdkn6]  .btn
{
    background-color: rgb( var( --tint ) / 0.13 );
    border-radius: 0px;
    color: rgb( var( --tint ) / 0.67 );
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
    font-weight: normal;
    display: flex;
    gap: 0.5rem;
    transition: none;
}

.pageditor-header i[b-3g1immdkn6]
{
    font-size: 0.9rem;
}

.pageditor-header[b-3g1immdkn6]  .btn:hover
{
    background-color: var( --text-strong );
    color: var( --text-on-strong );
}

.pageditor.can-edit:hover .pageditor-header[b-3g1immdkn6]
{
    visibility: visible;
}
/* /Components/Page/PageHeader.razor.rz.scp.css */

.page-header[b-yp4ofp6hi5]
{
    padding: 16rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
}

.page-header .title[b-yp4ofp6hi5]
{
    font-family: Poppins;
    font-size: 4rem;
    font-weight: bold;
    color: var( --text-strong );
}

.page-header.small[b-yp4ofp6hi5]
{
    padding: 8rem 0;
    margin-bottom: -4rem;
}

.page-header.small .title[b-yp4ofp6hi5]
{
    font-size: 3rem;
}

.page-header.left .title[b-yp4ofp6hi5],
.page-header.left .subtitle[b-yp4ofp6hi5],
.page-header.left .meta[b-yp4ofp6hi5]
{
    text-align: left;
    width: 100%;
    max-width: 1100px;
    padding: 0 4rem;
}

.meta[b-yp4ofp6hi5]
{
    margin-top: 0.5rem;
}

.page-header .subtitle[b-yp4ofp6hi5]
{
    color: var( --text-strong );
    margin: 0 2rem;
}

@media (max-width: 800px)
{
    .page-header .title[b-yp4ofp6hi5]
    {
        font-family: Poppins;
        font-size: 2rem;
        font-weight: bold;
        color: var( --text-strong );
    }
}

.page-header .title[b-yp4ofp6hi5]
{
    background: linear-gradient( to right,
        var( --primary ) 0%,
        color-mix( in srgb, var( --primary ) 50%, var( --text-strong ) ) 50%,
        var( --primary ) 100% );
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    background-size: 400px auto;
    animation: textShine-b-yp4ofp6hi5 4s linear infinite;
}

@keyframes textShine-b-yp4ofp6hi5
{
    0%   { background-position: 0% 50%; }
    100% { background-position: 400px 50%; }
}
/* /Components/Page/PageLayout.razor.rz.scp.css */

.pagelayout[b-70m4vuh4pi]
{
    flex-grow: 1;
    flex-shrink: 0;
    padding: 0 1rem;
    max-width: 100%;
    overflow-x: auto;
}

.pagelayout .container[b-70m4vuh4pi]
{
    width: 100%;
    display: flex;
    flex-direction: column;
    position: unset;
}

.pagelayout-content[b-70m4vuh4pi]
{
    display: flex;
    flex-direction: row;
    gap: 2rem;
}

.sidebar:empty[b-70m4vuh4pi]
{
    display: none;
}

.sidebar[b-70m4vuh4pi]
{
    width: 256px;
    flex-shrink: 0;
    flex-grow: 0;
    display: flex;
    flex-direction: column;
    padding: 3rem 0;
}

.sidebar[b-70m4vuh4pi]  h1,
.sidebar[b-70m4vuh4pi]  h2
{
    font-size: 0.7rem;
    font-weight: normal;
    margin: 10px 0 !important;
    padding: 0px 0px;
}

.pagelayout-body[b-70m4vuh4pi]
{
    flex-grow: 1;
    padding: 3rem 0;
    overflow-x: visible;
    min-width: 0;
}

.pagelayout-body h1:first-child[b-70m4vuh4pi]
{
    margin: 0;
    margin-bottom: 3rem;
}

.pagelayout-body[b-70m4vuh4pi]  .rating-bar .rating-buttons
{
    opacity: 0;
    transform: scale( 0.9 ) translateX( 50px );
    transition: all 0.3s ease;
    filter: blur( 10px );
}

.pagelayout-body:hover[b-70m4vuh4pi]  .rating-bar .rating-buttons
{
    opacity: 1;
    transform: scale(1) translateX( 0px );
    filter: blur( 0px );
}

.sidebar[b-70m4vuh4pi] >  a, .sidebar .sub-menu[b-70m4vuh4pi] >  a
{
    display: flex;
    text-decoration: none;
    gap: 8px;
    font-size: 0.9rem;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    opacity: 0.4;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: clip;
}

.sidebar[b-70m4vuh4pi] >  a img
{
    height: 24px;
}

.sidebar[b-70m4vuh4pi]  a:active
{
    position: relative;
    top: 1px;
    left: 1px;
}

.sidebar[b-70m4vuh4pi]  a.active
{
    background-color: var( --primary );
    color: var( --primary-alt );
    opacity: 0.9;
}

.sidebar[b-70m4vuh4pi] >  a:hover, .sidebar .sub-menu[b-70m4vuh4pi] >  a:hover
{
    background-color: rgb( var( --tint ) / 0.1 );
    opacity: 0.9;
}


@media (max-width: 800px)
{
    .pagelayout-content[b-70m4vuh4pi]
    {
        flex-direction: column;
        gap: 0rem;
    }

    .sidebar[b-70m4vuh4pi]
    {
        width: auto;
    }

    .pagelayout-body[b-70m4vuh4pi]
    {
        padding: 0rem 0;
    }
}
/* /Components/Page/WarningBar.razor.rz.scp.css */
.warning-bar[b-dwyolr6rfj]
{
    padding: 1rem;
    display: flex;
    justify-content: center;
    background-color: rgb( from var( --warning ) r g b / 0.15 );
    border-top: 1px solid rgb( from var( --warning ) r g b / 0.4 );
    border-bottom: 1px solid rgb( from var( --warning ) r g b / 0.4 );
    color: var( --warning );
    font-size: 1rem;
    font-weight: 600;
}
/* /Components/PaymentRulesEditor.razor.rz.scp.css */

.add-entry[b-9emasj7l1h]
{
    display: flex;
    gap: 0.5rem;
    padding: 1rem;
    justify-content: flex-end;
}

.add-entry[b-9emasj7l1h]  .autocomplete
{
    width: 300px;
}

.is-error[b-9emasj7l1h]
{
    color: var( --warning );
    background-color: rgb( from var( --warning ) r g b / 0.2 );
    display: inline-flex;
    padding: 1px 10px;
    border-radius: 5px;
}

td.error[b-9emasj7l1h]
{
    text-align: center;
    background-color: rgb( from var( --warning ) r g b / 0.2 );
    color: var( --warning );
}
/* /Components/Ratings/RatingBar.razor.rz.scp.css */

.rating-bar[b-totx503zsy]
{
    padding-top: 2rem;
}
/* /Components/Ratings/RatingButtons.razor.rz.scp.css */
.rating-buttons[b-s0hl4khln0]
{
    display: flex;
    gap: 1px;
    flex-wrap: wrap;
    padding: 0.5rem;
    user-select: none;
    justify-content: center;
    align-items: center;
}

.rating-button[b-s0hl4khln0]
{
    cursor: pointer;
    opacity: 0.4;
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rating-button:hover[b-s0hl4khln0]
{
    opacity: 1;
}

.rating-buttons[b-s0hl4khln0]  .rating-icon img
{
    width: 20px;
    height: 20px;
}

.add-rating-button[b-s0hl4khln0]
{
    position: relative;
    font-size: 22px;
    display: flex;
}

.add-rating-button:hover[b-s0hl4khln0]
{

}

.rating-buttons[b-s0hl4khln0]
{
    gap: 0.5rem;
}

.rating-button-container[b-s0hl4khln0]
{
    flex-grow: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    
}
/* /Components/Ratings/RatingIcon.razor.rz.scp.css */

img[b-et50byo48g]
{
    width: 16px;
    height: 16px;
}
/* /Components/Ratings/RatingList.razor.rz.scp.css */

.rating-list[b-zdpilmt9fd]
{
    user-select: none;
    display: flex;
    gap: 0.5rem;    
    align-items: center;
    transition: all 1s linear;
    min-height: 3rem;
}


.rating-x[b-zdpilmt9fd]
{
    opacity: 0.3;
    font-size: 12px;
}

.rating-list .rating-entry[b-zdpilmt9fd]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    opacity: 0.5;
}

.rating-list .rating-entry:hover[b-zdpilmt9fd]
{
    opacity: 1;
}


.rating-count[b-zdpilmt9fd]
{
    font-size: 11px;
    bottom: -9px;
    right: -6px;
    padding: 2px 4px;
    border-radius: 100px;
    min-width: 14px;
    text-align: center;
    pointer-events: none;
    font-weight: bold;
}

.rating-list .rating-entry .rating-icon[b-zdpilmt9fd]
{
    display: flex;
    cursor: pointer;
}

.rating-list .rating-entry .rating-icon:hover[b-zdpilmt9fd]
{
    transform: scale( 1.1 );
}

.rating-list .rating-entry .rating-icon[b-zdpilmt9fd]  img
{
    width: 20px;
    height: 20px;
}


.rating-list.disabled[b-zdpilmt9fd]
{
    pointer-events: none;
    opacity: 0.6;
    transition: all 0.1s linear;
}

.entries[b-zdpilmt9fd]
{
    display: flex;
    gap: 15px;
}
/* /Components/Selectors/AutoComplete.razor.rz.scp.css */

[b-22bqm1720o] .popover
{
    max-height: 40vh;
    overflow: auto;
    background-color: var( --site-background-color-dark );
    border: 1px solid var( --input-border-hover );
    border-radius: 6px;
    box-shadow: 0 8px 24px rgb( var( --scrim ) / 0.5 );
}

.menu-item[b-22bqm1720o]
{
    color: var( --text-color );
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
    padding: 4px 8px;
    gap: 0.5rem;
    transition: background-color 0.1s ease, color 0.1s ease;
}

.menu-item:hover[b-22bqm1720o]
{
    background-color: rgb( from var( --primary ) r g b / 0.15 );
    color: var( --text-strong );
}

.menu-item img[b-22bqm1720o]
{
    width: 24px;
    height: 24px;
}

.menu-item .right[b-22bqm1720o]
{
    display: flex;
    gap: 0.5rem;
    padding: 4px;
    align-items: flex-end;
}

.menu-item .right .subtitle[b-22bqm1720o]
{
    font-size: 11px;
    opacity: 0.55;
    color: var( --text-color );
}
/* /Components/Selectors/SearchBox.razor.rz.scp.css */
.searchbox[b-4hno7resev]
{
    display: flex;
    justify-content: center;
    align-items: center;
}
/* /Components/Selectors/UserSelect.razor.rz.scp.css */
td small[b-62fyrl5bga]
{
    display: flex;
    gap: 10px;
    margin: 3px 0px;
    opacity: 0.5;
}

.statrow[b-62fyrl5bga]
{
    display: flex;
    justify-content: space-around;
    padding: 1rem;
    flex-wrap: wrap;
}

.statrow > *[b-62fyrl5bga]
{
    display: flex;
    flex-direction: column;
    padding: 1rem;
}

.statrow > * .value[b-62fyrl5bga]
{
    font-size: 2.5rem;
    font-weight: bolder;
    font-family: poppins;
}

.statrow > * .label[b-62fyrl5bga]
{
    text-align: right;
    opacity: 0.5;
}
/* /Components/Utility/DesktopOnly.razor.rz.scp.css */
.desktop-only[b-k97d2op8pk] {
    display: contents;
}

@media (max-width: 800px) {
    .desktop-only[b-k97d2op8pk] {
        display: none;
    }
}
/* /Components/Utility/ExceptionHandler.razor.rz.scp.css */
.title.is-1[b-0rzfx68m6k]
{
    font-size: 4rem;
}

.title.is-4[b-0rzfx68m6k]
{
    font-size: 1.5rem;
}
/* /Components/Utility/VisibilityTrigger.razor.rz.scp.css */

.visibilitytrigger[b-mk9ewuh4o0]
{
    width: 10px;
    height: 10px;
}
/* /Layout/CommonLayout.razor.rz.scp.css */
.common-layout[b-lqbkqaa2yt]
{
    --site-header-height: 100px;
    --site-design-width: 1100px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.common-layout[b-lqbkqaa2yt]  .header
{
    
}


@media (min-width: 1300px)
{
    .common-layout[b-lqbkqaa2yt]  .header-standard
    {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
    }
}
/* /Layout/ContentLayout.razor.rz.scp.css */
/* Mobile-first. Default state is stacked-everything. The desktop case
   adds the side-by-side rail. No media query has to undo anything. */

.content-layout[b-mj0soytmsc]
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 100vh;
    --bg-highlight: rgb( from var( --text-muted ) r g b / 0.18 );
    background-image: linear-gradient( to bottom in oklab,
        var( --site-header-color ) 0px,
        rgb( from var( --site-background-color ) r g b / 0 ) 300px );
}

.content-layout.gameviewer[b-mj0soytmsc]
{
    --site-header-height: 0px;
}

.content-layout[b-mj0soytmsc]  .container
{
    padding: 1rem;
}

.rail[b-mj0soytmsc]
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: 100%;
}

.content-layout .body[b-mj0soytmsc]
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
    max-width: 100vw;
    overflow-x: clip;
    position: relative;
}

.content-layout .body .body-content[b-mj0soytmsc]
{
    flex-grow: 1;
}

@media (min-width: 1100px)
{
    .content-layout[b-mj0soytmsc]  .container
    {
        padding: 2rem;
    }

    /* --rail-max-width is set by the top-level layout (SiteLayout, UgcLayout, …).
       Defaults to 1100px so any layout that doesn't opt in still gets the cap. */
    .rail[b-mj0soytmsc]
    {
        flex-direction: row;
        max-width: var( --rail-max-width, 1100px );
        margin: 0 auto;
    }

    .content-layout .body[b-mj0soytmsc]
    {
        max-width: none;
        overflow-x: visible;
    }
}
/* /Layout/CustomLayout.razor.rz.scp.css */
.header-bar[b-u5oxdnq6ui]
{
    padding: 10px;
    text-align: center;
    background-color: var( --primary );
    color: var( --primary-alt );
}
/* /Layout/Header/HeaderLogo.razor.rz.scp.css */
.header-logo[b-8ufisyzj0k]
{
    display: contents;
}

.header-logo .inner[b-8ufisyzj0k]
{
    background-color: var( --primary );
    font-weight: bold;
    padding: 0.5rem;
    border-radius: 8px;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var( --primary-alt );
    width: 48px;
    font-size: 2rem;
    line-height: 0;

}

.header-logo:hover[b-8ufisyzj0k]
{
    opacity: 1;
}
/* /Layout/Header/LoginButton.razor.rz.scp.css */

.login-with-steam[b-t6hsxixa6i]
{
	display: flex;
	align-items: center;
}

.login-with-steam svg[b-t6hsxixa6i]
{
	width: 24px;
	height: 24px;
	fill: var( --text-faint );
}
/* /Layout/Header/SessionButton.razor.rz.scp.css */


.session-button[b-p1ebtzs8hs]
{
	display: flex;
	align-items: center;
}

.session-button svg[b-p1ebtzs8hs]
{
	width: 24px;
	height: 24px;
	fill: var( --text-faint );
}

.popup-button[b-p1ebtzs8hs]
{
	position: relative;
	display: flex;
	justify-content: center;
	padding: 0;
	align-items: center;
	cursor: pointer;
}

.popup-button:hover[b-p1ebtzs8hs]
{
	opacity: 1;
}

.popup-button.active[b-p1ebtzs8hs]
{
	opacity: 0.6;
}

.avatar[b-p1ebtzs8hs]
{
	width: 36px;
	height: 36px;
	border-radius: 100px;
	border: 1px solid rgb( var( --tint ) / 0.2 );
}

.popup-button:hover .avatar[b-p1ebtzs8hs]
{
	border: 1px solid rgb( var( --tint ) / 0.4 );
}

.score[b-p1ebtzs8hs]
{
	position: absolute;
	bottom: -19px;
	font-size: 10px;
	padding: 1px 3px;
	border-radius: 3px;
	white-space: nowrap;
	font-size: 10px;
	pointer-events: none;
}

.score[b-p1ebtzs8hs]  .icon
{
	color: var( --primary );
}

/* Strip the default btn chrome so the avatar shows through cleanly */
.session-button[b-p1ebtzs8hs]  > .btn
{
	background-color: transparent !important;
	border: 0 !important;
	outline: none !important;
	padding: 0 !important;
	border-radius: 0;
	position: relative;
}

/* Notification dot — sits on the avatar's top-right when there are unread items */
.session-button.glow[b-p1ebtzs8hs]  > .btn:after
{
	content: '';
	position: absolute;
	right: -3px;
	top: -3px;
	background-color: var( --accent );
	width: 12px;
	height: 12px;
	border-radius: 100px;
	pointer-events: none;
}

.session-button.glow a.glow[b-p1ebtzs8hs]
{
	background-color: var( --accent );
	margin: 0 5px;
	border-radius: 5px;
	color: #fff;
}

.session-button.glow a.glow:hover[b-p1ebtzs8hs]
{
	filter: brightness(1.2);
}
/* /Layout/Header/StandardHeader.razor.rz.scp.css */

.header[b-x9tbnfgycy]
{
    border-bottom: 0px;
    padding: 0px 1rem;
    user-select: none;
    height: var(--site-header-height);
    width: 100%;
    background-color: var( --site-header-color );
    z-index: 100;
    display: flex;
    position: relative;
}

.header-contents[b-x9tbnfgycy]
{
    display: flex;
    flex-grow: 1;
    justify-content: center;
}

.header-contents .inner[b-x9tbnfgycy]
{
    max-width: 1100px;
    display: flex;
    flex-grow: 1;
}

.left[b-x9tbnfgycy], .center[b-x9tbnfgycy], .right[b-x9tbnfgycy]
{
    display: flex;
    align-items: center;
}

.center[b-x9tbnfgycy]
{
    flex-grow: 1;
}

.header-standard[b-x9tbnfgycy], .header-platform[b-x9tbnfgycy]
{
    display: flex;
    align-items: center;
}

.header-standard[b-x9tbnfgycy]
{
    margin-right: 2rem;
}

.header[b-x9tbnfgycy]  .searchbox
{
    padding: 0 1rem;
}

.header[b-x9tbnfgycy]  .searchbox input
{
    border-radius: 100px;
    padding: 0.5rem 1rem;
}

/*
 * Top-nav button styling — lowercase, transparent top-nav appearance for
 * <Button>s rendered into the navigation slots. Buttons that open a dropdown
 * are rendered as a sibling pair (<a>, <.btn-options>); both end up as
 * direct children of the slot, so the `> .btn` direct-child path scopes
 * the styling to the outer trigger only — menu items inside .btn-options
 * keep the dropdown row styling from Button.razor.css.
 */
.left[b-x9tbnfgycy]  > .btn,
.center[b-x9tbnfgycy]  > .btn,
.right[b-x9tbnfgycy]  > .btn
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    color: color-mix( in lab, var( --site-header-color ) 30%, var( --text-strong ) );
    background-color: transparent;
    outline: none;
    border-radius: 0;
    line-height: 1;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    padding: 0.5rem 1rem;
    transition: all 0.1s ease;
    gap: 0.3rem;
    text-transform: lowercase;
}

.left[b-x9tbnfgycy]  > .btn:hover,
.center[b-x9tbnfgycy]  > .btn:hover,
.right[b-x9tbnfgycy]  > .btn:hover,
.left[b-x9tbnfgycy]  > .btn.active,
.center[b-x9tbnfgycy]  > .btn.active,
.right[b-x9tbnfgycy]  > .btn.active
{
    color: var( --text-strong );
    background-color: transparent;
    outline: none;
}

.left[b-x9tbnfgycy]  > .btn .icon,
.center[b-x9tbnfgycy]  > .btn .icon,
.right[b-x9tbnfgycy]  > .btn .icon
{
    display: flex;
    font-size: 16px;
    color: color-mix( in lab, var( --site-header-color ) 70%, var( --text-strong ) );
}

.left[b-x9tbnfgycy]  > .btn:hover .icon,
.center[b-x9tbnfgycy]  > .btn:hover .icon,
.right[b-x9tbnfgycy]  > .btn:hover .icon,
.left[b-x9tbnfgycy]  > .btn.active .icon,
.center[b-x9tbnfgycy]  > .btn.active .icon,
.right[b-x9tbnfgycy]  > .btn.active .icon
{
    color: var( --accent );
}

@media (max-width: 800px)
{
    .header[b-x9tbnfgycy]
    {
        height: auto !important;
        padding-top: 50px;
        position: relative;
    }

    .header .header-standard[b-x9tbnfgycy], .header-platform[b-x9tbnfgycy]
    {
        position: absolute;
        top: 10px;
    }

    .header-standard[b-x9tbnfgycy]
    {
        right: 1rem;
        margin-right: 0rem;
    }

    .header-platform[b-x9tbnfgycy]
    {
        left: 1rem;
    }

    .header .center[b-x9tbnfgycy]
    {
        flex-grow: 0;
    }

    .header .right[b-x9tbnfgycy]
    {
        padding: 1rem 0;
        justify-content: space-around;
        flex-grow: 1;
        flex-wrap: wrap;
    }

    .header .header-standard[b-x9tbnfgycy]
    {
        right: 10px;
    }

    .right[b-x9tbnfgycy]  > .btn
    {
        font-size: 0.9rem;
        padding: 0.5rem 0.3rem;
    }

    .header-contents .inner[b-x9tbnfgycy]
    {
        flex-wrap: wrap;
    }
}
/* /Layout/Header/StandardHeaderButtons.razor.rz.scp.css */
.standard-header-buttons[b-rbmcocgeg0]
{
    display: flex;
}
/* /Layout/ModeratorBar.razor.rz.scp.css */
.moderator-bar[b-gq5w6id1fy]
{
    background-color: rgb( var( --scrim ) / 0.5 );
    border-bottom: 1px solid rgb( var( --tint ) / 0.04 );
    color: var( --text-muted );
    font-size: 11px;
    line-height: 1;
}

.mod-bar-inner[b-gq5w6id1fy]
{
    display: flex;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0.5rem;
    overflow-x: auto;
    scrollbar-width: none;
}

.mod-bar-inner[b-gq5w6id1fy]::-webkit-scrollbar
{
    display: none;
}

.mod-bar-brand[b-gq5w6id1fy]
{
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4rem 0.6rem;
    color: rgb( var( --tint ) / 0.45 );
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    flex-shrink: 0;
}

.mod-bar-brand:hover[b-gq5w6id1fy]
{
    color: var( --text-strong );
    text-decoration: none;
}

.mod-bar-brand-icon[b-gq5w6id1fy]
{
    font-family: "Material Symbols Rounded";
    font-style: normal;
    font-size: 14px;
    line-height: 1;
    opacity: 0.7;
}

.mod-bar-stat[b-gq5w6id1fy]
{
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.7rem;
    color: rgb( var( --tint ) / 0.5 );
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.mod-bar-stat:hover[b-gq5w6id1fy]
{
    color: var( --text-strong );
    background-color: rgb( var( --tint ) / 0.04 );
    text-decoration: none;
}

.mod-bar-icon[b-gq5w6id1fy]
{
    font-family: "Material Symbols Rounded";
    font-style: normal;
    font-size: 14px;
    line-height: 1;
    opacity: 0.55;
}

.mod-bar-count[b-gq5w6id1fy]
{
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: rgb( var( --tint ) / 0.7 );
}

.mod-bar-label[b-gq5w6id1fy]
{
    opacity: 0.6;
}

/* Zero state — even more muted */
.mod-bar-stat.calm[b-gq5w6id1fy]
{
    color: rgb( var( --tint ) / 0.28 );
}

.mod-bar-stat.calm .mod-bar-count[b-gq5w6id1fy]
{
    color: rgb( var( --tint ) / 0.35 );
    font-weight: 500;
}

.mod-bar-stat.calm .mod-bar-icon[b-gq5w6id1fy]
{
    opacity: 0.35;
}

/* Alarm — non-zero counts for critical stats (support / DMCA / reports) */
.mod-bar-stat.alarm .mod-bar-count[b-gq5w6id1fy]
{
    color: color-mix( in srgb, var( --error ) 40%, #fff );
}

.mod-bar-stat.alarm .mod-bar-icon[b-gq5w6id1fy]
{
    color: color-mix( in srgb, var( --error ) 50%, #fff );
    opacity: 0.9;
}

/* Warn — non-zero counts for warnings (failed videos) */
.mod-bar-stat.warn .mod-bar-count[b-gq5w6id1fy]
{
    color: color-mix( in srgb, var( --warning ) 50%, #fff );
}

.mod-bar-stat.warn .mod-bar-icon[b-gq5w6id1fy]
{
    color: color-mix( in srgb, var( --warning ) 60%, #fff );
    opacity: 0.9;
}

/* Informational stats */
.mod-bar-stat.info .mod-bar-icon[b-gq5w6id1fy]
{
    opacity: 0.5;
}

.mod-bar-spacer[b-gq5w6id1fy]
{
    flex: 1 1 auto;
    min-width: 0.5rem;
}

.mod-bar-link[b-gq5w6id1fy]
{
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4rem 0.6rem;
    color: rgb( var( --tint ) / 0.4 );
    text-decoration: none;
    flex-shrink: 0;
    transition: color 0.15s ease;
}

.mod-bar-link:hover[b-gq5w6id1fy]
{
    color: var( --text-strong );
    text-decoration: none;
}

.mod-bar-link-text[b-gq5w6id1fy]
{
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 10px;
}

@media (max-width: 900px)
{
    .mod-bar-stat .mod-bar-label[b-gq5w6id1fy],
    .mod-bar-link .mod-bar-link-text[b-gq5w6id1fy],
    .mod-bar-brand-text[b-gq5w6id1fy]
    {
        display: none;
    }
}
/* /Layout/Sidebars.razor.rz.scp.css */
.sidebar-container[b-7j7zm83333], .sidebar-inner[b-7j7zm83333]
{
    display: contents;
}

.sidebar-container[b-7j7zm83333]  a.active,
.sidebar-container[b-7j7zm83333]  a.is-active
{
    color: var( --text-strong );
}
/* /Layout/SiteLayout.razor.rz.scp.css */
.site-layout[b-vjlzujfr2i]
{
    --site-header-height: 100px;
    --site-design-width: 1100px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.site-layout[b-vjlzujfr2i]  .header
{
    
}

@media (min-width: 1300px)
{
    .site-layout[b-vjlzujfr2i]  .header-standard
    {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
    }
}

/* /Layout/StandardFooter.razor.rz.scp.css */

.footer[b-6bgwucqrpw]
{
    --footer-glow: #f373;

    margin-top: 100px;
    padding: 2rem 0;
    padding-top: 100px;
    background-image: radial-gradient( circle at 50% 110%, rgb( from var( --footer-glow ) r g b / 0.46 ) 0px, rgb( from var( --footer-glow ) r g b / 0.07 ) 150px, transparent 270px );
}

.facepunch-bar[b-6bgwucqrpw]
{
    display: flex;
    padding: 0rem 0;
    margin-top: 2rem;
    justify-content: center;
}

.footer ul.links[b-6bgwucqrpw]
{
    display: flex;
    list-style: none;
    gap: 1rem;
    justify-content: center;
    font-size: 12px;
}

.facepunch-brand[b-6bgwucqrpw]
{
    max-height: 32px;
    opacity: 0.9;
}

.facepunch-brand:hover[b-6bgwucqrpw]
{
    max-height: 32px;
    opacity: 1;
}
/* /Layout/UgcLayout.razor.rz.scp.css */
.ugc-layout[b-3erpayul51]
{
    --site-header-height: 64px;
    --site-design-width: 1100px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.ugc-layout[b-3erpayul51]  .header
{
    
}
/* /Layout/WideLayout.razor.rz.scp.css */
.wide-layout[b-x7kbl92t1x]
{
    --site-header-height: 100px;
    --rail-max-width: none;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
/* /Sections/Admin/AdminSiteLayout.razor.rz.scp.css */
.package-site-layout[b-5v4myeh8qt]
{
    --site-design-width: 1100px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.package-site-layout[b-5v4myeh8qt]  .header
{
    
}

@media (min-width: 1300px)
{
    .package-site-layout[b-5v4myeh8qt]  .header-standard
    {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
    }
}

/* /Sections/Admin/Compilations/Compilations.razor.rz.scp.css */
.comp-status[b-3emrs4am5q] {
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.comp-pending[b-3emrs4am5q] {
	background: rgba(255, 196, 0, 0.15);
	color: #d9a400;
}

.comp-compiled[b-3emrs4am5q] {
	background: rgba(0, 200, 100, 0.15);
	color: #00b25a;
}

.comp-failed[b-3emrs4am5q] {
	background: rgba(255, 60, 60, 0.18);
	color: #ff3c3c;
}

.stat-failed[b-3emrs4am5q] {
	color: #ff3c3c;
	font-weight: 600;
}
/* /Sections/Admin/Dashboard/ActionTile.razor.rz.scp.css */
.action-tile[b-rsurpj3i3p]
{
    display: block;
    padding: 1.25rem 1.5rem;
    border-radius: 14px;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    color: inherit;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    flex-grow: 1;
}

.action-tile:hover[b-rsurpj3i3p]
{
    background-color: var( --surface-bg-hover );
    border-color: var( --surface-line-hover );
    text-decoration: none;
}

.action-tile.calm .action-icon[b-rsurpj3i3p] { color: rgb( var( --tint ) / 0.25 ); }
.action-tile.calm .action-count[b-rsurpj3i3p] { color: rgb( var( --tint ) / 0.4 ); }
.action-tile.calm .action-label[b-rsurpj3i3p] { color: rgb( var( --tint ) / 0.4 ); }

.action-tile.alarm[b-rsurpj3i3p]
{
    background-color: rgb( from var( --error ) r g b / 0.1 );
    border-color: rgb( from var( --error ) r g b / 0.4 );
    box-shadow: 0 0 0 0 rgb( from var( --error ) r g b / 0.45 );
    animation: alarm-pulse-b-rsurpj3i3p 2.4s ease-in-out infinite;
}

.action-tile.alarm:hover[b-rsurpj3i3p]
{
    background-color: rgb( from var( --error ) r g b / 0.16 );
    border-color: rgb( from var( --error ) r g b / 0.6 );
}

.action-tile.alarm .action-icon[b-rsurpj3i3p]
{
    color: color-mix( in srgb, var( --error ) 40%, var( --text-strong ) );
    text-shadow: 0 0 18px rgb( from var( --error ) r g b / 0.6 );
}

.action-tile.alarm .action-count[b-rsurpj3i3p]
{
    color: color-mix( in srgb, var( --error ) 20%, var( --text-strong ) );
}

@keyframes alarm-pulse-b-rsurpj3i3p
{
    0%   { box-shadow: 0 0 0 0    rgb( from var( --error ) r g b / 0.45 ); }
    60%  { box-shadow: 0 0 0 14px rgb( from var( --error ) r g b / 0 ); }
    100% { box-shadow: 0 0 0 0    rgb( from var( --error ) r g b / 0 ); }
}

.action-icon[b-rsurpj3i3p]
{
    font-size: 36px;
    margin-right: 1rem;
    line-height: 1;
}

.action-count[b-rsurpj3i3p]
{
    display: block;
    font-family: Sen, sans-serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0.35rem;
}

.action-label[b-rsurpj3i3p]
{
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.75;
}
/* /Sections/Admin/Dashboard/ChartCard.razor.rz.scp.css */
.chart-card[b-pta6vp7jl7]
{
    padding: 1.25rem;
    border-radius: 14px;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    height: 100%;
}

.chart-title[b-pta6vp7jl7]
{
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 0.2rem;
}

.chart-sub[b-pta6vp7jl7]
{
    font-size: 0.85rem;
    opacity: 0.55;
    margin-bottom: 0.75rem;
}
/* /Sections/Admin/Dashboard/LookupForm.razor.rz.scp.css */
.lookup[b-y1vvl359n4]
{
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.lookup:focus-within[b-y1vvl359n4]
{
    background-color: rgb( from var( --primary ) r g b / 0.08 );
    border-color: rgb( from var( --primary ) r g b / 0.45 );
}

.lookup-icon[b-y1vvl359n4]
{
    font-size: 22px;
    color: color-mix( in srgb, var( --primary ) 55%, var( --text-strong ) );
    flex-shrink: 0;
}

.lookup-input[b-y1vvl359n4]
{
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 0;
    outline: 0;
    color: inherit;
    font-size: 1rem;
    padding: 0.5rem 0;
    font-family: inherit;
}

.lookup-input[b-y1vvl359n4]::placeholder
{
    color: var( --input-placeholder );
}

.lookup-go[b-y1vvl359n4]
{
    padding: 0.5rem 1rem;
    border-radius: 8px;
    border: 1px solid var( --surface-line );
    background-color: var( --surface-bg-hover );
    color: inherit;
    font-family: inherit;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.lookup-go:hover:not(:disabled)[b-y1vvl359n4]
{
    background-color: rgb( from var( --primary ) r g b / 0.2 );
    border-color: rgb( from var( --primary ) r g b / 0.55 );
}

.lookup-go:disabled[b-y1vvl359n4]
{
    opacity: 0.3;
    cursor: not-allowed;
}
/* /Sections/Admin/Dashboard/PackageList.razor.rz.scp.css */
.package-list[b-mzfbejk692]
{
    padding: 1rem 1.25rem;
    border-radius: 14px;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    max-height: 540px;
    overflow-y: auto;
}

.package-list-title[b-mzfbejk692]
{
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.5;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var( --form-divider );
}

.package-list-loading[b-mzfbejk692]
{
    padding: 2rem 1rem;
    text-align: center;
    opacity: 0.5;
    font-size: 0.9rem;
}

.package-row[b-mzfbejk692]
{
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem;
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.package-row:hover[b-mzfbejk692]
{
    background-color: var( --surface-bg-hover );
    text-decoration: none;
}

.package-thumb[b-mzfbejk692]
{
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
    background-color: var( --surface-bg-hover );
}

.package-thumb.empty[b-mzfbejk692]
{
    background: linear-gradient( 135deg, var( --surface-bg-hover ), var( --surface-bg-fade ) );
}

.package-meta[b-mzfbejk692]
{
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.package-title[b-mzfbejk692]
{
    font-weight: 600;
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.package-ident[b-mzfbejk692]
{
    font-size: 0.75rem;
    opacity: 0.5;
    font-family: "JetBrains Mono", "SF Mono", Consolas, monospace;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.package-time[b-mzfbejk692]
{
    font-size: 0.75rem;
    opacity: 0.5;
    flex-shrink: 0;
    white-space: nowrap;
}
/* /Sections/Admin/Dashboard/RecentActivity.razor.rz.scp.css */
.activity[b-farz057wgw]
{
    padding: 0.5rem 0.75rem;
    border-radius: 14px;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    max-height: 540px;
    overflow: hidden auto;
    min-width: 0;
    box-sizing: border-box;
}

.activity-loading[b-farz057wgw],
.activity-empty[b-farz057wgw]
{
    padding: 2rem 1rem;
    text-align: center;
    opacity: 0.5;
    font-size: 0.9rem;
}

.activity-row[b-farz057wgw]
{
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    padding: 0.4rem 0.5rem;
    border-radius: 6px;
    font-size: 0.85rem;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    transition: background-color 0.1s ease;
}

.activity-row:hover[b-farz057wgw]
{
    background-color: var( --surface-bg );
}

.activity-row + .activity-row[b-farz057wgw]
{
    border-top: 1px solid var( --form-divider );
}

.activity-time[b-farz057wgw]
{
    flex-shrink: 0;
    font-size: 0.75rem;
    opacity: 0.45;
    font-variant-numeric: tabular-nums;
    min-width: 4.5rem;
}

.activity-user[b-farz057wgw]
{
    flex-shrink: 0;
    font-weight: 600;
    max-width: 8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.activity-user[b-farz057wgw]  .username
{
    color: color-mix( in srgb, var( --primary ) 55%, var( --text-strong ) );
    text-decoration: none;
}

.activity-user[b-farz057wgw]  .username:hover
{
    text-decoration: underline;
}

.activity-user.system[b-farz057wgw]
{
    color: rgb( var( --tint ) / 0.4 );
    font-style: italic;
    cursor: default;
}

.activity-category[b-farz057wgw]
{
    flex-shrink: 0;
    font-family: "JetBrains Mono", "SF Mono", Consolas, monospace;
    font-size: 0.7rem;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background-color: var( --surface-line );
    color: rgb( var( --tint ) / 0.6 );
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

.activity-private[b-farz057wgw]
{
    flex-shrink: 0;
    font-size: 0.75rem;
    opacity: 0.7;
}

.activity-message[b-farz057wgw]
{
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: rgb( var( --tint ) / 0.8 );
}

.activity-message a[b-farz057wgw]
{
    color: inherit;
    text-decoration: underline;
    text-decoration-color: rgb( var( --tint ) / 0.2 );
}

.activity-message a:hover[b-farz057wgw]
{
    text-decoration-color: rgb( var( --tint ) / 0.6 );
}
/* /Sections/Admin/Dashboard/RecentSteamReviews.razor.rz.scp.css */
.reviews[b-rzpg70joc2]
{
    padding: 0.5rem 0.5rem;
    border-radius: 14px;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    max-height: 540px;
    overflow: hidden auto;
    min-width: 0;
    box-sizing: border-box;
}

.reviews-loading[b-rzpg70joc2],
.reviews-empty[b-rzpg70joc2]
{
    padding: 2rem 1rem;
    text-align: center;
    opacity: 0.5;
    font-size: 0.9rem;
}

.review-row[b-rzpg70joc2]
{
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border-radius: 6px;
    font-size: 0.85rem;
    line-height: 1.3;
    overflow: hidden;
    min-width: 0;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.1s ease;
}

.review-row:hover[b-rzpg70joc2]
{
    background-color: var( --surface-bg );
}

.review-row + .review-row[b-rzpg70joc2]
{
    border-top: 1px solid var( --form-divider );
}

.review-vote[b-rzpg70joc2]
{
    flex: 0 0 auto;
    font-size: 0.85rem;
    width: 1.1rem;
    text-align: center;
}

.review-vote.down[b-rzpg70joc2]
{
    filter: grayscale( 0.3 );
    opacity: 0.85;
}

.review-time[b-rzpg70joc2]
{
    flex: 0 0 auto;
    font-size: 0.7rem;
    opacity: 0.45;
    font-variant-numeric: tabular-nums;
    min-width: 1.5rem;
}

.review-text[b-rzpg70joc2]
{
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgb( var( --tint ) / 0.8 );
}
/* /Sections/Admin/Dashboard/SteamReviewsTable.razor.rz.scp.css */
.red[b-w8mhe6gn5c]
{
    color: #e34c97;
}

.green[b-w8mhe6gn5c]
{
    color: #5ee55e;
}
/* /Sections/Admin/Dashboard/VideoStatTile.razor.rz.scp.css */
.video-stats[b-8owyedyhj2]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.reason[b-8owyedyhj2]
{
    color: rgb( var( --tint ) / 0.5 );
}
/* /Sections/Admin/Home.razor.rz.scp.css */
.dashboard[b-uuoe54yalk]
{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.dashboard section[b-uuoe54yalk]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.section-label[b-uuoe54yalk]
{
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgb( var( --tint ) / 0.4 );
    padding-left: 0.25rem;
}

.lookups[b-uuoe54yalk]
{
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
}

.split[b-uuoe54yalk]
{
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax( 280px, 1fr ) );
    gap: 1rem;
    margin: 1rem 0;
}
/* /Sections/Admin/Insights/ClientEvents/ClientEvents.razor.rz.scp.css */
.grid[b-i1brd2bumx]
{
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax( 380px, 1fr ) );
    gap: 0.5rem 2rem;
    margin-top: 0.5rem;
}

.grid > div[b-i1brd2bumx]
{
    min-width: 0;
}
/* /Sections/Admin/Insights/EventExplorer.razor.rz.scp.css */
.explorer-type[b-goumjljdlr]
{
	cursor: pointer;
	font-weight: 500;
}

.explorer-type:hover[b-goumjljdlr]
{
	text-decoration: underline;
}

.explorer-detailbar[b-goumjljdlr]
{
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 12px;
}

.explorer-detailbar[b-goumjljdlr]  .text-input
{
	flex: 1;
}

.entry-json[b-goumjljdlr]
{
	margin: 0;
	font-family: var(--font-mono, ui-monospace, monospace);
	font-size: 12px;
	line-height: 1.45;
	white-space: pre-wrap;
	word-break: break-word;
	max-height: 320px;
	overflow: auto;
}
/* /Sections/Admin/Insights/Exceptions/TopSignatures.razor.rz.scp.css */
.sig-type[b-neuvf2nnwh]
{
    color: var( --text-strong );
    font-size: 0.85rem;
    opacity: 0.7;
}

.sig-frame[b-neuvf2nnwh]
{
    font-family: monospace;
    font-size: 0.85rem;
    color: var( --text-strong );
    overflow-wrap: anywhere;
}
/* /Sections/Admin/Insights/KqlDataGrid.razor.rz.scp.css */
.kqldatagrid[b-fjm1ajf3qa]
{

}

.kqldatagrid .controls[b-fjm1ajf3qa]
{
    display:flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

.datefilter[b-fjm1ajf3qa]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.datefilter input[b-fjm1ajf3qa]
{
    width: auto;
}
/* /Sections/Admin/Insights/Web/Web.razor.rz.scp.css */
.insights-grid[b-43kp3h9typ]
{
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax( 380px, 1fr ) );
    gap: 0.5rem 2rem;
    margin-top: 0.5rem;
}

.insights-col[b-43kp3h9typ]
{
    min-width: 0;
}
/* /Sections/Admin/Items/ItemIcon.razor.rz.scp.css */
.itemicon[b-2uodknmk8v]
{
    display: flex;
    width: 140px;
    flex-direction: column;
    background-color: rgb( var( --scrim ) / 0.13 );
    padding: 5px;
    position: relative;
}

.tag[b-2uodknmk8v]
{
    background-color: var( --surface-line );
    padding: 3px 10px;
    border-radius: 6px;
    margin-right: 4px;
    margin-bottom: 4px;
    white-space: nowrap;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-decoration: none;
}

.itemicon:hover[b-2uodknmk8v]
{
    background-color: rgb( var( --scrim ) / 0.33 );
}

.itemicon .countdown[b-2uodknmk8v]
{
    position: absolute;
    top: 8px;
    right: 8px;
    background-color: rgb( var( --scrim ) / 0.75 );
    color: var( --text-strong );
    padding: 2px 7px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    pointer-events: none;
}

.itemicon img[b-2uodknmk8v]
{
    width: 100%;
}

.itemicon .meta[b-2uodknmk8v]
{
    display: flex;
    flex-direction: column;
    font-size: 11px;
}
/* /Sections/Admin/Items/ItemList.razor.rz.scp.css */
.item-list[b-clt8uxxuz0]
{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
/* /Sections/Admin/Items/Rewards.razor.rz.scp.css */
.chart-wrapper[b-c58vvwdhj3]
{
    margin: 12px 0 24px;
}

.totals[b-c58vvwdhj3]
{
    margin-left: 12px;
    opacity: 0.7;
    font-size: 13px;
}

.drop-item[b-c58vvwdhj3]
{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 2px 8px 2px 0;
    max-width: 200px;
}

.drop-item img[b-c58vvwdhj3]
{
    width: 22px;
    height: 22px;
    border-radius: 3px;
    flex-shrink: 0;
}

.drop-item span[b-c58vvwdhj3]
{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Sections/Admin/Items/UserName.razor.rz.scp.css */


.username[b-2kpm150960]
{
    display: inline-flex;
    gap: 5px;
}

.username img[b-2kpm150960]
{
    max-height: 14px;
}

.username > a[b-2kpm150960]
{
    display: inline-flex;
    gap: 5px;
}
/* /Sections/Admin/Items/WorkshopRules.razor.rz.scp.css */
.code[b-5gulv275nd]
{
    background-color: var( --code-bg );
    font-family: monospace;
    padding: 20px;
    border-radius: 5px;
}
/* /Sections/Admin/Maintenance.razor.rz.scp.css */
.maintenance[b-e2suc2336c]
{
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding-top: 1rem;
	padding-bottom: 3rem;
}

.maintenance section[b-e2suc2336c]
{
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.maintenance .section-label[b-e2suc2336c]
{
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgb( var( --tint ) / 0.4 );
	padding-left: 0.25rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.jobs[b-e2suc2336c]
{
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.job[b-e2suc2336c]
{
	display: flex;
	align-items: center;
	gap: 1rem;
	background: rgb( var( --tint ) / 0.04 );
	border: 1px solid rgb( var( --tint ) / 0.08 );
	border-radius: 0.5rem;
	padding: 0.85rem 1rem;
}

.job-info[b-e2suc2336c]
{
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.job-info h3[b-e2suc2336c]
{
	margin: 0;
	font-size: 0.95rem;
}

.job-info p[b-e2suc2336c]
{
	margin: 0;
	font-size: 0.8rem;
	color: rgb( var( --tint ) / 0.55 );
}

.console[b-e2suc2336c]
{
	background: #0b0d10;
	color: #d9e1e8;
	border: 1px solid rgb( var( --tint ) / 0.12 );
	border-radius: 0.5rem;
	padding: 0.75rem 1rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.78rem;
	line-height: 1.5;
	max-height: 480px;
	overflow-y: auto;
	white-space: pre-wrap;
	word-break: break-word;

	/* column-reverse + reversed iteration in the .razor keeps the latest
	   line pinned to the visual bottom while preserving scroll position
	   if the user scrolls up to read history. */
	display: flex;
	flex-direction: column-reverse;
}

.console-empty[b-e2suc2336c]
{
	color: rgb( 255 255 255 / 0.3 );
	font-style: italic;
}

.console-line[b-e2suc2336c]
{
	display: flex;
	gap: 0.75rem;
}

.console-line.is-error[b-e2suc2336c]
{
	color: #ff6b6b;
}

.console-time[b-e2suc2336c]
{
	color: rgb( 255 255 255 / 0.35 );
	flex-shrink: 0;
}

.console-text[b-e2suc2336c]
{
	flex: 1;
}
/* /Sections/Admin/Moderation/CommunityReports.razor.rz.scp.css */
.handled[b-i8aagyvq40]
{
	display: inline-flex;
	gap: 8px;
	opacity: 0.6;
	font-size: 0.85em;
	align-items: center;
}

.handled-action[b-i8aagyvq40]
{
	padding: 1px 6px;
	border-radius: 3px;
	background-color: var( --surface-bg-hover );
	text-transform: uppercase;
	font-size: 0.75em;
	letter-spacing: 0.05em;
}
/* /Sections/Admin/Moderation/DmcaNoticeReview.razor.rz.scp.css */
section[b-ljacogj17g]
{
	margin: 30px 0;
}

section h2[b-ljacogj17g]
{
	border-bottom: 1px solid var( --surface-line );
	padding-bottom: 6px;
}

dl.kv[b-ljacogj17g]
{
	display: grid;
	grid-template-columns: minmax( 120px, 220px ) 1fr;
	gap: 8px 16px;
	margin: 0;
}

@media (max-width: 600px)
{
	dl.kv[b-ljacogj17g]
	{
		grid-template-columns: 1fr;
		gap: 4px 0;
	}

	dl.kv dt[b-ljacogj17g]
	{
		margin-top: 6px;
	}
}

dl.kv dt[b-ljacogj17g]
{
	color: var( --text-muted );
	font-weight: normal;
}

dl.kv dd[b-ljacogj17g]
{
	margin: 0;
}

dl.kv dd pre[b-ljacogj17g]
{
	margin: 0;
	white-space: pre-wrap;
	background-color: var( --surface-bg );
	border: 1px solid var( --surface-line );
	padding: 8px 10px;
	border-radius: 4px;
}

ul.statements[b-ljacogj17g]
{
	list-style: none;
	padding: 0;
	margin: 0;
}

ul.statements li[b-ljacogj17g]
{
	margin: 4px 0;
	font-family: monospace;
}

.signature[b-ljacogj17g]
{
	margin-top: 16px;
	font-style: italic;
}

.status[b-ljacogj17g]
{
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.85em;
	font-weight: 500;
}

.status-pending[b-ljacogj17g]   { background-color: rgb( from var( --warning ) r g b / 0.2 ); color: var( --warning ); }
.status-actioned[b-ljacogj17g]  { background-color: rgb( from var( --success ) r g b / 0.15 ); color: var( --success ); }
.status-rejected[b-ljacogj17g]  { background-color: rgb( from var( --error )   r g b / 0.15 ); color: var( --error ); }
.status-withdrawn[b-ljacogj17g] { background-color: var( --surface-bg-hover );                 color: rgb( var( --tint ) / 0.55 ); }

.action-buttons[b-ljacogj17g]
{
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

.claimant-sub[b-ljacogj17g]
{
	font-size: 0.85em;
	opacity: 0.65;
}
/* /Sections/Admin/Moderation/ModerationQueue.razor.rz.scp.css */
.empty[b-vk86nh0erg]
{
	opacity: 0.6;
	padding: 32px 0;
	text-align: center;
}

.queue-list[b-vk86nh0erg]
{
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.queue-card[b-vk86nh0erg]
{
	border: 1px solid var( --surface-bg-hover );
	border-radius: 8px;
	background-color: rgb( var( --tint ) / 0.02 );
	overflow: hidden;
}

.queue-card-head[b-vk86nh0erg]
{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	background-color: rgb( var( --tint ) / 0.03 );
	border-bottom: 1px solid var( --form-divider );
	flex-wrap: wrap;
}

.queue-card-target .package-link[b-vk86nh0erg]
{
	display: inline-flex;
	gap: 8px;
	align-items: baseline;
	font-size: 1.1em;
}

.queue-card-target .ident[b-vk86nh0erg]
{
	opacity: 0.5;
	font-size: 0.85em;
}

.queue-card-meta[b-vk86nh0erg]
{
	display: flex;
	gap: 8px;
	align-items: center;
	margin-top: 4px;
	font-size: 0.85em;
	opacity: 0.7;
}

.queue-card-meta .report-count[b-vk86nh0erg]
{
	font-weight: 600;
	opacity: 1;
}

.queue-card-meta .dot[b-vk86nh0erg]
{
	opacity: 0.4;
}

.queue-card-body[b-vk86nh0erg]
{
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.queue-card-actions[b-vk86nh0erg]
{
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.report-list[b-vk86nh0erg]
{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
	padding-top: 12px;
	border-top: 1px solid var( --form-divider );
}

.report-item[b-vk86nh0erg]
{
	padding: 10px 12px;
	border-radius: 6px;
	background-color: rgb( var( --tint ) / 0.03 );
}

.report-item-head[b-vk86nh0erg]
{
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	font-size: 0.9em;
}

.report-comment[b-vk86nh0erg]
{
	margin-top: 6px;
	white-space: pre-wrap;
	opacity: 0.85;
}
/* /Sections/Admin/Moderation/ReportReasonTags.razor.rz.scp.css */
.reason-tags[b-srvrirxtgi]
{
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.reason-tag[b-srvrirxtgi]
{
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	background-color: var( --surface-bg-hover );
	font-size: 0.85em;
	white-space: nowrap;
}
/* /Sections/Admin/Monetization/PlayFund/Monthly.razor.rz.scp.css */


.Paid[b-x1qfszimne]
{
    color: var( --success );
}

.PaymentFailed[b-x1qfszimne]
{
    color: var( --error );
}
/* /Sections/Admin/Settings/PackageTypes/CategoryEditor.razor.rz.scp.css */
.editor[b-pr647t28b1]
{
    display: flex;
}

.children[b-pr647t28b1]
{
    margin-left: 1rem;
}

.category[b-pr647t28b1]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
    white-space: nowrap;
    user-select: none;
}

.action[b-pr647t28b1]
{
    cursor: pointer;
    font-size: 0.8rem;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    border-radius: 3px;
    padding: 3px 6px;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.12s ease;
}

.action:hover[b-pr647t28b1]
{
    background-color: var( --surface-bg-hover );
}

.action:hover[b-pr647t28b1]
{
    color: var( --text-strong );
}

.category:hover .action[b-pr647t28b1]
{
    opacity: 1;
}
/* /Sections/Admin/Settings/PackageTypes/PackageTypeTags.razor.rz.scp.css */
.tag[b-vwfyi54t44]
{
    background-color: var( --surface-line );
    padding: 3px 10px;
    border-radius: 6px;
    margin-right: 4px;
    margin-bottom: 4px;
    white-space: nowrap;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-decoration: none;
}
/* /Sections/Admin/Shaders/Shaders.razor.rz.scp.css */
.shaders[b-y31531g0x1] {
	display: flex;
	flex-direction: column;
	height: calc(100vh - 60px);
	color: var(--text, #e8e8e8);
}

/* ---- Header ---- */
.sh-header[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 14px 20px;
	border-bottom: 1px solid var(--border, #2a2a2a);
}

.sh-title[b-y31531g0x1] {
	font-size: 18px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 8px;
}

.sh-stats[b-y31531g0x1] {
	display: flex;
	gap: 20px;
	color: var(--text-dim, #8a8a8a);
	font-size: 14px;
}

.sh-stats b[b-y31531g0x1] {
	color: var(--text, #e8e8e8);
	font-weight: 600;
}

.sh-stat-outdated[b-y31531g0x1] {
	color: #e0a030;
}

.sh-stat-outdated b[b-y31531g0x1] {
	color: #e0a030;
}

.sh-maint[b-y31531g0x1] {
	position: relative;
	margin-left: auto;
}

.sh-maint-btn[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	color: var(--text, #e8e8e8);
	padding: 7px 12px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
}

.sh-maint-btn:disabled[b-y31531g0x1] { opacity: 0.5; cursor: default; }

.sh-maint-menu[b-y31531g0x1] {
	position: absolute;
	right: 0;
	top: calc(100% + 4px);
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.4);
	z-index: 20;
	min-width: 200px;
	overflow: hidden;
}

.sh-maint-menu button[b-y31531g0x1] {
	display: block;
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	color: var(--text, #e8e8e8);
	padding: 9px 14px;
	cursor: pointer;
	font-size: 13px;
}

.sh-maint-menu button:hover[b-y31531g0x1] { background: var(--bg-hover, #2a2a2a); }

.sh-banner[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 20px;
	font-size: 13px;
	border-bottom: 1px solid var(--border, #2a2a2a);
}

.sh-banner.done[b-y31531g0x1] { color: #4caf78; }

/* ---- Body / two columns ---- */
.sh-body[b-y31531g0x1] {
	display: flex;
	flex: 1;
	min-height: 0;
}

.sh-list[b-y31531g0x1] {
	width: 380px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	border-right: 1px solid var(--border, #2a2a2a);
	min-height: 0;
}

.sh-modes[b-y31531g0x1] {
	display: flex;
	padding: 12px 12px 0;
	gap: 8px;
}

.sh-modes button[b-y31531g0x1] {
	flex: 1;
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	color: var(--text-dim, #8a8a8a);
	padding: 8px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
}

.sh-modes button.active[b-y31531g0x1] {
	background: var(--accent-bg, #243044);
	border-color: var(--accent, #3b6ea5);
	color: var(--text, #e8e8e8);
}

.sh-search[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 12px;
	padding: 8px 10px;
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	border-radius: 6px;
	color: var(--text-dim, #8a8a8a);
}

.sh-search input[b-y31531g0x1] {
	flex: 1;
	background: none;
	border: none;
	outline: none;
	color: var(--text, #e8e8e8);
	font-size: 13px;
}

.sh-chips[b-y31531g0x1] {
	display: flex;
	gap: 6px;
	padding: 0 12px;
	flex-wrap: wrap;
}

.sh-chips button[b-y31531g0x1] {
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	color: var(--text-dim, #8a8a8a);
	padding: 4px 10px;
	border-radius: 14px;
	cursor: pointer;
	font-size: 12px;
}

.sh-chips button.active[b-y31531g0x1] {
	background: var(--accent-bg, #243044);
	border-color: var(--accent, #3b6ea5);
	color: var(--text, #e8e8e8);
}

.sh-count[b-y31531g0x1] {
	padding: 12px;
	color: var(--text-dim, #8a8a8a);
	font-size: 12px;
}

.sh-rows[b-y31531g0x1] {
	flex: 1;
	overflow-y: auto;
	min-height: 0;
}

.sh-row[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px 8px 16px;
	border-left: 3px solid transparent;
	cursor: pointer;
	position: relative;
}

.sh-row:hover[b-y31531g0x1] { background: var(--bg-hover, #1c1c1c); }

.sh-row.selected[b-y31531g0x1] {
	background: var(--bg-raised, #1c1c1c);
	border-left-color: var(--accent, #3b6ea5);
}

.sh-dot[b-y31531g0x1] {
	position: absolute;
	left: 5px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #e0a030;
}

.sh-row-main[b-y31531g0x1] { flex: 1; min-width: 0; }

.sh-row-path[b-y31531g0x1] {
	font-size: 13px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sh-row-pkg[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: var(--text-dim, #8a8a8a);
	margin-top: 2px;
}

.sh-row-swatch[b-y31531g0x1] {
	width: 9px;
	height: 9px;
	border-radius: 2px;
	background: #c87f3a;
	flex-shrink: 0;
}

.sh-row-size[b-y31531g0x1] {
	font-size: 12px;
	color: var(--text-dim, #8a8a8a);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* ---- Detail ---- */
.sh-detail[b-y31531g0x1] {
	flex: 1;
	overflow-y: auto;
	padding: 24px 28px;
	min-width: 0;
}

.sh-empty[b-y31531g0x1] {
	color: var(--text-dim, #8a8a8a);
	padding: 40px;
	text-align: center;
}

.sh-detail-head[b-y31531g0x1] {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.sh-detail-title[b-y31531g0x1] {
	font-family: var(--font-mono, monospace);
	font-size: 20px;
	font-weight: 600;
}

.sh-detail-sub[b-y31531g0x1] {
	color: var(--text-dim, #8a8a8a);
	font-size: 13px;
	margin-top: 4px;
}

.sh-download[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	color: var(--text, #e8e8e8);
	padding: 7px 12px;
	border-radius: 6px;
	font-size: 13px;
	white-space: nowrap;
}

.sh-pills[b-y31531g0x1] {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 18px 0;
}

.sh-pill[b-y31531g0x1] {
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	border-radius: 6px;
	padding: 5px 10px;
	font-size: 12px;
	color: var(--text-dim, #8a8a8a);
}

.sh-pill b[b-y31531g0x1] {
	color: var(--text, #e8e8e8);
	font-family: var(--font-mono, monospace);
	margin-left: 4px;
}

.sh-detail-cols[b-y31531g0x1] {
	display: flex;
	justify-content: space-between;
	gap: 32px;
	margin: 20px 0;
}

.sh-section-label[b-y31531g0x1] {
	font-size: 11px;
	letter-spacing: 0.05em;
	color: var(--text-dim, #8a8a8a);
	margin-bottom: 10px;
}

.sh-pkgchips[b-y31531g0x1] { display: flex; gap: 8px; flex-wrap: wrap; }

.sh-pkgchip[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--bg-raised, #1c1c1c);
	border: 1px solid var(--border, #2a2a2a);
	border-radius: 6px;
	padding: 5px 10px;
	font-size: 12px;
}

.sh-pkgchip.more[b-y31531g0x1] { color: var(--text-dim, #8a8a8a); }

.sh-includes[b-y31531g0x1] {
	text-align: right;
	font-family: var(--font-mono, monospace);
	font-size: 12px;
	flex-shrink: 0;
}

.sh-inc[b-y31531g0x1] { margin: 2px 0; color: #c98a56; }
.sh-inc .kw[b-y31531g0x1] { color: #6a9ec9; }

/* ---- Source ---- */
.sh-source[b-y31531g0x1] {
	margin-top: 12px;
	border: 1px solid var(--border, #2a2a2a);
	border-radius: 8px;
	overflow: hidden;
}

.sh-progtabs[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 4px;
	border-bottom: 1px solid var(--border, #2a2a2a);
	padding: 0 12px;
	background: var(--bg-raised, #161616);
}

.sh-progtabs button[b-y31531g0x1] {
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	color: var(--text-dim, #8a8a8a);
	padding: 12px 10px;
	cursor: pointer;
	font-size: 13px;
}

.sh-progtabs button.active[b-y31531g0x1] {
	color: var(--text, #e8e8e8);
	border-bottom-color: var(--accent, #3b6ea5);
}

.sh-progtabs .badge[b-y31531g0x1] {
	font-size: 10px;
	color: var(--text-dim, #6a6a6a);
	margin-left: 4px;
}

.sh-linecount[b-y31531g0x1] {
	margin-left: auto;
	color: var(--text-dim, #6a6a6a);
	font-size: 12px;
}

.sh-code[b-y31531g0x1] {
	display: flex;
	max-height: 60vh;
	overflow: auto;
	background: var(--bg-code, #0e0e0e);
}

.sh-gutter[b-y31531g0x1] {
	margin: 0;
	padding: 12px 10px;
	text-align: right;
	color: var(--text-dim, #555);
	font-family: var(--font-mono, monospace);
	font-size: 12px;
	line-height: 1.5;
	user-select: none;
	border-right: 1px solid var(--border, #222);
	white-space: pre;
}

.sh-codebody[b-y31531g0x1] {
	margin: 0;
	padding: 12px 14px;
	flex: 1;
	font-family: var(--font-mono, monospace);
	font-size: 12px;
	line-height: 1.5;
	white-space: pre;
	background: none;
}

.sh-nosource[b-y31531g0x1] {
	padding: 20px;
	color: var(--text-dim, #8a8a8a);
}

/* ---- Search source: empty state ---- */
.sh-search-empty[b-y31531g0x1] {
	text-align: center;
	padding: 60px 20px;
	color: var(--text-dim, #8a8a8a);
}

.sh-search-glyph[b-y31531g0x1] {
	font-family: var(--font-mono, monospace);
	font-size: 40px;
	color: var(--text-dim, #4a4a4a);
	margin-bottom: 20px;
	letter-spacing: 4px;
}

.sh-search-hint[b-y31531g0x1] { font-size: 14px; line-height: 1.7; }
.sh-search-hint b[b-y31531g0x1] { color: var(--text, #e8e8e8); }

.sh-search-try[b-y31531g0x1] { margin-top: 14px; font-size: 13px; }

.sh-try[b-y31531g0x1] {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-family: var(--font-mono, monospace);
	font-size: 13px;
	color: #c98a56;
}

.sh-try:hover[b-y31531g0x1] { text-decoration: underline; }

/* ---- Search source: result cards ---- */
.sh-cards[b-y31531g0x1] {
	flex: 1;
	overflow-y: auto;
	min-height: 0;
	padding: 0 12px 12px;
}

.sh-card[b-y31531g0x1] {
	border: 1px solid var(--border, #2a2a2a);
	border-radius: 8px;
	margin-bottom: 10px;
	overflow: hidden;
	cursor: pointer;
}

.sh-card:hover[b-y31531g0x1] { border-color: var(--accent, #3b6ea5); }
.sh-card.selected[b-y31531g0x1] { border-color: var(--accent, #3b6ea5); }

.sh-card-head[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	background: var(--bg-raised, #161616);
	border-bottom: 1px solid var(--border, #2a2a2a);
	font-size: 12px;
}

.sh-card-path[b-y31531g0x1] {
	color: #6a9ec9;
	font-family: var(--font-mono, monospace);
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sh-card-prog[b-y31531g0x1] {
	font-size: 10px;
	color: var(--text-dim, #8a8a8a);
	background: var(--bg, #111);
	border: 1px solid var(--border, #2a2a2a);
	border-radius: 4px;
	padding: 1px 5px;
	flex-shrink: 0;
}

.sh-card-pkg[b-y31531g0x1] {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-left: auto;
	color: var(--text-dim, #8a8a8a);
	white-space: nowrap;
	flex-shrink: 0;
}

.sh-card-snippet[b-y31531g0x1] {
	font-family: var(--font-mono, monospace);
	font-size: 12px;
	line-height: 1.6;
	padding: 6px 0;
	overflow: hidden;
}

.sh-snip[b-y31531g0x1] {
	display: flex;
	gap: 12px;
	padding: 0 10px;
	white-space: pre;
}

.sh-snip .ln[b-y31531g0x1] {
	color: var(--text-dim, #555);
	text-align: right;
	min-width: 22px;
	user-select: none;
	flex-shrink: 0;
}

.sh-snip .cd[b-y31531g0x1] {
	overflow: hidden;
	text-overflow: ellipsis;
}

.sh-card-snippet mark[b-y31531g0x1],
.sh-snip mark[b-y31531g0x1] {
	background: rgba(224, 176, 48, 0.28);
	color: #f0c860;
	border-radius: 2px;
}
/* /Sections/Admin/Support/SupportQueue.razor.rz.scp.css */
.filters[b-8bod8kyoy9]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 1rem 0;
}

.filters .chips[b-8bod8kyoy9]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.chip[b-8bod8kyoy9]
{
    padding: 5px 12px;
    border-radius: 14px;
    border: 1px solid var( --form-divider );
    background: transparent;
    color: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.chip:hover[b-8bod8kyoy9]
{
    background-color: var( --surface-bg );
}

.chip.active[b-8bod8kyoy9]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    border-color: var( --primary );
}

.target[b-8bod8kyoy9]
{
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 500;
}

.target img[b-8bod8kyoy9]
{
    width: 24px;
    height: 24px;
    border-radius: 4px;
    object-fit: cover;
}

.title[b-8bod8kyoy9]
{
    font-weight: 600;
    color: var( --text-strong );
    text-decoration: none;
}

.title:hover[b-8bod8kyoy9]
{
    text-decoration: underline;
}

.status[b-8bod8kyoy9]
{
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 3px 8px;
    border-radius: 10px;
    text-align: center;
    width: fit-content;
    text-decoration: none;
}

.status.status-awaitingmod[b-8bod8kyoy9]
{
    background-color: rgb( from var( --warning, #fbbf24 ) r g b / 0.18 );
    color: var( --warning, #fbbf24 );
}

.status.status-awaitinguser[b-8bod8kyoy9]
{
    background-color: rgb( var( --tint ) / 0.1 );
    color: rgb( var( --tint ) / 0.7 );
}

.status.status-solved[b-8bod8kyoy9]
{
    background-color: rgb( from var( --success, #4ade80 ) r g b / 0.15 );
    color: var( --success, #4ade80 );
}

.empty[b-8bod8kyoy9]
{
    padding: 2rem;
    text-align: center;
    opacity: 0.6;
}
/* /Sections/Admin/Tests/ButtonZoo.razor.rz.scp.css */
.zoo-row[b-ec5cje34qx]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 1.5rem;
}

.zoo-note[b-ec5cje34qx]
{
    opacity: 0.6;
    font-size: 0.85rem;
    max-width: 640px;
    margin: 0 0 0.5rem;
}

.zoo-note code[b-ec5cje34qx]
{
    background: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 3px;
    padding: 1px 5px;
    font-size: 0.8rem;
}
/* /Sections/Admin/Tests/DataGridZoo.razor.rz.scp.css */
.zoo-row[b-o5wlw4ua6u]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 1.5rem;
}

.zoo-note[b-o5wlw4ua6u]
{
    opacity: 0.6;
    font-size: 0.85rem;
    max-width: 720px;
    margin: 0 0 0.5rem;
}

.zoo-note code[b-o5wlw4ua6u]
{
    background: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 3px;
    padding: 1px 5px;
    font-size: 0.8rem;
}

h2[b-o5wlw4ua6u]
{
    margin-top: 2rem;
}
/* /Sections/Admin/Tests/ModelViewer.razor.rz.scp.css */
.manual-row[b-fe7db2wa91]
{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 30px;
}

.manual-url[b-fe7db2wa91]
{
	flex: 1;
}

.model-list[b-fe7db2wa91]
{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.model-row[b-fe7db2wa91]
{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 6px 0;
}

.model-row .name[b-fe7db2wa91]
{
	font-weight: 500;
}

.model-row .ident[b-fe7db2wa91]
{
	color: var(--c-text-light, #888);
	font-size: 0.85em;
}
/* /Sections/Admin/Tests/SoundPlayer.razor.rz.scp.css */
.manual-row[b-bf16vt5a10]
{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 30px;
}

.manual-url[b-bf16vt5a10]
{
	flex: 1;
}

.sound-list[b-bf16vt5a10]
{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sound-row[b-bf16vt5a10]
{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
}

.sound-row .name[b-bf16vt5a10]
{
	font-weight: 500;
}

.sound-row .ident[b-bf16vt5a10]
{
	color: var(--c-text-light, #888);
	font-size: 0.85em;
}
/* /Sections/Admin/Tests/TextureViewer.razor.rz.scp.css */
.manual-row[b-girpeyptke]
{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 30px;
}

.manual-url[b-girpeyptke]
{
	flex: 1;
}

.texture-list[b-girpeyptke]
{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.texture-row[b-girpeyptke]
{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 6px 0;
}

.texture-row .name[b-girpeyptke]
{
	font-weight: 500;
}

.texture-row .ident[b-girpeyptke]
{
	color: var(--c-text-light, #888);
	font-size: 0.85em;
}
/* /Sections/Admin/Users/Edit/Rewards.razor.rz.scp.css */
.reason[b-nh0fchwycu]
{
    font-family: var( --font-mono );
    font-size: 12px;
    opacity: 0.8;
    margin-left: 8px;
}

.desc[b-nh0fchwycu]
{
    font-size: 11px;
    opacity: 0.6;
    margin-top: 2px;
}

.facet-status.pass[b-nh0fchwycu]
{
    color: var( --success );
}

.facet-status.fail[b-nh0fchwycu]
{
    color: var( --error );
}

.status[b-nh0fchwycu]
{
    margin-top: 12px;
    padding: 8px 12px;
    background-color: var( --surface-bg );
    border-radius: 4px;
    font-family: var( --font-mono );
    font-size: 12px;
}

.drop-item[b-nh0fchwycu]
{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 12px;
}

.drop-item img[b-nh0fchwycu]
{
    width: 24px;
    height: 24px;
    border-radius: 3px;
    vertical-align: middle;
}
/* /Sections/Admin/Users/Edit/UserEditSidebar.razor.rz.scp.css */
.user-edit-header[b-i1kme2waci]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 16px;
    gap: 4px;
}

.user-edit-header .avatar[b-i1kme2waci]
{
    display: block;
}

.user-edit-header .avatar img[b-i1kme2waci]
{
    border-radius: 12px;
    width: 120px;
}

.user-edit-header .username[b-i1kme2waci]
{
    margin-top: 8px;
    font-weight: 600;
}

.user-edit-header .subtitle-row[b-i1kme2waci]
{
    font-size: 12px;
    opacity: 0.7;
}

.user-edit-header .online[b-i1kme2waci]
{
    color: var( --success );
}
/* /Sections/ApiDocs/ApiChanges.razor.rz.scp.css */
.release[b-eoijehk377]
{
    display: flex;
    gap: 2.5rem;
    margin-bottom: 4rem;
    align-items: flex-start;
}

.release .meta[b-eoijehk377]
{
    flex: 0 0 200px;
    text-align: right;
    position: sticky;
    top: calc( var( --site-header-height ) + 1.5rem );
}

.release .meta h3[b-eoijehk377]
{
    font-size: 1.25rem;
    font-weight: 600;
    color: var( --text-strong );
    margin: 0 0 0.25rem;
    line-height: 1.3;
}

.release .meta .time[b-eoijehk377]
{
    display: block;
    color: var( --text-color );
    opacity: 0.5;
    font-weight: 400;
    font-size: 0.85rem;
    margin: 0 0 0.75rem;
}

.release .meta .counts[b-eoijehk377]
{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    font-size: 0.8rem;
}

.release .meta .count[b-eoijehk377]
{
    padding: 2px 10px;
    border-radius: 100px;
    font-weight: 500;
}

.release .meta .count.added[b-eoijehk377]
{
    color: var( --success );
    background: rgb( from var( --success ) r g b / 0.1 );
    border: 1px solid rgb( from var( --success ) r g b / 0.25 );
}

.release .meta .count.removed[b-eoijehk377]
{
    color: var( --error );
    background: rgb( from var( --error ) r g b / 0.1 );
    border: 1px solid rgb( from var( --error ) r g b / 0.25 );
}

.release .contents[b-eoijehk377]
{
    flex: 1;
    min-width: 0;
}

.change-section[b-eoijehk377]
{
    margin-bottom: 1.75rem;
}

.change-section h4[b-eoijehk377]
{
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.95rem;
    margin: 0 0 0.5rem;
    font-weight: 600;
    color: var( --text-strong );
}

.change-section.added h4[b-eoijehk377]::before
{
    content: '+';
    color: var( --success );
    font-family: "Cascadia Code", "JetBrains Mono", monospace;
    font-weight: 700;
}

.change-section.removed h4[b-eoijehk377]::before
{
    content: '−';
    color: var( --error );
    font-family: "Cascadia Code", "JetBrains Mono", monospace;
    font-weight: 700;
}

.by-type[b-eoijehk377]
{
    margin: 0 0 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    background: var( --surface-bg );
    border: 1px solid var( --surface-line );
}

.by-type .declaring[b-eoijehk377]
{
    color: var( --code-typename );
    font-weight: 600;
    text-decoration: none;
    font-family: "Cascadia Code", "JetBrains Mono", monospace;
    font-size: 0.9rem;
}

.by-type .declaring:hover[b-eoijehk377]
{
    color: var( --text-strong );
}

ul.change-list[b-eoijehk377]
{
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: "Cascadia Code", "JetBrains Mono", monospace;
    font-size: 0.9rem;
}

ul.change-list.inline[b-eoijehk377]
{
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 4px;
}

ul.change-list li[b-eoijehk377]
{
    line-height: 1.6;
}

ul.change-list.added a[b-eoijehk377],
ul.change-list.added[b-eoijehk377]  a
{
    color: var( --success );
    text-decoration: none;
}

ul.change-list.added a:hover[b-eoijehk377],
ul.change-list.added[b-eoijehk377]  a:hover
{
    color: var( --text-strong );
}

ul.change-list.removed[b-eoijehk377],
ul.change-list.removed li[b-eoijehk377]
{
    color: var( --error );
    text-decoration: line-through;
    opacity: 0.7;
}

@media (max-width: 800px)
{
    .release[b-eoijehk377]
    {
        flex-direction: column;
        gap: 0.75rem;
    }

    .release .meta[b-eoijehk377]
    {
        flex: 0 0 auto;
        text-align: left;
        position: static;
    }

    .release .meta .counts[b-eoijehk377]
    {
        flex-direction: row;
        align-items: flex-start;
        flex-wrap: wrap;
    }
}
/* /Sections/ApiDocs/ApiDocsLayout.razor.rz.scp.css */
/*
 * Shared styles for everything under /api/*. The layout wraps the body in
 * <div class="api-page">, so every rule here is scoped under .api-page. Use
 * ::deep to reach descendants rendered by other components.
 */

.docs-site-layout[b-p5aiut9z6c]
{
	--site-header-height: 64px;
	--site-design-width: 1100px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

/*
 * Allow the body flex item to actually shrink below its content's intrinsic
 * width. Without this, long generic signatures / wide tables / pre blocks
 * push the page wider than the viewport and break the layout.
 */
.docs-site-layout[b-p5aiut9z6c]  .body,
.docs-site-layout[b-p5aiut9z6c]  .body-content,
.docs-site-layout[b-p5aiut9z6c]  .body-content > *
{
	min-width: 0;
}

/* Long signatures and code samples can't push the layout wider than viewport. */
.api-page[b-p5aiut9z6c]  pre,
.api-page[b-p5aiut9z6c]  .code
{
	max-width: 100%;
	overflow-x: auto;
}

.api-page[b-p5aiut9z6c]  pre
{
	white-space: pre;
}

.api-page[b-p5aiut9z6c]  table
{
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

.api-page[b-p5aiut9z6c]  table tbody,
.api-page[b-p5aiut9z6c]  table tr
{
	width: 100%;
}

/* Anchor offsets so jump-links don't sit under the sticky header. */
.api-page[b-p5aiut9z6c]  h2[id],
.api-page[b-p5aiut9z6c]  h3[id]
{
	scroll-margin-top: calc( var( --site-header-height ) + 1rem );
}

/* -------------------------------------------------------------------------
   Type row — used on GroupList and search results.
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  .type-row
{
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	padding: 8px 12px;
	margin: 0 -12px;
	border-radius: 6px;
	min-width: 0;
	transition: background-color 0.15s ease;
}

.api-page[b-p5aiut9z6c]  .type-row:hover
{
	background-color: var( --surface-bg );
}

.api-page[b-p5aiut9z6c]  .type-row > .name
{
	flex-shrink: 0;
	color: var( --primary );
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	white-space: nowrap;
	font-weight: 500;
}

.api-page[b-p5aiut9z6c]  .type-row > .name:hover
{
	color: var( --text-strong );
}

.api-page[b-p5aiut9z6c]  .type-row > .summary
{
	color: var( --text-color );
	opacity: 0.6;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.9rem;
}

/* -------------------------------------------------------------------------
   Member list — on the TypePage. One full-width row per member with
   an inline mini-signature, returnish type chip on the right, and the
   summary as a secondary line.
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  .member-list
{
	display: flex;
	flex-direction: column;
	margin: 0 -0.75rem;
}

.api-page[b-p5aiut9z6c]  .member-list .member
{
	display: grid;
	grid-template-columns: minmax( 0, auto ) 1fr auto;
	grid-template-areas:
		"ident . aside"
		"doc   doc doc";
	column-gap: 1.25rem;
	row-gap: 0.25rem;
	padding: 0.85rem 0.9rem;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.15s ease;
	position: relative;
}

.api-page[b-p5aiut9z6c]  .member-list .member + .member
{
	border-top: 1px solid var( --surface-line );
	border-radius: 0;
}

.api-page[b-p5aiut9z6c]  .member-list .member:hover
{
	background-color: var( --surface-bg );
	border-radius: 8px;
}

.api-page[b-p5aiut9z6c]  .member-list .member:hover + .member
{
	border-top-color: transparent;
}

.api-page[b-p5aiut9z6c]  .member-list .member:hover .name
{
	color: var( --text-strong );
}

.api-page[b-p5aiut9z6c]  .member-list .ident
{
	grid-area: ident;
	font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
	font-size: 1.15rem;
	line-height: 1.4;
	min-width: 0;
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
}

.api-page[b-p5aiut9z6c]  .member-list .ident .name
{
	color: var( --primary );
	font-weight: 600;
	transition: color 0.15s ease;
}

.api-page[b-p5aiut9z6c]  .member-list .ident .sig-parens
{
	color: var( --code-bracket );
}

.api-page[b-p5aiut9z6c]  .member-list .ident .sig-param
{
	color: var( --code-variable );
}

.api-page[b-p5aiut9z6c]  .member-list .ident .sig-sep
{
	color: var( --code-text );
	opacity: 0.7;
}

.api-page[b-p5aiut9z6c]  .member-list .aside
{
	grid-area: aside;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	white-space: nowrap;
	align-self: baseline;
}

.api-page[b-p5aiut9z6c]  .member-list .aside .rtype
{
	color: var( --code-typename );
	font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
	font-size: 1rem;
	opacity: 0.75;
}

.api-page[b-p5aiut9z6c]  .member-list .aside .rtype:empty
{
	display: none;
}

.api-page[b-p5aiut9z6c]  .member-list .doc
{
	grid-area: doc;
	color: var( --text-color );
	opacity: 0.7;
	font-size: 1rem;
	line-height: 1.55;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-top: 2px;
}

.api-page[b-p5aiut9z6c]  .member-list .doc b,
.api-page[b-p5aiut9z6c]  .member-list .doc strong
{
	color: var( --text-strong );
	opacity: 1;
	font-weight: 600;
}

@media (max-width: 700px)
{
	.api-page[b-p5aiut9z6c]  .member-list .member
	{
		grid-template-columns: 1fr;
		grid-template-areas:
			"ident"
			"aside"
			"doc";
	}

	.api-page[b-p5aiut9z6c]  .member-list .aside
	{
		justify-content: flex-start;
	}
}

/* -------------------------------------------------------------------------
   Chips — obsolete, static, kind, etc.
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  .chip
{
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	font-size: 0.8rem;
	line-height: 1.5;
	border-radius: 100px;
	background-color: rgb( var( --tint ) / 0.06 );
	color: var( --text-color );
	text-transform: lowercase;
	letter-spacing: 0.04em;
	font-weight: 500;
}

.api-page[b-p5aiut9z6c]  .chip.obsolete
{
	background-color: rgb( from var( --error ) r g b / 0.18 );
	color: #f5a3a3;
}

.api-page[b-p5aiut9z6c]  .chip.kind-class     { color: var( --code-typename );  background-color: rgb( from var( --code-typename ) r g b / 0.12 ); }
.api-page[b-p5aiut9z6c]  .chip.kind-struct    { color: var( --code-bracket );   background-color: rgb( from var( --code-bracket  ) r g b / 0.12 ); }
.api-page[b-p5aiut9z6c]  .chip.kind-enum      { color: var( --code-keyword );   background-color: rgb( from var( --code-keyword  ) r g b / 0.12 ); }
.api-page[b-p5aiut9z6c]  .chip.kind-interface { color: var( --code-namespace ); background-color: rgb( from var( --code-namespace) r g b / 0.12 ); }
.api-page[b-p5aiut9z6c]  .chip.kind-attribute { color: #d7c069; background-color: rgb( 215 192 105 / 0.12 ); }

/* -------------------------------------------------------------------------
   Signature block — used on MemberPage.
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  .signature
{
	font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
	font-size: 1.15rem;
	background: linear-gradient( 180deg, rgb( var( --scrim ) / 0.35 ), rgb( var( --scrim ) / 0.2 ) );
	border: 1px solid var( --surface-line );
	border-radius: 10px;
	padding: 1.1rem 1.25rem;
	margin: 1.25rem 0 1.75rem;
	color: var( --code-text );
	overflow-x: auto;
	line-height: 1.5;
}

.api-page[b-p5aiut9z6c]  .signature .keyword       { color: var( --code-keyword ); }
.api-page[b-p5aiut9z6c]  .signature .typename      { color: var( --code-typename ); }
.api-page[b-p5aiut9z6c]  .signature .bracket       { color: var( --code-bracket ); }
.api-page[b-p5aiut9z6c]  .signature .membername    { color: var( --text-strong ); font-weight: 600; }
.api-page[b-p5aiut9z6c]  .signature .variable-name { color: var( --code-variable ); }
.api-page[b-p5aiut9z6c]  .signature .punctuation   { color: var( --code-text ); }
.api-page[b-p5aiut9z6c]  .signature a              { color: inherit; text-decoration: none; }
.api-page[b-p5aiut9z6c]  .signature a:hover .typename { filter: brightness( 1.25 ); }

/* -------------------------------------------------------------------------
   Member index used on TypePage — two-column grid of rows.
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  .member-index
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px 1.5rem;
	margin-bottom: 0.5rem;
}

@media (max-width: 800px)
{
	.api-page[b-p5aiut9z6c]  .member-index
	{
		grid-template-columns: 1fr;
	}
}

/* Body-section headings (Remarks / Parameters / Returns / Examples …). */
.api-page[b-p5aiut9z6c]  .container > h3,
.api-page[b-p5aiut9z6c]  .container > section > h3
{
	font-size: 1.1rem;
	color: var( --text-strong );
	font-weight: 600;
	margin: 2rem 0 0.6rem;
}

.api-page[b-p5aiut9z6c]  .container > h3:first-child
{
	margin-top: 0;
}

.api-page[b-p5aiut9z6c]  .member-section
{
	margin-bottom: 3rem;
}

.api-page[b-p5aiut9z6c]  .member-section > h3
{
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 1.3rem;
	color: var( --text-strong );
	margin: 2rem 0 1rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	border-bottom: 1px solid var( --surface-line );
	padding-bottom: 0.6rem;
}

.api-page[b-p5aiut9z6c]  .member-section > h3 > i
{
	font-size: 1.5rem;
	color: var( --primary );
	opacity: 0.85;
	line-height: 1;
}

.api-page[b-p5aiut9z6c]  .member-section > h3 > .count
{
	font-size: 0.8rem;
	font-weight: 500;
	color: var( --text-color );
	opacity: 0.55;
	background: var( --surface-bg );
	border: 1px solid var( --surface-line );
	border-radius: 100px;
	padding: 2px 10px;
	margin-left: auto;
}

/* -------------------------------------------------------------------------
   Tag/meta strip under PageHeader
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  .tags
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
	margin-top: 0.75rem;
}

/* -------------------------------------------------------------------------
   Inheritance tree
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  .inheritance
{
	font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
	font-size: 0.9rem;
}

.api-page[b-p5aiut9z6c]  .inheritance .entry
{
	display: flex;
	flex-direction: column;
	position: relative;
}

.api-page[b-p5aiut9z6c]  .inheritance .entry a
{
	color: var( --primary );
	padding: 3px 0;
	text-decoration: none;
	transition: color 0.15s ease;
}

.api-page[b-p5aiut9z6c]  .inheritance .entry a.active
{
	color: var( --text-strong );
	pointer-events: none;
	font-weight: 600;
}

.api-page[b-p5aiut9z6c]  .inheritance .entry a:hover
{
	color: var( --text-strong );
}

.api-page[b-p5aiut9z6c]  .inheritance .children
{
	padding-left: 1.5rem;
	position: relative;
}

.api-page[b-p5aiut9z6c]  .inheritance .children:before
{
	content: '';
	position: absolute;
	left: 8px;
	top: 0;
	bottom: 12px;
	width: 1px;
	border-left: 1px solid var( --surface-line );
}

.api-page[b-p5aiut9z6c]  .inheritance .children .entry:before
{
	content: '';
	position: absolute;
	top: 11px;
	left: -16px;
	width: 12px;
	height: 1px;
	border-bottom: 1px solid var( --surface-line );
}

/* -------------------------------------------------------------------------
   Parameter / Returns tables — inherit global <table> style; just colour
   the code-ish cells.
   ------------------------------------------------------------------------- */

.api-page[b-p5aiut9z6c]  table th .keyword,
.api-page[b-p5aiut9z6c]  table td .keyword
{
	color: var( --code-keyword );
	font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
}

.api-page[b-p5aiut9z6c]  table td.param-name,
.api-page[b-p5aiut9z6c]  table td.param-type
{
	font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
	white-space: nowrap;
}

.api-page[b-p5aiut9z6c]  table td.param-name
{
	color: var( --code-variable );
}

.api-page[b-p5aiut9z6c]  table td.param-default
{
	color: var( --text-color );
	opacity: 0.6;
	font-style: italic;
}
/* /Sections/ApiDocs/ApiHome.razor.rz.scp.css */
.section-title[b-3vpia7dnim]
{
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.3rem;
    font-weight: 600;
    color: var( --text-strong );
    margin: 3rem 0 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var( --surface-line );
}

.section-title > i[b-3vpia7dnim]
{
    font-size: 1.5rem;
    color: var( --primary );
    opacity: 0.85;
}

.catchall-grid[b-3vpia7dnim]
{
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax( 200px, 1fr ) );
    gap: 0.5rem;
    margin-bottom: 2rem;
}

.catchall[b-3vpia7dnim]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.7rem 1rem;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    border-radius: 8px;
    color: var( --text-color );
    text-decoration: none;
    font-size: 0.95rem;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.catchall:hover[b-3vpia7dnim]
{
    border-color: var( --surface-line-hover );
    background-color: var( --surface-bg-hover );
    color: var( --text-strong );
}

.catchall .catchall-count[b-3vpia7dnim]
{
    font-size: 0.75rem;
    color: var( --text-color );
    opacity: 0.5;
    background: rgb( var( --scrim ) / 0.25 );
    border-radius: 100px;
    padding: 1px 8px;
    flex-shrink: 0;
}
/* /Sections/ApiDocs/Components/ApiSidebar.razor.rz.scp.css */
.back-link[b-0arxsiotym]
{
    margin: 0 4px 0.5rem;
}

.back-link a[b-0arxsiotym]
{
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: var( --text-color );
    opacity: 0.6;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    padding: 4px 0;
}

.back-link a:hover[b-0arxsiotym]
{
    opacity: 1;
    color: var( --text-strong );
}

.back-link a[b-0arxsiotym]  i
{
    font-size: 1rem;
    margin-left: -4px;
}

.type-header[b-0arxsiotym]
{
    padding: 0 4px 1rem;
    border-bottom: 1px solid var( --surface-line );
    margin-bottom: 1rem;
}

.type-kind[b-0arxsiotym]
{
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var( --primary );
    opacity: 0.8;
}

.type-name[b-0arxsiotym]
{
    font-size: 1.2rem;
    font-weight: 600;
    color: var( --text-strong );
    line-height: 1.2;
    word-break: break-word;
}
/* /Sections/ApiDocs/Components/InheritanceTree.razor.rz.scp.css */
/*
 * Shared inheritance tree styles live in ApiDocsLayout.razor.css
 * (under .api-page .inheritance) so they can be reused.
 */
/* /Sections/ApiDocs/Components/TypeName.razor.rz.scp.css */

.typename[b-44g4l3moov]
{
    color: var( --code-typename );
}

.generic-parameters .bracket[b-44g4l3moov]
{
    color: var( --code-bracket );
}

.generic-parameters .punctuation[b-44g4l3moov]
{
    color: var( --code-text );
}

.typename.keyword[b-44g4l3moov]
{
    color: var( --code-keyword ) !important;
}
/* /Sections/ApiDocs/Components/TypeSidebarLink.razor.rz.scp.css */
/*
 * Sidebar member link — the styling comes from VerticalMenu's .btn rules,
 * so this file holds only what's unique to the API context.
 */
/* /Sections/ApiDocs/GroupList.razor.rz.scp.css */
/*
 * Page-specific styles for GroupList.
 * Shared row/chip/filter rules live in ApiDocsLayout.razor.css.
 */
/* /Sections/ApiDocs/MemberPage.razor.rz.scp.css */
/* Overload picker — segmented control */

.overload-picker[b-ut2mx4po9q]
{
    display: inline-flex;
    align-items: stretch;
    background: rgb( var( --scrim ) / 0.2 );
    border: 1px solid var( --surface-line );
    border-radius: 8px;
    padding: 3px;
    margin: 0 0 1rem;
    gap: 2px;
}

.overload-label[b-ut2mx4po9q]
{
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.45;
    padding: 0 12px;
    align-self: center;
    border-right: 1px solid var( --surface-line );
    margin-right: 4px;
}

.overload-tab[b-ut2mx4po9q]
{
    background: transparent;
    border: none;
    color: var( --text-color );
    padding: 4px 12px;
    font-size: 0.85rem;
    border-radius: 5px;
    cursor: pointer;
    min-width: 32px;
    font-weight: 500;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.overload-tab:hover[b-ut2mx4po9q]
{
    color: var( --text-strong );
}

.overload-tab.active[b-ut2mx4po9q]
{
    background: var( --primary );
    color: var( --primary-alt );
    box-shadow: var( --shadow-sm );
}

/* Obsolete banner — subtle, not alarming */

.obsolete-banner[b-ut2mx4po9q]
{
    display: flex;
    gap: 0.75rem;
    background: linear-gradient( 90deg, rgb( from var( --error ) r g b / 0.18 ) 0%, rgb( from var( --error ) r g b / 0.04 ) 100% );
    border: 1px solid rgb( from var( --error ) r g b / 0.3 );
    border-radius: 8px;
    padding: 12px 16px;
    margin: 1rem 0 1.5rem;
    color: #f5b8b8;
    font-size: 0.9rem;
    line-height: 1.5;
}

.obsolete-banner strong[b-ut2mx4po9q]
{
    color: #ff8a8a;
    font-weight: 600;
}

/* Declared-in footer */

.member-footer[b-ut2mx4po9q]
{
    margin-top: 3rem;
    padding-top: 1.25rem;
    border-top: 1px solid var( --surface-line );
    font-size: 0.85rem;
    color: var( --text-color );
    opacity: 0.7;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: center;
}

.member-footer a[b-ut2mx4po9q]
{
    color: var( --primary );
    text-decoration: none;
    font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
}

.member-footer a:hover[b-ut2mx4po9q]
{
    color: var( --text-strong );
}

.member-footer code[b-ut2mx4po9q]
{
    background: rgb( var( --scrim ) / 0.25 );
    padding: 1px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    color: var( --code-text );
}
/* /Sections/ApiDocs/SchemaDownload.razor.rz.scp.css */
.entries .entry a[b-375fhq2vjk]
{
    color: var( --accent );
}

.entries .entry a:hover[b-375fhq2vjk]
{
    filter: brightness( 1.3 );
}
/* /Sections/ApiDocs/SearchResults.razor.rz.scp.css */
/*
 * Search results — page-specific bits. List rows use the shared
 * .member-list / .member pattern from ApiDocsLayout.razor.css.
 */

.filter-tabs[b-tprr0dj6ef]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 2rem;
}

.filter-tab[b-tprr0dj6ef]
{
    padding: 5px 12px;
    border-radius: 6px;
    background-color: var( --surface-bg );
    border: 1px solid var( --surface-line );
    color: var( --text-color );
    font-size: 0.9rem;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.filter-tab:hover[b-tprr0dj6ef]
{
    background-color: var( --surface-bg-hover );
    border-color: var( --surface-line-hover );
    color: var( --text-strong );
}

.filter-tab.active[b-tprr0dj6ef]
{
    background-color: var( --primary );
    border-color: var( --primary );
    color: var( --primary-alt );
}

[b-tprr0dj6ef] mark
{
    background-color: rgb( from var( --primary ) r g b / 0.35 );
    color: var( --text-strong );
    padding: 0 2px;
    border-radius: 2px;
}

[b-tprr0dj6ef] .declaring
{
    color: var( --text-color );
    opacity: 0.55;
    font-weight: 500;
}

[b-tprr0dj6ef] .declaring .sep
{
    opacity: 0.6;
    margin: 0 1px;
}
/* /Sections/ApiDocs/SeeLink.razor.rz.scp.css */
.see a[b-v6e436pbeq]
{
    color: var( --accent );
}

.see a:hover[b-v6e436pbeq]
{
    color: var( --text-strong );
}
/* /Sections/ApiDocs/TypePage.razor.rz.scp.css */
/*
 * TypePage — page-specific decoration. Shared rules (chips, member rows,
 * inheritance, signature, etc.) live in ApiDocsLayout.razor.css.
 */

.type-detail[b-rwkus3mw96]
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 0.9rem;
    margin-top: 0.5rem;
}

.namespace-trail[b-rwkus3mw96]
{
    font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
    color: var( --text-color );
    opacity: 0.55;
    font-size: 0.85rem;
}

.namespace-trail[b-rwkus3mw96]  .namespace
{
    color: var( --code-namespace );
    opacity: 0.85;
}

.namespace-trail[b-rwkus3mw96]  .namespace-dot
{
    opacity: 0.4;
    margin: 0 1px;
}

.base-type[b-rwkus3mw96]
{
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
}

.base-type[b-rwkus3mw96]  .icon
{
    font-size: 1.1rem;
    opacity: 0.5;
}

.base-type[b-rwkus3mw96]  .muted
{
    opacity: 0.5;
    font-size: 0.85rem;
}

.muted[b-rwkus3mw96]
{
    color: var( --text-color );
    opacity: 0.4;
    font-weight: 400;
    font-size: 0.85em;
    margin-left: 0.25rem;
}

.assembly-tag[b-rwkus3mw96]
{
    font-size: 0.7rem;
    opacity: 0.5;
}

.assembly-tag[b-rwkus3mw96]  code
{
    background: rgb( var( --scrim ) / 0.25 );
    padding: 2px 8px;
    border-radius: 100px;
    color: var( --code-text );
    font-family: "Cascadia Code", "JetBrains Mono", "Consolas", monospace;
}
/* /Sections/Code/CodeSearch.razor.rz.scp.css */
/* Full-width header band (rendered into the site-header section, above the sidebar+results rail). */
.code-search-header[b-669l9t820g]
{
	background-color: var( --site-header-color );
	padding: 2.5rem 0 2rem;
	text-align: center;
}

.code-search-header h1[b-669l9t820g]
{
	margin: 0;
	font-size: 2rem;
	font-weight: 700;
	color: var( --text-strong );
}

.code-search-header .sub[b-669l9t820g]
{
	margin: 4px 0 0;
	opacity: 0.6;
}

.code-search-box[b-669l9t820g]
{
	width: 100%;
	max-width: 640px;
	margin: 1.25rem auto 0;
}

.code-search-private[b-669l9t820g]
{
	display: flex;
	justify-content: center;
	margin-top: 0.85rem;
	font-size: 0.85rem;
	opacity: 0.75;
}

.code-search-status[b-669l9t820g]
{
	margin: 0 0 16px;
	opacity: 0.6;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.code-result[b-669l9t820g]
{
	border: 1px solid var( --border, rgba( 255, 255, 255, 0.1 ) );
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 14px;
	background: rgb( from var( --text-muted ) r g b / 0.03 );
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.code-result:hover[b-669l9t820g]
{
	border-color: rgb( from var( --primary ) r g b / 0.5 );
}

.code-result-head[b-669l9t820g]
{
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 10px;
}

.code-result-fileicon[b-669l9t820g]  .icon
{
	font-size: 1.1rem;
	opacity: 0.45;
}

.code-result-ident[b-669l9t820g]
{
	font-weight: 600;
}

.code-result-path[b-669l9t820g]
{
	font-size: 0.85em;
	opacity: 0.6;
	color: inherit;
	text-decoration: none;
}

.code-result-path:hover[b-669l9t820g]
{
	opacity: 1;
	text-decoration: underline;
}

.code-result-type[b-669l9t820g]
{
	margin-left: auto;
	font-size: 0.7em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 1px 6px;
	border-radius: 4px;
	background: rgb( from var( --text-muted ) r g b / 0.12 );
	color: var( --text-muted );
}

/* When private is also shown the type pill shouldn't keep pushing it to the edge. */
.code-result-type + .code-result-private[b-669l9t820g]
{
	margin-left: 8px;
}

.code-result-private[b-669l9t820g]
{
	margin-left: auto;
	font-size: 0.7em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #e0a030;
}

/*
	The snippet is rendered as a windowed list of lines (GitHub-style): only the lines around each
	match are shown, with collapsed gaps between them. Token colours come from the global hljs
	theme (Styles/hljs.css); only the line layout is styled here. Everything inside is injected as
	raw markup (no scope id), so it needs ::deep.
*/
.code-result-snippet[b-669l9t820g]
{
	margin: 0;
	padding: 6px 0;
	max-height: 480px;
	overflow: auto;
	font-family: var( --font-mono, ui-monospace, monospace );
	font-size: 0.85em;
	line-height: 1.5;
	background: #1e1e1e;
	border-radius: 4px;
}

.code-result-snippet code[b-669l9t820g]
{
	display: block;
	padding: 0;
	background: transparent;
	font: inherit;
}

.code-result-snippet[b-669l9t820g]  .code-line
{
	display: flex;
	white-space: pre;
}

.code-result-snippet[b-669l9t820g]  .code-lineno
{
	flex: 0 0 auto;
	width: 3.5em;
	padding-right: 1em;
	text-align: right;
	color: #6e7681;
	user-select: none;
}

.code-result-snippet[b-669l9t820g]  .code-linetext
{
	flex: 1 1 auto;
	white-space: pre;
}

/* Collapsed-gap separator between non-contiguous windows. */
.code-result-snippet[b-669l9t820g]  .code-gap
{
	padding: 2px 0 2px 4.5em;
	color: #6e7681;
	user-select: none;
}

/* Search-match highlight - injected as raw markup, so it needs ::deep too. */
.code-result-snippet[b-669l9t820g]  mark
{
	background: rgba( 255, 220, 80, 0.35 );
	color: inherit;
	border-radius: 2px;
	padding: 0 1px;
}
/* /Sections/Contests/Category/CategoryCard.razor.rz.scp.css */
.category-card[b-e0zn6cgoek]
{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 2rem;
    width: 180px;
}

.badge[b-e0zn6cgoek]
{
    border: 1px solid #636d7e55;
    box-shadow: 2px 2px 16px rgb( var( --scrim ) / 0.33 );
    border-radius: 0.5rem;
    padding: 1rem;
    background-color: #171a25;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1rem;
    min-height: 150px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    box-sizing: border-box;
    width: 180px;
}

.badge .winner-title[b-e0zn6cgoek]
{
    background-color: #1d2028;
    border: 1px solid #636d7e;
    font-size: 0.7rem;
    white-space: nowrap;
    position: absolute;
    top: 0px;
    transform: translateY( -50% );
    padding: 0.2rem 0.5rem;
    border-radius: 5px;
    color: var( --text-strong );
    font-weight: bold;
}

.badge .link[b-e0zn6cgoek]
{
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

.category-icon[b-e0zn6cgoek]
{
    font-size: 4rem;
    text-align: center;
}

.edit[b-e0zn6cgoek]
{
    position: absolute;
    top: 0;
    right: 0;
    background-color: var( --primary );
    color: var( --primary-alt );
    padding: 0.2rem 0.5rem;
    border-radius: 0 0 0 0.5rem;
    cursor: pointer;
    font-size: 0.7rem;
    display: none;
}

.category-card:hover .edit[b-e0zn6cgoek]
{
    display: flex;
}

.prize[b-e0zn6cgoek]
{
    font-weight: bold;
    font-size: 0.9rem;
}

.category-title[b-e0zn6cgoek]
{
    color: var( --text-strong );
    font-weight: bold;
    font-size: 1rem;
}

.winner-prize[b-e0zn6cgoek]
{
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    background-color: color-mix( in srgb, var( --success ) 30%, transparent );
    color: var( --success );
    font-size: 0.7rem;
    padding: 0.6rem 0.4rem;
    border-radius: 5px;
    font-weight: bold;
    line-height: 0;
}

.description[b-e0zn6cgoek]
{
    text-align: center;
    font-size: 0.8rem;
    opacity: 0.8;
}
/* /Sections/Contests/ContestList.razor.rz.scp.css */

h1[b-sfo1tssf65]
{
    font-size: 3rem;
    margin-top: 0;
}
/* /Sections/Contests/ContestNews.razor.rz.scp.css */

h1[b-llug3pwo2v]
{
    font-size: 3rem;
    margin-top: 0;
}


.news-list[b-llug3pwo2v]
{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
/* /Sections/Contests/ContestPackageList.razor.rz.scp.css */

.packagerows[b-4etwuo4rku]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
/* /Sections/Contests/ContestResults.razor.rz.scp.css */

h1[b-jp642pyuez]
{
    font-size: 3rem;
    margin-top: 0;
}
/* /Sections/Contests/ContestStats.razor.rz.scp.css */

h1[b-08zpdaxift]
{
    font-size: 3rem;
    margin-top: 0;
}
/* /Sections/Contests/ContestView.razor.rz.scp.css */

h1[b-5bzvwp5zxb]
{
    font-size: 3rem;
    margin-top: 0;
}
/* /Sections/Contests/PackageCardRow.razor.rz.scp.css */
.packagecardrow[b-l9ovm6v4x8]
{
    display: flex;
    gap: 1rem;
}

.image[b-l9ovm6v4x8]
{
    height: 64px;
    flex-shrink: 0;
    position: relative;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 16/9;
}

.image img[b-l9ovm6v4x8], .image video[b-l9ovm6v4x8], .image a[b-l9ovm6v4x8]
{
    object-fit: cover;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

    border-radius: 5px;
}

.image video[b-l9ovm6v4x8]
{
    z-index: 1000;
}

.content[b-l9ovm6v4x8]
{
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    white-space: nowrap;
    overflow: hidden;
    padding: 0.2rem 0;
}

.content .title a[b-l9ovm6v4x8]
{
    color: var( --text-strong );
    font-weight: bold;
}

.content .meta[b-l9ovm6v4x8]
{
    display: flex;
    gap: 0.5rem;
    font-size: 0.7rem;
}

.content .meta[b-l9ovm6v4x8], .content .meta a[b-l9ovm6v4x8]
{
    color: rgb( var( --tint ) / 0.4 );
}

.content .subtitle[b-l9ovm6v4x8]
{
    font-size: 0.9rem;
    color: rgb( var( --tint ) / 0.67 );
}


.stat[b-l9ovm6v4x8]
{
    flex-shrink: 0;
    flex-grow: 0;
    display: flex;
    flex-direction: row;
    gap: 1rem;
    font-variation-settings: "FILL" 1;
    margin: 0;
}

.stat .row-component[b-l9ovm6v4x8]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
    font-size: 0.8rem;
    width: 50px;
}

.stat .row-component.clickable[b-l9ovm6v4x8]
{
    user-select: none;
    cursor: pointer;
    transform-origin: 50% 50%;
}

.stat .row-component.clickable:hover[b-l9ovm6v4x8]
{
    filter: brightness( 1.3 );
    
}

.stat .row-component.clickable:active[b-l9ovm6v4x8]
{
    transform: scale( 0.95 );

}

.stat .row-component.active[b-l9ovm6v4x8]
{
    color: var( --highlight-gold );
    pointer-events: none;
}

.content .meta .stat[b-l9ovm6v4x8]
{
    flex-direction: row;
    gap: 0.1rem;
    align-items: center;
}

.content .grow[b-l9ovm6v4x8]
{
    flex-grow: 1;
}
/* /Sections/Contests/_ContestLayout.razor.rz.scp.css */

.categories[b-zjad7d6qli]
{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-around;
    padding-top: 2rem;
}

.header-background[b-zjad7d6qli]
{
    background-image: url( https://files.facepunch.com/98ce1d16-6ebe-4b8d-8d33-46036afb884f.png );
    position: absolute;
    left: -32px;
    top: -32px;
    bottom: -32px;
    right: -32px;
    z-index: -1;
    mask-image: linear-gradient( black 0%, transparent);
    background-position: center;
    background-size: cover;
    max-height: 600px;
    opacity: 0.5;
    filter: blur( 5px );
}

.contest-layout[b-zjad7d6qli]  .pagelayout > .container
{
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    margin-top: 2rem;
    flex-direction: column;
    gap: 0;
    box-shadow: 5px 5px 2rem rgb( var( --scrim ) / 0.13 );
}

.contest-title[b-zjad7d6qli]
{
    font-size: 4rem;
    font-family: Poppins;
    color: var( --text-strong );
    font-weight: 600;
    text-align: center;
    line-height: 1.1;
}

.contest-summary[b-zjad7d6qli]
{
    font-size: 0.9rem;
    font-family: Poppins;
    color: #d3ddf5;
    font-weight: 600;
    text-align: center;
}


.contest-meta[b-zjad7d6qli]
{
    display: flex;
    justify-content: center;
    padding: 1rem 0;
    gap: 1rem;
    white-space: nowrap;
    flex-wrap: wrap;
}

.meta[b-zjad7d6qli]
{
    background-color: color-mix( in srgb, var( --success ) 30%, transparent );
    color: var( --success );
    font-size: 0.7rem;
    padding: 0.5rem 0.5rem;
    border-radius: 5px;
    font-weight: bold;
    line-height: 1;
    border: 1px solid color-mix( in srgb, var( --success ) 13%, transparent );
    box-sizing: border-box;
}

[b-zjad7d6qli] .pagelayout-content
{
    padding: 0 2rem;
}

[b-zjad7d6qli] .header
{
    padding: 1rem 1rem;
    padding-top: 5rem;
    position: relative
}

.header > .edit[b-zjad7d6qli]
{
    position: absolute;
    top: 1rem;
    right: 1rem;
    visibility: hidden;
}

.header:hover > .edit[b-zjad7d6qli]
{
    visibility: visible;
}
/* /Sections/Crash/SentryCrashInfo.razor.rz.scp.css */
.stack-error[b-qt5bdg0zqn]
{
    font-family: monospace;
    font-weight: bold;
    font-size: 1.25rem;
}

.stack-trace[b-qt5bdg0zqn]
{
    font-family: monospace;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 8px;
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
}

.stack-frame[b-qt5bdg0zqn]
{
    padding: 4px 12px;
    display: flex;
    flex-direction: row;
}

.stack-frame:not(:last-child)[b-qt5bdg0zqn]
{
    border-bottom: 1px solid var( --form-divider );
}

.stack-frame .module[b-qt5bdg0zqn]
{
    flex: 0 0 200px;
}

.stack-frame .function[b-qt5bdg0zqn]
{
    flex: 1;
}

.stack-frame .file[b-qt5bdg0zqn]
{
    opacity: 0.4;
    font-style: italic;
}

.problem-modules[b-qt5bdg0zqn]
{
    background-color: rgb( from var( --error ) r g b / 0.1 );
    border: 1px solid rgb( from var( --error ) r g b / 0.35 );
    border-radius: 8px;
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
}

.problem-modules li[b-qt5bdg0zqn]
{
    padding: 4px 12px;
    margin: 0;
    display: flex;
    flex-direction: row;
}

.problem-modules li:not(:last-child)[b-qt5bdg0zqn]
{
    border-bottom: 1px solid rgb( from var( --error ) r g b / 0.25 );
}

.problem-modules .file[b-qt5bdg0zqn]
{
    flex: 0 0 200px;
    font-family: monospace;
}

.problem-modules .description[b-qt5bdg0zqn]
{
    flex: 1;
}
/* /Sections/Documentation/DocumentationLayout.razor.rz.scp.css */
.docs-site-layout[b-0mp4xkjsi9]
{
	--site-header-height: 64px;
	--site-design-width: 1100px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

/*
 * Allow the body flex item to actually shrink below its content's intrinsic
 * width. Without this, long code blocks / wide tables push the page wider
 * than the viewport and break the layout.
 */
.docs-site-layout[b-0mp4xkjsi9]  .body,
.docs-site-layout[b-0mp4xkjsi9]  .body-content,
.docs-site-layout[b-0mp4xkjsi9]  .body-content > *
{
	min-width: 0;
}

/* -------------------------------------------------------------------------
   Page chrome — shared by DocumentFront and DocumentRoot. Previously
   duplicated verbatim in DocumentFront.razor.css + DocumentRoot.razor.css.
   ------------------------------------------------------------------------- */

.docs-site-layout[b-0mp4xkjsi9]  .sidebar
{
	margin: 0;
	padding: 0;
}

.docs-site-layout[b-0mp4xkjsi9]  .document-header
{
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	width: 100%;
	position: relative;
}

.docs-site-layout[b-0mp4xkjsi9]  .document-header .icon
{
	margin-right: 6px;
	font-size: 33px;
	flex-shrink: 0;
	flex-grow: 0;
	overflow: hidden;
	justify-content: center;
	align-items: center;
	display: flex;
	font-family: "Material Symbols Rounded";
}

.docs-site-layout[b-0mp4xkjsi9]  .document-header .title
{
	font-family: Poppins;
	font-size: 1.5rem;
	font-weight: bold;
	color: var( --text-strong );
}

.docs-site-layout[b-0mp4xkjsi9]  .document-header .edit
{
	position: absolute;
	right: 0px;
	padding: 0.5rem;
	background-color: rgb( var( --tint ) / 0.06 );
	border-radius: 8px;
}

.docs-site-layout[b-0mp4xkjsi9]  .search-input
{
	margin-bottom: 1rem;
}

@media (max-width: 800px)
{
	.docs-site-layout[b-0mp4xkjsi9]  .document-header .title
	{
		font-size: 1rem;
	}

	.docs-site-layout[b-0mp4xkjsi9]  .document-content,
	.docs-site-layout[b-0mp4xkjsi9]  .document-content pre
	{
		margin: 0.5rem;
	}

	.docs-site-layout[b-0mp4xkjsi9]  .document-content h1
	{
		font-size: 1.5rem;
	}

	.docs-site-layout[b-0mp4xkjsi9]  .document-content h2
	{
		font-size: 1rem;
	}

	.docs-site-layout[b-0mp4xkjsi9]  .sidebar
	{
		overflow: visible;
		padding-bottom: 2rem;
		position: static;
		height: auto;
	}
}
/* /Sections/Documentation/DocumentContent.razor.rz.scp.css */

.document-content[b-10twtkrruh]
{
    margin: 0px 2rem;
    font-size: 14px;
    line-height: 1.7;
}

[b-10twtkrruh] p
{
    margin-bottom: 1rem;
}

.document-content[b-10twtkrruh]  h1
{
    margin: 0;
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    padding: 0;
    line-height: 1.3;
    font-size: 1.75rem;
    color: var( --text-strong );
    font-weight: 600;
}

.document-content[b-10twtkrruh]  h2
{
    margin: 0;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    padding: 0;
    line-height: 1.3;
    font-size: 1.4rem;
    color: var( --text-strong );
    font-weight: 600;
}

.document-content[b-10twtkrruh]  h3
{
    margin: 0;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    padding: 0;
    line-height: 1.3;
    font-size: 1.1rem;
    color: var( --text-strong );
    font-weight: 550;
}

[b-10twtkrruh] pre
{
    overflow: auto;
    line-height: 1.4;
}

[b-10twtkrruh] img, [b-10twtkrruh] video
{
    max-width: 90%;
    display: block;
    margin: 1rem auto;
    border-radius: 8px;
}

[b-10twtkrruh] table
{
    margin: 2rem 0;
}

[b-10twtkrruh] hr
{
    margin: 2rem 0;
    opacity: 0.1;
}

[b-10twtkrruh] code
{
    color: #d17b3d;
    background-color: rgb( var( --tint ) / 0.06 );
    padding: 0.15em 0.4em;
    border-radius: 4px;
    font-size: 0.9em;
}

[b-10twtkrruh] pre code
{
    background-color: transparent;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
}


[b-10twtkrruh] div.warning,
[b-10twtkrruh] div.info,
[b-10twtkrruh] div.tip,
[b-10twtkrruh] div.success
{
    margin: 1rem 0;
    padding: 1rem;
    padding-left: 64px;
    border-radius: 0px 8px 8px 0px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    min-height: 64px;
}

[b-10twtkrruh] div.warning:before,
[b-10twtkrruh] div.info:before,
[b-10twtkrruh] div.tip:before,
[b-10twtkrruh] div.success:before
{
    position: absolute;
    left: 16px;
    top: 16px;
    font-size: 28px;
}

[b-10twtkrruh] div.info
{
    background-color: rgb( from var( --primary ) r g b / 0.13 );
    border-left: 5px solid var( --primary );
    color: var( --text-strong );
}

[b-10twtkrruh] div.info code
{
    color: var( --primary );
}

[b-10twtkrruh] div.info:before
{
    font-family: "Material Symbols Rounded";
    content: "info";
    color: var( --primary );
}

[b-10twtkrruh] div.info > p
{
    padding: 0;
    margin: 0;
}



[b-10twtkrruh] div.tip
{
    background-color: color-mix( in srgb, var( --highlight-gold ) 13%, transparent );
    border-left: 5px solid var( --highlight-gold );
    color: var( --text-strong );
}

[b-10twtkrruh] div.tip code
{
    color: var( --highlight-gold );
}

[b-10twtkrruh] div.tip:before
{
    font-family: "Material Symbols Rounded";
    content: "robot_2";
    color: var( --highlight-gold );
}

[b-10twtkrruh] div.tip > p
{
    padding: 0;
    margin: 0;
}

[b-10twtkrruh] div.warning
{
    background-color: color-mix( in srgb, var( --error ) 13%, transparent );
    border-left: 5px solid var( --error );
    color: var( --text-strong );
}

[b-10twtkrruh] div.warning code
{
    color: var( --error );
}

[b-10twtkrruh] div.warning:before
{
    font-family: "Material Symbols Rounded";
    content: "gpp_maybe";
    color: var( --error );
}

[b-10twtkrruh] div.warning > p
{
    padding: 0;
    margin: 0;
}


[b-10twtkrruh] div.success
{
    background-color: color-mix( in srgb, var( --success ) 13%, transparent );
    border-left: 5px solid var( --success );
    color: var( --text-strong );
}

[b-10twtkrruh] div.success code
{
    color: var( --success );
}

[b-10twtkrruh] div.success:before
{
    font-family: "Material Symbols Rounded";
    content: "new_releases";
    color: var( --success );
}

[b-10twtkrruh] div.success > p
{
    padding: 0;
    margin: 0;
}
/* /Sections/Forums/CreateNewThread.razor.rz.scp.css */

.create-new-thread[b-4jhaixieg2]
{
    max-width: 800px;
    margin: 0 auto;
}

.create-new-thread[b-4jhaixieg2]  trix-editor
{
    display: flex;
    flex-direction: column;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 6px;
    width: 100%;
    padding: 1rem;
    font-size: 13px;
    min-height: 400px;
    color: var( --input-text );
    transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}

.create-new-thread[b-4jhaixieg2]  trix-editor:hover
{
    border-color: var( --input-border-hover );
}

.create-new-thread[b-4jhaixieg2]  trix-editor:focus
{
    outline: none;
    border-color: var( --primary );
    background-color: var( --input-bg-focus );
    box-shadow: 0 0 0 3px var( --input-focus-ring );
}
/* /Sections/Forums/ForumCommentThread.razor.rz.scp.css */
.comments[b-p59b19zmw1]
{
    border: 1px solid var( --input-border );
    border-radius: 8px;
    margin-bottom: 2rem;
    overflow: hidden;
}

.post-list[b-p59b19zmw1]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
/* /Sections/Forums/ForumLayout.razor.rz.scp.css */
.forum-site-layout[b-gi4ahoz4br]
{
	flex-grow: 1;
	display: flex;
	flex-direction: column;

	/*
	 * Column widths used by thread/post rendering (ThreadRow, ThreadListHeader,
	 * SystemPost, ThreadPost). Defined here so they cascade to every consumer
	 * via custom-property inheritance rather than being duplicated per file.
	 */
	--thread-lastpost-width: 150px;
	--thread-stats-width: 100px;
	--thread-left-width: 110px;
}

@media (max-width: 768px)
{
	.forum-site-layout[b-gi4ahoz4br]
	{
		--thread-left-width: 0px;
	}
}
/* /Sections/Forums/ForumSearchResults.razor.rz.scp.css */


.post-container[b-x6zmm957q2]
{
    .result
    {
        margin-bottom: 2rem;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;

        .title
        {
            font-size: 1.2rem;
            font-weight: 600;
        }

        .quote[b-x6zmm957q2]
        {
            em
            {
                color: var( --highlight-gold );
                text-decoration: none;
                font-style: normal;
            }
        }

        .footer[b-x6zmm957q2]
        {
            opacity: 0.4;
        }
    }
}
/* /Sections/Forums/Forums/ForumGroup.razor.rz.scp.css */
h3[b-nhbfec3ucv]
{
    text-transform: uppercase;
    font-size: 0.72rem;
    margin: 1.75rem 0 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    opacity: 0.45;
    color: var( --text-strong );
}

.children[b-nhbfec3ucv]
{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.children[b-nhbfec3ucv]  a
{
    color: var( --input-text );
    opacity: 0.85;
}

.children[b-nhbfec3ucv]  a:hover,
.children[b-nhbfec3ucv]  a.active,
.children[b-nhbfec3ucv]  a.is-active
{
    color: var( --text-strong );
    opacity: 1;
}

/* Forum entry card.
   Static base — subtle gradient + hairline border.
   Hover: chromatic shift only. No transforms.
   - Background brightens via gradient
   - A primary-tinted radial glow appears from the left
   - The icon transitions to primary
   - A 2px primary stripe slides in along the bottom edge */
.forum[b-nhbfec3ucv]
{
    display: flex;
    height: 76px;
    line-height: 1;
    gap: 1rem;
    padding: 0;
    border-radius: 10px;
    background: linear-gradient(
        135deg,
        var( --surface-bg ) 0%,
        var( --surface-bg-fade ) 100%
    );
    border: 1px solid var( --surface-line );
    overflow: hidden;
    position: relative;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

/* Soft radial glow that fades in on hover. */
.forum[b-nhbfec3ucv]::before
{
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at 0% 50%,
        rgb( from var( --primary ) r g b / 0.18 ) 0%,
        transparent 55%
    );
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

/* Bottom accent stripe that scales from 0 → 100% width on hover. */
.forum[b-nhbfec3ucv]::after
{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(
        to right,
        var( --primary ),
        rgb( from var( --primary ) r g b / 0.5 ),
        transparent
    );
    transform: scaleX( 0 );
    transform-origin: left;
    transition: transform 0.3s cubic-bezier( 0.25, 0.8, 0.25, 1 );
}

.forum:hover[b-nhbfec3ucv]
{
    border-color: rgb( from var( --primary ) r g b / 0.35 );
    background: linear-gradient(
        135deg,
        var( --surface-bg-hover ) 0%,
        var( --surface-bg ) 100%
    );
    box-shadow: 0 0 24px rgb( from var( --primary ) r g b / 0.08 );
}

.forum:hover[b-nhbfec3ucv]::before
{
    opacity: 1;
}

.forum:hover[b-nhbfec3ucv]::after
{
    transform: scaleX( 1 );
}

.forum.highlight[b-nhbfec3ucv]
{
    border-color: rgb( from var( --primary ) r g b / 0.4 );
    background: linear-gradient(
        135deg,
        rgb( from var( --primary ) r g b / 0.1 ) 0%,
        rgb( from var( --primary ) r g b / 0.02 ) 100%
    );
}

.forum:hover a[b-nhbfec3ucv]
{
    color: var( --text-strong );
}

.forum > .icon[b-nhbfec3ucv]
{
    display: flex;
    width: 56px;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    flex-shrink: 0;
    padding-left: 1.25rem;
    color: var( --input-text );
    opacity: 0.8;
    transition: color 0.25s ease, opacity 0.25s ease, text-shadow 0.25s ease;
    position: relative;
    z-index: 1;
}

.forum:hover > .icon[b-nhbfec3ucv]
{
    color: var( --primary );
    opacity: 1;
    text-shadow: 0 0 12px rgb( from var( --primary ) r g b / 0.5 );
}

.forum > .body[b-nhbfec3ucv]
{
    display: flex;
    flex-grow: 1;
    flex-shrink: 1;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.forum > .body .title[b-nhbfec3ucv]
{
    font-size: 1.05rem;
    font-weight: 600;
    display: flex;
    gap: 0.75rem;
    align-items: center;
    color: var( --text-strong );
    letter-spacing: 0.005em;
}

.forum > .body .title .viewers[b-nhbfec3ucv]
{
    font-size: 0.7rem;
    color: rgb( var( --tint ) / 0.7 );
    font-weight: 500;
    background-color: var( --surface-bg-hover );
    padding: 3px 6px;
    line-height: 1;
    border-radius: 4px;
    letter-spacing: 0;
}

.forum > .body .description[b-nhbfec3ucv]
{
    font-size: 0.85rem;
    opacity: 0.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.forum > .stats[b-nhbfec3ucv]
{
    display: flex;
    width: 80px;
    flex-direction: column;
    white-space: nowrap;
    align-items: flex-start;
    justify-content: center;
    font-size: 11px;
    gap: 3px;
    opacity: 0.55;
    position: relative;
    z-index: 1;
    font-variant-numeric: tabular-nums;
}

.forum > .stats small[b-nhbfec3ucv]
{
    opacity: 0.55;
}

.forum > .lastpost[b-nhbfec3ucv]
{
    display: flex;
    flex-shrink: 1;
    flex-direction: column;
    width: 250px;
    white-space: nowrap;
    text-align: right;
    align-items: flex-end;
    overflow: hidden;
    position: relative;
    padding-right: 60px;
    margin-right: 1rem;
    font-size: 11px;
    gap: 4px;
    justify-content: center;
    z-index: 1;
}

.forum > .lastpost .title[b-nhbfec3ucv]
{
    max-width: 150px;
    overflow: hidden;
    color: var( --input-text );
    font-weight: 500;
}

.forum > .lastpost .avatar[b-nhbfec3ucv]
{
    position: absolute;
    right: 0;
}

.forum > .lastpost .description[b-nhbfec3ucv]
{
    opacity: 0.55;
}

.forum > .lastpost .avatar img[b-nhbfec3ucv]
{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var( --surface-bg-hover );
    transition: border-color 0.2s ease;
}

.forum:hover > .lastpost .avatar img[b-nhbfec3ucv]
{
    border-color: rgb( var( --tint ) / 0.25 );
}

@media (max-width: 768px)
{
    .forum > .stats[b-nhbfec3ucv] { display: none; }
}

@media (max-width: 668px)
{
    .forum > .stats[b-nhbfec3ucv],
    .forum > .lastpost[b-nhbfec3ucv],
    .forum > .lastpost .avatar[b-nhbfec3ucv]
    {
        display: none;
    }
}
/* /Sections/Forums/Forums/ForumList.razor.rz.scp.css */
.admin-header[b-2cjf6zdsq7]
{
    padding: 1rem;
    max-width: 250px;
    line-height: 1;
}

.admin-header h2[b-2cjf6zdsq7]
{
    margin: 0;
    padding: 0;
}

.admin-header h2[b-2cjf6zdsq7]
{
}
/* /Sections/Forums/Forums/ForumViewers.razor.rz.scp.css */
.viewers[b-cc10qwex57]
{
    font-size: 0.7rem;
    color: rgb( var( --tint ) / 0.7 );
    font-weight: 500;
    background-color: var( --surface-bg-hover );
    padding: 3px 6px;
    line-height: 1;
    border-radius: 4px;
}
/* /Sections/Forums/Forums/ReadThreads.razor.rz.scp.css */
[b-oy7phsbvj2] a.active,
[b-oy7phsbvj2] a.is-active
{
    color: var( --text-strong );
}
/* /Sections/Forums/Forums/ViewForum.razor.rz.scp.css */
/* Forum-hero header — sits above the thread list. Big, confident, sets the tone
   for the page. Icon left, info center, actions right. */
.forum-hero[b-5m8pat66b6]
{
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.5rem 1.5rem;
    margin: 0.5rem 0 1.5rem;
    background: linear-gradient(
        135deg,
        var( --surface-bg ) 0%,
        var( --surface-bg-fade ) 100%
    );
    border: 1px solid var( --surface-line );
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

/* Soft primary-tinted ambient glow in the corner — adds depth without movement. */
.forum-hero[b-5m8pat66b6]::before
{
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at 5% 0%,
        rgb( from var( --primary ) r g b / 0.1 ) 0%,
        transparent 50%
    );
    pointer-events: none;
}

.forum-hero-icon[b-5m8pat66b6]
{
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        rgb( from var( --primary ) r g b / 0.18 ) 0%,
        rgb( from var( --primary ) r g b / 0.05 ) 100%
    );
    border: 1px solid rgb( from var( --primary ) r g b / 0.25 );
    border-radius: 12px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.forum-hero-icon i[b-5m8pat66b6]
{
    font-size: 32px;
    color: var( --primary );
    text-shadow: 0 0 16px rgb( from var( --primary ) r g b / 0.4 );
}

.forum-hero-info[b-5m8pat66b6]
{
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    position: relative;
    z-index: 1;
}

.forum-hero-title[b-5m8pat66b6]
{
    font-family: Poppins;
    font-size: 1.6rem;
    font-weight: 700;
    color: var( --text-strong );
    margin: 0;
    padding: 0;
    line-height: 1.2;
    letter-spacing: -0.005em;
}

.forum-hero-description[b-5m8pat66b6]
{
    margin: 0;
    padding: 0;
    font-size: 0.9rem;
    color: rgb( var( --tint ) / 0.6 );
    line-height: 1.45;
    max-width: 720px;
}

.forum-hero-stats[b-5m8pat66b6]
{
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: rgb( var( --tint ) / 0.5 );
    margin-top: 0.15rem;
    font-variant-numeric: tabular-nums;
}

.forum-hero-stats strong[b-5m8pat66b6]
{
    color: rgb( var( --tint ) / 0.9 );
    font-weight: 600;
}

.forum-hero-stats .dot[b-5m8pat66b6]
{
    width: 2px;
    height: 2px;
    background-color: rgb( var( --tint ) / 0.4 );
    border-radius: 50%;
}

.forum-hero-actions[b-5m8pat66b6]
{
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

@media (max-width: 768px)
{
    .forum-hero[b-5m8pat66b6]
    {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .forum-hero-actions[b-5m8pat66b6]
    {
        width: 100%;
        justify-content: flex-end;
    }

    .forum-hero-icon[b-5m8pat66b6]
    {
        width: 48px;
        height: 48px;
    }

    .forum-hero-icon i[b-5m8pat66b6]
    {
        font-size: 24px;
    }

    .forum-hero-title[b-5m8pat66b6]
    {
        font-size: 1.3rem;
    }
}
/* /Sections/Forums/PostLayout/PostAdmin.razor.rz.scp.css */

.post-admin[b-zkpmwzrg56]
{
    display: contents;
}
/* /Sections/Forums/PostLayout/PostList.razor.rz.scp.css */
.postlist[b-w54cn68bjz]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Inline "this thread was resolved" banner that sits directly above the OP on page 1. */
.solved-banner[b-w54cn68bjz]
{
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    background-color: rgb( from var( --success, #4ade80 ) r g b / 0.12 );
    border: 1px solid rgb( from var( --success, #4ade80 ) r g b / 0.35 );
    border-left: 4px solid var( --success, #4ade80 );
    color: var( --text-strong );
}

.solved-banner[b-w54cn68bjz]  .material-symbols-outlined
{
    color: var( --success, #4ade80 );
    font-size: 22px;
}

.solved-banner .text[b-w54cn68bjz]
{
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.solved-banner .title[b-w54cn68bjz]
{
    font-weight: 600;
    font-size: 0.95rem;
}

.solved-banner .sub[b-w54cn68bjz]
{
    font-size: 12px;
    opacity: 0.75;
}
/* /Sections/Forums/PostLayout/PostUser.razor.rz.scp.css */
.post-user[b-wdlv54zhi8]
{
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    align-items: center;
    font-size: 13px;
}

.post-user[b-wdlv54zhi8]  .username
{
    text-align: center;
    font-weight: 600;
}

.post-user img.avatar[b-wdlv54zhi8]
{
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var( --surface-bg-hover );
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.avatar-box[b-wdlv54zhi8]
{
    position: relative;
    display: flex;
}

.avatar-box:hover img.avatar[b-wdlv54zhi8]
{
    border-color: var( --primary );
    box-shadow: 0 0 0 3px rgb( from var( --primary ) r g b / 0.2 );
}

.score[b-wdlv54zhi8]
{
    position: absolute;
    bottom: -4px;
    white-space: nowrap;
    display: flex;
    left: 50%;
    transform: translateX( -50% );
    font-size: 11px;
    line-height: 1;
    background-color: var( --primary );
    padding: 3px 6px;
    color: var( --primary-alt );
    border-radius: 10px;
    gap: 3px;
    box-shadow: 0 2px 6px rgb( var( --scrim ) / 0.4 );
    align-items: center;
}

.score i[b-wdlv54zhi8]
{
    font-size: 12px;
}

.metrics[b-wdlv54zhi8]
{
    font-size: 11px;
    display: flex;
    flex-direction: column;
    text-align: center;
    opacity: 0.55;
    line-height: 1.4;
}

.user-title[b-wdlv54zhi8]
{
    font-size: 11px;
    display: flex;
    flex-direction: column;
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var( --primary );
}

.user-title.banned[b-wdlv54zhi8]
{
    color: var( --error );
    font-weight: 700;
}
/* /Sections/Forums/PostLayout/SystemPost.razor.rz.scp.css */
.system-post[b-5oxcto5vm5]
{
    display: flex;
    gap: 0.5rem;
    background-color: rgb( from var( --primary ) r g b / 0.06 );
    margin-bottom: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    border: 1px solid rgb( from var( --primary ) r g b / 0.3 );
    color: rgb( from var( --primary ) r g b / 0.9 );
    align-items: center;
    margin-left: var( --thread-left-width );
}

.message[b-5oxcto5vm5]
{
    font-size: 12px;
}
/* /Sections/Forums/PostLayout/ThreadPost.razor.rz.scp.css */
.thread-post[b-v599ht59qb]
{
    width: 100%;
    display: flex;
    flex-direction: column;
    font-size: 13px;
    scroll-margin: 150px;
}

.post-main[b-v599ht59qb]
{
    display: flex;
    align-items: flex-start;
    gap: 0.25rem;
}

.post-main .post-left[b-v599ht59qb]
{
    padding: 1rem 0.5rem 1rem 0;
    max-width: var( --thread-left-width );
    width: var( --thread-left-width );
    flex-shrink: 0;
}

/* The post body — refined card. Uniform 1px outline; the state accent (newtome /
   mine / focus) is painted via a ::before stripe at the left edge so the corners
   stay clean with the same border width all the way round. */
.post-main .post-body[b-v599ht59qb]
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
    background: linear-gradient(
        180deg,
        var( --surface-bg ) 0%,
        var( --surface-bg-fade ) 100%
    );
    border: 1px solid var( --surface-line );
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

/* Left-edge accent stripe. Transparent by default; coloured by state classes. */
.post-main .post-body[b-v599ht59qb]::before
{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background-color: transparent;
    transition: background-color 0.18s ease;
    z-index: 2;
}

.post-main .post-body:hover[b-v599ht59qb]
{
    border-color: var( --surface-line-hover );
}

/* Header bar — darker surface for clear separation. Links inside go muted neutral
   so they don't compete with the state accent. */
.post-main .post-body .post-header[b-v599ht59qb]
{
    display: flex;
    align-items: center;
    background-color: rgb( var( --scrim ) / 0.15 );
    border-bottom: 1px solid var( --surface-bg );
    padding: 0.55rem 1rem;
    gap: 1rem;
}

.post-main .post-body .post-header .left[b-v599ht59qb]
{
    display: flex;
    gap: 0.65rem;
    align-items: baseline;
    line-height: 1.2;
    flex-grow: 1;
    flex-wrap: wrap;
    min-width: 0;
}

.post-main .post-body .post-header .right[b-v599ht59qb]
{
    display: flex;
    gap: 0.85rem;
    align-items: baseline;
    line-height: 1.2;
    font-size: 11px;
    flex-shrink: 0;
}

.post-main .post-body .post-header a[b-v599ht59qb],
.post-main .post-body .post-header a:hover[b-v599ht59qb]
{
    color: rgb( var( --tint ) / 0.5 );
    transition: color 0.12s ease;
}

.post-main .post-body .post-header .right a:hover[b-v599ht59qb]
{
    color: var( --text-strong );
}

.detail[b-v599ht59qb]
{
    font-size: 11px;
    opacity: 0.85;
    font-variant-numeric: tabular-nums;
}

.edit-into[b-v599ht59qb]
{
    font-style: italic;
    opacity: 0.75;
}

a.edit[b-v599ht59qb], a.quote[b-v599ht59qb]
{
    cursor: pointer;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}

a.index[b-v599ht59qb]
{
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    opacity: 0.6;
}

.post-main .post-body .post-content[b-v599ht59qb]
{
    flex-grow: 1;
    min-height: 80px;
    padding: 1.1rem 1.25rem;
    font-size: 14px;
    line-height: 1.6;
}

.post-main .post-body .post-content[b-v599ht59qb]  .brix
{
    overflow: hidden;
}

/* Footer with rating buttons — same dark surface as the header. */
.post-footer[b-v599ht59qb]
{
    background-color: rgb( var( --scrim ) / 0.12 );
    border-top: 1px solid var( --surface-bg );
    padding: 0.4rem 1rem;
}

.post-footer:empty[b-v599ht59qb]
{
    display: none;
}

/* "New to me" — primary left stripe + faint primary wash. */
.thread-post.newtome .post-main .post-body[b-v599ht59qb]::before
{
    background-color: var( --primary );
}

.thread-post.newtome .post-main .post-body[b-v599ht59qb]
{
    background: linear-gradient(
        90deg,
        rgb( from var( --primary ) r g b / 0.05 ) 0%,
        var( --surface-bg-fade ) 60%
    );
}

/* "My posts" — success left stripe. */
.thread-post.mine .post-main .post-body[b-v599ht59qb]::before
{
    background-color: var( --success );
}

.thread-post.mine .post-main .post-body[b-v599ht59qb]
{
    background: linear-gradient(
        90deg,
        rgb( from var( --success ) r g b / 0.05 ) 0%,
        var( --surface-bg-fade ) 60%
    );
}

/* "Focused" (anchor target) — full primary border ring + glow + animated flash. */
.thread-post.has-focus .post-main .post-body[b-v599ht59qb]
{
    border-color: var( --primary );
    box-shadow:
        0 0 0 3px rgb( from var( --primary ) r g b / 0.2 ),
        0 8px 32px rgb( from var( --primary ) r g b / 0.18 );
    animation: post-focus-flash-b-v599ht59qb 1.6s ease-out;
}

.thread-post.has-focus .post-main .post-body[b-v599ht59qb]::before
{
    background-color: var( --primary );
}

@keyframes post-focus-flash-b-v599ht59qb
{
    0%
    {
        background: linear-gradient(
            90deg,
            rgb( from var( --primary ) r g b / 0.25 ) 0%,
            rgb( from var( --primary ) r g b / 0.05 ) 100%
        );
    }
    100%
    {
        background: linear-gradient(
            90deg,
            rgb( from var( --primary ) r g b / 0.05 ) 0%,
            var( --surface-bg-fade ) 60%
        );
    }
}

.thread-post.hidden[b-v599ht59qb]
{
    opacity: 0.4;
    filter: grayscale( 0.5 );
}

@media (max-width: 768px)
{
    .post-left[b-v599ht59qb]
    {
        display: none;
    }

    .thread-post[b-v599ht59qb]
    {
        margin-left: 0;
        width: 100%;
    }

    .post-main .post-body[b-v599ht59qb]
    {
        border-radius: 6px;
    }
}

.edit-footer[b-v599ht59qb]
{
    padding: 0.75rem 1rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    background-color: rgb( var( --scrim ) / 0.12 );
    border-top: 1px solid var( --surface-bg );
}
/* /Sections/Forums/ReadLine.razor.rz.scp.css */
/* "Last read" marker between posts. Distinctive pink — intentionally different
   from --primary so it reads as a separate kind of indicator. */
.read-line[b-doupx0din7]
{
    height: 2px;
    border-radius: 2px;
    position: relative;
    scroll-margin: 150px;
    margin: 1.5rem -1rem;
    background: linear-gradient(
        to right,
        transparent,
        #b14590 5%,
        #b14590 95%,
        transparent
    );
    box-shadow: 0 0 12px rgb( 177 69 144 / 0.45 );
}

.read-line[b-doupx0din7]:after
{
    content: "last read";
    background-color: #b14590;
    color: #fff;
    position: absolute;
    left: 1rem;
    top: -10px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgb( 177 69 144 / 0.4 );
}

.read-line[b-doupx0din7]:before
{
    content: "";
    background-color: #b14590;
    position: absolute;
    right: 1rem;
    top: -4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    box-shadow: 0 0 12px rgb( 177 69 144 / 0.7 );
}
/* /Sections/Forums/Sidebars/ForumButton.razor.rz.scp.css */
.admin-header[b-fp5818i500]
{
    padding: 1rem;
    max-width: 250px;
    line-height: 1;
}

.admin-header h2[b-fp5818i500]
{
    margin: 0;
    padding: 0;
}

.admin-header h2[b-fp5818i500]
{
}
/* /Sections/Forums/SolvedLine.razor.rz.scp.css */
/* Inline timeline marker — "X marked as solved" between posts. Visual sibling of
   ReadLine: a thin gradient bar with a pill label. Green to read as "resolved",
   intentionally different from ReadLine pink. */
.solved-line[b-k9uaudz1kg]
{
    height: 2px;
    border-radius: 2px;
    position: relative;
    scroll-margin: 150px;
    margin: 2rem -1rem 2.4rem;
    background: linear-gradient(
        to right,
        transparent,
        var( --success, #4ade80 ) 5%,
        var( --success, #4ade80 ) 95%,
        transparent
    );
    box-shadow: 0 0 12px rgb( from var( --success, #4ade80 ) r g b / 0.4 );
}

.solved-line .content[b-k9uaudz1kg]
{
    position: absolute;
    left: 50%;
    transform: translate( -50%, -50% );
    top: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: var( --success, #4ade80 );
    color: rgb( 0 0 0 / 0.85 );
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgb( from var( --success, #4ade80 ) r g b / 0.45 );
    white-space: nowrap;
}

.solved-line .content[b-k9uaudz1kg]  .material-symbols-outlined
{
    font-size: 14px;
}

.solved-line .content .time[b-k9uaudz1kg]
{
    opacity: 0.7;
    font-weight: 500;
}
/* /Sections/Forums/ThreadLayout/MoveThreadModal.razor.rz.scp.css */

.thread-admin[b-icyaht7x2z]
{
    display: flex;
    justify-content: flex-end;
    padding: 1rem;
    padding-bottom: 0;
    width: 100%;
}
/* /Sections/Forums/ThreadLayout/ThreadAdmin.razor.rz.scp.css */
.thread-admin[b-ambgdxt34a]
{
    display: flex;
    justify-content: flex-end;
    padding: 0.5rem 0;
    width: 100%;
    gap: 0.4rem;
}
/* /Sections/Forums/ThreadLayout/ThreadHeader.razor.rz.scp.css */
/* Thread header bar — pagination strip above and below the post list.
   Slim gradient strip that fades in toward the right where the pagination sits,
   so the controls feel anchored without dominating. */
.thread-header[b-94ntm4axfn]
{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 1rem 0;
    padding: 0.3rem 0.5rem;
    background: linear-gradient(
        to right,
        transparent 0%,
        var( --surface-bg-fade ) 50%,
        var( --surface-bg ) 100%
    );
    border-radius: 6px;
    width: 100%;
    min-height: 40px;
    position: relative;
}

/* A hairline at the bottom for definition (right side only, fading out). */
.thread-header[b-94ntm4axfn]::after
{
    content: '';
    position: absolute;
    left: 25%;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        var( --form-divider )
    );
}

.thread-header .left[b-94ntm4axfn]
{
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 5px;
    flex-grow: 1;
}

[b-94ntm4axfn] .popup-button
{
    display: flex;
    align-items: center;
}

[b-94ntm4axfn] .pagination
{
    background-color: rgb( var( --scrim ) / 0.25 );
    border: 1px solid var( --surface-line );
    border-radius: 6px;
    overflow: hidden;
}

[b-94ntm4axfn] .pagination a
{
    padding: 5px 10px;
    font-size: 11px;
    min-width: 0;
    font-weight: 500;
}
/* /Sections/Forums/ThreadLayout/ThreadList.razor.rz.scp.css */
[b-xn7wz6ui9u] a
{
    color: var( --input-text );
    opacity: 0.9;
}

[b-xn7wz6ui9u] a:hover,
[b-xn7wz6ui9u] a.active,
[b-xn7wz6ui9u] a.is-active
{
    color: var( --text-strong );
    opacity: 1;
}

/* The list wraps in a subtle frame so the row-divider design reads as one cohesive
   list rather than a series of floating rows. */
.thread-list[b-xn7wz6ui9u]
{
    border: 1px solid var( --surface-line );
    border-radius: 8px;
    overflow: hidden;
    background-color: var( --surface-bg-fade );
}
/* /Sections/Forums/ThreadLayout/ThreadListHeader.razor.rz.scp.css */
/* Column-header row at the top of the thread list. Sits inside the list frame,
   reads as a subtle column-label band — uppercase, tabular, muted. */
.thread-row[b-0rchnoum64]
{
    display: flex;
    margin: 0;
    width: 100%;
    align-items: center;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    color: rgb( var( --tint ) / 0.4 );
    background-color: rgb( var( --tint ) / 0.03 );
    border-bottom: 1px solid var( --form-divider );
    padding: 8px 0;
}

.thread-row .left[b-0rchnoum64]
{
    flex-grow: 1;
    /* Match the unread-dot indent in ThreadRow so column labels line up with titles. */
    padding-left: 2.1rem;
}

.lastpost[b-0rchnoum64]
{
    display: flex;
    width: var( --thread-lastpost-width );
    align-items: center;
    padding: 0 0.5rem;
    overflow: hidden;
    white-space: nowrap;
    flex-shrink: 0;
    justify-content: flex-end;
}

.stats[b-0rchnoum64]
{
    display: flex;
    width: var( --thread-stats-width );
    align-items: center;
    padding: 0 0.5rem;
    flex-shrink: 0;
    justify-content: flex-end;
}

.avatar[b-0rchnoum64]
{
    /* Spacer to match the last-poster avatar in data rows. */
    width: calc( 36px + 1rem );
    padding: 0 0.5rem;
    flex-shrink: 0;
}

@media (max-width: 768px)
{
    .stats[b-0rchnoum64], .avatar[b-0rchnoum64] { display: none; }
}

@media (max-width: 568px)
{
    .lastpost[b-0rchnoum64] { display: none; }
}
/* /Sections/Forums/ThreadLayout/ThreadRow.razor.rz.scp.css */
/* Thread list row. UNREAD is the default, prominent state — bright title + a glowing
   primary dot at the left edge. READ rows fade back. No transforms on hover; chrome
   shifts via colour and glow only. */
.thread-row[b-pgy39qa196]
{
    display: flex;
    margin: 0;
    background-color: transparent;
    border-bottom: 1px solid var( --form-divider );
    width: 100%;
    align-items: center;
    font-size: 13px;
    position: relative;
    transition: background-color 0.15s ease;
}

.thread-row:last-child[b-pgy39qa196]
{
    border-bottom: 0;
}

/* Unread indicator — glowing primary dot at the left edge. Hidden when read. */
.thread-row[b-pgy39qa196]::before
{
    content: '';
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY( -50% );
    width: 7px;
    height: 7px;
    background-color: var( --primary );
    border-radius: 50%;
    box-shadow: 0 0 10px rgb( from var( --primary ) r g b / 0.65 );
    transition: box-shadow 0.15s ease, background-color 0.15s ease;
}

.thread-row.read[b-pgy39qa196]::before
{
    background-color: var( --surface-line );
    box-shadow: none;
}

.thread-row:hover[b-pgy39qa196]
{
    background-color: var( --surface-bg );
}

.thread-row:hover[b-pgy39qa196]::before
{
    box-shadow: 0 0 14px rgb( from var( --primary ) r g b / 0.9 );
}

.thread-row.read:hover[b-pgy39qa196]::before
{
    background-color: rgb( var( --tint ) / 0.18 );
}

.thread-row.locked[b-pgy39qa196]
{
    filter: grayscale( 1 );
    opacity: 0.45;
}

.thread-row.hidden[b-pgy39qa196]
{
    opacity: 0.3;
}

.thread-row.solved[b-pgy39qa196]
{
    opacity: 0.7;
}

.thread-row.solved .thread-title[b-pgy39qa196]
{
    text-decoration: line-through;
    text-decoration-color: rgb( var( --tint ) / 0.25 );
}

.thread-row .left[b-pgy39qa196]
{
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    padding: 0.85rem 0.75rem 0.85rem 2.1rem;
    white-space: nowrap;
    overflow: hidden;
    gap: 4px;
    min-width: 0;
}

.thread-row .left .thread-meta[b-pgy39qa196]
{
    font-size: 11px;
    display: flex;
    gap: 4px;
    opacity: 0.55;
    letter-spacing: 0.01em;
}

.create-time[b-pgy39qa196]
{
    opacity: 0.85;
}

.thread-title[b-pgy39qa196]
{
    font-weight: 600;
    color: var( --text-strong );
    font-size: 0.98rem;
    letter-spacing: 0.005em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 0 1 auto;
    transition: color 0.12s ease;
}

.thread-row.read .thread-title[b-pgy39qa196]
{
    color: var( --input-text );
    font-weight: 500;
    opacity: 0.6;
}

.thread-row.read:hover .thread-title[b-pgy39qa196]
{
    opacity: 0.9;
    color: var( --text-strong );
}

.lastpost[b-pgy39qa196]
{
    display: flex;
    flex-direction: column;
    width: var( --thread-lastpost-width );
    align-items: flex-end;
    padding: 0.5rem;
    overflow: hidden;
    white-space: nowrap;
    font-size: 11px;
    flex-shrink: 0;
    gap: 3px;
}

.lastpost .date[b-pgy39qa196]
{
    opacity: 0.85;
    font-weight: 500;
}

.lastpost .name[b-pgy39qa196]
{
    opacity: 0.7;
}

.stats[b-pgy39qa196]
{
    display: flex;
    flex-direction: column;
    width: var( --thread-stats-width );
    align-items: flex-end;
    padding: 0.5rem;
    font-size: 11px;
    flex-shrink: 0;
    opacity: 0.7;
    gap: 2px;
    font-variant-numeric: tabular-nums;
}

.avatar[b-pgy39qa196]
{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.5rem;
    width: calc( 36px + 1rem );
    flex-shrink: 0;
}

.avatar img[b-pgy39qa196]
{
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;
    border: 1px solid rgb( var( --tint ) / 0.06 );
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.thread-row:hover .avatar img[b-pgy39qa196]
{
    border-color: rgb( var( --tint ) / 0.25 );
    box-shadow: 0 0 0 2px rgb( var( --tint ) / 0.05 );
}

@media (max-width: 768px)
{
    .avatar[b-pgy39qa196] { display: none; }
    .stats[b-pgy39qa196]  { display: none; }
}

@media (max-width: 568px)
{
    .lastpost[b-pgy39qa196] { display: none; }
}

/* Title row: title ellipsizes; the page-links and "N new posts" pills always stay
   visible to the right. */
.titlebar[b-pgy39qa196]
{
    display: flex;
    gap: 0.6rem;
    align-items: center;
    overflow: hidden;
    min-width: 0;
}

.page-links[b-pgy39qa196]
{
    display: flex;
    gap: 3px;
    flex-shrink: 0;
}

.page-links .page-link[b-pgy39qa196]
{
    background-color: rgb( var( --tint ) / 0.06 );
    color: rgb( var( --tint ) / 0.55 );
    padding: 2px 6px;
    font-size: 10px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    border-radius: 3px;
    transition: background-color 0.12s ease, color 0.12s ease;
    font-variant-numeric: tabular-nums;
}

.page-links .page-link:hover[b-pgy39qa196]
{
    background-color: rgb( var( --tint ) / 0.18 );
    color: var( --text-strong );
}

/* "N new posts" pill — primary fill with soft glow. */
.new-posts[b-pgy39qa196]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    font-weight: 600;
    font-size: 10px;
    letter-spacing: 0.02em;
    padding: 3px 8px;
    border-radius: 10px;
    line-height: 1;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    box-shadow: 0 0 12px rgb( from var( --primary ) r g b / 0.45 );
    transition: filter 0.12s ease;
}

.new-posts:hover[b-pgy39qa196]
{
    filter: brightness( 1.15 );
}
/* /Sections/Forums/ThreadLayout/ThreadSolvedControls.razor.rz.scp.css */
.thread-solved-action[b-zbvf6jqrzb]
{
    display: flex;
    gap: 0.5rem;
    padding: 0.25rem 0;
}

.thread-solved-action[b-zbvf6jqrzb]  .mark-solved
{
    background-color: rgb( from var( --success, #4ade80 ) r g b / 0.15 );
    color: var( --success, #4ade80 );
    border: 1px solid rgb( from var( --success, #4ade80 ) r g b / 0.3 );
}

.thread-solved-action[b-zbvf6jqrzb]  .mark-solved:hover
{
    background-color: rgb( from var( --success, #4ade80 ) r g b / 0.25 );
}
/* /Sections/Forums/ThreadReply.razor.rz.scp.css */
.thread-reply[b-4qr77duuq7]
{
    max-width: 800px;
    margin: 0 auto;
    margin-top: 3rem;
}

.thread-reply[b-4qr77duuq7]  trix-editor
{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 1rem;
    font-size: 13px;
    min-height: 200px;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 6px;
    color: var( --input-text );
    transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}

.thread-reply[b-4qr77duuq7]  trix-editor:hover
{
    border-color: var( --input-border-hover );
}

.thread-reply[b-4qr77duuq7]  trix-editor:focus
{
    outline: none;
    border-color: var( --primary );
    background-color: var( --input-bg-focus );
    box-shadow: 0 0 0 3px var( --input-focus-ring );
}
/* /Sections/Home/About/AboutPage.razor.rz.scp.css */
.container[b-5a3v7f801p]
{
    max-width: 1200px;
}

/* === HERO === */

.about-hero[b-5a3v7f801p]
{
    font-size: 1.5rem;
    padding: 9rem 1.5rem;
    position: relative;
}

    .about-hero .container[b-5a3v7f801p]
    {
        max-width: 720px;
        padding: 0;
        display: flex;
        flex-direction: column;
    }

.hero-body[b-5a3v7f801p]
{
    --amount: 10%;
    animation: bounceIn 0.6s ease-out, fadeIn 0.2s linear;
    animation-fill-mode: both;
    animation-delay: 0.3s;
}

.about-hero h1[b-5a3v7f801p]
{
    font-family: Poppins;
    font-size: 4rem;
    font-weight: 900;
    margin-bottom: 0;
    line-height: 1.05;
    letter-spacing: -0.02em;
    background: linear-gradient( 100deg, #ffffff 0%, #60a5fa 22%, #a78bfa 45%, #f472b6 68%, #fbbf24 90%, #ffffff 100% ); /* about-page rainbow */
    background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-scroll-b-5a3v7f801p 2.5s linear infinite;
}

@keyframes gradient-scroll-b-5a3v7f801p
{
    0%
    {
        background-position: 0% 50%;
    }

    100%
    {
        background-position: 200% 50%;
    }
}

@media (max-width: 768px)
{
    .about-hero h1[b-5a3v7f801p]
    {
        font-size: 2.6rem;
    }
}

.about-hero p[b-5a3v7f801p]
{
    color: var( --text-strong );
    font-weight: 500;
    line-height: 1.6;
    font-size: 1.15rem;
    opacity: 0.85;
}

    .about-hero p:first-of-type[b-5a3v7f801p]
    {
        margin-bottom: 16px;
        margin-top: 1.5rem;
    }

    .about-hero p:nth-of-type(2)[b-5a3v7f801p]
    {
        opacity: 0.55;
        font-size: 1rem;
    }

/* === HERO BUTTONS === */

.buttons[b-5a3v7f801p]
{
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.about-hero[b-5a3v7f801p]  .btn
{
    font-size: 0.95rem;
    padding: 0.85rem 1.5rem;
    color: #fff; /* sits on top of branded button fills (Steam, GitHub, primary) */
    border-radius: 8px;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

/* Steam button — uses the iconic Steam-blue gradient + light blue stroke. */
[b-5a3v7f801p] .button-steam
{
    background: linear-gradient( 180deg, #67c1f5 0%, #2a82d4 50%, #1a5687 100% ); /* Steam brand */
    border: 1px solid #67c1f5;
    color: #fff;
    text-shadow: 0 1px 2px rgb( var( --scrim ) / 0.35 );
    box-shadow: inset 0 1px 0 rgb( 255 255 255 / 0.2 ), 0 1px 2px rgb( var( --scrim ) / 0.3 );
}

    [b-5a3v7f801p] .button-steam:hover
    {
        background: linear-gradient( 180deg, #7dccf7 0%, #3a92e4 50%, #2a6697 100% ); /* Steam brand */
        border-color: #9bdaff;
        color: #fff;
        box-shadow: inset 0 1px 0 rgb( 255 255 255 / 0.25 ), 0 4px 16px rgb( 103 193 245 / 0.45 );
    }

    [b-5a3v7f801p] .button-steam svg
    {
        margin-right: 8px;
        filter: drop-shadow( 0 1px 1px rgb( var( --scrim ) / 0.3 ) );
    }

/* GitHub button — classic GitHub dark with a subtle top-light gradient. */
[b-5a3v7f801p] .button-github
{
    background: linear-gradient( 180deg, #2d333b 0%, #22272e 100% ); /* GitHub brand */
    border: 1px solid #444c56;
    color: #fff;
    box-shadow: inset 0 1px 0 rgb( 255 255 255 / 0.05 ), 0 1px 2px rgb( var( --scrim ) / 0.3 );
}

    [b-5a3v7f801p] .button-github:hover
    {
        background: linear-gradient( 180deg, #373e47 0%, #2d333b 100% ); /* GitHub brand */
        border-color: #768390;
        color: #fff;
        box-shadow: inset 0 1px 0 rgb( 255 255 255 / 0.08 ), 0 4px 16px rgb( var( --scrim ) / 0.4 );
    }

    [b-5a3v7f801p] .button-github svg
    {
        margin-right: 8px;
    }

[b-5a3v7f801p] .button-outline
{
    background-color: transparent;
    border: 1px solid rgb( from var( --primary ) r g b / 0.5 );
    color: color-mix( in srgb, var( --primary ) 50%, var( --text-strong ) );
}

    [b-5a3v7f801p] .button-outline:hover
    {
        background-color: rgb( from var( --primary ) r g b / 0.12 );
        border-color: var( --primary );
        color: var( --text-strong );
        box-shadow: 0 0 16px rgb( from var( --primary ) r g b / 0.25 );
    }

/* === SECTIONS === */

.section.is-medium[b-5a3v7f801p]
{
    padding: 4rem 1.5rem;
}

.section h1[b-5a3v7f801p]
{
    font-size: 2rem;
    font-weight: 700;
    color: var( --text-strong );
    margin: 0 0 2rem;
    letter-spacing: -0.01em;
}

/* === LATEST NEWS GRID === */

.section .columns[b-5a3v7f801p]
{
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 1rem;
}

@media (max-width: 900px)
{
    .section .columns[b-5a3v7f801p]
    {
        grid-template-columns: 1fr;
    }
}

.section .column.is-6[b-5a3v7f801p]
{
    min-width: 0;
}

.news-posts-right[b-5a3v7f801p]
{
    display: flex;
    gap: 1rem;
    flex-direction: column;
}

.news-post[b-5a3v7f801p]
{
    display: flex;
    flex-direction: row;
    background: linear-gradient( 180deg, var( --surface-bg ) 0%, var( --surface-bg-fade ) 100% );
    border-radius: 10px;
    border: 1px solid var( --surface-line );
    overflow: hidden;
    height: 100%;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

    .news-post:hover[b-5a3v7f801p]
    {
        border-color: var( --surface-line-hover );
        background: linear-gradient( 180deg, var( --surface-bg-hover ) 0%, var( --surface-bg ) 100% );
        box-shadow: 0 0 24px rgb( from var( --primary ) r g b / 0.08 );
    }

    .news-post .content[b-5a3v7f801p]
    {
        padding: 1rem 1.25rem;
        display: flex;
        flex-direction: column;
        min-width: 0;
        flex-grow: 1;
    }

    .news-post .media[b-5a3v7f801p]
    {
        aspect-ratio: 16/9;
        background-position: 50%;
        background-size: cover;
        flex-shrink: 0;
    }

    .news-post h3[b-5a3v7f801p]
    {
        font-size: 1.05rem;
        font-weight: 600;
        margin: 0 0 0.35rem;
        color: var( --text-strong );
        letter-spacing: -0.005em;
        line-height: 1.3;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .news-post p[b-5a3v7f801p]
    {
        color: rgb( var( --tint ) / 0.65 );
        margin: 0 0 0.6rem;
        font-size: 0.85rem;
        line-height: 1.5;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .news-post .date[b-5a3v7f801p]
    {
        color: rgb( var( --tint ) / 0.4 );
        font-size: 0.75rem;
        margin-top: auto;
        font-variant-numeric: tabular-nums;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

.news-post-latest[b-5a3v7f801p]
{
    flex-direction: column;
}

    .news-post-latest .media[b-5a3v7f801p]
    {
        aspect-ratio: 16 / 9;
        width: 100%;
    }

    .news-post-latest .content[b-5a3v7f801p]
    {
        padding: 1.5rem 1.75rem;
    }

    .news-post-latest h3[b-5a3v7f801p]
    {
        font-size: 1.5rem;
        -webkit-line-clamp: 2;
    }

    .news-post-latest p[b-5a3v7f801p]
    {
        font-size: 0.95rem;
        -webkit-line-clamp: 3;
    }

.news-posts-right .news-post .media[b-5a3v7f801p]
{
    flex: 1;
    max-width: 35%;
    min-width: 140px;
}

/* === KEY FEATURES HEADER === */

[b-5a3v7f801p] .key_features_header .container
{
    margin-top: 10vh;
    padding: 0;
    align-items: center;
    display: flex;
    flex-direction: column;
    line-height: 1;
}

[b-5a3v7f801p] .key_features_header .title
{
    font-size: 5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0;
    margin-bottom: 1.5rem;
    background: linear-gradient( 100deg, #ffffff 0%, #60a5fa 22%, #a78bfa 45%, #f472b6 68%, #fbbf24 90%, #ffffff 100% );
    background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-scroll-b-5a3v7f801p 2.5s linear infinite;
}

@media (max-width: 768px)
{
    [b-5a3v7f801p] .key_features_header .title
    {
        font-size: 3rem;
    }
}

[b-5a3v7f801p] .key_features_header .subtitle
{
    color: color-mix( in srgb, var( --primary ) 55%, var( --text-strong ) );
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.8;
}

/* === MISC === */

.playfund-live[b-5a3v7f801p]
{
    color: color-mix( in srgb, var( --success ) 50%, var( --text-strong ) );
    display: inline-block;
    font-weight: 700;
    animation: wiggle 0.3s linear infinite;
    --rotation: 1;
}

[b-5a3v7f801p] .what-is-sbox
{
    background-color: var( --primary ) !important;
    font-size: 1.5rem;
}

/* === FINAL CALL TO ACTION === */

.cta-final[b-5a3v7f801p]
{
    padding: 8rem 1.5rem 12rem;
    position: relative;
    text-align: center;
    overflow: hidden;
}

/* Soft radial glow behind the CTA — primary-tinted, fading out. */
.cta-final[b-5a3v7f801p]::before
{
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        ellipse 60% 60% at 50% 50%,
        rgb( from var( --primary ) r g b / 0.12 ) 0%,
        transparent 60%
    );
    pointer-events: none;
}

.cta-final .container[b-5a3v7f801p]
{
    max-width: 720px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.cta-headline[b-5a3v7f801p]
{
    font-family: Poppins;
    font-size: 3.5rem;
    font-weight: 800;
    margin: 0;
    line-height: 1.05;
    letter-spacing: -0.02em;
    background: linear-gradient(
        100deg,
        #ffffff 0%,
        #60a5fa 22%,
        #a78bfa 45%,
        #f472b6 68%,
        #fbbf24 90%,
        #ffffff 100%
    );
    background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-scroll-b-5a3v7f801p 2.5s linear infinite;
}

@media (max-width: 768px)
{
    .cta-headline[b-5a3v7f801p]
    {
        font-size: 2.2rem;
    }
}

.cta-sub[b-5a3v7f801p]
{
    font-size: 1.1rem;
    color: rgb( var( --tint ) / 0.6 );
    margin: 0 0 2rem;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.cta-buttons[b-5a3v7f801p]
{
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

.cta-final[b-5a3v7f801p]  .btn
{
    font-size: 1.05rem;
    padding: 1rem 1.75rem;
    border-radius: 8px;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, filter 0.15s ease;
}

/* Primary "Browse games" — bigger version of the standard primary button with a
   stronger primary halo. */
.cta-final[b-5a3v7f801p]  .cta-primary
{
    box-shadow:
        inset 0 1px 0 rgb( 255 255 255 / 0.25 ),
        0 4px 20px rgb( from var( --primary ) r g b / 0.4 );
}

.cta-final[b-5a3v7f801p]  .cta-primary:hover
{
    filter: brightness( 1.12 );
    box-shadow:
        inset 0 1px 0 rgb( 255 255 255 / 0.3 ),
        0 6px 28px rgb( from var( --primary ) r g b / 0.55 );
}

/* Steam button — same iconic Steam-blue gradient as the hero version. */
[b-5a3v7f801p] .cta-steam
{
    background: linear-gradient( 180deg, #67c1f5 0%, #2a82d4 50%, #1a5687 100% ); /* Steam brand */
    border: 1px solid #67c1f5;
    color: #fff;
    text-shadow: 0 1px 2px rgb( var( --scrim ) / 0.35 );
    box-shadow:
        inset 0 1px 0 rgb( 255 255 255 / 0.2 ),
        0 1px 2px rgb( var( --scrim ) / 0.3 );
}

[b-5a3v7f801p] .cta-steam:hover
{
    background: linear-gradient( 180deg, #7dccf7 0%, #3a92e4 50%, #2a6697 100% ); /* Steam brand */
    border-color: #9bdaff;
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgb( 255 255 255 / 0.25 ),
        0 4px 16px rgb( 103 193 245 / 0.45 );
}

[b-5a3v7f801p] .cta-steam svg
{
    margin-right: 8px;
    filter: drop-shadow( 0 1px 1px rgb( var( --scrim ) / 0.3 ) );
}
/* /Sections/Home/About/FeatureSection.razor.rz.scp.css */
.feature-section[b-szmlc20vwb]
{
    display: flex;
    gap: 5rem;
    font-size: 1.2rem;
    justify-content: center;
    align-items: center;
    margin: 18vh 1rem;
}

.feature-section:nth-of-type(odd)[b-szmlc20vwb]
{
    flex-direction: row-reverse;
}

.media[b-szmlc20vwb]
{
    max-width: 800px;
    flex-shrink: 1;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var( --surface-line );
    box-shadow:
        0 20px 60px -20px rgb( var( --scrim ) / 0.55 ),
        0 0 0 1px rgb( var( --tint ) / 0.03 ) inset;
}

.media[b-szmlc20vwb]  img,
.media[b-szmlc20vwb]  video
{
    max-width: 100%;
    display: block;
}

.media[b-szmlc20vwb]  pre
{
    margin: 0;
    border-radius: 16px;
}

.content[b-szmlc20vwb]
{
    max-width: 360px;
    flex-shrink: 1;
}

.content[b-szmlc20vwb]  strong
{
    color: var( --text-strong );
    font-weight: 700;
}

.feature-section .content[b-szmlc20vwb]  p
{
    color: rgb( var( --tint ) / 0.7 );
    line-height: 1.6;
    font-size: 1.05rem;
}

.feature-section .content[b-szmlc20vwb]  p + p
{
    margin-top: 0.85rem;
}

.header[b-szmlc20vwb]
{
    display: flex;
    gap: 1.5rem;
    flex-direction: column;
    margin-bottom: 1.5rem;
}

.header img[b-szmlc20vwb]
{
    width: 200px;
    display: none;
}

.header h2[b-szmlc20vwb]
{
    font-family: Poppins;
    font-size: 3.2rem;
    font-weight: 800;
    margin: 0;
    padding: 0;
    line-height: 1;
    letter-spacing: -0.02em;
    background: linear-gradient(
        100deg,
        #ffffff 0%,
        #60a5fa 22%,
        #a78bfa 45%,
        #f472b6 68%,
        #fbbf24 90%,
        #ffffff 100%
    );
    background-size: 200% auto;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: feature-gradient-scroll-b-szmlc20vwb 2.5s linear infinite;
}

@keyframes feature-gradient-scroll-b-szmlc20vwb
{
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

@media (max-width: 1300px)
{
    .feature-section[b-szmlc20vwb]
    {
        flex-direction: column !important;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        margin: 8rem 1rem;
    }

    .content[b-szmlc20vwb]
    {
        max-width: 100%;
        margin: 1rem;
    }

    .header h2[b-szmlc20vwb]
    {
        font-size: 2.4rem;
    }
}

@media (max-width: 700px)
{
    .media[b-szmlc20vwb]  pre
    {
        font-size: 1rem;
        overflow-x: auto;
        max-width: 95vw;
        margin: 0;
    }
}

@media (max-width: 500px)
{
    .media[b-szmlc20vwb]  pre
    {
        font-size: 0.8rem;
        overflow-x: auto;
        max-width: 95vw;
        padding: 10px;
    }

    .header h2[b-szmlc20vwb]
    {
        font-size: 1.8rem;
    }
}
/* /Sections/Home/About/ScreenshotCarousel.razor.rz.scp.css */
.carousel[b-euzderz152]
{
    --amount: 100%;
    --box-gap: 1.5rem;
    --tile-size: 300px;

    animation: slideUp 0.8s ease, fadeIn 1.5s linear;
    animation-fill-mode: both;
    animation-delay: 0.5s;
    margin: 1rem 0;
    height: 40vh;
    width: 95vw;
    max-width: 95vw;
    margin: var(--box-gap) auto;
    overflow: hidden;
    z-index: 10;
    mask-image: linear-gradient(to right, transparent 0, rgba(255,255,255,1) 10%, rgba(255,255,255,1) 90%, transparent 100%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.carousel-item[b-euzderz152]
{
    flex-shrink: 0;
    width: 300px;
    aspect-ratio: 16/9;
    transition: all 0.2s ease;
    border-radius: 8px;
}

.carousel-item:hover[b-euzderz152]
{
    box-shadow: 0 10px 20px rgb( from var( --accent ) r g b / 0.2 );
    opacity: 1;
    transform: translateY(-5px);
}

.carousel-item img[b-euzderz152],
.carousel-item[b-euzderz152]  video
{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    border: 2px solid rgb( var( --tint ) / 0.06 );
    outline: 1px solid rgb( var( --scrim ) / 0.8 );
    box-shadow: 0px 0px 20px rgb( var( --scrim ) / 0.4 );
    filter: saturate( 1 );
    image-rendering: pixelated
}

.carousel-box[b-euzderz152]
{
    display: flex;
    flex-wrap: nowrap;
    gap: var(--box-gap);
}

.carousel-strip[b-euzderz152]
{
    animation: slideX-b-euzderz152 10s ease infinite alternate;
    margin-top: var(--box-gap);
    width: fit-content;
}
.carousel-strip.reverse[b-euzderz152]
{
    animation-direction: alternate-reverse;
}

.carousel-strip:hover[b-euzderz152]
{
    animation-play-state: paused;
}

@keyframes slideX-b-euzderz152
{
    100%
    {
        transform: translateX(0%);
    }

    0%
    {
        transform: translateX( -50% );
    }
}

@media ( max-width: 600px )
{
    .carousel-item[b-euzderz152]
    {
        width: 120px;
        aspect-ratio: 1;
    }
}
/* /Sections/Home/DashboardBlocks/AchievementProgressBox.razor.rz.scp.css */
.list[b-b9x708pid0]
{
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.entry[b-b9x708pid0]
{
    position: relative;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.column[b-b9x708pid0]
{
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0;
    gap: 1rem;
}

.header[b-b9x708pid0]
{
    font-size: 1rem;
    color: var( --text-strong );
}

.header a[b-b9x708pid0]
{
    color: var( --accent );
    font-weight: bold;
}

.achievements[b-b9x708pid0]
{
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3px;
    align-items: center;
}

.achievements .icon[b-b9x708pid0]
{
    width: 64px;
    height: 64px;
    display: flex;
    border-radius: 4px;
    overflow: hidden;
}

.icon.unlocked[b-b9x708pid0]
{
    opacity: 1;
}

.icon.locked[b-b9x708pid0]
{
    filter: grayscale( 1 ) opacity( 0.5 ) brightness( 0.5 ) blur( 2px );
}

.complete[b-b9x708pid0]
{
    margin-left: 0.5rem;
    background-color: var( --accent );
    border-radius: 4px;
    padding: 0.2rem 0.5rem;
    font-size: 0.8rem;
}
/* /Sections/Home/DashboardBlocks/HeadlineGame.razor.rz.scp.css */
.showcase[b-2x6thivfcf]
{
    display: flex;
    flex-shrink: 1;
    flex-grow: 1;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    flex-basis: 300px;
    border-radius: 10px;
    animation: bounceIn 0.9s ease, fadeIn 0.3s linear;
    transition: outline 0.5s linear;
}

.placeholder[b-2x6thivfcf]
{
    outline: 1px solid rgb( from var( --accent ) r g b / 0.06 );
    animation: none;
}

.showcase .media[b-2x6thivfcf]
{
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

.showcase[b-2x6thivfcf]  video,
.showcase[b-2x6thivfcf]  img
{
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 0;
    object-fit: cover;
    overflow: visible;
}

.showcase .information[b-2x6thivfcf]
{
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 1;
    transition: all 0.3s ease;
    backdrop-filter: blur( 100px ) brightness( 0.4 );
    border-radius: 10px;
    padding: 1rem;

    pointer-events: none;
    display: flex;
    flex-direction: column;
}

.showcase .title[b-2x6thivfcf]
{
    opacity: 1;
    white-space: nowrap;
    font-weight: bold;
    color: var( --text-strong );
}

.showcase .org[b-2x6thivfcf]
{
    opacity: 1;
    white-space: nowrap;
    font-size: 0.8rem;
    color: rgb( var( --tint ) / 0.67 );
}
/* /Sections/Home/DashboardBlocks/HeadlineGameList.razor.rz.scp.css */
.dashboard-header[b-01wllu30fn]
{
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
}

.dashboard-header[b-01wllu30fn] >  *
{
}

.dashboard-header:hover[b-01wllu30fn] >  *
{

}

.dashboard-header[b-01wllu30fn] >  *:hover
{
    z-index: 1;
}
/* /Sections/Home/DashboardBlocks/PackageColumn.razor.rz.scp.css */
.list[b-g9un7hydkm]
{
    display: flex;
    flex-direction: column;
}

.entry[b-g9un7hydkm]
{
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 0.5rem;
}



.entry .thumb[b-g9un7hydkm]
{
    display: flex;
}

.entry .thumb img[b-g9un7hydkm]
{
    max-height: 48px;
    aspect-ratio: 1;
    object-fit: cover;
    display: flex;
    border-radius: 6px;
}

.entry .title[b-g9un7hydkm]
{
    display: flex;
    line-height: 1;
    color: var( --accent );
    font-weight: 550;
    font-size: 1rem;

}

.entry .author[b-g9un7hydkm]
{
    font-size: 0.8rem;
    display: flex;
    line-height: 1;
    color: var( --text-strong );
}

.column[b-g9un7hydkm]
{
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 0.5rem;
    padding-top: 8px;
}

.entry:hover[b-g9un7hydkm]
{
    background-color: var( --primary );
    border-radius: 10px;
}

.entry:hover .title[b-g9un7hydkm]
{
    background-color: var( --primary );
    color: var( --primary-alt );
}
/* /Sections/Home/DashboardBlocks/PackageTypeButtons.razor.rz.scp.css */
.package-type-buttons[b-bf9nb42yoo]
{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.package-type-buttons a[b-bf9nb42yoo]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    animation: bounceIn 0.7s linear, fadeIn 0.2s linear;
    animation-fill-mode: both;
    animation-delay: calc( var( --index ) * 0.02s );
}

.package-type-buttons a .icon[b-bf9nb42yoo]
{
    font-size: 30px;
    background-color: var( --accent );
    border-radius: 100px;
    display: flex;
    line-height: 1;
    padding: 16px;
    color: var( --primary-alt );
    transition: padding 0.3s ease;
}

.package-type-buttons a:hover .icon[b-bf9nb42yoo]
{
    outline: 3px solid var( --text-strong );
}

.package-type-buttons a:active .icon[b-bf9nb42yoo]
{
    outline: 8px solid var( --text-strong );
}

.package-type-buttons a .name[b-bf9nb42yoo]
{
    font-size: 0.8rem;
    opacity: 0.7;
}
/* /Sections/Home/DashboardBlocks/PlayerFeed.razor.rz.scp.css */

.feed[b-zhkl9vvmto]
{
    display: flex;
    flex-direction: column;
}

.feed[b-zhkl9vvmto]  .entry
{
    border-bottom: 1px solid var( --surface-line );
}

.feed[b-zhkl9vvmto]  .entry:last-child
{
    border-bottom: none;
}
/* /Sections/Home/DashboardBlocks/PlayerFeedRow.razor.rz.scp.css */

.entry[b-eaxgqhdcyw]
{
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.6rem;
    border-radius: 8px;
    transition: background-color 0.12s ease;
}

.entry:hover[b-eaxgqhdcyw]
{
    background-color: var( --surface-bg-hover );
}

/* Avatar with a small activity-type badge tucked into the corner */

.avatar[b-eaxgqhdcyw]
{
    position: relative;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
}

.avatar img[b-eaxgqhdcyw]
{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.game-avatar img[b-eaxgqhdcyw]
{
    border-radius: 8px;
}

.badge[b-eaxgqhdcyw]
{
    position: absolute;
    right: -3px;
    bottom: -3px;
    display: grid;
    place-items: center;
    min-width: 19px;
    height: 19px;
    padding: 0 2px;
    font-size: 11px;
    line-height: 1;
    border-radius: 10px;
    background-color: rgb( var( --scrim ) / 0.6 );
    box-shadow: 0 0 0 2px rgb( var( --scrim ) / 0.6 );
    backdrop-filter: blur( 6px );
}

/* The "who did what" sentence — name bold, action muted */

.body[b-eaxgqhdcyw]
{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem;
    line-height: 1.3;
}

.who[b-eaxgqhdcyw]
{
    font-weight: 600;
    color: var( --text-strong );
}

.who:hover[b-eaxgqhdcyw]
{
    color: var( --primary-alt );
}

.action[b-eaxgqhdcyw]
{
    color: rgb( var( --tint ) / 0.6 );
    font-size: 0.9rem;
}

.action b[b-eaxgqhdcyw]
{
    color: var( --text-strong );
    font-weight: 600;
}

a.action.update:hover[b-eaxgqhdcyw]
{
    color: var( --primary-alt );
}

/* The game is the one prominent anchor on the right */

.game[b-eaxgqhdcyw]
{
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
    max-width: 42%;
    padding: 0.25rem 0.55rem 0.25rem 0.3rem;
    border-radius: 6px;
    background-color: var( --surface-bg );
    color: var( --text-strong );
    font-size: 0.8rem;
    font-weight: 500;
    transition: background-color 0.12s ease, color 0.12s ease;
}

.game:hover[b-eaxgqhdcyw]
{
    background-color: var( --surface-bg-hover );
    color: var( --primary-alt );
}

.game img[b-eaxgqhdcyw]
{
    width: 22px;
    height: 22px;
    border-radius: 4px;
    object-fit: cover;
    flex-shrink: 0;
}

.game span[b-eaxgqhdcyw]
{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.time[b-eaxgqhdcyw]
{
    flex-shrink: 0;
    width: 54px;
    text-align: right;
    font-size: 0.75rem;
    color: rgb( var( --tint ) / 0.4 );
    white-space: nowrap;
}
/* /Sections/Home/Discover/ContentBlockHero.razor.rz.scp.css */
h1.title[b-y53rqjf7ag]
{
    font-family: Poppins;
    font-size: 1.2rem;
    text-shadow: 2px 2px 10px rgb( var( --scrim ) / 0.87 );
    text-align: center;
}
/* /Sections/Home/Discover/DiscoverGames.razor.rz.scp.css */

.packagegroup[b-qisv5gdech]
{
    overflow: clip;
    margin: 2rem auto;
    width: 95vw; /* Prevents page stretch */
}

.packagegroup h2[b-qisv5gdech]
{
    margin: 0 2rem;
}

.scroller[b-qisv5gdech]
{
    width: 100%; /* Takes full width of parent */
    overflow-x: auto; /* Enables horizontal scrolling */
    overflow-y: hidden; /* Hides vertical scroll */
    padding: 1rem 0;
    mask-image: linear-gradient( to left, transparent 0%, white 15%, white 99%, transparent 100%  );
}

.package-row[b-qisv5gdech]
{
    display: flex;
    white-space: nowrap;
    gap: 1rem;
    padding-left: 2rem;
}

.package-row[b-qisv5gdech] >  *
{
    display: inline-block;
}

.package-row[b-qisv5gdech]:after
{
    content: '';
    width: 15%;
    display: block !important;
    flex-shrink: 0;
}

.dragscroll[b-qisv5gdech]
{
    overflow: auto;
    cursor: grab;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.dragscroll.dragging[b-qisv5gdech]
{
    cursor: grabbing;
    scroll-behavior: auto !important;
}

.dragscroll[b-qisv5gdech]::-webkit-scrollbar
{
    width: 0;
    height: 0;
}

.dragscroll.dragging[b-qisv5gdech]  *
{
    user-select: none;
    -webkit-user-drag: none;
}
/* /Sections/Home/Discover/Home.razor.rz.scp.css */


.package-usage-chart[b-lvaapbfegj]
{
    --entry-height: 55px;
    display: flex;
    flex-direction: column;
    user-select: none;
    position: relative;
    height: 5500px;
}

.package-usage-chart > .navigation[b-lvaapbfegj]
{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 4rem;
    margin-bottom: 2rem;
}

.package-usage-chart > .navigation .current[b-lvaapbfegj]
{
    flex-basis: 200px;
    text-align: center;
    font-size: 1rem;
}

.package-usage-chart > .navigation a.button[b-lvaapbfegj]
{
    padding: 1rem;
    font-family: "Material Symbols Rounded";
    color: var( --text-strong );
}

.package-usage-chart > .navigation a[href=""][b-lvaapbfegj]
{
    pointer-events: none;
    opacity: 0.2;
}


.package-usage-chart .chart-canvas[b-lvaapbfegj]
{
    position: relative;
}

.package-usage-chart div.entry[b-lvaapbfegj]
{
    display: flex;
    gap: 8px;
    border-bottom: 1px solid rgb( var( --tint ) / 0.04 );
    padding: 10px 0px;
    position: absolute;
    transition: all 0.4s ease-in-out;
    max-height: var( --entry-height );
    white-space: nowrap;
}

.package-usage-chart div.entry&.highlight .place[b-lvaapbfegj]
{
    width: 64px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 1.0rem;
    padding-right: 1rem;
    color: rgb( var( --tint ) / 0.67 );
}

.package-usage-chart div.entry&.highlight .place[b-lvaapbfegj]:after
{
    content: '.';
}

.package-usage-chart div.entry&.highlight .delta[b-lvaapbfegj]
{
    width: 64px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 1.0rem;
    padding-right: 1rem;
    top: 0px;
    left: 5px;
    gap: 0.5rem;
    font-weight: bolder;
}

.package-usage-chart div.entry&.highlight.stay[b-lvaapbfegj]
{
    color: rgb( var( --tint ) / 0.13 );

 }

.package-usage-chart div.entry&.highlight.stay[b-lvaapbfegj]:before
{
    content: 'push_pin';
    font-family: "Material Symbols Rounded";
}

.package-usage-chart div.entry&.highlight.new[b-lvaapbfegj]
{
    color: var( --warning );

}

.package-usage-chart div.entry&.highlight.new[b-lvaapbfegj]:before
{
    content: 'grade';
    font-family: "Material Symbols Rounded";
}

.package-usage-chart div.entry&.highlight.up[b-lvaapbfegj]
{
    color: var( --success );

}

.package-usage-chart div.entry&.highlight.up[b-lvaapbfegj]:before
{
    content: 'trending_up';
    font-family: "Material Symbols Rounded";
}

.package-usage-chart div.entry&.highlight.down[b-lvaapbfegj]
{
    color: var( --error );

}

.package-usage-chart div.entry&.highlight.down[b-lvaapbfegj]:before
{
    content: 'south_east';
    font-family: "Material Symbols Rounded";
}


    img[b-lvaapbfegj]
    {
        height: 32px;
        width: 32px;
        object-fit: cover;
        border-radius: 20%;
    }

    .body[b-lvaapbfegj]
    {
        flex-grow: 1;

        .title
        {
            font-size: 0.9rem;
            font-family: Poppins;
            font-weight: bold;

            a
            {
                text-decoration: none;
            }
        }

        .subtitle[b-lvaapbfegj]
        {
            opacity: 0.5;
        }
    }

/* /Sections/Home/NewsHome.razor.rz.scp.css */
/* =================================================================
   /news — featured post + duo + archive list
   Uses site tokens. Lives in the standard 1100px rail.
   ================================================================= */

.news-page[b-s2kkvuvfql]
{
    padding: 2rem 0 6rem;
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

/* =================================================================
   DRAFT / SCHEDULED BAR (editors only)
   ================================================================= */

.draft-bar[b-s2kkvuvfql]
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    padding: 0.85rem 1.1rem;
    border-radius: 8px;
    background: rgb( from var( --warning ) r g b / 0.07 );
    border: 1px solid rgb( from var( --warning ) r g b / 0.28 );
    margin-bottom: -2rem; /* tighten gap to the hero below */
}

.draft-label[b-s2kkvuvfql]
{
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var( --warning );
    font-weight: 600;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.draft-label i[b-s2kkvuvfql] { font-size: 1.1rem; }

.draft-links[b-s2kkvuvfql]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    flex-grow: 1;
}

.draft-state[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 0.18rem 0.4rem;
    border-radius: 3px;
    background: rgb( from var( --warning ) r g b / 0.18 );
    color: var( --warning );
}

.draft-state.scheduled[b-s2kkvuvfql]
{
    background: rgb( from var( --accent ) r g b / 0.18 );
    color: var( --accent-bright );
}

.draft-title[b-s2kkvuvfql]
{
    font-weight: 500;
}

.draft-date[b-s2kkvuvfql]
{
    font-size: 0.78rem;
    color: var( --text-muted );
    opacity: 0.7;
}

/* =================================================================
   HERO FEATURE (latest post)
   ================================================================= */

.hero[b-s2kkvuvfql]
{
    position: relative;
    display: block;
    height: clamp( 380px, 56vh, 560px );
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: var( --text-strong );
    background: var( --surface-bg );
    box-shadow: var( --shadow-md );
    transition: transform 0.4s cubic-bezier( 0.2, 0.8, 0.2, 1 ),
                box-shadow 0.4s ease;
}

.hero:hover[b-s2kkvuvfql]
{
    color: var( --text-strong );
    transform: translateY( -3px );
    box-shadow: var( --shadow-lg );
}

.hero-media[b-s2kkvuvfql]
{
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.hero-media img[b-s2kkvuvfql],
.hero-media[b-s2kkvuvfql]  video
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale( 1.02 );
    transition: transform 6s ease-out;
}

.hero:hover .hero-media img[b-s2kkvuvfql],
.hero:hover .hero-media[b-s2kkvuvfql]  video
{
    transform: scale( 1.08 );
}

.hero-vignette[b-s2kkvuvfql]
{
    position: absolute;
    inset: 0;
    background:
        linear-gradient( to top,
            rgb( var( --scrim ) / 0.92 ) 0%,
            rgb( var( --scrim ) / 0.55 ) 35%,
            transparent 65%,
            rgb( var( --scrim ) / 0.35 ) 100% ),
        linear-gradient( to right,
            rgb( var( --scrim ) / 0.55 ) 0%,
            transparent 50% );
}

.hero-body[b-s2kkvuvfql]
{
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: 3rem 3rem 2.5rem;
}

.hero-tag[b-s2kkvuvfql]
{
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 0.85rem;
    background: rgb( from var( --primary ) r g b / 0.18 );
    border: 1px solid rgb( from var( --primary ) r g b / 0.5 );
    color: var( --accent-bright );
    font-family: 'Poppins', sans-serif;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    border-radius: 4px;
    backdrop-filter: blur( 8px );
    margin-bottom: 1.4rem;
}

.dot-blink[b-s2kkvuvfql]
{
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var( --accent-bright );
    animation: blink-b-s2kkvuvfql 1.6s steps( 2 ) infinite;
}

@keyframes blink-b-s2kkvuvfql { 50% { opacity: 0.25; } }

.hero-title[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: clamp( 2rem, 4vw, 3.4rem );
    line-height: 1.05;
    letter-spacing: -0.015em;
    color: var( --text-strong );
    margin: 0 0 1rem;
    max-width: 720px;
    text-shadow: 0 2px 24px rgb( var( --scrim ) / 0.5 );
}

.hero-summary[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    line-height: 1.55;
    color: rgb( from var( --text-strong ) r g b / 0.88 );
    max-width: 620px;
    margin: 0 0 2rem;
    text-shadow: 0 1px 10px rgb( var( --scrim ) / 0.5 );
}

.hero-foot[b-s2kkvuvfql]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgb( var( --tint ) / 0.18 );
}

.hero-author[b-s2kkvuvfql]
{
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: rgb( from var( --text-strong ) r g b / 0.8 );
    font-size: 0.95rem;
}

.hero-avatar[b-s2kkvuvfql]
{
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgb( var( --tint ) / 0.25 );
}

.hero-author strong[b-s2kkvuvfql]
{
    color: var( --text-strong );
    font-weight: 600;
}

.hero-meta[b-s2kkvuvfql]
{
    display: flex;
    align-items: center;
    gap: 1.4rem;
    font-size: 0.95rem;
    color: rgb( from var( --text-strong ) r g b / 0.75 );
}

.hero-meta span[b-s2kkvuvfql]
{
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.hero-meta i[b-s2kkvuvfql] { font-size: 1rem; }

.hero-cta[b-s2kkvuvfql]
{
    color: var( --text-strong ) !important;
    padding-left: 1.4rem;
    margin-left: 0.4rem;
    border-left: 1px solid rgb( var( --tint ) / 0.22 );
    font-weight: 600;
    transition: color 0.3s, gap 0.3s;
}

.hero:hover .hero-cta[b-s2kkvuvfql]
{
    color: var( --accent-bright ) !important;
    gap: 0.6rem;
}

/* =================================================================
   DUO ROW (next two posts)
   ================================================================= */

.duo[b-s2kkvuvfql]
{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.duo-card[b-s2kkvuvfql]
{
    display: block;
    text-decoration: none;
    color: var( --text-strong );
    transition: transform 0.4s cubic-bezier( 0.2, 0.8, 0.2, 1 );
}

.duo-card:hover[b-s2kkvuvfql]
{
    color: var( --text-strong );
    transform: translateY( -3px );
}

.duo-media[b-s2kkvuvfql]
{
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 10px;
    background: var( --surface-bg );
}

.duo-media img[b-s2kkvuvfql],
.duo-media[b-s2kkvuvfql]  video
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 1.2s cubic-bezier( 0.2, 0.8, 0.2, 1 );
}

.duo-card:hover .duo-media img[b-s2kkvuvfql],
.duo-card:hover .duo-media[b-s2kkvuvfql]  video
{
    transform: scale( 1.06 );
}

.duo-body[b-s2kkvuvfql]
{
    padding: 1.4rem 0.25rem 0;
}

.duo-meta[b-s2kkvuvfql]
{
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 0.7rem;
    font-size: 0.85rem;
    color: var( --text-muted );
    opacity: 0.7;
}

.duo-meta > span[b-s2kkvuvfql]
{
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.duo-meta i[b-s2kkvuvfql] { font-size: 0.95rem; }

.duo-dot[b-s2kkvuvfql]
{
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.6;
}

.duo-title[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var( --text-strong );
    margin: 0 0 0.7rem;
    transition: color 0.3s;
}

.duo-card:hover .duo-title[b-s2kkvuvfql] { color: var( --accent-bright ); }

.duo-summary[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-size: 0.98rem;
    line-height: 1.5;
    color: var( --text-color );
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* =================================================================
   ARCHIVE LIST
   ================================================================= */

.archive[b-s2kkvuvfql]
{
    margin-top: 1rem;
}

.archive-header[b-s2kkvuvfql]
{
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var( --surface-line );
}

.archive-header h3[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    margin: 0;
    color: var( --text-strong );
    letter-spacing: -0.01em;
}

.archive-count[b-s2kkvuvfql]
{
    color: var( --text-muted );
    font-size: 0.95rem;
    opacity: 0.7;
}

.archive-list[b-s2kkvuvfql]
{
    list-style: none;
    margin: 0;
    padding: 0;
}

.archive-row[b-s2kkvuvfql]
{
    border-bottom: 1px solid var( --surface-line );
    position: relative;
    transition: background 0.25s ease;
}

.archive-row[b-s2kkvuvfql]::before
{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var( --primary );
    transform: scaleY( 0 );
    transform-origin: top;
    transition: transform 0.4s cubic-bezier( 0.2, 0.8, 0.2, 1 );
}

.archive-row:hover[b-s2kkvuvfql]
{
    background: var( --surface-bg-hover );
}

.archive-row:hover[b-s2kkvuvfql]::before
{
    transform: scaleY( 1 );
}

.archive-row a[b-s2kkvuvfql]
{
    display: grid;
    grid-template-columns: 78px 130px 1fr 90px 28px;
    gap: 1.5rem;
    align-items: center;
    padding: 1.1rem 1.25rem 1.1rem 1.5rem;
    text-decoration: none;
    color: var( --text-color );
    transition: padding 0.25s ease;
}

.archive-row:hover a[b-s2kkvuvfql] { padding-left: 2rem; }

.archive-date[b-s2kkvuvfql]
{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
    gap: 0.2rem;
}

.archive-day[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.9rem;
    color: var( --text-strong );
    letter-spacing: -0.02em;
}

.archive-month[b-s2kkvuvfql]
{
    font-size: 0.7rem;
    font-weight: 600;
    color: var( --text-muted );
    letter-spacing: 0.08em;
    opacity: 0.75;
}

.archive-year[b-s2kkvuvfql]
{
    font-size: 0.7rem;
    color: var( --text-muted );
    opacity: 0.5;
}

.archive-thumb[b-s2kkvuvfql]
{
    width: 130px;
    height: 78px;
    overflow: hidden;
    border-radius: 6px;
    background: var( --surface-bg );
    flex-shrink: 0;
}

.archive-thumb img[b-s2kkvuvfql],
.archive-thumb[b-s2kkvuvfql]  video
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier( 0.2, 0.8, 0.2, 1 );
}

.archive-row:hover .archive-thumb img[b-s2kkvuvfql],
.archive-row:hover .archive-thumb[b-s2kkvuvfql]  video
{
    transform: scale( 1.08 );
}

.archive-body[b-s2kkvuvfql]
{
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.archive-title[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 1.2;
    color: var( --text-strong );
    letter-spacing: -0.01em;
    transition: color 0.25s;
}

.archive-row:hover .archive-title[b-s2kkvuvfql] { color: var( --accent-bright ); }

.archive-summary[b-s2kkvuvfql]
{
    font-family: 'Poppins', sans-serif;
    font-size: 0.92rem;
    line-height: 1.45;
    color: var( --text-color );
    opacity: 0.85;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.archive-meta[b-s2kkvuvfql]
{
    color: var( --text-muted );
    font-size: 0.9rem;
    opacity: 0.75;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.archive-meta > span[b-s2kkvuvfql]
{
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.archive-meta i[b-s2kkvuvfql] { font-size: 0.95rem; }

.archive-arrow[b-s2kkvuvfql]
{
    color: var( --text-muted );
    opacity: 0.55;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s, opacity 0.3s, transform 0.4s cubic-bezier( 0.2, 0.8, 0.2, 1 );
}

.archive-arrow i[b-s2kkvuvfql] { font-size: 1.3rem; }

.archive-row:hover .archive-arrow[b-s2kkvuvfql]
{
    color: var( --accent-bright );
    opacity: 1;
    transform: translate( 3px, -3px );
}

/* =================================================================
   RESPONSIVE
   ================================================================= */

@media (max-width: 900px)
{
    .news-page[b-s2kkvuvfql] { gap: 3rem; padding: 1rem 0 4rem; }

    .hero[b-s2kkvuvfql]        { height: clamp( 340px, 60vh, 480px ); border-radius: 8px; }
    .hero-body[b-s2kkvuvfql]   { padding: 2rem 1.5rem 1.5rem; }
    .hero-foot[b-s2kkvuvfql]   { gap: 1rem; }
    .hero-cta[b-s2kkvuvfql]    { border-left: none; padding-left: 0; margin-left: 0; }

    .duo[b-s2kkvuvfql]         { grid-template-columns: 1fr; gap: 2.5rem; }

    .archive-row a[b-s2kkvuvfql]
    {
        grid-template-columns: 64px 1fr;
        grid-template-areas:
            "date title"
            "thumb body";
        gap: 1rem;
        padding: 1rem 0.75rem;
    }
    .archive-date[b-s2kkvuvfql]  { grid-area: date; }
    .archive-thumb[b-s2kkvuvfql] { grid-area: thumb; width: 100%; height: 120px; margin-top: 0.5rem; }
    .archive-body[b-s2kkvuvfql]  { grid-area: body; margin-top: 0.5rem; }
    .archive-title[b-s2kkvuvfql] { grid-area: title; font-size: 1.05rem; }
    .archive-meta[b-s2kkvuvfql], .archive-arrow[b-s2kkvuvfql] { display: none; }
    .archive-row:hover a[b-s2kkvuvfql] { padding-left: 0.75rem; }
    .archive-day[b-s2kkvuvfql] { font-size: 1.5rem; }
}
/* /Sections/Home/PlatformNewsPost.razor.rz.scp.css */

.news-list .container[b-lp1j6k95g5]
{
    display: flex;
    flex-direction: column;
    max-width: 900px;
    gap: 1rem;
}
/* /Sections/InGame/GameLayout.razor.rz.scp.css */
.game-site-layout[b-grygvrj0u7]
{
    width: 100vw;
    height: 100vh;
    overflow: clip;
    display: flex;
    justify-content: center;
    align-items: center;
}

.game-site-layout-inner[b-grygvrj0u7]
{
}
/* /Sections/InGame/Paused/PausedHome.razor.rz.scp.css */

.news-list .container[b-xdvzmaek5o]
{
    display: flex;
    max-width: 1000px;
    flex-wrap: wrap;
    gap: 1rem;
}

h2[b-xdvzmaek5o]
{
    margin-bottom: 3rem;
}

hr[b-xdvzmaek5o]
{
    margin: 4rem 0;
    opacity: 0.1;
}
/* /Sections/Learn/Learn.razor.rz.scp.css */
.learn-site-header[b-xa54pyfb1c]
{
    position: relative;
    padding: 2.5rem 0 2.25rem;
    overflow: hidden;
    background-color: rgb( 12, 16, 28 );
    border-bottom: 1px solid rgba( 255, 255, 255, 0.06 );
    isolation: isolate;
}

    /* Blurred backdrop image — slowly panned and scaled past the edges so the
 * blur halo never shows through. Sits behind everything via z-index. */
    .learn-site-header .glow[b-xa54pyfb1c]
    {
        position: absolute;
        inset: -8%;
        background: url( "https://cdn.sbox.game/upload/i/dee77496/6f6d/4de9/aaac/bdb990bbe953" ) center / cover no-repeat;
        filter: blur( 5px ) saturate( 1.9 ) brightness( 0.85 );
        transform: scale( 1.18 ) translate3d( 0, 0, 0 );
        will-change: transform;
        animation: learn-pan-b-xa54pyfb1c 32s ease-in-out infinite alternate;
        pointer-events: none;
        z-index: -2;
    }

    /* Tint + vignette on top of the image to keep title contrast and to bias
 * the eye toward the left where the title lives. */
    .learn-site-header[b-xa54pyfb1c]::after
    {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient( ellipse 60% 100% at 18% 50%, rgba( 99, 102, 241, 0.22 ), transparent 70% ), radial-gradient( ellipse 50% 90% at 82% 60%, rgba( 14, 165, 233, 0.16 ), transparent 70% ), linear-gradient( 180deg, rgba( 8, 10, 20, 0.35 ) 0%, rgba( 8, 10, 20, 0.55 ) 100% );
        pointer-events: none;
        z-index: -1;
    }

@keyframes learn-pan-b-xa54pyfb1c
{
    0%
    {
        transform: scale( 1.18 ) translate3d( -3%, -2%, 0 );
    }

    50%
    {
        transform: scale( 1.22 ) translate3d( 2%, 1.5%, 0 );
    }

    100%
    {
        transform: scale( 1.18 ) translate3d( 3%, -1%, 0 );
    }
}

@media ( prefers-reduced-motion: reduce )
{
    .learn-site-header .glow[b-xa54pyfb1c]
    {
        animation: none;
    }
}

.learn-site-header .title-row[b-xa54pyfb1c]
{
    display: flex;
    align-items: center;
    gap: 1.1rem;
}

.learn-site-header .title-mark[b-xa54pyfb1c]
{
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient( 135deg, rgba( 99, 102, 241, 0.85 ), rgba( 14, 165, 233, 0.85 ) );
    box-shadow: 0 8px 24px rgba( 80, 100, 220, 0.35 ), inset 0 1px 0 rgba( 255, 255, 255, 0.2 );
}

    .learn-site-header .title-mark i[b-xa54pyfb1c]
    {
        font-size: 28px;
        color: white;
        line-height: 1;
    }

.learn-site-header .title-text[b-xa54pyfb1c]
{
    min-width: 0;
}

.learn-site-header h1[b-xa54pyfb1c]
{
    margin: 0;
    font-size: 1.85rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.15;
    color: var( --text-strong );
    background: linear-gradient( 90deg, var( --text-strong ), rgba( 180, 200, 255, 0.85 ) );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.learn-site-header .subtitle[b-xa54pyfb1c]
{
    margin: 0.3rem 0 0;
    font-size: 0.95rem;
    line-height: 1.4;
    opacity: 0.7;
    max-width: 56ch;
}

.learn-popular[b-xa54pyfb1c]
{
    display: grid;
    grid-template-columns: repeat( auto-fill, minmax( 320px, 1fr ) );
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}
/* /Sections/Learn/TutorialCard.razor.rz.scp.css */
.tutorialcard[b-65naib0wcb]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.1rem;
    background: rgba( 255, 255, 255, 0.025 );
    border: 1px solid rgba( 255, 255, 255, 0.06 );
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: background 120ms, border-color 120ms, transform 120ms;
}

.tutorialcard:hover[b-65naib0wcb]
{
    background: rgba( 255, 255, 255, 0.045 );
    border-color: rgba( 255, 255, 255, 0.12 );
    transform: translateY( -1px );
}

.tutorialcard-header[b-65naib0wcb]
{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.tutorialcard .title[b-65naib0wcb]
{
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
    flex: 1;
}

.tutorialcard .stars[b-65naib0wcb]
{
    display: inline-flex;
    gap: 1px;
    font-size: 0.9rem;
    line-height: 1;
    color: rgba( 255, 255, 255, 0.25 );
    flex-shrink: 0;
}

.tutorialcard .stars .star.filled[b-65naib0wcb]
{
    color: #f0b400;
}

.tutorialcard .summary[b-65naib0wcb]
{
    font-size: 0.9rem;
    line-height: 1.4;
    opacity: 0.8;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tutorialcard .meta[b-65naib0wcb]
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    opacity: 0.65;
}

.tutorialcard .meta .dot[b-65naib0wcb]
{
    opacity: 0.5;
}

.tutorialcard .meta .readers[b-65naib0wcb]
{
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.tutorialcard .meta .tags[b-65naib0wcb]
{
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.tutorialcard .meta .tag[b-65naib0wcb]
{
    padding: 0.05rem 0.4rem;
    background: rgba( 255, 255, 255, 0.06 );
    border-radius: 4px;
}
/* /Sections/Learn/TutorialHome.razor.rz.scp.css */
/* ===== LAYOUT ===== */

.tutorial-layout[b-t37lsqnz4e]
{
    display: grid;
    grid-template-columns: minmax( 0, 1fr ) 280px;
    gap: 2.5rem;
    padding: 2rem 0 4rem;
    align-items: start;
}

@media ( max-width: 900px )
{
    .tutorial-layout[b-t37lsqnz4e]
    {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ===== BODY ===== */

.tutorial-body[b-t37lsqnz4e]
{
    min-width: 0;
    max-width: 740px;
}

.tutorial-body[b-t37lsqnz4e]  .brix-styles
{
    padding: 2rem;
}

.tutorial-body[b-t37lsqnz4e]  a
{
    color: var( --link );
}

.tutorial-body[b-t37lsqnz4e]  a:hover
{
    color: var( --link-hover );
}

/* ===== FOOTER RATING PROMPT ===== */

.tutorial-footer[b-t37lsqnz4e]
{
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var( --surface-line );
}

/* ===== SIDEBAR ===== */

.tutorial-sidebar[b-t37lsqnz4e]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: sticky;
    top: 1rem;
}

.side-block[b-t37lsqnz4e]
{
    background: var( --surface-bg );
    border: 1px solid var( --surface-line );
    border-radius: 10px;
    padding: 1rem 1.1rem;
}

.side-block h3[b-t37lsqnz4e]
{
    margin: 0 0 0.7rem 0;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var( --text-faint );
    opacity: 0.7;
}

.author-card .author-link[b-t37lsqnz4e]
{
    display: flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
    color: inherit;
    margin-bottom: 0.85rem;
}

.author-card .avatar[b-t37lsqnz4e]
{
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.author-card .author-label[b-t37lsqnz4e]
{
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var( --text-faint );
    opacity: 0.7;
}

.author-card .author-name[b-t37lsqnz4e]
{
    font-weight: 600;
    color: var( --text-strong );
    margin-top: 0.1rem;
}

.author-card .author-more[b-t37lsqnz4e]
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    color: inherit;
    text-decoration: none;
    font-size: 0.85rem;
    padding: 0.5rem 0.7rem;
    border-radius: 6px;
    background: var( --surface-bg-fade );
    transition: background 0.15s ease, color 0.15s ease;
}

.author-card .author-more:hover[b-t37lsqnz4e]
{
    background: var( --surface-bg-hover );
    color: var( --text-strong );
}

.mini-list[b-t37lsqnz4e]
{
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}


/* Tag cloud */

.tag-cloud[b-t37lsqnz4e]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.tag[b-t37lsqnz4e]
{
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var( --surface-bg );
    color: inherit;
    text-decoration: none;
    font-size: 0.78rem;
    transition: background 0.15s ease, color 0.15s ease;
}

.tag:hover[b-t37lsqnz4e]
{
    background: rgb( from var( --primary ) r g b / 0.2 );
    color: var( --text-strong );
}
/* /Sections/Learn/TutorialSiteHeader.razor.rz.scp.css */
/* ===== HEADER WRAPPER =====
 * The wrapper carries the dark band so hero + tab bar read as one
 * continuous header (matches PackageSiteHeader). Without this, the tab
 * bar floats on the default page background and looks disconnected.
 */

.tutorial-site-header[b-1ngtzseih3]
{
    container-type: inline-size;
    background-color: var( --site-header-color );
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Glow sits at the wrapper level so the radial gradients bleed behind
 * the tab bar too — without this it stops at the hero and the tab bar
 * reads as a flat black strip. */
.tutorial-site-header > .hero-glow[b-1ngtzseih3]
{
    position: absolute;
    inset: 0;
    background:
        radial-gradient( ellipse 50% 100% at 15% 50%, rgb( from var( --primary ) r g b / 0.18 ), transparent 70% ),
        radial-gradient( ellipse 40% 80% at 85% 60%, rgb( from var( --accent ) r g b / 0.12 ), transparent 70% );
    pointer-events: none;
    z-index: -1;
}

/* Drop the TabBar's default 1rem margin-bottom — its border-bottom is
 * the bottom edge of the header itself, no gap between the two. */
.tutorial-site-header[b-1ngtzseih3]  .tab-bar
{
    margin-bottom: 0;
}

/* ===== HERO HEADER ===== */

.tutorial-hero[b-1ngtzseih3]
{
    position: relative;
    padding: 2rem 0 1.75rem;
}

.tutorial-hero[b-1ngtzseih3]  .hero-back
{
    align-self: flex-start;
    margin-bottom: 0.75rem;
}

.tutorial-hero .hero-eyebrow[b-1ngtzseih3]
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    font-size: 0.8rem;
    margin-bottom: 0.6rem;
    color: var( --text-muted );
}

.tutorial-hero .eyebrow-chip[b-1ngtzseih3]
{
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    background: var( --surface-bg-hover );
    color: var( --text-strong );
    font-weight: 500;
}

/* Difficulty chips — colour-coded so a reader skimming a tutorial can see
 * the level at a glance. Other category leaves stay neutral. */
.tutorial-hero .eyebrow-chip.is-beginner[b-1ngtzseih3]
{
    background: rgb( from var( --success ) r g b / 0.18 );
    color: var( --success );
    border: 1px solid rgb( from var( --success ) r g b / 0.4 );
}

.tutorial-hero .eyebrow-chip.is-intermediate[b-1ngtzseih3]
{
    background: rgb( from var( --highlight-gold ) r g b / 0.18 );
    color: var( --highlight-gold );
    border: 1px solid rgb( from var( --highlight-gold ) r g b / 0.4 );
}

.tutorial-hero .eyebrow-chip.is-advanced[b-1ngtzseih3]
{
    background: rgb( from var( --error ) r g b / 0.18 );
    color: var( --error );
    border: 1px solid rgb( from var( --error ) r g b / 0.4 );
}

.tutorial-hero h1[b-1ngtzseih3]
{
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.1;
    color: var( --text-strong );
}

.tutorial-hero .hero-summary[b-1ngtzseih3]
{
    margin: 0.5rem 0 0;
    font-size: 1rem;
    line-height: 1.45;
    color: var( --text-color );
    max-width: 60ch;
}

.tutorial-hero .hero-byline[b-1ngtzseih3]
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.9rem;
    font-size: 0.85rem;
    color: var( --text-muted );
}

.tutorial-hero .author-pill[b-1ngtzseih3]
{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0.75rem 0.2rem 0.2rem;
    border-radius: 999px;
    background: var( --surface-bg );
    color: inherit;
    text-decoration: none;
    transition: background 0.15s ease;
}

.tutorial-hero .author-pill:hover[b-1ngtzseih3]
{
    background: var( --surface-bg-hover );
}

.tutorial-hero .author-pill img[b-1ngtzseih3]
{
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}

.tutorial-hero .meta[b-1ngtzseih3]
{
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.tutorial-hero .dot[b-1ngtzseih3]
{
    opacity: 0.4;
}

.tutorial-hero .hero-actions[b-1ngtzseih3]
{
    display: flex;
    gap: 0.4rem;
    align-items: center;
}
/* /Sections/Metrics/GamePerformance.Bottleneck.razor.rz.scp.css */
.bottleneck-hero[b-lllrs5jdx0] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.5rem;
    margin: 0.5rem 0 1.5rem;
    background: linear-gradient(
        135deg,
        var( --surface-bg ) 0%,
        var( --surface-bg-fade ) 100%
    );
    border: 1px solid var( --surface-line );
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

.bottleneck-hero[b-lllrs5jdx0]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at 5% 0%,
        rgb( from var( --primary ) r g b / 0.1 ) 0%,
        transparent 50%
    );
    pointer-events: none;
}

.bottleneck-hero-icon[b-lllrs5jdx0] {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        rgb( from var( --primary ) r g b / 0.18 ) 0%,
        rgb( from var( --primary ) r g b / 0.05 ) 100%
    );
    border: 1px solid rgb( from var( --primary ) r g b / 0.25 );
    border-radius: 12px;
    flex-shrink: 0;
}

    .bottleneck-hero-icon i[b-lllrs5jdx0] {
        font-size: 28px;
        color: var( --primary );
    }

.bottleneck-hero-info h1[b-lllrs5jdx0] {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
}

.bottleneck-hero-info p[b-lllrs5jdx0] {
    font-size: 0.875rem;
    color: var( --text-faded );
    margin: 0;
    line-height: 1.5;
    max-width: 600px;
}

.tier-legend[b-lllrs5jdx0] {
    display: flex;
    gap: 1.25rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
}

.tier-item[b-lllrs5jdx0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.tier-badge[b-lllrs5jdx0] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    white-space: nowrap;
}

    .tier-badge.low[b-lllrs5jdx0] {
        background: rgb( 239 68 68 / 0.15 );
        color: #f87171;
    }

    .tier-badge.mid[b-lllrs5jdx0] {
        background: rgb( 234 179 8 / 0.15 );
        color: #facc15;
    }

    .tier-badge.high[b-lllrs5jdx0] {
        background: rgb( 34 197 94 / 0.15 );
        color: #4ade80;
    }

.tier-desc[b-lllrs5jdx0] {
    font-size: 0.8rem;
    color: var( --text-faded );
}
/* /Sections/Metrics/GamePerformance.BottleneckMatrix.razor.rz.scp.css */
.tier-badge[b-o232u5hfhf] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    white-space: nowrap;
}

    .tier-badge.low[b-o232u5hfhf] {
        background: rgb( 239 68 68 / 0.15 );
        color: #f87171;
    }

    .tier-badge.mid[b-o232u5hfhf] {
        background: rgb( 234 179 8 / 0.15 );
        color: #facc15;
    }

    .tier-badge.high[b-o232u5hfhf] {
        background: rgb( 34 197 94 / 0.15 );
        color: #4ade80;
    }
/* /Sections/Metrics/MetricsLayout.razor.rz.scp.css */
.store-layout[b-66ksmi1324]
{
    --site-design-width: 1100px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

@media (min-width: 1300px)
{
    .store-layout[b-66ksmi1324]  .header-standard
    {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
    }
}

/* /Sections/Metrics/SkinDetail.razor.rz.scp.css */
.skin-header[b-d7iiv6tz8z]
{
	display: flex;
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 32px;
}

.skin-header .icon[b-d7iiv6tz8z]
{
	width: 128px;
	height: 128px;
	object-fit: contain;
	flex-shrink: 0;
}

.skin-header .info h1[b-d7iiv6tz8z]
{
	margin: 0 0 4px 0;
}

.skin-header .info p[b-d7iiv6tz8z]
{
	margin: 0 0 12px 0;
	opacity: 0.7;
}

.skin-header .badges[b-d7iiv6tz8z]
{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 10px;
}

.skin-header .rarity[b-d7iiv6tz8z]
{
	font-weight: 600;
	font-size: 13px;
}

.skin-header .meta[b-d7iiv6tz8z]
{
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-size: 13px;
	opacity: 0.6;
}
/* /Sections/Notifications/Notices.razor.rz.scp.css */
.notice-list[b-gsmmt5mhe7]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;

}

.pending-join-notice[b-gsmmt5mhe7]
{

}

.invites[b-gsmmt5mhe7]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.pending-invite[b-gsmmt5mhe7]
{
    background-color: #182b4e;
    padding: 1rem;
    border-radius: 16px;
    display: flex;

    .info
    {
        flex-grow: 1;
        color: var( --text-strong );

        a
        {
            color: var( --primary );
        }
    }

    .actions[b-gsmmt5mhe7]
    {
        display: flex;
        gap: 1rem;
    }
}
/* /Sections/Notifications/NoticeTemplate.razor.rz.scp.css */

.notice[b-5ekp62e4h6]
{
    display: flex;
    gap: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 16px;
    font-size: 0.9rem;
}

.unread[b-5ekp62e4h6]
{
    background-color: color-mix( in oklab, var( --primary ) 20%, transparent );
    color: color-mix( in oklab, var( --primary ) 50%, var( --text-strong ) );
}

.content[b-5ekp62e4h6]
{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content .meta[b-5ekp62e4h6]
{
    font-size: 0.8rem;
    opacity: 0.5;
}

.content[b-5ekp62e4h6]  a
{
    color: var( --primary-alt );
    border-radius: 5px;
}

.content[b-5ekp62e4h6]  a:hover
{
    text-decoration: underline;
}

.image img[b-5ekp62e4h6]
{
    width: 48px;
    height: 48px;
    border-radius: 100px;
    object-fit: cover;
}

.image[b-5ekp62e4h6]  .icon
{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 100px;
    font-size: 28px;
    background-color: color-mix( in oklab, var( --primary ) 20%, transparent );
    color: var( --primary-alt );
}
/* /Sections/Notifications/Types/CommentRateNotice.razor.rz.scp.css */
.rating-image[b-61925oabk8]
{
    height: 24px;
    position: relative;
    top: 7px;
    left: 4px;
}
/* /Sections/Organization/Assets/AssetCell.razor.rz.scp.css */
.asset-cell[b-5hq21y7lzo]
{
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.asset-thumb[b-5hq21y7lzo]
{
	width: 34px;
	height: 20px;
	flex-shrink: 0;
	object-fit: cover;
	border-radius: 3px;
	background: rgb( var( --tint ) / 0.1 );
}
/* /Sections/Organization/Assets/Assets.razor.rz.scp.css */
.faded[b-q6ds8dk594]
{
	opacity: 0.4;
}
/* /Sections/Organization/Home.razor.rz.scp.css */
.org-home[b-f6z5u48eie]
{
    display: grid;
    grid-template-columns: minmax( 0, 1fr ) 280px;
    gap: 2rem;
    align-items: start;
}

.org-home-main[b-f6z5u48eie]
{
    min-width: 0;
}

.org-rail[b-f6z5u48eie]
{
    position: sticky;
    top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rail-panel[b-f6z5u48eie]
{
    background-color: var( --surface-1 );
    border: 1px solid var( --surface-line );
    border-radius: 12px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.rail-header[b-f6z5u48eie]
{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 0.25rem 0.5rem 0.5rem;
    border-bottom: 1px solid var( --surface-line );
}

.rail-header .title[b-f6z5u48eie]
{
    font-family: Poppins;
    font-weight: 600;
    font-size: 0.8rem;
    color: var( --text-strong );
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.rail-header .count[b-f6z5u48eie]
{
    font-family: Sen, sans-serif;
    font-size: 0.8rem;
    color: rgb( var( --tint ) / 0.5 );
    font-variant-numeric: tabular-nums;
}

/*
 * Stats list — label on the left, value on the right
 */

.stat-list[b-f6z5u48eie]
{
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.4rem 1rem;
    margin: 0;
    padding: 0.25rem 0.5rem;
}

.stat-list dt[b-f6z5u48eie]
{
    font-size: 0.8rem;
    color: rgb( var( --tint ) / 0.6 );
    text-transform: lowercase;
}

.stat-list dd[b-f6z5u48eie]
{
    margin: 0;
    font-family: Sen, sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: var( --text-strong );
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/*
 * Members
 */

.member-list[b-f6z5u48eie]
{
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    max-height: 640px;
    overflow-y: auto;
}

.member-row[b-f6z5u48eie]
{
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
}

.member-row:hover[b-f6z5u48eie]
{
    background-color: rgb( var( --tint ) / 0.05 );
}

.member-avatar[b-f6z5u48eie]
{
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    position: relative;
    display: block;
}

.member-avatar img[b-f6z5u48eie]
{
    width: 100%;
    height: 100%;
    border-radius: 6px;
    object-fit: cover;
    display: block;
}

.member-avatar.online[b-f6z5u48eie]::after
{
    content: "";
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #4ade80;
    border: 2px solid var( --surface-1 );
}

.member-text[b-f6z5u48eie]
{
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    line-height: 1.2;
}

.member-text[b-f6z5u48eie]  .username
{
    font-weight: 500;
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-meta[b-f6z5u48eie]
{
    font-size: 0.7rem;
    color: rgb( var( --tint ) / 0.5 );
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-meta .role.owner[b-f6z5u48eie]
{
    color: #f4c430;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.65rem;
}

@media (max-width: 900px)
{
    .org-home[b-f6z5u48eie]
    {
        grid-template-columns: minmax( 0, 1fr );
    }

    .org-rail[b-f6z5u48eie]
    {
        position: static;
        order: 2;
    }
}
/* /Sections/Organization/Monetization/Charts/TransactionChart.razor.rz.scp.css */
.chart-wrapper[b-m2mhhiqxm8]
{
    width: 100%;
    height: 300px;
}
/* /Sections/Organization/Monetization/Monetization.razor.rz.scp.css */
td small[b-8oz0104rou]
{
    display: flex;
    gap: 10px;
    margin: 3px 0px;
    opacity: 0.5;
}

.statrow[b-8oz0104rou]
{
    display: flex;
    justify-content: space-around;
    padding: 1rem;
    flex-wrap: wrap;
}

.statrow > *[b-8oz0104rou]
{
    display: flex;
    flex-direction: column;
    padding: 1rem;
}

.statrow > * .value[b-8oz0104rou]
{
    font-size: 2.5rem;
    font-weight: bolder;
    font-family: poppins;
}

.statrow > * .label[b-8oz0104rou]
{
    text-align: right;
    opacity: 0.5;
}
/* /Sections/Organization/Monetization/OrgPaymentRules.razor.rz.scp.css */

section[b-s3eick97f1]
{
    padding-bottom: 1rem;
}
/* /Sections/Organization/OrgSiteHeader.razor.rz.scp.css */
.org-site-header[b-8xw12hwwmm]
{
    background-color: var( --site-header-color );
}

.org-site-header[b-8xw12hwwmm]  .tab-bar
{
    margin-bottom: 0;
}

.org-avatar[b-8xw12hwwmm]
{
    height: 96px;
    width: 96px;
    border-radius: 8px;
    border: 1px solid var( --surface-line );
    object-fit: cover;
}

.org-name[b-8xw12hwwmm]
{
    font-family: Poppins;
    font-weight: bolder;
    font-size: 2.2rem;
    color: var( --text-strong );
}

.org-summary[b-8xw12hwwmm]
{
    font-size: 0.85rem;
    opacity: 0.7;
    max-width: 720px;
    margin-top: 0.25rem;
    line-height: 1.4;
}

.org-header-buttons[b-8xw12hwwmm]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.meta-pills[b-8xw12hwwmm]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}
/* /Sections/Organization/OrgSiteHeaderEditor.razor.rz.scp.css */
.org-site-header[b-l2rz1jxd8e]
{
    background-color: var( --site-header-color );
}

.org-site-header[b-l2rz1jxd8e]  .tab-bar
{
    margin-bottom: 0;
}

.org-avatar[b-l2rz1jxd8e]
{
    height: 96px;
    width: 96px;
    border-radius: 8px;
    border: 1px solid var( --surface-line );
    object-fit: cover;
}

.org-name[b-l2rz1jxd8e]
{
    font-family: Poppins;
    font-weight: bolder;
    font-size: 2.2rem;
    color: var( --text-strong );
}

.org-header-buttons[b-l2rz1jxd8e]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
/* /Sections/Organization/OrgSiteLayout.razor.rz.scp.css */
.org-site-layout[b-r1c8r9hh1m]
{
    --site-header-height: 150px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

@media (min-width: 1300px)
{
    .org-site-layout[b-r1c8r9hh1m]  .header-standard
    {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
    }
}

/* /Sections/Organization/Settings/People.razor.rz.scp.css */
td small[b-9mwpx5cbrk]
{
    display: flex;
    gap: 10px;
    margin: 3px 0px;
    opacity: 0.5;
}
/* /Sections/Organization/Settings/PeopleEdit.razor.rz.scp.css */

.claim[b-n4tng7gk20]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
    user-select: none;
}

.claim .help[b-n4tng7gk20]
{
    opacity: 0.5;
}

.claim .name[b-n4tng7gk20]
{
    width: 250px;
}

.claim .toggle[b-n4tng7gk20]
{
    
}

h3[b-n4tng7gk20]
{
    font-size: 1rem;
    font-weight: 500;
}
/* /Sections/Organization/Settings/Settings.razor.rz.scp.css */
.logo-control[b-q6iiny41cn]
{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.logo-control img[b-q6iiny41cn]
{
    width: 110px;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
}
/* /Sections/Package/Achievements/AchievementInfo.razor.rz.scp.css */


.ach[b-bmlyaz32ux]
{
    display: flex;
    gap: 1rem;
    background-color: rgb( var( --tint ) / 0.06 );
    border-radius: 5px;
    overflow: hidden;
    opacity: 0.4;
    user-select: none;
}

.ach.unlocked[b-bmlyaz32ux]
{
    opacity: 1;
}

.ach .icon[b-bmlyaz32ux]
{
    display: flex;
}

.ach .icon img[b-bmlyaz32ux]
{
    width: 64px;
    height: 64px;
}

.body[b-bmlyaz32ux]
{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.title[b-bmlyaz32ux]
{
    font-weight: bold;
}

.subtitle[b-bmlyaz32ux]
{
    font-size: 0.8rem;
}

.score[b-bmlyaz32ux], .stats[b-bmlyaz32ux]
{
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: llex-end;
}

.gamerscore[b-bmlyaz32ux]
{
    background-color: #2858b1;
    padding: 3px 10px;
    border-radius: 3px;
    font-size: 11px;
    color: #fff;
}
/* /Sections/Package/Achievements/PackageAchievements.razor.rz.scp.css */
.list[b-t8yxd7ssxx]
{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-direction: column;
}

.list[b-t8yxd7ssxx]  .ach
{
    width: 100%;
    max-width: 800px;    
}
/* /Sections/Package/Changes/ChangeEdit.razor.rz.scp.css */
.revision-assign[b-q0v5oz892n]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 820px;
    margin: 0 auto;
    width: 100%;
}

.revision-row[b-q0v5oz892n]
{
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.6rem 0.9rem;
    border: 1px solid var( --input-border );
    border-radius: 8px;
}

.revision-row.assigned[b-q0v5oz892n]
{
    border-color: var( --accent );
    background-color: rgb( from var( --accent ) r g b / 0.08 );
}

.revision-row .info[b-q0v5oz892n]
{
    flex-grow: 1;
    min-width: 0;
}

.revision-row .ver[b-q0v5oz892n]
{
    font-weight: 550;
    color: var( --text-strong );
}

.revision-row .when[b-q0v5oz892n]
{
    opacity: 0.6;
    font-size: 0.9rem;
}
/* /Sections/Package/CollectionList.razor.rz.scp.css */
.collection-list[b-1eopvaoarr]
{
	max-height: 400px;
	overflow-y: auto;
	/* Reserve space for the scrollbar so content doesn't shift when it appears */
	scrollbar-gutter: stable;
}

.collection-list[b-1eopvaoarr]  .vertical-menu
{
	margin-bottom: 0;
}

.empty[b-1eopvaoarr]
{
	padding: 20px 8px;
	text-align: center;
	opacity: 0.7;
}

.empty p[b-1eopvaoarr]
{
	margin: 4px 0;
}
/* /Sections/Package/DetailBoxes.razor.rz.scp.css */
.summary[b-wy4wkf97ge]
{
    max-width: 250px;
    font-size: 12px;
    padding: 1rem;
}

.detailrow[b-wy4wkf97ge]
{
    display: flex;
    flex-direction: column;
    padding-left: 1rem;
    width: 100%;
    font-size: 12px;
}

@media (min-width: 800px)
{
    .detailrow[b-wy4wkf97ge]
    {
        max-width: 260px;
        min-width: 220px;
    }
}

.admin-box[b-wy4wkf97ge]  .vertical-menu.boxed
{
    background: linear-gradient( 180deg, #4a1f2a44 0%, #4a1f2a11 100% );
    border: 1px solid rgb( 255 120 120 / 0.12 );
}

.admin-box[b-wy4wkf97ge]  .vertical-menu.boxed h3
{
    color: rgb( 255 150 150 );
    opacity: 0.8;
}

.tags[b-wy4wkf97ge]
{
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 2px 4px 4px 4px;
}

.tags > a[b-wy4wkf97ge]
{
    background-color: #3f517b66;
    border: 1px solid rgb( var( --tint ) / 0.06 );
    padding: 2px 8px;
    color: var( --text-color );
    border-radius: 100px;
    text-decoration: none;
    font-size: 11px;
    transition: all 0.15s ease;
}

.tags > a:hover[b-wy4wkf97ge]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    border-color: transparent;
}
/* /Sections/Package/DetailRow.razor.rz.scp.css */
.detailrow[b-v1zl8a91qh]
{
    display: flex;
    flex-direction: row;
    margin-bottom: 1rem;

}


.detailrow .label[b-v1zl8a91qh]
{
    opacity: 0.6;
    font-size: 11px;
    flex-grow: 1;
    margin-right: 10px;
}

.detailrow .value[b-v1zl8a91qh]
{
    text-align: right;
}

.detailrow.vertical[b-v1zl8a91qh]
{
    flex-direction: column;

    .value
    {
        margin: 16px;
        display: flex;
        flex-wrap: wrap;
    }
}

[b-v1zl8a91qh] .taglist
{
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

[b-v1zl8a91qh] .taglist .tag
{
    margin: 0;
}
/* /Sections/Package/Editor/Achievements/AchievementsOverview.razor.rz.scp.css */

.name[b-sbudqrk447]
{
    font-weight: bold;
}

.description[b-sbudqrk447]
{
    font-size: 0.8rem;
}
/* /Sections/Package/Editor/Leaderboards/LeaderboardExplorer.razor.rz.scp.css */
.optionbar[b-waq2qs6lii]
{
    display: flex;
    gap: 0.5rem;
    white-space: nowrap;
    margin-top: 10px;
}

.optionbar > *[b-waq2qs6lii]
{
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    gap: 8px;
    
}

.optionbar > * > span[b-waq2qs6lii]
{
    font-size: 0.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.optionbar > * > span i[b-waq2qs6lii]
{
    padding: 6px;
    cursor: pointer;
}

.optiongroup[b-waq2qs6lii]
{
    padding: 2rem;
}

.optiongroup button[b-waq2qs6lii]
{
    margin: 1rem 0;
}
/* /Sections/Package/Editor/Package/CheckList.razor.rz.scp.css */
.checklist[b-z9m8ckxo0h]
{
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0 0 1.25rem;
}
/* /Sections/Package/Editor/Package/CheckListItem.razor.rz.scp.css */
.checklist-item[b-wdrpdc97yt]
{
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid var( --surface-line );
	border-radius: 10px;
	background-color: var( --surface-bg );
	color: inherit;
	text-decoration: none;
}

a.checklist-item:hover[b-wdrpdc97yt]
{
	border-color: var( --surface-line-hover );
	background-color: var( --surface-bg-hover );
}

.checklist-item[b-wdrpdc97yt]  .icon
{
	font-size: 1.4rem;
	line-height: 1;
	flex-shrink: 0;
}

.checklist-item.met[b-wdrpdc97yt]  .icon
{
	color: var( --success );
}

.checklist-item.unmet[b-wdrpdc97yt]  .icon
{
	color: var( --text-faint );
}

/* The chevron is just an affordance — keep it quiet. */
.checklist-item[b-wdrpdc97yt]  .icon:last-child
{
	font-size: 1.2rem;
	opacity: 0.6;
}

.checklist-item .body[b-wdrpdc97yt]
{
	flex: 1;
	min-width: 0;
}

.checklist-item .head[b-wdrpdc97yt]
{
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}

.checklist-item .title[b-wdrpdc97yt]
{
	font-weight: 600;
	color: var( --text-strong );
}

.checklist-item .count[b-wdrpdc97yt]
{
	font-size: 0.85rem;
	font-variant-numeric: tabular-nums;
	color: var( --text-muted );
	white-space: nowrap;
	flex-shrink: 0;
}

.checklist-item .description[b-wdrpdc97yt]
{
	margin: 0.1rem 0 0;
	font-size: 0.9rem;
	opacity: 0.7;
	line-height: 1.4;
}

.checklist-item .body[b-wdrpdc97yt]  .progress-bar
{
	margin-top: 0.4rem;
}

/* Completed: vivid green tick stays, but the text steps back so the eye lands on what's left. */
.checklist-item.met .body[b-wdrpdc97yt]
{
	opacity: 0.55;
}
/* /Sections/Package/Editor/Package/InputCategory.razor.rz.scp.css */
.input-category[b-6ttujq8szs]
{
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 6px;
    padding: 0.3rem;
    user-select: none;
    display: flex;
    flex-direction: column;
    gap: 1px;
    max-height: 360px;
    overflow-y: auto;
}

/* Compact button-group variant for short, flat category lists (eg Difficulty:
 * Beginner / Intermediate / Advanced). Mirrors InputEnumButtons' styling so
 * they feel like the same control. */
.input-category-buttons[b-6ttujq8szs]
{
    display: flex;
    padding: 3px;
    gap: 2px;
    border-radius: 6px;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    overflow: hidden;
    user-select: none;
}

.input-category-buttons button[b-6ttujq8szs]
{
    margin: 0;
    padding: 6px 10px;
    flex-grow: 1;
    flex-basis: 0;
    font-size: 12px;
    background-color: transparent;
    color: var( --input-text );
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.65;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.input-category-buttons button i[b-6ttujq8szs]
{
    font-size: 1rem;
}

.input-category-buttons button:hover[b-6ttujq8szs]
{
    background-color: rgb( from var( --primary ) r g b / 0.15 );
    color: var( --primary-alt );
    opacity: 1;
}

.input-category-buttons button.active[b-6ttujq8szs]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    opacity: 1;
    box-shadow: 0 1px 3px rgb( var( --scrim ) / 0.3 );
}

.cat-node[b-6ttujq8szs]
{
    display: flex;
    flex-direction: column;
}

.cat-row[b-6ttujq8szs]
{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.4rem;
    border-radius: 4px;
    cursor: pointer;
    color: var( --input-text );
    opacity: 0.75;
    transition: background-color 0.1s ease, color 0.1s ease, opacity 0.1s ease;
}

.cat-row:hover[b-6ttujq8szs]
{
    background-color: rgb( from var( --primary ) r g b / 0.1 );
    opacity: 1;
}

.cat-row.active[b-6ttujq8szs]
{
    background-color: var( --primary );
    color: var( --primary-alt );
    opacity: 1;
}

.cat-row .icon[b-6ttujq8szs]
{
    font-size: 1rem;
    opacity: 0.7;
    flex-shrink: 0;
}

.cat-row.active .icon[b-6ttujq8szs]
{
    opacity: 1;
}

.cat-row .title[b-6ttujq8szs]
{
    font-size: 0.85rem;
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chevron[b-6ttujq8szs]
{
    appearance: none;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 3px;
    flex-shrink: 0;
    color: var( --input-text );
    opacity: 0.5;
    transition: transform 0.15s ease, opacity 0.1s ease, background-color 0.1s ease;
}

.chevron:hover[b-6ttujq8szs]
{
    background-color: var( --surface-bg-hover );
    opacity: 1;
}

.chevron i[b-6ttujq8szs]
{
    font-size: 1.1rem;
    line-height: 1;
}

.chevron.expanded[b-6ttujq8szs]
{
    transform: rotate( 90deg );
    opacity: 1;
}

.cat-row.active .chevron[b-6ttujq8szs]
{
    color: var( --primary-alt );
    opacity: 0.9;
}

.chevron-spacer[b-6ttujq8szs]
{
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.cat-children[b-6ttujq8szs]
{
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin-top: 1px;
}
/* /Sections/Package/Editor/Package/LicenseSelector.razor.rz.scp.css */


.license-picker[b-4c9skg10j9]
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
}

.license-picker .license[b-4c9skg10j9]
{
    flex-basis: 300px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background-color: rgb( var( --scrim ) / 0.4 );
    opacity: 0.5;
    padding: 1rem;
    flex-grow: 1;
    border-radius: 5px;
    cursor: pointer;
    user-select: none;
}

.license-picker .license img[b-4c9skg10j9]
{
    width: initial;
    height: initial;
}

.license-picker .license > div[b-4c9skg10j9]
{
    gap: 1rem;
    display: flex;
}

.license-picker .license > div.title > a[b-4c9skg10j9]
{
    flex-grow: 1;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bold;
}

.license-picker .license > div.title > a .license-picker .license > div.title > a:hover[b-4c9skg10j9]
{
    text-decoration: underline;
}

.license-picker .license.description[b-4c9skg10j9]
{
    font-size: 0.7rem;
}

.license-picker .license.active[b-4c9skg10j9]
{
    opacity: 1;
    outline: 2px solid var( --primary );
}

/* /Sections/Package/Editor/Package/LoadingScreen.razor.rz.scp.css */

.preview[b-o2akcwnlbx]
{
    position: relative;
    overflow: visible;
}

.preview img[b-o2akcwnlbx], .preview video[b-o2akcwnlbx]
{
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1.6;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
    background-color: #000;
}


.preview button[b-o2akcwnlbx]
{
    position: absolute;
    right: 20px;
    top: 20px;
    aspect-ratio: 1;
    border-radius: 100px;
    padding: 1rem;
    font-size: 2rem;
}
/* /Sections/Package/Editor/Package/Screenshots.razor.rz.scp.css */
.screenshot[b-mzrk9v0zw0]
{
    position: relative;
}

.screenshot img[b-mzrk9v0zw0]
{
    aspect-ratio: 1.78;
    width: 100%;
    object-fit: cover;
    object-position: center;
    background-color: #000;
    display: block;
    border-radius: 4px;
    border: 1px solid rgb( var( --tint ) / 0.05 );
}

.screenshot[b-mzrk9v0zw0]  .popup-button
{
    background-color: black;
    padding: 5px;
    display: flex;
    position: absolute;
    right: 10px;
    top: 10px;
}

.dropzone[b-mzrk9v0zw0]
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
}
/* /Sections/Package/Editor/Package/Thumbnail.razor.rz.scp.css */
.thumb-preview[b-32dpz387lv]
{
    background-position: center;
    background-size: cover;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    box-shadow: 4px 4px 16px rgb( var( --scrim ) / 0.67 );
    width: 100%;
    max-width: 100%;
    display: block;
    border: 1px solid rgb( var( --tint ) / 0.05 );
    margin: 0 auto;
}

.thumb-preview.square[b-32dpz387lv]
{
    aspect-ratio: 1;
    max-width: 280px;
}

.thumb-preview.wide[b-32dpz387lv]
{
    aspect-ratio: 16 / 9;
}

.thumb-preview.tall[b-32dpz387lv]
{
    aspect-ratio: 9 / 16;
    max-width: 200px;
}
/* /Sections/Package/Editor/Package/Videos.razor.rz.scp.css */
.video-tile[b-5ba122mia1]
{
    aspect-ratio: 16 / 9;
    position: relative;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: flex-start;
    max-width: 400px;
}

.video-tile > video[b-5ba122mia1]
{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    object-position: center;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.video-tile[b-5ba122mia1]  .popup-button
{
    background-color: black;
    padding: 5px;
    display: flex;
    position: absolute;
    right: 10px;
    top: 10px;
}

.video-tile > .processing[b-5ba122mia1]
{
    background-color: rgb( var( --tint ) / 0.06 );
    height: 100%;
    width: 100%;
    padding: 20px;
    font-family: poppins;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
}

.video-tile > .failed[b-5ba122mia1]
{
    background-color: rgb( 255 60 60 / 0.08 );
    border: 1px solid rgb( 255 60 60 / 0.3 );
    border-radius: 4px;
    height: 100%;
    width: 100%;
    padding: 20px;
    font-family: poppins;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: absolute;
}

.video-tile > .failed > i[b-5ba122mia1]
{
    font-size: 32px;
    color: #ff3c3c;
}

.video-tile > .failed > span[b-5ba122mia1]
{
    color: #ff3c3c;
    font-weight: 500;
    font-size: 14px;
}

.video-tile > .failed > .actions[b-5ba122mia1]
{
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.video-tile .tag-hidden[b-5ba122mia1],
.video-tile .tag-background[b-5ba122mia1]
{
    background-color: rgb( var( --scrim ) / 0.67 );
    padding: 5px;
    z-index: 10;
    font-size: 17px;
    display: flex;
    border-radius: 0;
    user-select: none;
    margin: 5px;
}

.video-tile .tag-background[b-5ba122mia1]
{
    background-color: var( --primary );
    color: var( --primary-alt );
}

.dropzone[b-5ba122mia1]
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
}
/* /Sections/Package/Forum/PackageNewThread.razor.rz.scp.css */

.create-new-thread[b-sz9v2od2wh]
{
    max-width: 800px;
    margin: 0 auto;
}

.create-new-thread[b-sz9v2od2wh]  trix-editor
{
    display: flex;
    flex-direction: column;
    background-color: rgb( var( --scrim ) / 0.1 );
    border: 1px solid rgb( from var( --primary ) r g b / 0.2 );
    border-radius: 8px;
    width: 100%;
    padding: 1rem;
    font-size: 13px;
    min-height: 400px;
}
/* /Sections/Package/Insights/ErrorCard.razor.rz.scp.css */
.ErrorCard[b-vj1gc0jftz]
{
    display: flex;
    flex-direction: row;
    white-space: nowrap;
    font-size: 0.8rem;
}

.ErrorCard:hover[b-vj1gc0jftz]
{
    background-color: rgb( var( --tint ) / 0.06 );
    border-radius: 10px;
}

.ErrorCard .main[b-vj1gc0jftz]
{
    flex-grow: 1;
    overflow: hidden;
}

.ErrorCard .main .header[b-vj1gc0jftz]
{
    display: flex;
    gap: 0.5rem;
    align-items: flex-end;
}

.ErrorCard .main .header .message[b-vj1gc0jftz]
{
    
}

.ErrorCard .main .meta[b-vj1gc0jftz]
{
    margin-top: 10px;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

.ErrorCard .users[b-vj1gc0jftz], .ErrorCard .errors[b-vj1gc0jftz]
{
    width: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    flex-grow: 0;
    font-size: 1.2rem;
}

.exception[b-vj1gc0jftz]
{
    font-weight: bold;
    color: var( --primary );
    font-size: 1rem;
}

.stack[b-vj1gc0jftz]
{
    width: 400px;
}

.first-seen[b-vj1gc0jftz]:before
{
    
}

.last-seen[b-vj1gc0jftz]:before
{
    
}

.first-seen[b-vj1gc0jftz], .last-seen[b-vj1gc0jftz]
{
    display: flex;
    gap: 5px;
    background-color: #ffffff55;
    color: var( --text-strong );
    font-weight: bold;
    border-radius: 3px;
    padding: 2px 6px;
    font-size: 0.7rem;
}


.users[b-vj1gc0jftz]:after, .errors[b-vj1gc0jftz]:after
{
    content: "users";
    font-size: 10px;
    opacity: 0.3;
}

.errors[b-vj1gc0jftz]:after
{
    content: "errors";
}

.location[b-vj1gc0jftz]
{
    opacity: 0.6;
    margin-left: 10px;
}

.line[b-vj1gc0jftz]
{
    opacity: 0.8;
}
/* /Sections/Package/Insights/Errors.razor.rz.scp.css */

.exception-cell[b-sp26yb46p7]
{
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    color: inherit;
    padding: 0.35rem 0;
    white-space: normal;
}

.exception-cell .exception[b-sp26yb46p7]
{
    font-weight: bold;
    color: var( --primary );
    overflow-wrap: anywhere;
}

.exception-cell .msg[b-sp26yb46p7]
{
    opacity: 0.7;
}

.exception-cell .stack-entry[b-sp26yb46p7]
{
    font-size: 0.8rem;
    opacity: 0.8;
    margin-top: 0.15rem;
}

.exception-cell .location[b-sp26yb46p7]
{
    opacity: 0.6;
    margin-left: 0.5rem;
}

.exception-cell .line[b-sp26yb46p7]
{
    opacity: 0.8;
}

.message[b-sp26yb46p7]
{
    margin: 10rem 1rem;
    display: flex;
    align-content: center;
    justify-content: center;
}
/* /Sections/Package/Insights/ErrorView.razor.rz.scp.css */

.exception-message[b-yljwycrjxx]
{
    margin: 0 0 1.5rem;
    font-size: 1.05rem;
    opacity: 0.7;
}

.error-code[b-yljwycrjxx]
{
    font-family: monospace;
    background-color: rgb( var( --scrim ) / 0.33 );
    border-radius: 10px;
    overflow-x: auto;
    padding: 1.25rem;
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

/* stack trace */

.stack-entry[b-yljwycrjxx]
{
    white-space: nowrap;
    margin: 5px 0;
}

.stack-entry.framework[b-yljwycrjxx]
{
    opacity: 0.45;
}

.location[b-yljwycrjxx]
{
    margin-left: 1rem;
    color: var( --code-comment );
}

.method[b-yljwycrjxx]
{
    color: var( --code-bracket );
}

.type[b-yljwycrjxx]
{
    color: var( --code-typename );
}

/* source snippet */

.source-file[b-yljwycrjxx]
{
    display: block;
    color: var( --code-comment );
    margin-bottom: 0.75rem;
}

.source-file:hover[b-yljwycrjxx]
{
    color: var( --text-strong );
    text-decoration: underline;
}

.source-line[b-yljwycrjxx]
{
    display: flex;
    gap: 1rem;
    white-space: pre;
}

.source-line .num[b-yljwycrjxx]
{
    min-width: 2.5rem;
    text-align: right;
    opacity: 0.35;
    user-select: none;
}

.source-line.highlight[b-yljwycrjxx]
{
    background-color: rgb( from var( --error ) r g b / 0.13 );
    border-radius: 3px;
}

.source-line.highlight .num[b-yljwycrjxx]
{
    color: var( --error );
    opacity: 0.9;
}
/* /Sections/Package/Insights/PackagePlayerStats.razor.rz.scp.css */
.skeleton[b-4lw30t0khn]
{
    display: inline-block;
    width: 3rem;
    height: 0.9em;
    border-radius: 4px;
    background: linear-gradient( 90deg, transparent 5%, rgb( var( --tint ) / 0.2 ) 50%, transparent 75% );
    background-size: 200% 100%;
    animation: shimmer-b-4lw30t0khn 1.0s infinite linear;
}

@keyframes shimmer-b-4lw30t0khn
{
    from
    {
        background-position: -100% 0;
    }

    to
    {
        background-position: 100% 0;
    }
}
/* /Sections/Package/News/NewsAdd.razor.rz.scp.css */


.news-list .container[b-cbbn8jlv9o]
{
    padding: 5rem 0;
    max-width: 900px;
}

.news-list-admin .container[b-cbbn8jlv9o]
{
    display: flex;
    justify-content: center;
}
/* /Sections/Package/News/NewsList.razor.rz.scp.css */


.news-list .container[b-ptjdfehcpx]
{
    padding: 5rem 0;
    max-width: 900px;
}

.news-list-admin .container[b-ptjdfehcpx]
{
    display: flex;
    justify-content: center;
}
/* /Sections/Package/News/NewsView.razor.rz.scp.css */


.add-section[b-5by4cgmioe]
{
    display: flex;
    margin: 5rem 2rem;
    justify-content: center;
    align-items: center;
}

.add-section .button[b-5by4cgmioe]
{
    font-size: 1.5rem;
    padding: 1rem 2rem;
}

section.comments[b-5by4cgmioe]
{
    margin-top: 10rem;
    padding-top: 10rem;
    border-top: 1px solid rgb( var( --tint ) / 0.06 );
}

.comments .container[b-5by4cgmioe]
{
    max-width: 800px;
}
/* /Sections/Package/PackageList.razor.rz.scp.css */

.packagelist[b-3xzdelbl1f]
{
    display: flex;
    flex-direction: column;
}

.packagelist.loading > .body[b-3xzdelbl1f]
{  
    filter: blur(2px) saturate( 0 );
    opacity: 0.5;
    transition: all 0.1s linear;
    
}
.packagelist > .body[b-3xzdelbl1f]
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: flex-start;

}

.packagecard:last-child[b-3xzdelbl1f]
{
    margin-right: auto;
}
/* /Sections/Package/PackageSiteHeader.razor.rz.scp.css */
.package-site-header[b-b3ljgtfrzp]
{
    container-type: inline-size;
    /* Match the navbar / tutorial hero so the header reads as one continuous
     * dark band from the top of the page. */
    background-color: var( --site-header-color );
}

/* Drop the TabBar's default 1rem margin-bottom when it sits inside the
 * package header — its border-bottom should be the bottom edge of the
 * header itself, no gap between the two. */
.package-site-header[b-b3ljgtfrzp]  .tab-bar
{
    margin-bottom: 0;
}

.package-avatar[b-b3ljgtfrzp]
{
    height: 64px;
    width: 64px;
    border-radius: 8px;
    border: 1px solid rgb( var( --tint ) / 0.13 );
}

.actions[b-b3ljgtfrzp]
{
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.org a[b-b3ljgtfrzp]
{
    color: var( --text-strong );
    font-weight: 500;
}

.package-name[b-b3ljgtfrzp]
{
    font-family: Poppins;
    font-weight: bolder;
    font-size: 1.5rem;
    color: var( --text-strong );
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.package-header-buttons[b-b3ljgtfrzp]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.package-header-buttons[b-b3ljgtfrzp]  .btn,
.package-header-buttons[b-b3ljgtfrzp]  .btn .label
{
    font-size: 0.9rem;
    line-height: 1.2;
}

.package-header-buttons[b-b3ljgtfrzp]  .btn.active
{
    color: var( --accent );
    outline: 0;
}

.package-header-buttons[b-b3ljgtfrzp]  .btn.active.favourite
{
    background-color: #ec4899;
    color: #fff;
}

.meta-pills[b-b3ljgtfrzp]
{
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
    row-gap: 0.25rem;
}

.dot[b-b3ljgtfrzp]
{
    background-color: rgb( var( --tint ) / 0.33 );
    width: 2px;
    height: 2px;
    border-radius: 10px;
    font-size: 0.9rem;
}

.meta-pill[b-b3ljgtfrzp]
{
    padding: 0rem 0.5rem;
    font-size: 0.85rem;
}

a.meta-pill[b-b3ljgtfrzp]
{
    color: rgb( var( --tint ) / 0.67 );
}

a.meta-pill .bold[b-b3ljgtfrzp]
{
    font-weight: 600;
    color: var( --text-strong );
}

.title-text[b-b3ljgtfrzp]
{
    min-width: 0;
}

/* Wider screens — restore the bigger title and avatar */

@media (min-width: 700px)
{
    .package-avatar[b-b3ljgtfrzp]
    {
        height: 96px;
        width: 96px;
    }

    .package-name[b-b3ljgtfrzp]
    {
        font-size: 2.2rem;
    }

    .meta-pill[b-b3ljgtfrzp]
    {
        font-size: 0.9rem;
    }
}

.package-avatar-link[b-b3ljgtfrzp]
{
    position: relative;

    .player
    {
        position: absolute;
        top: 5px;
        right: 5px;
    }
}
/* /Sections/Package/PackageSiteHeaderEditor.razor.rz.scp.css */
.package-site-header[b-mlcroghhkg]
{
    background-color: var( --site-header-color );
}

.package-site-header[b-mlcroghhkg]  .tab-bar
{
    margin-bottom: 0;
}

.package-avatar[b-mlcroghhkg]
{
    height: 64px;
    width: 64px;
    border-radius: 8px;
    border: 1px solid rgb( var( --tint ) / 0.13 );
}

.actions[b-mlcroghhkg]
{
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.package-name[b-mlcroghhkg]
{
    font-family: Poppins;
    font-weight: bolder;
    font-size: 2rem;
    color: var( --text-strong );
}
/* /Sections/Package/PackageSiteLayout.razor.rz.scp.css */
.package-site-layout[b-tqw928hzxq]
{
    --site-header-height: 150px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.package-site-layout[b-tqw928hzxq]  .header
{
    
}

@media (min-width: 1300px)
{
    .package-site-layout[b-tqw928hzxq]  .header-standard
    {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
    }
}

/* /Sections/Package/Performance/DaySwitch.razor.rz.scp.css */

.dayswitch[b-3eiz89z07b]
{
    display: flex;
    user-select: none;
}

.previous[b-3eiz89z07b], .next[b-3eiz89z07b]
{
    flex-grow: 0;
}



.disabled[b-3eiz89z07b]
{
    opacity: 0.5;
    pointer-events: none;
}

.current[b-3eiz89z07b]
{
    flex-grow: 1;
    text-align: center;
}

.current .relative[b-3eiz89z07b]
{
    font-size: 1rem;
}

.current .formal[b-3eiz89z07b]
{
    font-size: 0.7rem;
    opacity: 0.4;
}
/* /Sections/Package/Reports/Dmca.razor.rz.scp.css */
.dmca-warning[b-e6rtgrxjaz]
{
	border: 1px solid color-mix( in srgb, var( --warning ) 33%, transparent );
	background-color: color-mix( in srgb, var( --warning ) 12%, transparent );
	padding: 16px 20px;
	border-radius: 6px;
	margin: 20px 0;
}

.dmca-warning h3[b-e6rtgrxjaz]
{
	margin-top: 0;
	color: var( --warning );
}

.dmca-warning ul[b-e6rtgrxjaz]
{
	margin: 0;
	padding-left: 20px;
}

.dmca-warning li[b-e6rtgrxjaz]
{
	margin: 8px 0;
	line-height: 1.5;
}

.locked-url[b-e6rtgrxjaz]
{
	display: inline-block;
	padding: 6px 10px;
	border-radius: 4px;
	background-color: var( --surface-bg );
	font-family: monospace;
	font-size: 0.9em;
	opacity: 0.85;
}

.dmca-validation[b-e6rtgrxjaz]
{
	color: var( --error );
	margin-top: 12px;
	font-weight: 500;
}

h2[b-e6rtgrxjaz]
{
	margin-top: 40px;
	border-bottom: 1px solid rgb( var( --tint ) / 0.13 );
	padding-bottom: 6px;
}
/* /Sections/Package/Reports/DmcaTakedown.razor.rz.scp.css */
.dmca-takedown[b-cxmwhiu5t7]
{
	max-width: 760px;
	margin: 30px auto;
	padding: 0 20px;
}

.dmca-takedown .lead[b-cxmwhiu5t7]
{
	color: var( --text-muted );
	line-height: 1.5;
}

.reference[b-cxmwhiu5t7]
{
	color: var( --text-muted );
	font-size: 0.9em;
}

section[b-cxmwhiu5t7]
{
	margin: 30px 0;
}

section h2[b-cxmwhiu5t7]
{
	border-bottom: 1px solid var( --surface-line );
	padding-bottom: 6px;
}

dl.kv[b-cxmwhiu5t7]
{
	display: grid;
	grid-template-columns: minmax( 120px, 220px ) 1fr;
	gap: 8px 16px;
	margin: 0;
}

@media (max-width: 600px)
{
	dl.kv[b-cxmwhiu5t7]
	{
		grid-template-columns: 1fr;
		gap: 4px 0;
	}

	dl.kv dt[b-cxmwhiu5t7]
	{
		margin-top: 6px;
	}
}

dl.kv dt[b-cxmwhiu5t7]
{
	color: var( --text-muted );
	font-weight: normal;
}

dl.kv dd[b-cxmwhiu5t7]
{
	margin: 0;
}

dl.kv dd pre[b-cxmwhiu5t7]
{
	margin: 0;
	white-space: pre-wrap;
	background-color: var( --surface-bg );
	border: 1px solid var( --surface-line );
	padding: 8px 10px;
	border-radius: 4px;
}

.redaction-note[b-cxmwhiu5t7]
{
	margin-top: 12px;
	font-size: 0.85em;
	color: var( --text-muted );
	font-style: italic;
}
/* /Sections/Package/Reports/RedactedValue.razor.rz.scp.css */
.redacted-value[b-6lu0pmiuh0]
{
	user-select: none;
	white-space: nowrap;
	color: rgb( var( --tint ) / 0.45 );
}

.redact-bar[b-6lu0pmiuh0]
{
	display: inline-block;
	height: 1rem;
	margin: 0 1px;
	background-color: #fff7;
}
/* /Sections/Package/Reviews/ReviewEntry.razor.rz.scp.css */
.reviewentry[b-ffa0xr12ty]
{
    margin-bottom: 12px;
}

.reviewentry .body[b-ffa0xr12ty]
{
    display: flex;
    flex-direction: row;
    gap: 14px;
}

.reviewentry .body > .left[b-ffa0xr12ty]
{
    flex-shrink: 0;
}

.reviewentry .body > .left .avatar[b-ffa0xr12ty]
{
    width: 48px;
    height: 48px;
    border-radius: 50%;
    margin: 0;
}

.reviewentry .content[b-ffa0xr12ty]
{
    flex-grow: 1;
    min-width: 0;
    background: rgb( 15 27 43 / 0.55 );
    border: 1px solid rgb( var( --tint ) / 0.06 );
    border-radius: 10px;
    overflow: hidden;
}

.review-good .content[b-ffa0xr12ty] { border-color: color-mix( in srgb, var( --success ) 35%, transparent ); }
.review-ok .content[b-ffa0xr12ty]   { border-color: color-mix( in srgb, var( --highlight-gold ) 35%, transparent ); }
.review-bad .content[b-ffa0xr12ty]  { border-color: color-mix( in srgb, var( --error ) 35%, transparent ); }

.reviewentry .header[b-ffa0xr12ty]
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 16px 10px;
}

.reviewentry .header .byline[b-ffa0xr12ty]
{
    flex-grow: 1;
}

.reviewentry .header .rating-stamp[b-ffa0xr12ty]
{
    margin-left: auto;
}

.rating-stamp[b-ffa0xr12ty]
{
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1;
}

.rating-positive[b-ffa0xr12ty]
{
    background: color-mix( in srgb, var( --success ) 18%, transparent );
    color: var( --success );
}

.rating-promise[b-ffa0xr12ty]
{
    background: color-mix( in srgb, var( --highlight-gold ) 18%, transparent );
    color: var( --highlight-gold );
}

.rating-negative[b-ffa0xr12ty]
{
    background: color-mix( in srgb, var( --error ) 18%, transparent );
    color: var( --error );
}

.reviewentry .byline[b-ffa0xr12ty]
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 0.9rem;
}

.reviewentry .byline .username a[b-ffa0xr12ty]
{
    color: var( --text-strong );
    text-decoration: none;
    font-weight: 600;
}

.reviewentry .byline .username a:hover[b-ffa0xr12ty]
{
    text-decoration: underline;
}

.reviewentry .byline .dot[b-ffa0xr12ty]
{
    color: rgb( var( --tint ) / 0.25 );
}

.reviewentry .byline .date[b-ffa0xr12ty]
{
    color: rgb( var( --tint ) / 0.4 );
    font-size: 0.85rem;
}

.reviewentry .playtime[b-ffa0xr12ty]
{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    font-size: 0.85rem;
    color: rgb( var( --tint ) / 0.4 );
}

.reviewentry .playtime i[b-ffa0xr12ty]
{
    font-size: 1rem;
}

.delete-review[b-ffa0xr12ty]
{
    cursor: pointer;
    opacity: 0.4;
    transition: opacity 0.15s;
    line-height: 1;
}

.delete-review:hover[b-ffa0xr12ty]
{
    opacity: 0.9;
}

.delete-review .icon[b-ffa0xr12ty]
{
    font-family: "Material Symbols Rounded";
    font-size: 1.1rem;
}

.review-hidden[b-ffa0xr12ty]
{
    opacity: 0.5;
    filter: brightness(0.6);
}

.reviewentry .main[b-ffa0xr12ty]
{
    white-space: pre-line;
    padding: 4px 16px 14px;
    color: var( --text-color );
    line-height: 1.55;
    word-wrap: break-word;
}

.meta-bar[b-ffa0xr12ty]
{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 16px 14px;
}

.meta-bar .tag[b-ffa0xr12ty]
{
    display: inline-flex;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.4;
}

.meta-bar .tag.positive[b-ffa0xr12ty]
{
    background: color-mix( in srgb, var( --success ) 18%, transparent );
    color: var( --success );
}

.meta-bar .tag.negative[b-ffa0xr12ty]
{
    background: color-mix( in srgb, var( --error ) 18%, transparent );
    color: var( --error );
}
/* /Sections/Package/Reviews/ReviewForm.razor.rz.scp.css */
h2[b-knx32vm0ir]
{
    padding-bottom: 0;
    margin-bottom: 0;
}

p[b-knx32vm0ir]
{
    margin-top: 0;
}

.rating-button[b-knx32vm0ir]
{
    display: flex;
    flex-direction: row;
    gap: 0.33rem;
    text-transform: none;
    opacity: 0.6;
    background-color: transparent;
    border: 0;
    border-right: 1px solid var( --input-border );
    padding: 1.5rem 3rem;
    flex-grow: 1;
    font-size: 1.2rem;
    transition: background-color 0.12s ease, color 0.12s ease, opacity 0.12s ease;
    color: var( --input-text );
    border-radius: 0;
    cursor: pointer;
    user-select: none;
}

.rating-button:last-child[b-knx32vm0ir]
{
    border-right: none;
}

.rating-button .icon[b-knx32vm0ir]
{
    font-family: "Material Symbols Rounded";
}

.rating-button:hover[b-knx32vm0ir]
{
    opacity: 1;
    background-color: rgb( from var( --primary ) r g b / 0.12 );
    color: var( --primary-alt );
}

.rating-button.active[b-knx32vm0ir]
{
    opacity: 1;
    background-color: var( --primary );
    color: var( --primary-alt );
}

.review_rating[b-knx32vm0ir]
{
    margin-top: 1rem;
    display: inline-flex;
    margin-bottom: 4rem;
    background-color: var( --input-bg );
    border: 1px solid var( --input-border );
    border-radius: 6px;
    overflow: hidden;
}

.main[b-knx32vm0ir]
{
    padding: 1rem;
}

.main textarea[b-knx32vm0ir]
{
    min-height: 256px;
    width: 100%;
}

.footer[b-knx32vm0ir]
{
    padding: 2rem;
    display: flex;
    justify-content: center;
}

.tags[b-knx32vm0ir]
{
    text-align: center;
    margin-bottom: 4rem;
}
/* /Sections/Package/Reviews/ReviewList.razor.rz.scp.css */
.reviewlist > .body[b-o1bcavme4t]
{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 1rem 0;
}

.filters[b-o1bcavme4t]
{
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border: 1px solid var( --surface-bg-hover );
    border-radius: 10px;
    background: radial-gradient( circle at 70% 0%, rgb( from var( --primary ) r g b / 0.08 ), rgb( var( --tint ) / 0.04 ) 40% ), rgb( 15 27 43 / 0.75 );
    margin-bottom: 2rem;
}

.filters:empty[b-o1bcavme4t]
{
    display: none;
}

.tagfilters[b-o1bcavme4t]
{
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.tagfilters .info[b-o1bcavme4t]
{
    flex-shrink: 0;
    width: 90px;
    padding-top: 0.4rem;
    color: var( --text-muted );
    font-size: 0.85rem;
    font-weight: 600;
}

.tagfilters .tagbox[b-o1bcavme4t]
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.tagfilters .tag[b-o1bcavme4t]
{
    --tag-color: var( --success );

    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    user-select: none;
    padding: 0.3rem 0.6rem;
    border: 1px solid color-mix( in srgb, var( --tag-color ) 28%, transparent );
    border-radius: 6px;
    background-color: color-mix( in srgb, var( --tag-color ) 10%, transparent );
    color: var( --tag-color );
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.tagfilters .tag.promise[b-o1bcavme4t]
{
    --tag-color: var( --highlight-gold );
}

.tagfilters .tag.negative[b-o1bcavme4t]
{
    --tag-color: var( --error );
}

.tagfilters .tag:hover[b-o1bcavme4t]
{
    background-color: color-mix( in srgb, var( --tag-color ) 18%, transparent );
}

.tagfilters .tag.active[b-o1bcavme4t]
{
    border-color: var( --tag-color );
    background-color: color-mix( in srgb, var( --tag-color ) 22%, transparent );
}

.tagfilters .tag .number[b-o1bcavme4t]
{
    opacity: 0.6;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}
/* /Sections/Package/Reviews/ReviewPageHeader.razor.rz.scp.css */
.header[b-mctbszp64o]
{
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 2rem;
}

.main[b-mctbszp64o]
{
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) 2fr;
    gap: 32px;
    align-items: center;
    padding: 28px 32px;
    border: 1px solid var( --surface-bg-hover );
    border-radius: 10px;
    background: radial-gradient(circle at 20% 0%, rgb( from var( --primary ) r g b / 0.08 ), transparent 40%), rgb( 15 27 43 / 0.75 );
}

.verdict[b-mctbszp64o]
{
    display: flex;
    align-items: center;
    gap: 16px;
}

.verdict.recommended[b-mctbszp64o]
{
    color: var( --success );
}

.verdict.mixed[b-mctbszp64o]
{
    color: var( --highlight-gold );
}

.verdict.negative[b-mctbszp64o]
{
    color: var( --error );
}

.icon[b-mctbszp64o]
{
    display: grid;
    place-items: center;
    font-size: 4rem;
    font-weight: 700;
}

.title[b-mctbszp64o]
{
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.count[b-mctbszp64o]
{
    margin-top: 6px;
    color: var( --text-color );
    font-size: 1.2rem;
    font-weight: 600;
}

.breakdown[b-mctbszp64o]
{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bar[b-mctbszp64o]
{
    display: flex;
    overflow: hidden;
    height: 12px;
    border-radius: 999px;
    background: var( --surface-bg-hover );
}

.segment[b-mctbszp64o]
{
    height: 100%;
    min-width: 0;
}

.segment.recommended[b-mctbszp64o]
{
    background: var( --success );
}

.segment.promise[b-mctbszp64o]
{
    background: var( --highlight-gold );
}

.segment.negative[b-mctbszp64o]
{
    background: var( --error );
}

.stats[b-mctbszp64o]
{
    display: flex;
}

.stat[b-mctbszp64o]
{
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-sizing: border-box;
    padding-right: 12px;
    font-size: 1rem;
    overflow: hidden;
    white-space: nowrap;
}

.stat:last-child[b-mctbszp64o]
{
    padding-right: 0;
}

.stat b[b-mctbszp64o]
{
    font-size: 1rem;
    font-weight: 400;
}

.stat span[b-mctbszp64o]
{
    overflow: hidden;
    text-overflow: ellipsis;
    color: var( --text-muted );
    font-weight: 600;
}

.stat.recommended b[b-mctbszp64o],
.stat.recommended span[b-mctbszp64o]
{
    color: var( --success );
}

.stat.promise b[b-mctbszp64o],
.stat.promise span[b-mctbszp64o]
{
    color: var( --highlight-gold );
}

.stat.negative b[b-mctbszp64o],
.stat.negative span[b-mctbszp64o]
{
    color: var( --error );
}

@media (max-width: 800px)
{
    .main[b-mctbszp64o]
    {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 22px;
    }

    .title[b-mctbszp64o]
    {
        font-size: 26px;
    }

    .stats[b-mctbszp64o]
    {
        flex-direction: column;
        gap: 10px;
    }

    .stat[b-mctbszp64o]
    {
        width: 100% !important;
        padding-right: 0;
    }
}
/* /Sections/Package/Reviews/ReviewPost.razor.rz.scp.css */
.reviewpost[b-4bf8wq0tvk]
{
    max-width: 800px;
    margin: 5rem auto;
}

.reviewpost .body[b-4bf8wq0tvk]
{
    display: flex;
    flex-direction: row;
}

.reviewpost .body > .left[b-4bf8wq0tvk]
{
    padding: 0 1rem;
}

.reviewpost .body > .left .avatar[b-4bf8wq0tvk]
{
    width: 64px;
    border-radius: 8px;
}

.reviewpost .body .content[b-4bf8wq0tvk]
{
    flex-grow: 1;
}

.reviewpost .body .content .footer[b-4bf8wq0tvk]
{
    display: flex;
    flex-direction: row;
    padding: 1rem;
}

.reviewpost .body .content .footer .left[b-4bf8wq0tvk]
{
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    gap: 0.5rem;
}

.reviewpost .body .content .footer .right[b-4bf8wq0tvk]
{
    display: flex;
    flex-direction: row;
}
/* /Sections/Package/Revisions/CllCodeView.razor.rz.scp.css */
.cll-meta[b-louxof7z9s]
{
	margin-bottom: 16px;
	opacity: 0.7;
	font-size: 0.9em;
}

.cll-file[b-louxof7z9s]
{
	margin-bottom: 20px;
	border: 1px solid var( --surface-bg-hover );
	border-radius: 6px;
	overflow: hidden;
}

.cll-file-name[b-louxof7z9s]
{
	padding: 8px 12px;
	background-color: var( --surface-bg );
	border-bottom: 1px solid rgb( var( --tint ) / 0.06 );
	font-family: monospace;
	font-size: 0.85em;
	opacity: 0.85;
}

.cll-file pre[b-louxof7z9s]
{
	margin: 0;
	padding: 12px 16px;
	overflow-x: auto;
	white-space: pre;
	font-size: 0.85em;
	line-height: 1.45;
}

.cll-error[b-louxof7z9s]
{
	padding: 12px 16px;
	border-radius: 6px;
	background-color: color-mix( in srgb, var( --error ) 12%, transparent );
	color: var( --error );
}
/* /Sections/Package/Revisions/Revision.razor.rz.scp.css */
.version-layout[b-8453q3otjb]
{
	display: flex;
	flex-direction: row;
	gap: 24px;
	align-items: flex-start;
}

.version-sidebar[b-8453q3otjb]
{
	flex-shrink: 0;
	width: 200px;
}

.version-body[b-8453q3otjb]
{
	flex-grow: 1;
	min-width: 0;
}

.reference-list[b-8453q3otjb]
{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.reference-pill[b-8453q3otjb]
{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	background-color: rgb( var( --tint ) / 0.06 );
	color: inherit;
	text-decoration: none;
	font-size: 0.9em;
	line-height: 1.4;
	white-space: nowrap;
}

.reference-pill:hover[b-8453q3otjb]
{
	background-color: rgb( var( --tint ) / 0.13 );
}

.reference-pill em[b-8453q3otjb]
{
	opacity: 0.6;
	font-style: normal;
	font-size: 0.8em;
}

.duplicate-files[b-8453q3otjb]
{
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-family: monospace;
	font-size: 0.85em;
}

.meta-json[b-8453q3otjb]
{
	padding: 20px;
	background-color: rgb( 0 0 0 / 0.3 );
	white-space: pre-wrap;
}

.meta-empty[b-8453q3otjb]
{
	padding: 20px;
	opacity: 0.6;
}

.compilation-info[b-8453q3otjb]
{
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 8px 20px;
	align-items: center;
	padding: 16px 4px;
}

.compilation-info dt[b-8453q3otjb]
{
	opacity: 0.6;
	font-weight: 600;
}

.compilation-info dd[b-8453q3otjb]
{
	margin: 0;
}

.compilation-info .meta-json[b-8453q3otjb]
{
	margin: 0;
}

.comp-status[b-8453q3otjb]
{
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.comp-pending[b-8453q3otjb]
{
	background: rgba( 255, 196, 0, 0.15 );
	color: #d9a400;
}

.comp-compiled[b-8453q3otjb]
{
	background: rgba( 0, 200, 100, 0.15 );
	color: #00b25a;
}

.comp-failed[b-8453q3otjb]
{
	background: rgba( 255, 60, 60, 0.18 );
	color: #ff3c3c;
}

.comp-none[b-8453q3otjb]
{
	background: rgb( var( --tint ) / 0.1 );
	opacity: 0.7;
}

.ai-score[b-8453q3otjb]
{
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
}

.ai-low[b-8453q3otjb]
{
	background: rgba( 0, 200, 100, 0.15 );
	color: #00b25a;
}

.ai-mid[b-8453q3otjb]
{
	background: rgba( 255, 196, 0, 0.15 );
	color: #d9a400;
}

.ai-high[b-8453q3otjb]
{
	background: rgba( 255, 60, 60, 0.18 );
	color: #ff3c3c;
}

.ai-reason[b-8453q3otjb]
{
	margin-top: 2px;
	font-size: 0.85em;
	opacity: 0.7;
}

.ai-bug[b-8453q3otjb]
{
	margin-top: 2px;
	font-size: 0.85em;
	color: #ff9c6b;
}

.ai-endpoints[b-8453q3otjb]
{
	margin-top: 2px;
	font-size: 0.85em;
	font-family: monospace;
	opacity: 0.7;
}

/* /Sections/Package/ScreenshotCarousel.razor.rz.scp.css */
.ScreenshotCarousel[b-srxp8vkc3c]
{
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
}

.ScreenshotCarousel > .main[b-srxp8vkc3c]
{
    aspect-ratio: 16 / 9;
    background-position: center;
    background-size: cover;
    border-radius: 16px;
    image-rendering: optimizeQuality;
    box-shadow: 5px 5px 20px rgb( var( --scrim ) / 0.2 );
    background-color: black;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgb( var( --tint ) / 0.2 );
    border-left: 1px solid rgb( var( --tint ) / 0.2 );
}

.ScreenshotCarousel > .main video[b-srxp8vkc3c]
{
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ScreenshotCarousel > .main a[b-srxp8vkc3c]
{
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

.ScreenshotCarousel > .main img[b-srxp8vkc3c]
{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    display: flex;
    aspect-ratio: 16 / 9;
}

.ScreenshotCarousel > .reel[b-srxp8vkc3c]
{
    margin-top: 1rem;
    display: flex;
    overflow: hidden;
    flex-wrap: wrap;
    justify-content: center;
}

.ScreenshotCarousel > .reel a[b-srxp8vkc3c]
{
    margin: 0.5rem;
    display: flex;
    aspect-ratio: 1.8;
    flex-shrink: 1;
    flex-basis: 100px;
    background-position: center;
    background-size: cover;
    border-radius: 3px;
    border: 1px solid rgb( var( --tint ) / 0.3 );
    width: 100px;
    height: 60px;
    box-shadow: 3px 3px 6px rgb( var( --scrim ) / 0.2 );
    opacity: 0.8;
}
.ScreenshotCarousel > .reel a:hover[b-srxp8vkc3c]
{
    border: 1px solid var( --primary );
    opacity: 1;
}

.ScreenshotCarousel > .reel a.active[b-srxp8vkc3c]
{
    outline: 2px solid var( --primary );
    border: 1px solid color-mix( in srgb, var( --primary ) 80%, var( --scrim ) );
    box-shadow: none;
    pointer-events: none;
    opacity: 1;
}

.ScreenshotCarousel > .reel a:active[b-srxp8vkc3c]
{
    position: relative;
    top: 2px;
    left: 1px;
}

/* /Sections/Package/SearchWorkshop.razor.rz.scp.css */
.package-grid[b-vtpbpkntfz]
{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.groups[b-vtpbpkntfz]
{
    columns: 400px auto;
    column-gap: 5rem;
    
}

.groups .group[b-vtpbpkntfz]
{
    display: flex;
    flex-direction: column;
    font-size: 13px;
    margin-bottom: 2rem;
    break-inside: avoid;
}

.groups .group .entries[b-vtpbpkntfz]
{
    display: flex;
    flex-direction: column;
    white-space: nowrap;
    overflow: clip;
    max-width: 100%;
    gap: 5px;
}

.entries a[b-vtpbpkntfz]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    mask: linear-gradient( to right, #ffff 70%, #fff0 );
}

.entries a img[b-vtpbpkntfz]
{
    width: 38px;
    height: 38px;
    border-radius: 5px;
}

.entries a .column[b-vtpbpkntfz]
{
    padding: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.entries a .column .text[b-vtpbpkntfz]
{
    font-size: 12px;
    opacity: 0.6;
}

.group_title[b-vtpbpkntfz]
{
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 1rem;
    color: var( --text-strong );
}
/* /Sections/Package/Source/PackageSource.razor.rz.scp.css */
.source-browser[b-em3lxtgfdj]
{
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.source-tree[b-em3lxtgfdj]
{
	flex: 0 0 280px;
	max-width: 280px;
	overflow: auto;
	font-size: 13px;
}

.source-view[b-em3lxtgfdj]
{
	flex: 1 1 auto;
	min-width: 0;
}

.source-view-head[b-em3lxtgfdj]
{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-size: 13px;
}

.source-view-head .path[b-em3lxtgfdj]
{
	font-family: var( --font-mono, ui-monospace, monospace );
	opacity: 0.85;
}

.source-view-head .private[b-em3lxtgfdj]
{
	font-size: 0.7em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #e0a030;
}

/* Layout only - token colours and the code background come from the global hljs theme. */
.source-code[b-em3lxtgfdj]
{
	margin: 0;
	overflow: auto;
	border-radius: 6px;
	white-space: pre;
	font-family: var( --font-mono, ui-monospace, monospace );
	font-size: 0.85em;
	line-height: 1.5;
	tab-size: 4;
}

/* Admin-only strip of per-project AI verdicts above the browser. */
.ai-projects[b-em3lxtgfdj]
{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 16px;
	padding: 10px 12px;
	border-radius: 6px;
	background-color: rgb( var( --tint ) / 0.05 );
	font-size: 13px;
}

.ai-project[b-em3lxtgfdj]
{
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.ai-project .kind[b-em3lxtgfdj]
{
	font-weight: 600;
	min-width: 60px;
}

.ai-project .reason[b-em3lxtgfdj]
{
	opacity: 0.7;
}

/* AI embellishment for the open file, between the path header and the code. */
.source-ai[b-em3lxtgfdj]
{
	margin-bottom: 8px;
	padding: 10px 12px;
	border-radius: 6px;
	background-color: rgb( var( --tint ) / 0.05 );
	font-size: 13px;
}

.source-ai .ai-description[b-em3lxtgfdj]
{
	margin: 0;
}

.source-ai .ai-tags[b-em3lxtgfdj]
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
}

.source-ai .ai-tags:empty[b-em3lxtgfdj]
{
	display: none;
}

.ai-flag[b-em3lxtgfdj]
{
	padding: 2px 8px;
	border-radius: 999px;
	background-color: rgb( var( --tint ) / 0.08 );
	font-size: 12px;
	white-space: nowrap;
}

.ai-score[b-em3lxtgfdj]
{
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
}

.ai-low[b-em3lxtgfdj]
{
	background: rgba( 0, 200, 100, 0.15 );
	color: #00b25a;
}

.ai-mid[b-em3lxtgfdj]
{
	background: rgba( 255, 196, 0, 0.15 );
	color: #d9a400;
}

.ai-high[b-em3lxtgfdj]
{
	background: rgba( 255, 60, 60, 0.18 );
	color: #ff3c3c;
}

.ai-reason[b-em3lxtgfdj]
{
	margin-top: 6px;
	font-size: 0.95em;
	opacity: 0.7;
}

.ai-bug[b-em3lxtgfdj]
{
	margin-top: 6px;
	font-size: 0.95em;
	color: #ff9c6b;
}

.ai-endpoints[b-em3lxtgfdj]
{
	margin-top: 6px;
	font-size: 0.95em;
	font-family: var( --font-mono, ui-monospace, monospace );
	opacity: 0.7;
}

/* AI overview shown when no file is selected - project summaries plus the problem-file lists. */
.source-overview[b-em3lxtgfdj]
{
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 16px;
	border-radius: 6px;
	background-color: rgb( var( --tint ) / 0.05 );
	font-size: 13px;
}

.overview-section h3[b-em3lxtgfdj]
{
	margin: 0 0 8px 0;
	font-size: 14px;
}

.overview-section p[b-em3lxtgfdj]
{
	margin: 0;
	opacity: 0.85;
}

.overview-file[b-em3lxtgfdj]
{
	margin-bottom: 10px;
}

.overview-file:last-child[b-em3lxtgfdj]
{
	margin-bottom: 0;
}

.overview-file a[b-em3lxtgfdj]
{
	font-family: var( --font-mono, ui-monospace, monospace );
	color: inherit;
}

.overview-file .ai-tags[b-em3lxtgfdj]
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
}

.overview-file .ai-bug[b-em3lxtgfdj]
{
	margin-top: 2px;
}

.source-view-empty[b-em3lxtgfdj]
{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 300px;
	opacity: 0.5;
}

.source-view-empty .icon[b-em3lxtgfdj]
{
	font-size: 40px;
}
/* /Sections/Roadmap/RoadmapItemCard.razor.rz.scp.css */
.rm-card[b-adkx9laz8c] {
	background: var( --surface-bg );
	border: 1px solid var( --surface-line );
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: 0.2s;
}

.rm-card:hover[b-adkx9laz8c] {
	transform: translateY( -4px );
	border-color: rgb( from var( --accent-bright ) r g b / 0.32 );
	box-shadow: var( --shadow-lg );
}

/* Completed items are grouped at the bottom and dimmed back. */
.rm-card.is-complete[b-adkx9laz8c] {
	opacity: 0.5;
}

.rm-card.is-complete:hover[b-adkx9laz8c] {
	opacity: 0.85;
}

/* ===== Cover ===== */
.rm-cover[b-adkx9laz8c] {
	position: relative;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: rgb( var( --tint ) / 0.04 );
}

.rm-cover-img[b-adkx9laz8c] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rm-cover[b-adkx9laz8c]::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient( 180deg, rgb( 0 0 0 / 0.05 ), rgb( 0 0 0 / 0.45 ) );
}

.rm-glyph[b-adkx9laz8c] {
	font-size: 64px;
	color: rgb( 255 255 255 / 0.92 );
	filter: drop-shadow( 0 6px 14px rgb( 0 0 0 / 0.3 ) );
}

.rm-chip-c[b-adkx9laz8c] {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 6px;
	background: rgb( 0 0 0 / 0.55 );
	backdrop-filter: blur( 6px );
	color: var( --text-strong );
	font-size: 11px;
	font-weight: 600;
	padding: 6px 10px;
	border-radius: 8px;
}

.rm-chip-c i[b-adkx9laz8c] {
	font-size: 14px;
}

.rm-badge[b-adkx9laz8c] {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	font-size: 11px;
	font-weight: 700;
	padding: 6px 11px;
	border-radius: 999px;
	border: 1px solid transparent;
}

.st-progress[b-adkx9laz8c] {
	background: rgb( 59 130 246 / 0.18 );
	color: #7eb3ff;
	border-color: rgb( 94 160 255 / 0.4 );
}

.st-planned[b-adkx9laz8c] {
	background: rgb( 148 163 184 / 0.16 );
	color: #c3cdde;
	border-color: rgb( 148 163 184 / 0.3 );
}

.st-complete[b-adkx9laz8c] {
	background: rgb( 34 197 94 / 0.16 );
	color: #5fe0a0;
	border-color: rgb( 67 209 139 / 0.4 );
}

.st-hold[b-adkx9laz8c] {
	background: rgb( 245 158 11 / 0.16 );
	color: #fbbf24;
	border-color: rgb( 245 158 11 / 0.36 );
}

.rm-edit[b-adkx9laz8c] {
	position: absolute;
	bottom: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	padding: 5px;
	border: none;
	border-radius: 8px;
	background: rgb( 0 0 0 / 0.5 );
	color: rgb( 255 255 255 / 0.85 );
	cursor: pointer;
	opacity: 0;
	transition: 0.15s;
}

.rm-card:hover .rm-edit[b-adkx9laz8c] {
	opacity: 1;
}

.rm-edit:hover[b-adkx9laz8c] {
	color: #fff;
}

.rm-edit i[b-adkx9laz8c] {
	font-size: 16px;
}

/* ===== Body ===== */
.rm-bd[b-adkx9laz8c] {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.rm-ct-title[b-adkx9laz8c] {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
	line-height: 1.25;
	color: var( --text-strong );
}

.rm-ct-desc[b-adkx9laz8c] {
	color: var( --text-muted );
	font-size: 13.5px;
	line-height: 1.55;
	margin: 9px 0 0;
	max-height: 3.2em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.rm-foot[b-adkx9laz8c] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 16px;
}

.rm-foot-l[b-adkx9laz8c] {
	display: flex;
	align-items: center;
	gap: 12px;
}

.rm-vote[b-adkx9laz8c] {
	display: flex;
	align-items: center;
	gap: 7px;
	background: rgb( var( --tint ) / 0.05 );
	border: 1px solid var( --surface-line );
	color: var( --text-muted );
	font-family: inherit;
	font-weight: 700;
	font-size: 14px;
	padding: 8px 14px;
	border-radius: 10px;
	cursor: pointer;
	transition: 0.16s;
}

.rm-vote i[b-adkx9laz8c] {
	font-size: 17px;
}

.rm-vote:hover[b-adkx9laz8c] {
	border-color: rgb( from var( --accent-bright ) r g b / 0.5 );
	color: var( --text-strong );
}

.rm-vote.on[b-adkx9laz8c] {
	background: rgb( from var( --accent-bright ) r g b / 0.16 );
	border-color: rgb( from var( --accent-bright ) r g b / 0.65 );
	color: var( --accent-bright );
}

.rm-cmt[b-adkx9laz8c] {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var( --text-muted );
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.rm-cmt i[b-adkx9laz8c] {
	font-size: 16px;
}

.rm-cmt:hover[b-adkx9laz8c] {
	color: var( --text-strong );
}

/* ===== Category cover gradients ===== */
.cat-0[b-adkx9laz8c] { background: linear-gradient( 135deg, #1d4ed8, #0891b2 ); }
.cat-1[b-adkx9laz8c] { background: linear-gradient( 135deg, #7c3aed, #db2777 ); }
.cat-2[b-adkx9laz8c] { background: linear-gradient( 135deg, #0e7490, #16a34a ); }
.cat-3[b-adkx9laz8c] { background: linear-gradient( 135deg, #ea580c, #eab308 ); }
.cat-4[b-adkx9laz8c] { background: linear-gradient( 135deg, #6d28d9, #3b82f6 ); }
.cat-5[b-adkx9laz8c] { background: linear-gradient( 135deg, #db2777, #7c3aed ); }
.cat-6[b-adkx9laz8c] { background: linear-gradient( 135deg, #e11d48, #fb923c ); }
.cat-7[b-adkx9laz8c] { background: linear-gradient( 135deg, #0d9488, #3b82f6 ); }
/* /Sections/Roadmap/RoadmapPage.razor.rz.scp.css */
.roadmap[b-xq110pmgwe] {
	padding: 8px 0 60px;
}

/* ===== Header ===== */
.rm-head[b-xq110pmgwe] {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.rm-title[b-xq110pmgwe] {
	font-size: 46px;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0;
	line-height: 1.02;
	background: linear-gradient( 120deg, var( --accent-bright ), #9b7bff );
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.rm-sub[b-xq110pmgwe] {
	margin: 10px 0 0;
	color: var( --text-muted );
	font-size: 16px;
	max-width: 520px;
	line-height: 1.5;
}

/* ===== Status pills ===== */
.rm-pills[b-xq110pmgwe] {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 26px;
}

.rm-pill[b-xq110pmgwe] {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var( --surface-bg );
	border: 1px solid var( --surface-line );
	color: var( --text-muted );
	font-family: inherit;
	font-weight: 600;
	font-size: 13.5px;
	padding: 9px 15px;
	border-radius: 999px;
	cursor: pointer;
	transition: 0.16s;
}

.rm-pill:hover[b-xq110pmgwe] {
	border-color: var( --surface-line-hover );
	color: var( --text-strong );
}

.rm-pill .ct[b-xq110pmgwe] {
	font-size: 12px;
	font-weight: 700;
	color: var( --text-muted );
	opacity: 0.7;
}

.rm-pill .dot[b-xq110pmgwe] {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.rm-pill.on[b-xq110pmgwe] {
	background: rgb( from var( --accent-bright ) r g b / 0.14 );
	border-color: rgb( from var( --accent-bright ) r g b / 0.6 );
	color: var( --text-strong );
}

.rm-pill.on .ct[b-xq110pmgwe] {
	color: var( --accent-bright );
	opacity: 1;
}

/* ===== Category chips ===== */
.rm-cats[b-xq110pmgwe] {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.rm-chip[b-xq110pmgwe] {
	display: flex;
	align-items: center;
	gap: 7px;
	background: transparent;
	border: 1px solid var( --surface-line );
	color: var( --text-muted );
	font-family: inherit;
	font-weight: 600;
	font-size: 13px;
	padding: 8px 13px;
	border-radius: 9px;
	cursor: pointer;
	transition: 0.16s;
}

.rm-chip i[b-xq110pmgwe] {
	font-size: 16px;
}

.rm-chip:hover[b-xq110pmgwe] {
	border-color: var( --surface-line-hover );
	color: var( --text-strong );
}

.rm-chip.on[b-xq110pmgwe] {
	background: rgb( var( --tint ) / 0.06 );
	border-color: var( --surface-line-hover );
	color: var( --text-strong );
}

/* ===== Grid ===== */
.rm-grid[b-xq110pmgwe] {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 320px, 1fr ) );
	gap: 18px;
	margin-top: 24px;
}

/* ===== Empty ===== */
.rm-empty[b-xq110pmgwe] {
	text-align: center;
	padding: 70px 20px;
	color: var( --text-muted );
}

.rm-empty .et[b-xq110pmgwe] {
	font-size: 18px;
	font-weight: 600;
	color: var( --text-strong );
	margin-bottom: 6px;
}

@media (max-width: 760px) {
	.rm-title[b-xq110pmgwe] {
		font-size: 34px;
	}
}
/* /Sections/Store/Home.razor.rz.scp.css */


.item-list[b-peuxce4ss4]
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 2rem;
}
/* /Sections/Store/ItemTile.razor.rz.scp.css */
.itemicon[b-2e5pxxh1yo]
{
    display: flex;
    flex-basis: 400px;
    flex-direction: row;
    background-color: rgb( var( --scrim ) / 0.13 );
    padding: 5px;
    position: relative;
    border: 10px;
    padding: 1rem;
    flex-grow: 1;
    gap: 2rem;
    border-radius: 20px;
}

.itemicon img[b-2e5pxxh1yo]
{
    width: 100%;
    min-width: 150px;
    max-width: 256px;
}

.itemicon .meta[b-2e5pxxh1yo]
{
    flex-grow: 1;
    min-width: 200px;
    display: flex;
    flex-direction: column;
}

.itemicon .meta .top[b-2e5pxxh1yo]
{
    flex-grow: 1;
    gap: 1rem;
}

.itemicon .meta .top .title[b-2e5pxxh1yo]
{
    font-size: 1.4rem;
    font-weight: 550;
    color: var( --text-strong );
}

.itemicon .meta .top .description[b-2e5pxxh1yo]
{
    
}

.itemicon .meta .bottom[b-2e5pxxh1yo]
{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.itemicon .meta .bottom .price[b-2e5pxxh1yo]
{
    display: flex;
    margin: 1rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(70deg, hsl(94deg 40% 20%), hsl(94deg 40% 30%), hsl(94deg 40% 22%));
    justify-content: flex-end;
    font-size: 1rem;
    color: hsl(94deg 100% 80%);
    text-shadow: 1px 1px 5px rgb( var( --scrim ) / 0.33 );
    border: 1px solid hsl(94deg 40% 30%);
    border-radius: 7px;
}

.itemicon .meta .bottom .price:hover[b-2e5pxxh1yo]
{
    background: linear-gradient(70deg, hsl(94deg 40% 30%), hsl(94deg 40% 40%), hsl(94deg 40% 32%));
    color: hsl(94deg 100% 90%);
    border: 1px solid hsl(94deg 40% 40%);
}

.itemicon .special[b-2e5pxxh1yo]
{
    color: var( --accent );
    padding: 1rem 0;
}
/* /Sections/Store/StoreLayout.razor.rz.scp.css */
.store-layout[b-nfwxl4lghh]
{
    --site-design-width: 1100px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

@media (min-width: 1300px)
{
    .store-layout[b-nfwxl4lghh]  .header-standard
    {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
    }
}

/* /Sections/Support/MySupport.razor.rz.scp.css */
.my-support-list[b-4ccegryeqt]
{
    display: flex;
    flex-direction: column;
    border: 1px solid var( --form-divider );
    border-radius: 8px;
    overflow: hidden;
    background-color: rgb( var( --scrim ) / 0.05 );
}

.support-row[b-4ccegryeqt]
{
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var( --form-divider );
    text-decoration: none;
    color: inherit;
    transition: background-color 0.12s ease;
}

.support-row:last-child[b-4ccegryeqt]
{
    border-bottom: 0;
}

.support-row:hover[b-4ccegryeqt]
{
    background-color: var( --surface-bg );
}

.support-row.solved[b-4ccegryeqt]
{
    opacity: 0.7;
}

.support-row.solved .title span:not(.badge)[b-4ccegryeqt]
{
    text-decoration: line-through;
    text-decoration-color: rgb( var( --tint ) / 0.25 );
}

.support-row .title[b-4ccegryeqt]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var( --text-strong );
    font-size: 0.98rem;
}

.support-row .meta[b-4ccegryeqt]
{
    display: flex;
    gap: 0.4rem;
    font-size: 11px;
    opacity: 0.65;
}

.support-row .meta .dot[b-4ccegryeqt]
{
    opacity: 0.5;
}

.support-row .meta .target[b-4ccegryeqt]
{
    font-weight: 500;
    opacity: 0.85;
}

/* /Sections/Support/OrgSupport.razor.rz.scp.css */
.org-support[b-2nhxvvtxb8]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.org-support .lede[b-2nhxvvtxb8]
{
    font-size: 13px;
    opacity: 0.8;
    max-width: 720px;
    line-height: 1.55;
}

.list[b-2nhxvvtxb8]
{
    display: flex;
    flex-direction: column;
    border: 1px solid var( --form-divider );
    border-radius: 8px;
    overflow: hidden;
    background-color: rgb( var( --scrim ) / 0.05 );
}

.row[b-2nhxvvtxb8]
{
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var( --form-divider );
    text-decoration: none;
    color: inherit;
    transition: background-color 0.12s ease;
}

.row:last-child[b-2nhxvvtxb8]
{
    border-bottom: 0;
}

.row:hover[b-2nhxvvtxb8]
{
    background-color: var( --surface-bg );
}

.row.solved[b-2nhxvvtxb8]
{
    opacity: 0.7;
}

.row.solved .title span:not(.badge)[b-2nhxvvtxb8]
{
    text-decoration: line-through;
    text-decoration-color: rgb( var( --tint ) / 0.25 );
}

.row .title[b-2nhxvvtxb8]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var( --text-strong );
    font-size: 0.98rem;
}

.row .meta[b-2nhxvvtxb8]
{
    display: flex;
    gap: 0.4rem;
    font-size: 11px;
    opacity: 0.65;
    flex-wrap: wrap;
}

.row .meta .dot[b-2nhxvvtxb8]
{
    opacity: 0.5;
}

.row .meta .target[b-2nhxvvtxb8]
{
    font-weight: 500;
    opacity: 0.85;
}

/* /Sections/Support/SupportThreadForm.razor.rz.scp.css */
.new-support[b-mdeco3kbcb]
{
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.picker[b-mdeco3kbcb]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.picker .lookup[b-mdeco3kbcb]
{
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.picker .lookup[b-mdeco3kbcb]  .autocomplete
{
    flex: 1;
}

.picker .lookup[b-mdeco3kbcb]  input
{
    width: 100%;
}

.picker .lookup-hint[b-mdeco3kbcb]
{
    font-size: 12px;
    opacity: 0.65;
    padding: 2px 4px;
}

.new-support[b-mdeco3kbcb]  trix-editor
{
    display: flex;
    flex-direction: column;
    background-color: rgb( var( --scrim ) / 0.1 );
    border: 1px solid rgb( from var( --primary ) r g b / 0.2 );
    border-radius: 8px;
    width: 100%;
    padding: 1rem;
    font-size: 13px;
    min-height: 300px;
}
/* /Sections/Support/SupportThreadView.razor.rz.scp.css */
.support-thread[b-5e5zkda4cv]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 900px;
    margin: 0 auto;
}

.support-thread .header[b-5e5zkda4cv]
{
    padding: 1rem 1.25rem;
    border-radius: 10px;
    background-color: rgb( var( --scrim ) / 0.05 );
    border: 1px solid var( --form-divider );
    border-left: 4px solid rgb( var( --tint ) / 0.2 );
}

.support-thread.is-solved[b-5e5zkda4cv]
{
    /* signal the resolved state at a glance */
}

.support-thread.is-solved .header[b-5e5zkda4cv]
{
    background-color: rgb( from var( --success, #4ade80 ) r g b / 0.08 );
    border-color: rgb( from var( --success, #4ade80 ) r g b / 0.25 );
    border-left-color: var( --success, #4ade80 );
}

.support-thread .header .title-row[b-5e5zkda4cv]
{
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.support-thread .header h1[b-5e5zkda4cv]
{
    margin: 0;
    font-size: 1.5rem;
    color: var( --text-strong );
}

.support-thread .header .meta[b-5e5zkda4cv]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 12px;
    opacity: 0.75;
    margin-top: 8px;
}

.support-thread .header .meta .dot[b-5e5zkda4cv]
{
    opacity: 0.5;
}

.support-thread .header .meta .target[b-5e5zkda4cv]
{
    font-weight: 500;
    opacity: 0.9;
}

.support-thread .header .meta a.target[b-5e5zkda4cv]
{
    color: inherit;
    text-decoration: none;
}

.support-thread .header .meta a.target:hover[b-5e5zkda4cv]
{
    text-decoration: underline;
    opacity: 1;
}

.support-thread .header .meta .solved-meta[b-5e5zkda4cv]
{
    color: var( --success, #4ade80 );
    opacity: 1;
    font-weight: 500;
}

.pages[b-5e5zkda4cv]
{
    display: flex;
    justify-content: flex-end;
}

.reply[b-5e5zkda4cv]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.reply[b-5e5zkda4cv]  trix-editor
{
    display: flex;
    flex-direction: column;
    background-color: rgb( var( --scrim ) / 0.1 );
    border: 1px solid rgb( from var( --primary ) r g b / 0.2 );
    border-radius: 8px;
    width: 100%;
    padding: 1rem;
    font-size: 13px;
    min-height: 200px;
}
/* /Sections/User/BaseUserPage.razor.rz.scp.css */

.avatar[b-go98dcu0bk]
{
    position: relative;
    aspect-ratio: 1 !important;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}

.avatar .score[b-go98dcu0bk]
{
    position: absolute;
    background-color: var( --primary );
    color: var( --primary-alt );
    padding: 2px 8px;
    border-radius: 8px;
    bottom: -10px;
    font-size: 1rem;
    font-weight: bold;
    box-shadow: 3px 3px 16px rgb( var( --scrim ) / 1 );
    cursor: pointer;
}

.avatar img[b-go98dcu0bk]
{
    height: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 8px;
}
/* /Sections/User/Inventory/Inventory.razor.rz.scp.css */
.item-entry[b-q5navlp9yc]
{
    display: flex;
    width: 96px;
    height: 96px;
    padding: 2px;
    position: relative;
    background-color: rgb( var( --scrim ) / 0.27 );
    border-radius: 5px;
}

.quantity[b-q5navlp9yc]
{
    position: absolute;
    bottom: -3px;
    right: -3px;
    background-color: rgb( var( --scrim ) / 1 );
    padding: 1px 5px;
    border-radius: 4PX;
}
/* /Sections/User/Money/MoneyOverview.razor.rz.scp.css */


.money-options[b-ipqmzfy6fx]  .month-picker
{
    background-color: rgb( var( --tint ) / 0.06 );
    border-radius: 16px;
    padding: 1rem;
}
/* /Sections/User/Money/MoneySettings.razor.rz.scp.css */
iframe[b-g6rqxum79t]
{
    width: 100%;
    height: 800px;
    border: 0px;
    border-radius: 10px;
    background-color: #fff; /* iframe content expects white */
}
/* /Sections/User/Money/TipaltiInvoices.razor.rz.scp.css */
iframe[b-hvb20skgn8]
{
    width: 100%;
    height: 800px;
    border: 0px;
    border-radius: 10px;
    background-color: #fff; /* iframe content expects white */
}
/* /Sections/User/Money/TipaltiPayments.razor.rz.scp.css */
iframe[b-8onchcl86l]
{
    width: 100%;
    height: 800px;
    border: 0px;
    border-radius: 10px;
    background-color: #fff; /* iframe content expects white */
}
/* /Sections/User/Money/TransactionChart.razor.rz.scp.css */

.chart-wrapper[b-abfkq26zfz]
{
    width: 100%;
    height: 300px;
}
/* /Sections/User/Money/TransactionList.razor.rz.scp.css */
.chart-wrapper[b-v2kqzu6htw]
{
    width: 100%;
}
/* /Sections/User/Money/TransactionView.razor.rz.scp.css */
.chart-wrapper[b-ppk9gbxmte]
{
    width: 100%;
}
/* /Sections/User/PlayerStatBox.razor.rz.scp.css */
.statbox[b-9eic98rn2m]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.75rem 0.5rem;
    border-radius: 10px;
    background: rgb( var( --tint ) / 0.04 );
    border: 1px solid rgb( var( --tint ) / 0.06 );
}

.statbox > .value[b-9eic98rn2m]
{
    font-size: 1.5rem;
    font-weight: 700;
    color: var( --text-strong );
    line-height: 1.1;
}

.statbox > .title[b-9eic98rn2m]
{
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgb( var( --tint ) / 0.55 );
    text-align: center;
    white-space: nowrap;
}
/* /Sections/User/Rewards/Rewards.razor.rz.scp.css */
.facets[b-wky8cfzl38]
{
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 20px;
}
/* /Sections/User/UserAchievements.razor.rz.scp.css */


.list[b-bvpnshnhct]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.list h2[b-bvpnshnhct]
{
    color: rgb( var( --tint ) / 0.2 );
    font-size: 2rem;
    font-weight: bold;
}

.achievement[b-bvpnshnhct]
{
    display: flex;
    position: relative;
}

.background-effect[b-bvpnshnhct]
{
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: -1;
}

.background-effect img[b-bvpnshnhct]
{
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur( 40px ) opacity( 0.1 );
    transition: all 2s ease;
}

.achievement:hover .background-effect img[b-bvpnshnhct]
{
    filter: blur( 70px ) opacity( 0.5 );
}

.achievement .score[b-bvpnshnhct]
{
    width: 96px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    color: var( --text-strong );
    font-weight: bolder;
}

.achievement .icon[b-bvpnshnhct]
{
}

.achievement .icon img[b-bvpnshnhct]
{
    width: 64px;
    height: 64px;
    border-radius: 5px;
}

.achievement .body[b-bvpnshnhct]
{
    display: flex;
    flex-direction: column;
    padding: 1rem;
    justify-content: center;
    flex-grow: 1;
}

.achievement .body .title[b-bvpnshnhct]
{
    font-weight: bolder;
    font-size: 1rem;
    color: var( --text-strong );
    text-shadow: 2px 2px 3px rgb( var( --scrim ) / 1 );
}

.achievement .body .subtitle[b-bvpnshnhct]
{
    font-size: 0.8rem;
    color: var( --text-strong );
    opacity: 0.4;
    mix-blend-mode: lighten;
}

.achievement .package[b-bvpnshnhct]
{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 1rem;

}

.achievement .package img[b-bvpnshnhct]
{
    height: 48px;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    transition: all 0.1s ease;
}

.achievement .package img:hover[b-bvpnshnhct]
{
    height: 68px;
}
/* /Sections/User/UserPlayedGrid.razor.rz.scp.css */
.game-cell[b-0qtmbe55wx]
{
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var( --text-strong );
    text-decoration: none;
    font-weight: 500;
    min-width: 0;
}

.game-cell:hover .name[b-0qtmbe55wx]
{
    color: var( --primary );
}

.game-cell img[b-0qtmbe55wx]
{
    width: 32px;
    height: 32px;
    border-radius: 5px;
    object-fit: cover;
    flex-shrink: 0;
}

.game-cell .name[b-0qtmbe55wx]
{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.15s;
}
/* /Sections/User/UserReviewList.razor.rz.scp.css */
.review-list[b-4vm1q13hm7]
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.review-list .review[b-4vm1q13hm7]
{
    display: flex;
    gap: 1rem;
    padding: 1rem;
    border-radius: 10px;
    background: rgb( 15 27 43 / 0.55 );
    border: 1px solid rgb( var( --tint ) / 0.06 );
}

.review-list .review.positive[b-4vm1q13hm7] { border-left: 3px solid var( --success ); }
.review-list .review.negative[b-4vm1q13hm7] { border-left: 3px solid var( --error ); }
.review-list .review.promise[b-4vm1q13hm7]  { border-left: 3px solid var( --highlight-gold ); }

.review-list .thumb-link[b-4vm1q13hm7]
{
    flex-shrink: 0;
}

.review-list .thumb[b-4vm1q13hm7]
{
    width: 72px;
    height: 72px;
    border-radius: 8px;
    object-fit: cover;
    display: block;
}

.review-list .body[b-4vm1q13hm7]
{
    flex-grow: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.review-list .review-header[b-4vm1q13hm7]
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: rgb( var( --tint ) / 0.6 );
}

.review-list .package-title[b-4vm1q13hm7]
{
    color: var( --text-strong );
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
}

.review-list .package-title:hover[b-4vm1q13hm7]
{
    color: var( --primary );
}

.review-list .type-chip[b-4vm1q13hm7]
{
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: lowercase;
    background: rgb( var( --tint ) / 0.08 );
    color: rgb( var( --tint ) / 0.7 );
}

.review-list .dot[b-4vm1q13hm7]
{
    color: rgb( var( --tint ) / 0.3 );
}

.review-list .rating-stamp[b-4vm1q13hm7]
{
    margin-left: auto;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.review-list .positive .rating-stamp[b-4vm1q13hm7]
{
    color: var( --success );
    background: color-mix( in srgb, var( --success ) 16%, transparent );
}

.review-list .negative .rating-stamp[b-4vm1q13hm7]
{
    color: var( --error );
    background: color-mix( in srgb, var( --error ) 16%, transparent );
}

.review-list .promise .rating-stamp[b-4vm1q13hm7]
{
    color: var( --highlight-gold );
    background: color-mix( in srgb, var( --highlight-gold ) 16%, transparent );
}

.review-list .content[b-4vm1q13hm7]
{
    white-space: pre-line;
    line-height: 1.55;
    color: var( --text-color );
    word-wrap: break-word;
}

.review-list .tags[b-4vm1q13hm7]
{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.review-list .tag[b-4vm1q13hm7]
{
    display: inline-flex;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
}

.review-list .tag.positive[b-4vm1q13hm7]
{
    background: color-mix( in srgb, var( --success ) 18%, transparent );
    color: var( --success );
}

.review-list .tag.negative[b-4vm1q13hm7]
{
    background: color-mix( in srgb, var( --error ) 18%, transparent );
    color: var( --error );
}
/* /Sections/User/UserReviews.razor.rz.scp.css */
.review-page-header[b-kab0dy3lun]
{
    display: flex;
    align-items: baseline;
    margin: 1.5rem 0 1rem;
}

.review-page-header .count[b-kab0dy3lun]
{
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgb( var( --tint ) / 0.55 );
    font-weight: 600;
}
/* /Sections/User/UserServices.razor.rz.scp.css */
.services[b-g7d4bksrpj]
{
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 16px;
}

.service-row[b-g7d4bksrpj]
{
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	background: var(--bg-raised, rgba(255, 255, 255, 0.04));
	border-radius: 8px;
}

.service-row .service-name[b-g7d4bksrpj]
{
	font-weight: 600;
	min-width: 110px;
}

.service-row .account[b-g7d4bksrpj]
{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-grow: 1;
}

.service-row .account img[b-g7d4bksrpj]
{
	width: 32px;
	height: 32px;
	border-radius: 50%;
}

.service-row .not-linked[b-g7d4bksrpj]
{
	flex-grow: 1;
	opacity: 0.6;
}
/* /Sections/User/UserSiteHeader.razor.rz.scp.css */
.user-site-header[b-duuc6gbv2t]
{
    container-type: inline-size;
    background-color: var( --site-header-color );
}

.user-site-header[b-duuc6gbv2t]  .tab-bar
{
    margin-bottom: 0;
}

.user-avatar-wrap[b-duuc6gbv2t]
{
    position: relative;
}

.user-avatar[b-duuc6gbv2t]
{
    height: 64px;
    width: 64px;
    border-radius: 8px;
    border: 1px solid rgb( var( --tint ) / 0.13 );
    object-fit: cover;
    display: block;
}

.online-dot[b-duuc6gbv2t]
{
    position: absolute;
    top: -4px;
    right: -4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #5cd75c;
    border: 3px solid var( --site-header-color );
    box-shadow: 0 0 6px rgb( 92 215 92 / 0.6 );
}

.user-name[b-duuc6gbv2t]
{
    font-family: Poppins;
    font-weight: bolder;
    font-size: 1.5rem;
    color: var( --text-strong );
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.user-header-buttons[b-duuc6gbv2t]
{
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.user-header-buttons[b-duuc6gbv2t]  .steam-link svg
{
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.title-text[b-duuc6gbv2t]
{
    min-width: 0;
}

.meta-pills[b-duuc6gbv2t]
{
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
    row-gap: 0.25rem;
    margin-top: 0.4rem;
}

.dot[b-duuc6gbv2t]
{
    background-color: rgb( var( --tint ) / 0.33 );
    width: 2px;
    height: 2px;
    border-radius: 10px;
}

.meta-pill[b-duuc6gbv2t]
{
    padding: 0rem 0.5rem;
    font-size: 0.85rem;
    color: rgb( var( --tint ) / 0.7 );
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.meta-pill .bold[b-duuc6gbv2t]
{
    font-weight: 600;
    color: var( --text-strong );
}

.meta-pill .trophy[b-duuc6gbv2t]
{
    font-family: "Material Symbols Rounded";
    font-size: 1rem;
    line-height: 1;
    color: var( --highlight-gold );
}

.org-pills[b-duuc6gbv2t]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.6rem;
}

.org-pill[b-duuc6gbv2t]
{
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.55rem 0.2rem 0.2rem;
    border-radius: 999px;
    background: rgb( var( --tint ) / 0.06 );
    border: 1px solid rgb( var( --tint ) / 0.1 );
    font-size: 0.8rem;
    color: var( --text-color );
    text-decoration: none;
    transition: background 0.15s;
}

.org-pill:hover[b-duuc6gbv2t]
{
    background: rgb( var( --tint ) / 0.14 );
}

.org-pill img[b-duuc6gbv2t]
{
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
}

@media (min-width: 700px)
{
    .user-avatar[b-duuc6gbv2t]
    {
        height: 96px;
        width: 96px;
    }

    .user-name[b-duuc6gbv2t]
    {
        font-size: 2.2rem;
    }

    .meta-pill[b-duuc6gbv2t]
    {
        font-size: 0.9rem;
    }

    .online-dot[b-duuc6gbv2t]
    {
        top: -4px;
        right: -4px;
        width: 18px;
        height: 18px;
        border-width: 3px;
    }
}
/* /Sections/User/UserStats.razor.rz.scp.css */
.stat-grid[b-8sijird04l]
{
    display: grid;
    grid-template-columns: repeat( 7, 1fr );
    gap: 0.75rem;
    max-width: 1100px;
    margin: 2rem auto 0;
}

@media (max-width: 900px)
{
    .stat-grid[b-8sijird04l]
    {
        grid-template-columns: repeat( 4, 1fr );
    }
}

@media (max-width: 500px)
{
    .stat-grid[b-8sijird04l]
    {
        grid-template-columns: repeat( 2, 1fr );
    }
}

.profile-section[b-8sijird04l]
{
    margin-top: 3.5rem;
}

.profile-section > header[b-8sijird04l]
{
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgb( var( --tint ) / 0.08 );
}

.profile-section > header > h2[b-8sijird04l]
{
    font-family: Poppins;
    font-weight: 600;
    font-size: 1rem;
    color: var( --text-strong );
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
}
