/* ==========================================================================
   Quarry for NamelessMC — pixel-notched UI over cinematic photography.
   Colours / fonts / container are CSS variables injected by PHP (Quarry::themeCss).
   ========================================================================== */
:root {
    --qy-primary: #58c33a; --qy-primary-rgb: 88,195,58; --qy-primary-600: #3f8f2a; --qy-lime: #8cf07a; --qy-on-primary: #ffffff;
    --qy-gold: #f5b942; --qy-gold-rgb: 245,185,66;
    --qy-aqua: #4fd1e8; --qy-blurple: #5865f2; --qy-red: #ef5350; --qy-purple: #c084fc;
    --qy-font: 'Rubik', system-ui, sans-serif; --qy-font-head: 'Rubik', system-ui, sans-serif; --qy-font-pixel: 'Silkscreen', 'Courier New', monospace;
    --qy-container: 1280px;

    /* light surfaces */
    --qy-bg: #e8ecf2; --qy-bg2: #dde2ea; --qy-surface: #ffffff; --qy-surface-2: #f1f4f8;
    --qy-line: #cfd6e0; --qy-line2: #b9c2cf;
    --qy-text: #0f1722; --qy-muted: #55627a;
    --qy-nav-bg: rgba(232, 236, 242, .92);

    /* aliases used by the shared Fomantic skin */
    --qy-border: #cfd6e0; --qy-primary-300: var(--qy-lime); --qy-accent: var(--qy-gold);
    --qy-radius: 10px; --qy-radius-sm: 6px; --qy-shadow: 0 18px 40px -22px rgba(15, 23, 34, .45);
    --qy-ok: var(--qy-primary); --qy-off: var(--qy-red);
}
body.dark {
    --qy-bg: #0b0f16; --qy-bg2: #0f141d; --qy-surface: #141a25; --qy-surface-2: #1a2230;
    --qy-line: #232c3b; --qy-line2: #2e3949; --qy-border: #232c3b;
    --qy-text: #eaeff7; --qy-muted: #8d97a9;
    --qy-nav-bg: rgba(11, 15, 22, .9);
    --qy-shadow: 0 30px 80px -26px rgba(0, 0, 0, .8);
    color-scheme: dark;
}
body.qy-corners-notch { --qy-clip: polygon(0 3px,3px 3px,3px 0,calc(100% - 3px) 0,calc(100% - 3px) 3px,100% 3px,100% calc(100% - 3px),calc(100% - 3px) calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,3px calc(100% - 3px),0 calc(100% - 3px));
    --qy-clip-lg: polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px)); --qy-btn-radius: 0; }
body.qy-corners-soft { --qy-clip: none; --qy-clip-lg: none; --qy-btn-radius: 10px; }
body.qy-corners-sharp { --qy-clip: none; --qy-clip-lg: none; --qy-btn-radius: 0; --qy-radius: 0px; --qy-radius-sm: 0px; }

/* ---------- base ---------- */
html { scroll-behavior: smooth; height: auto !important; -webkit-text-size-adjust: 100%; }
body.quarry { height: auto !important; font-family: var(--qy-font); background: var(--qy-bg); color: var(--qy-text); -webkit-font-smoothing: antialiased; line-height: 1.6; min-height: 100vh; overflow-x: hidden; }
body.quarry ::selection { background: var(--qy-primary); color: #06130a; }
body.quarry h1, body.quarry h2, body.quarry h3, body.quarry h4, body.quarry h5, body.quarry .ui.header { font-family: var(--qy-font-head); color: var(--qy-text); font-weight: 900; letter-spacing: -.02em; line-height: .98; text-transform: uppercase; }
body.quarry h3, body.quarry h4, body.quarry h5, body.quarry .ui.header { letter-spacing: .01em; line-height: 1.2; font-weight: 800; }
body.quarry a { color: var(--qy-primary-600); }
body.dark.quarry a { color: var(--qy-lime); }
body.quarry a:hover { color: var(--qy-text); }
body.quarry :focus-visible { outline: 2px solid var(--qy-lime); outline-offset: 2px; }
.qy-container { width: 100%; max-width: var(--qy-container); margin: 0 auto; padding: 0 24px; }
.qy-container--narrow { max-width: 860px; }
.qy-center { text-align: center; } .qy-muted { color: var(--qy-muted); } .qy-small { font-size: .875rem; }
.qy-pixel { font-family: var(--qy-font-pixel); font-weight: 400; letter-spacing: .02em; text-transform: uppercase; }
.qy-tnum { font-variant-numeric: tabular-nums; }
.qy-lime { color: var(--qy-primary-600); } body.dark .qy-lime { color: var(--qy-lime); }
.qy-gold { color: var(--qy-gold); }
body.quarry #wrapper, .qy-wrapper { background: transparent; }
.qy-block-shadow { text-shadow: 0 3px 0 #1a2130, 0 6px 0 #0c1017, 0 14px 34px rgba(0,0,0,.6); }
.qy-dark-ctx { --qy-text: #eaeff7; --qy-muted: #b6c0d1; color: #fff; }
.qy-grid-bg { background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px); background-size: 32px 32px; }
body:not(.dark) .qy-grid-bg { background-image: linear-gradient(rgba(15,23,34,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,34,.05) 1px, transparent 1px); }
.qy-pixelated { image-rendering: pixelated; }

/* ---------- buttons (pixel-bevelled) ---------- */
.qy-btn, body.quarry .ui.button { --btn: #5b6472; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; height: 48px; padding: 0 22px; margin: 0;
    font-family: var(--qy-font); font-weight: 800; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; line-height: 1; color: #fff !important; text-shadow: 0 1px 0 rgba(0,0,0,.45);
    background: var(--btn); border: 0; border-radius: var(--qy-btn-radius, 0); clip-path: var(--qy-clip, none);
    box-shadow: inset 0 -4px 0 rgba(0,0,0,.32), inset 0 2px 0 rgba(255,255,255,.22), inset 2px 0 0 rgba(255,255,255,.08), inset -2px 0 0 rgba(0,0,0,.14);
    transition: filter .15s, transform .06s, box-shadow .06s; cursor: pointer; white-space: nowrap; user-select: none; text-decoration: none; }
.qy-btn:hover, body.quarry .ui.button:hover { filter: brightness(1.1); color: #fff !important; text-decoration: none; }
.qy-btn:active, body.quarry .ui.button:active { transform: translateY(2px); box-shadow: inset 0 -2px 0 rgba(0,0,0,.32), inset 0 2px 0 rgba(255,255,255,.22); }
.qy-btn--primary, body.quarry .ui.primary.button, body.quarry .ui.green.button, body.quarry .ui.positive.button, body.quarry .ui.blue.button { --btn: var(--qy-primary); color: var(--qy-on-primary) !important; }
.qy-btn--stone, body.quarry .ui.basic.button, body.quarry .ui.default.button { --btn: #5b6472; }
.qy-btn--gold { --btn: #e9a83a; color: #1a1205 !important; text-shadow: 0 1px 0 rgba(255,255,255,.3); }
.qy-btn--blurple { --btn: #5865f2; } .qy-btn--red, body.quarry .ui.red.button, body.quarry .ui.negative.button { --btn: #d9453d; }
.qy-btn--ghost { --btn: rgba(255,255,255,.06); box-shadow: inset 0 0 0 2px rgba(255,255,255,.16); text-shadow: none; }
body:not(.dark) .qy-nav .qy-btn--ghost, body:not(.dark) .qy-card .qy-btn--ghost { --btn: rgba(15,23,34,.06); box-shadow: inset 0 0 0 2px rgba(15,23,34,.18); color: var(--qy-text) !important; }
.qy-btn--ghost:hover { --btn: rgba(255,255,255,.11); filter: none; } .qy-btn--ghost:active { box-shadow: inset 0 0 0 2px rgba(255,255,255,.16); }
.qy-btn--sm { height: 38px; padding: 0 14px; font-size: 12px; } .qy-btn--lg { height: 58px; padding: 0 30px; font-size: 15px; } .qy-btn--block { width: 100%; }
.qy-iconbtn, body.quarry .ui.icon.button.qy-iconbtn { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; margin: 0; border: 1px solid var(--qy-line); background: var(--qy-surface); color: var(--qy-text) !important; border-radius: 6px; cursor: pointer; clip-path: none; box-shadow: none; }
.qy-iconbtn:hover { background: var(--qy-surface-2); } .qy-iconbtn i.icon { margin: 0; }
.qy-ico-light { display: none; } body.dark .qy-ico-dark { display: none; } body.dark .qy-ico-light { display: inline; }

/* ---------- tags / cards / dots ---------- */
.qy-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--qy-font-pixel); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; line-height: 1; padding: 6px 8px 5px;
    background: rgba(6,9,14,.72); border: 1px solid rgba(255,255,255,.14); color: #fff; backdrop-filter: blur(4px); clip-path: var(--qy-clip, none); }
.qy-tag--grass { border-color: rgba(var(--qy-primary-rgb), .5); color: var(--qy-lime); } .qy-tag--gold { border-color: rgba(var(--qy-gold-rgb), .5); color: var(--qy-gold); }
.qy-tag--aqua { border-color: rgba(79,209,232,.5); color: var(--qy-aqua); } .qy-tag--red { border-color: rgba(239,83,80,.5); color: #ff8a85; } .qy-tag--purple { border-color: rgba(192,132,252,.5); color: var(--qy-purple); }
.qy-kicker { font-family: var(--qy-font-pixel); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--qy-primary-600); }
body.dark .qy-kicker { color: var(--qy-lime); }
.qy-card { background: var(--qy-surface); border: 1px solid var(--qy-line); border-radius: var(--qy-radius); transition: border-color .2s, background .2s, transform .25s; }
.qy-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--qy-primary); display: inline-block; flex: none; }
.qy-live { background: #6fe04a; box-shadow: 0 0 0 0 rgba(111,224,74,.6); animation: qy-ping 2s ease-out infinite; }
@keyframes qy-ping { 0% { box-shadow: 0 0 0 0 rgba(111,224,74,.55); } 70%, 100% { box-shadow: 0 0 0 8px rgba(111,224,74,0); } }
.qy-reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1); }
.qy-reveal.is-in { opacity: 1; transform: none; } .qy-no-anim .qy-reveal { opacity: 1; transform: none; transition: none; }
.qy-icon { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 6px; border: 1px solid var(--qy-line); background: var(--qy-bg); color: var(--qy-primary-600); font-size: 1.15rem; margin-bottom: 1.1rem; transition: transform .3s; }
body.dark .qy-icon { color: var(--qy-lime); } .qy-icon i { margin: 0; } .qy-icon--sm { width: 42px; height: 42px; margin-bottom: .5rem; }

/* IP box + copy button */
.qy-ip { display: inline-flex; align-items: center; gap: .8rem; cursor: pointer; text-align: left; color: #fff; }
.qy-ip__text { font-family: var(--qy-font-pixel); text-transform: uppercase; color: var(--qy-lime); font-size: .95rem; }
.qy-ip--nav { padding: .45rem .5rem .45rem .9rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); clip-path: var(--qy-clip, none); }
body:not(.dark) .qy-nav .qy-ip--nav { background: var(--qy-surface); border-color: var(--qy-line); } body:not(.dark) .qy-nav .qy-ip__text { color: var(--qy-primary-600); }
.qy-ip__btn { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .75rem; background: var(--qy-primary); color: var(--qy-on-primary); font-weight: 800; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; clip-path: var(--qy-clip, none); }
.qy-ip.is-copied .qy-ip__btn { background: #5b6472; color: #fff; }
.qy-ip--block { width: 100%; justify-content: space-between; }
.qy-ipbox { display: inline-flex; flex-direction: column; gap: .75rem; width: 100%; max-width: 36rem; padding: .8rem; border: 1px solid rgba(255,255,255,.1); background: rgba(7,10,16,.8); backdrop-filter: blur(10px); clip-path: var(--qy-clip-lg, none); }
.qy-ipbox__row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.qy-ipbox__label { display: flex; align-items: center; gap: .5rem; font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; color: #aab4c5; }
.qy-ipbox__ip { font-family: var(--qy-font-pixel); text-transform: uppercase; font-size: clamp(1.25rem, 3.6vw, 1.75rem); line-height: 1; color: var(--qy-lime); margin-top: .5rem; }

/* ---------- announcement + navbar ---------- */
.qy-announce { background: var(--qy-bg); color: var(--qy-text); font-size: 12px; border-bottom: 1px solid rgba(255,255,255,.06); position: relative; z-index: 70; }
.qy-announce .qy-container { display: flex; align-items: center; justify-content: center; gap: .8rem; height: 36px; }
.qy-announce .qy-pixel { background: var(--qy-primary); color: #06130a; padding: 3px 6px; font-size: 9px; }
.qy-announce a { font-weight: 700; color: var(--qy-primary-600) !important; } body.dark .qy-announce a { color: var(--qy-lime) !important; }
body.qy-nav-overlay.qy-home .qy-announce { position: absolute; left: 0; right: 0; top: 0; }
.qy-nav { position: sticky; top: 0; z-index: 60; background: var(--qy-nav-bg); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--qy-line); transition: background .3s, border-color .3s; }
body.qy-nav-overlay.qy-home .qy-nav { position: fixed; left: 0; right: 0; top: 36px; background: transparent; border-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.qy-nav-overlay.qy-home.qy-no-announce .qy-nav { top: 0; }
body.qy-nav-overlay.qy-home .qy-nav.qy-nav--scrolled { top: 0; background: var(--qy-nav-bg); border-color: var(--qy-line); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
body.qy-nav-overlay.qy-home:not(.qy-scrolled) .qy-nav { --qy-text: #eaeff7; --qy-muted: #b6c0d1; }
.qy-nav__inner { display: flex; align-items: center; gap: 1.5rem; height: 72px; }
.qy-logo { display: inline-flex; align-items: center; gap: .75rem; color: var(--qy-text) !important; text-decoration: none; line-height: 1; }
.qy-logo img { max-height: 40px; } .qy-logo svg { width: 36px; height: 36px; flex: none; }
.qy-cube-top { fill: var(--qy-lime); } .qy-cube-l { fill: var(--qy-primary); } .qy-cube-r { fill: var(--qy-primary-600); } .qy-cube-line { stroke: rgba(6,19,10,.55); }
.qy-logo__main { display: block; font-family: var(--qy-font-head); font-weight: 900; font-size: 1.2rem; letter-spacing: -.01em; text-transform: uppercase; }
.qy-logo__sub { display: block; margin-top: 3px; font-family: var(--qy-font-pixel); font-size: 9px; text-transform: uppercase; color: var(--qy-lime); }
body:not(.dark) .qy-nav .qy-logo__sub { color: var(--qy-primary-600); }
.qy-nav__links { display: flex; align-items: center; gap: .2rem; flex: 1; justify-content: center; }
.qy-nav__links .item, .qy-nav__item { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border-radius: 4px; color: color-mix(in srgb, var(--qy-text) 80%, transparent) !important; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .15s, color .15s; }
.qy-nav__links .item:hover { background: rgba(127,127,127,.12); color: var(--qy-text) !important; }
.qy-nav__links .item.active { color: var(--qy-text) !important; box-shadow: inset 0 -3px 0 var(--qy-primary); border-radius: 0; }
.qy-nav__links .ui.dropdown .menu { border-radius: 6px; border: 1px solid var(--qy-line); background: var(--qy-surface); box-shadow: var(--qy-shadow); margin-top: 8px; }
.qy-nav__links .ui.dropdown .menu .item { color: var(--qy-text) !important; padding: .7rem 1rem !important; display: flex; }
.qy-nav__links .ui.dropdown .menu .item:hover { background: var(--qy-surface-2) !important; }
.qy-nav__links .ui.dropdown .menu .header { color: var(--qy-muted); font-size: .66rem; padding: .5rem 1rem 0; }
.qy-nav__links .item i.icon { margin: 0; }
.qy-nav__right { display: flex; align-items: center; gap: .6rem; }
.qy-online { display: none; align-items: center; gap: .5rem; font-size: 13px; font-weight: 600; color: color-mix(in srgb, var(--qy-text) 80%, transparent); } @media (min-width: 1200px) { .qy-online { display: inline-flex; } }
.qy-nav__toggle { display: none; background: var(--qy-surface); border: 1px solid var(--qy-line); color: var(--qy-text); width: 42px; height: 42px; margin-left: auto; border-radius: 6px; }
.qy-account.ui.label, body.quarry .ui.medium.image.label.qy-account { background: var(--qy-surface) !important; color: var(--qy-text) !important; border: 1px solid var(--qy-line); border-radius: 6px; padding: .3rem .9rem .3rem .3rem !important; font-weight: 600; }
.qy-account img { border-radius: 4px !important; }
body.quarry .ui.popup { border-radius: 6px; background: var(--qy-surface); color: var(--qy-text); border: 1px solid var(--qy-line); box-shadow: var(--qy-shadow); }
body.quarry .ui.popup:before { background: var(--qy-surface); box-shadow: none; border-color: var(--qy-line); }
body.quarry .ui.popup .header, body.quarry .ui.popup .ui.header { color: var(--qy-text); }
body.quarry .ui.link.list .item, body.quarry .ui.link.list a.item { color: var(--qy-muted) !important; } body.quarry .ui.link.list a.item:hover { color: var(--qy-primary-600) !important; }
body.quarry .ui.divider { border-color: var(--qy-line); }

/* ---------- inner page header ---------- */
.qy-page-head { position: relative; padding: 3.4rem 0 2.2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--qy-line); overflow: hidden; background: var(--qy-bg2); }
.qy-page-head:before { content: ''; position: absolute; inset: 0; opacity: .7; background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px); background-size: 32px 32px; }
body:not(.dark) .qy-page-head:before { background-image: linear-gradient(rgba(15,23,34,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,34,.05) 1px, transparent 1px); }
.qy-page-head .qy-container { position: relative; } .qy-page-head h1 { font-size: clamp(2rem, 4vw, 3.2rem); margin: 0; }
.qy-main { min-height: 60vh; } .qy-content { padding-bottom: 4rem; }
.qy-notices { max-width: var(--qy-container); margin: 0 auto; padding: 0 24px; }
body.qy-home .qy-notices { position: absolute; z-index: 50; top: 120px; left: 0; right: 0; margin: 0 auto; }
.qy-notices .ui.message:first-child { margin-top: 1rem; }
body.quarry .ui.container.qy-content { width: 100% !important; max-width: var(--qy-container) !important; margin: 0 auto !important; padding: 0 24px; }

/* ---------- hero ---------- */
.qy-hero { position: relative; overflow: hidden; isolation: isolate; color: #fff; }
.qy-hero__bg { position: absolute; inset: 0; z-index: -3; background: radial-gradient(60% 70% at 20% 10%, rgba(var(--qy-primary-rgb), .3), transparent 62%), radial-gradient(50% 60% at 90% 20%, rgba(var(--qy-gold-rgb), .2), transparent 62%), #0b0f16; }
.qy-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; animation: qy-kenburns 28s ease-in-out infinite alternate; }
@keyframes qy-kenburns { from { transform: scale(1); } to { transform: scale(1.08); } }
.qy-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11,15,22,.92) 0%, rgba(11,15,22,.72) 38%, rgba(11,15,22,.25) 68%, rgba(11,15,22,.45) 100%), linear-gradient(180deg, rgba(11,15,22,.75) 0%, rgba(11,15,22,.15) 30%, rgba(11,15,22,.2) 65%, var(--qy-bg) 100%); }
.qy-particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.qy-particles span { position: absolute; bottom: -12px; opacity: 0; animation: qy-rise linear infinite; box-shadow: 0 0 8px currentColor; }
@keyframes qy-rise { 0% { transform: translateY(0) translateX(0); opacity: 0; } 12% { opacity: .9; } 80% { opacity: .5; } 100% { transform: translateY(-105vh) translateX(18px); opacity: 0; } }
.qy-hero__inner { position: relative; z-index: 3; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-top: 170px; padding-bottom: 150px; max-width: var(--qy-container); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.qy-hero--normal .qy-hero__inner { min-height: 760px; } .qy-hero--short .qy-hero__inner { min-height: 620px; }
.qy-hero__content { max-width: 48rem; }
.qy-hero__tags { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.qy-hero__title { margin: 1.5rem 0 0; font-size: clamp(2.75rem, 7.4vw, 6rem); color: #fff !important; }
.qy-hero__title span { color: var(--qy-lime); }
.qy-hero__sub { margin: 1.5rem 0 0; max-width: 36rem; font-size: clamp(1rem, 1.5vw, 1.15rem); color: rgba(234,239,247,.85); }
.qy-hero__sub strong { color: #fff; }
.qy-hero__ip { margin-top: 2rem; } .qy-hero__bedrock { margin-top: .75rem; font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; color: #aab4c5; } .qy-hero__bedrock b { color: #dfe6f1; font-weight: 400; }
.qy-hero__buttons { margin-top: 1.75rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.qy-status { position: relative; z-index: 4; max-width: var(--qy-container); margin: -4.5rem auto 0; padding: 0 24px; }
.qy-status__grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; background: var(--qy-surface); border: 1px solid var(--qy-line); border-radius: var(--qy-radius); box-shadow: var(--qy-shadow); color: var(--qy-text); }
.qy-status__cell { display: flex; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; border-left: 1px solid var(--qy-line); } .qy-status__cell:first-child { border-left: 0; }
.qy-status__ico { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 6px; border: 1px solid var(--qy-line); background: var(--qy-surface-2); color: var(--qy-primary-600); font-size: 1.1rem; } body.dark .qy-status__ico { color: var(--qy-lime); }
.qy-status__label { font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; color: var(--qy-muted); }
.qy-status__value { margin-top: .25rem; font-size: clamp(1.3rem, 2vw, 1.65rem); font-weight: 900; line-height: 1; display: flex; align-items: center; gap: .55rem; } .qy-status__value small { font-size: .8rem; font-weight: 500; color: var(--qy-muted); }

/* ---------- sections ---------- */
.qy-section { padding: clamp(3.5rem, 8vw, 7.5rem) 0; position: relative; }
.qy-bg-alt { background: var(--qy-bg2); border-block: 1px solid var(--qy-line); }
.qy-bg-glow { background: radial-gradient(60% 80% at 50% 0%, rgba(var(--qy-gold-rgb), .13), transparent 70%); }
.qy-section--stats, .qy-section--partners, .qy-section--marquee { padding: 2rem 0; }
.qy-section__head { max-width: 760px; margin: 0 auto 3rem; text-align: center; }
.qy-section__head h2 { font-size: clamp(2rem, 4.6vw, 3.4rem); margin: .8rem 0 .9rem; }
.qy-section__head p { margin: 0 auto; max-width: 46ch; color: var(--qy-muted); }
.qy-section__head--left { text-align: left; margin-left: 0; }
.qy-grid { display: grid; gap: 1.1rem; }
.qy-grid--2 { grid-template-columns: repeat(2, 1fr); } .qy-grid--3 { grid-template-columns: repeat(3, 1fr); } .qy-grid--4 { grid-template-columns: repeat(4, 1fr); }
.qy-card { padding: 1.6rem; } .qy-card h3 { margin: 0 0 .45rem; font-size: 1.05rem; letter-spacing: .02em; } .qy-card p { margin: 0; color: var(--qy-muted); font-size: .93rem; }
.qy-card:hover { border-color: var(--qy-line2); background: var(--qy-surface-2); }
.qy-feature:hover .qy-icon { transform: translateY(-2px); }

/* features (sticky intro + cards) */
.qy-feat { display: grid; grid-template-columns: 4fr 8fr; gap: 3rem; align-items: start; }
.qy-feat__intro { position: sticky; top: 130px; } .qy-feat__intro h2 { font-size: clamp(2rem, 4.2vw, 3.1rem); margin: .8rem 0 0; }
.qy-feat__intro p { margin: 1rem 0 0; color: var(--qy-muted); } .qy-feat__intro .btns { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.qy-feat__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.1rem; }

/* game modes (12-col bento) */
.qy-modes { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 290px; gap: 1rem; }
.qy-mode { position: relative; overflow: hidden; border-radius: var(--qy-radius); border: 1px solid var(--qy-line); background: var(--qy-surface); grid-column: span 3; color: #fff !important; text-decoration: none; isolation: isolate; }
.qy-mode--big { grid-column: span 6; grid-row: span 2; }
.qy-mode__img { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; transition: transform .9s ease-out; } .qy-mode:hover .qy-mode__img { transform: scale(1.06); }
.qy-mode--c0 .qy-mode__img { background-image: linear-gradient(160deg, #1f6b2e, #07210e); } .qy-mode--c1 .qy-mode__img { background-image: linear-gradient(160deg, #1d63a8, #08203a); } .qy-mode--c2 .qy-mode__img { background-image: linear-gradient(160deg, #a8321d, #3a0f08); } .qy-mode--c3 .qy-mode__img { background-image: linear-gradient(160deg, #6b2fb0, #1c0a3a); } .qy-mode--c4 .qy-mode__img { background-image: linear-gradient(160deg, #b0861d, #3a2a08); }
.qy-mode:after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11,15,22,.1) 0%, rgba(11,15,22,.2) 40%, rgba(11,15,22,.92) 100%); }
.qy-mode:before { content: ''; position: absolute; inset: 0; z-index: 2; border: 2px solid var(--qy-primary); border-radius: var(--qy-radius); opacity: 0; transition: opacity .3s; pointer-events: none; } .qy-mode:hover:before { opacity: 1; }
.qy-mode__tags { position: absolute; left: 1rem; top: 1rem; display: flex; flex-wrap: wrap; gap: .5rem; z-index: 3; }
.qy-mode__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.25rem; z-index: 3; }
.qy-mode--big .qy-mode__body { padding: 1.75rem; }
.qy-mode__players { display: flex; align-items: center; gap: .5rem; font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; color: var(--qy-lime); }
.qy-mode__body h3 { margin: .5rem 0 0; color: #fff !important; font-size: 1.7rem; font-weight: 900; line-height: .98; letter-spacing: -.01em; } .qy-mode--big .qy-mode__body h3 { font-size: clamp(2rem, 4vw, 3.4rem); }
.qy-mode__body p { margin: .5rem 0 0; color: rgba(234,239,247,.78); font-size: .85rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-transform: none; } .qy-mode--big .qy-mode__body p { font-size: .95rem; max-width: 28rem; -webkit-line-clamp: 4; }
.qy-mode__actions { margin-top: 1rem; display: flex; align-items: center; gap: .75rem; } .qy-mode__actions code { background: none; color: rgba(234,239,247,.6); font-family: var(--qy-font-pixel); font-size: 10px; padding: 0; }
.qy-mode--soon { grid-column: span 3; display: grid; place-items: center; text-align: center; padding: 1.5rem; background: var(--qy-surface); } .qy-mode--soon:before, .qy-mode--soon:after { display: none; }
.qy-mode--soon .lock { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto; border-radius: 8px; border: 1px solid var(--qy-line); background: var(--qy-surface-2); font-size: 1.6rem; color: var(--qy-text); }
.qy-mode--soon h3 { color: var(--qy-text) !important; margin: .9rem 0 0; font-size: 1.5rem; } .qy-mode--soon p { color: var(--qy-muted); }

/* shop tabs */
.qy-shoptabs { display: flex; justify-content: center; margin-bottom: 3rem; }
.qy-tabs__box { display: inline-flex; border: 1px solid var(--qy-line); background: var(--qy-surface); padding: 4px; clip-path: var(--qy-clip, none); }
.qy-tabs__box button { display: inline-flex; align-items: center; gap: .55rem; padding: .7rem 1.3rem; border: 0; background: transparent; color: var(--qy-muted); font-family: var(--qy-font); font-weight: 800; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; clip-path: var(--qy-clip, none); }
.qy-tabs__box button:hover { color: var(--qy-text); } .qy-tabs__box button.is-on { background: var(--qy-surface-2); color: var(--qy-text); box-shadow: inset 0 -2px 0 var(--qy-gold); }
.qy-pane { display: none; } .qy-pane.is-on { display: grid; }
.qy-ranks { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; padding-top: .75rem; } .qy-keys { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } .qy-coins { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.qy-rank { position: relative; display: flex; flex-direction: column; overflow: hidden; --rank: var(--qy-primary); }
.qy-rank:hover { transform: translateY(-4px); } .qy-rank--pop { border-color: var(--rank); box-shadow: 0 0 0 1px var(--rank), 0 30px 70px -30px var(--rank); transform: translateY(-10px); } .qy-rank--pop:hover { transform: translateY(-14px); }
.qy-rank__bar { height: 6px; background: var(--rank); } .qy-rank__pop { position: absolute; right: 1rem; top: 1.25rem; background: var(--rank); color: #0b0f16; font-family: var(--qy-font-pixel); font-size: 9px; text-transform: uppercase; padding: 6px 8px; }
.qy-rank__body { padding: 1.6rem; } .qy-rank__name { font-family: var(--qy-font-pixel); font-size: 18px; text-transform: uppercase; color: var(--rank); }
.qy-rank__price { margin-top: 1rem; display: flex; align-items: baseline; gap: .5rem; } .qy-rank__price strong { font-size: 2.1rem; font-weight: 900; line-height: 1; } .qy-rank__price span { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--qy-muted); }
.qy-chat { margin-top: 1.2rem; padding: .65rem .8rem; border: 1px solid var(--qy-line); background: var(--qy-bg); font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; line-height: 1.6; } .qy-chat b { color: var(--rank); font-weight: 400; } .qy-chat em { font-style: normal; color: var(--qy-muted); }
.qy-rank ul { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; gap: .6rem; } .qy-rank li { display: flex; gap: .65rem; font-size: .9rem; color: var(--qy-text); opacity: .9; } .qy-rank li i { color: var(--rank); font-size: .7rem; margin-top: .45rem; }
.qy-rank__cta { margin-top: auto; padding: 0 1.6rem 1.6rem; } .qy-rank__cta .qy-btn { --btn: var(--rank); color: #0b0f16 !important; text-shadow: none; }
.qy-key { padding: 1.6rem; display: flex; flex-direction: column; --rank: var(--qy-aqua); } .qy-key:hover { transform: translateY(-4px); }
.qy-key__top { display: flex; justify-content: space-between; align-items: flex-start; } .qy-key__ico { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid var(--qy-line); background: var(--qy-bg); border-radius: 6px; font-size: 1.7rem; color: var(--rank); }
.qy-key__price { font-size: 1.6rem; font-weight: 900; } .qy-key h3 { margin: 1.2rem 0 0; font-family: var(--qy-font-pixel); font-size: 15px; font-weight: 400; color: var(--rank); text-transform: uppercase; } .qy-key p { margin: .6rem 0 0; color: var(--qy-muted); font-size: .9rem; }
.qy-meter { margin-top: 1.2rem; } .qy-meter__top { display: flex; justify-content: space-between; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--qy-muted); } .qy-meter__top b { color: var(--qy-text); }
.qy-meter__bar { margin-top: .5rem; height: 8px; border: 1px solid var(--qy-line); background: var(--qy-bg); } .qy-meter__bar i { display: block; height: 100%; background: var(--rank); }
.qy-key .qy-btn, .qy-coin .qy-btn { margin-top: 1.4rem; } .qy-key .qy-btn { --btn: var(--rank); color: #0b0f16 !important; text-shadow: none; }
.qy-coin { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 1.6rem; } .qy-coin:hover { transform: translateY(-4px); }
.qy-coin__bonus { position: absolute; right: .75rem; top: .75rem; background: var(--qy-gold); color: #0b0f16; font-family: var(--qy-font-pixel); font-size: 9px; padding: 6px 8px; }
.qy-coin__ico { font-size: 2.2rem; color: var(--qy-gold); } .qy-coin strong { margin-top: .6rem; font-size: 1.8rem; font-weight: 900; } .qy-coin .unit { font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; color: var(--qy-muted); } .qy-coin .price { margin-top: .8rem; color: var(--qy-muted); font-weight: 700; }
.qy-shop__note { margin-top: 2rem; text-align: center; font-size: .78rem; color: var(--qy-muted); }
.qy-ticker { display: flex; align-items: stretch; margin-top: 3rem; overflow: hidden; }
.qy-ticker__label { display: flex; align-items: center; gap: .5rem; flex: none; padding: 0 1rem; border-right: 1px solid var(--qy-line); background: var(--qy-surface-2); font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; color: var(--qy-muted); }
.qy-ticker__wrap { position: relative; flex: 1; overflow: hidden; } .qy-ticker__track { display: flex; width: max-content; gap: 2.5rem; padding: .85rem 0 .85rem 1.5rem; animation: qy-ticker 38s linear infinite; } .qy-ticker__wrap:hover .qy-ticker__track { animation-play-state: paused; }
@keyframes qy-ticker { to { transform: translateX(-50%); } }
.qy-ticker__item { display: inline-flex; align-items: center; gap: .7rem; font-size: 13px; white-space: nowrap; } .qy-ticker__item img { width: 24px; height: 24px; image-rendering: pixelated; } .qy-ticker__item .ago { font-family: var(--qy-font-pixel); font-size: 9px; text-transform: uppercase; color: var(--qy-muted); }

/* news */
.qy-news { padding: 0; overflow: hidden; display: flex; flex-direction: column; } .qy-news:hover { border-color: var(--qy-line2); }
.qy-news__cover { aspect-ratio: 16/9; background-size: cover; background-position: center; display: grid; place-items: center; color: rgba(255,255,255,.5); font-weight: 900; font-size: 3rem; }
.qy-news__cover--0 { background-image: linear-gradient(135deg, #1f6b2e, #07210e); } .qy-news__cover--1 { background-image: linear-gradient(135deg, #a8561d, #3a1a08); } .qy-news__cover--2 { background-image: linear-gradient(135deg, #1d7fa8, #08263a); }
.qy-news__cover--3 { background-image: linear-gradient(135deg, #6b2fb0, #1c0a3a); } .qy-news__cover--4 { background-image: linear-gradient(135deg, #b0861d, #3a2a08); } .qy-news__cover--5 { background-image: linear-gradient(135deg, #1d9ea8, #08333a); }
.qy-news__body { padding: 1.3rem 1.4rem 1.4rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.qy-news__meta { display: flex; justify-content: space-between; align-items: center; } .qy-news__meta time { font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; color: var(--qy-muted); }
.qy-news__body h3 { margin: 0; font-size: 1.1rem; text-transform: none; line-height: 1.3; letter-spacing: 0; font-weight: 800; } .qy-news__body h3 a { color: var(--qy-text) !important; text-decoration: none; } .qy-news__body h3 a:hover { color: var(--qy-primary-600) !important; } body.dark .qy-news__body h3 a:hover { color: var(--qy-lime) !important; }
.qy-news__author { margin-top: auto; display: flex; align-items: center; gap: .55rem; font-size: .85rem; padding-top: .6rem; } .qy-news__author img { width: 28px; height: 28px; border-radius: 4px; image-rendering: pixelated; }
.qy-pill { display: inline-flex; padding: .3rem .6rem; background: rgba(127,127,127,.15); font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; clip-path: var(--qy-clip, none); }

/* stats, server, staff, gallery, faq */
.qy-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; } .qy-stat { text-align: center; padding: 1.4rem 1rem; display: grid; justify-items: center; }
.qy-stat strong { font-size: 2.3rem; font-weight: 900; line-height: 1.1; font-variant-numeric: tabular-nums; }
.qy-server { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: center; padding: 2.2rem; box-shadow: var(--qy-shadow); } .qy-server h2 { margin: .9rem 0 .4rem; font-size: 2rem; }
.qy-server__meta { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .45rem; color: var(--qy-muted); font-size: .92rem; } .qy-server__meta i { width: 1.4rem; color: var(--qy-primary-600); }
.qy-server__card { background: var(--qy-surface-2); border: 1px solid var(--qy-line); border-radius: var(--qy-radius); padding: 1.5rem; } .qy-server__players { display: flex; align-items: baseline; gap: .5rem; margin-bottom: .75rem; } .qy-server__players strong { font-size: 2.8rem; font-weight: 900; line-height: 1; } .qy-server__players span { color: var(--qy-muted); }
.qy-bar { height: 10px; border: 1px solid var(--qy-line); background: var(--qy-bg); margin-bottom: 1.2rem; } .qy-bar span { display: block; height: 100%; background: var(--qy-primary); }
.qy-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .8rem; background: rgba(127,127,127,.12); border: 1px solid var(--qy-line); font-family: var(--qy-font-pixel); font-size: 10px; text-transform: uppercase; clip-path: var(--qy-clip, none); } .qy-chip--ok .qy-dot { background: #6fe04a; } .qy-chip--off .qy-dot { background: var(--qy-red); }
.qy-person { display: grid; justify-items: center; gap: .6rem; padding: 1.5rem 1rem; text-align: center; color: var(--qy-text) !important; text-decoration: none; } .qy-person:hover { transform: translateY(-4px); }
.qy-person img { width: 84px; height: 84px; image-rendering: pixelated; border: 1px solid var(--qy-line); background: var(--qy-surface-2); } .qy-person strong { font-weight: 800; text-transform: uppercase; letter-spacing: .02em; font-size: .9rem; }
.qy-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 190px; gap: 1rem; } .qy-shot { position: relative; margin: 0; overflow: hidden; background-size: cover; background-position: center; border: 1px solid var(--qy-line); border-radius: var(--qy-radius); transition: transform .3s; } .qy-shot:hover { transform: scale(1.012); }
.qy-shot:nth-child(1) { grid-column: span 2; grid-row: span 2; } .qy-shot:nth-child(4) { grid-column: span 2; }
.qy-shot--0 { background-image: linear-gradient(135deg, #1d63a8, #08203a); } .qy-shot--1 { background-image: linear-gradient(135deg, #1f6b2e, #07210e); } .qy-shot--2 { background-image: linear-gradient(135deg, #a8321d, #3a0f08); } .qy-shot--3 { background-image: linear-gradient(135deg, #6b2fb0, #1c0a3a); } .qy-shot--4 { background-image: linear-gradient(135deg, #b0861d, #3a2a08); } .qy-shot--5 { background-image: linear-gradient(135deg, #1d9ea8, #08333a); }
.qy-shot figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem 1rem .8rem; color: #fff; font-weight: 700; font-size: .9rem; background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.qy-faq { display: grid; gap: .8rem; } .qy-faq__item { padding: 0; } .qy-faq__item[open] { border-color: rgba(var(--qy-primary-rgb), .6); }
.qy-faq__item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; font-size: .95rem; } .qy-faq__item summary::-webkit-details-marker { display: none; }
.qy-faq__item summary i { display: grid; place-items: center; width: 30px; height: 30px; background: var(--qy-surface-2); font-size: .72rem; transition: transform .2s, background .2s; flex: none; } .qy-faq__item[open] summary i { transform: rotate(45deg); background: var(--qy-primary); color: #fff; }
.qy-faq__item p { padding: 0 1.5rem 1.4rem; }

/* vote + rules */
.qy-vote { display: grid; grid-template-columns: 7fr 5fr; gap: 1.25rem; }
.qy-vote__sites { padding: 2rem; display: grid; gap: .75rem; } .qy-vote__row { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.1rem; border: 1px solid var(--qy-line); background: var(--qy-bg); } .qy-vote__row .n { font-family: var(--qy-font-pixel); font-size: 11px; color: var(--qy-muted); }
.qy-vote__row strong { flex: 1; font-weight: 800; } .qy-vote__row small { display: block; font-family: var(--qy-font-pixel); font-size: 9px; text-transform: uppercase; color: var(--qy-muted); font-weight: 400; }
.qy-vote__note { margin: .5rem 0 0; font-size: .85rem; color: var(--qy-muted); } .qy-vote__note code { font-family: var(--qy-font-pixel); font-size: 10px; background: none; padding: 0; color: var(--qy-text); }
.qy-vote__top { padding: 2rem; } .qy-vote__top h3 { margin: .3rem 0 1.2rem; font-size: 1.6rem; }
.qy-voter { display: flex; align-items: center; gap: .8rem; padding: .7rem .9rem; border: 1px solid var(--qy-line); background: var(--qy-bg); margin-bottom: .55rem; } .qy-voter .pos { width: 1.6rem; font-family: var(--qy-font-pixel); color: var(--qy-muted); } .qy-voter:nth-child(1) .pos { color: var(--qy-gold); } .qy-voter:nth-child(3) .pos { color: #cd7f32; }
.qy-voter img { width: 32px; height: 32px; image-rendering: pixelated; } .qy-voter .v { margin-left: auto; font-family: var(--qy-font-pixel); font-size: 11px; color: var(--qy-muted); }
.qy-rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; } .qy-rule { position: relative; padding: 1.6rem; } .qy-rule .n { font-family: var(--qy-font-pixel); font-size: 12px; color: var(--qy-primary-600); } body.dark .qy-rule .n { color: var(--qy-lime); } .qy-rule h3 { margin: .6rem 0 .4rem; font-size: 1.05rem; }

/* banners */
.qy-banner { position: relative; overflow: hidden; isolation: isolate; border: 1px solid var(--qy-line); border-radius: calc(var(--qy-radius) + 2px); color: #fff; padding: clamp(2rem, 5vw, 3.5rem); display: flex; align-items: center; gap: 2rem; background: #0d1420; }
.qy-banner h2 { margin: .7rem 0 0; color: #fff !important; font-size: clamp(1.9rem, 4vw, 3rem); } .qy-banner p { margin: .9rem 0 0; color: rgba(255,255,255,.72); max-width: 34rem; }
.qy-banner__text { flex: 1; } .qy-banner__actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.5rem; }
.qy-banner--discord { background: var(--qy-blurple); border-color: rgba(255,255,255,.12); } .qy-banner--discord:before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .6; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 32px 32px; }
.qy-banner--discord .qy-btn--primary { --btn: #fff; color: var(--qy-blurple) !important; text-shadow: none; }
.qy-banner__members { display: flex; align-items: center; gap: .9rem; flex: none; } .qy-banner__members div { padding: 1rem 1.3rem; background: rgba(0,0,0,.28); text-align: center; clip-path: var(--qy-clip-lg, none); } .qy-banner__members strong { display: block; font-size: 1.6rem; font-weight: 900; line-height: 1; } .qy-banner__members span { font-family: var(--qy-font-pixel); font-size: 9px; text-transform: uppercase; opacity: .8; }
.qy-banner--cta { min-height: 420px; justify-content: center; text-align: center; background: #0b0f16 center / cover no-repeat; } .qy-banner--cta:after { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 80% at 50% 50%, rgba(11,15,22,.55), rgba(11,15,22,.92)); }
.qy-banner--cta .qy-banner__text { display: grid; justify-items: center; max-width: 44rem; } .qy-banner--cta h2 { font-size: clamp(2.4rem, 6.5vw, 5rem); } .qy-banner--cta .qy-banner__actions { justify-content: center; } .qy-banner__logo { width: 56px; height: 56px; }
.qy-section--discord, .qy-section--cta { padding: 1.5rem 0; } .qy-section--cta { padding-bottom: 5rem; }
.qy-partners__row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 3rem; margin-top: 1rem; } .qy-partners__row a { color: var(--qy-muted) !important; font-weight: 800; opacity: .8; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; } .qy-partners__row a:hover { opacity: 1; color: var(--qy-lime) !important; } .qy-partners__row img { max-height: 32px; filter: grayscale(1); }
.qy-richtext { color: var(--qy-text); }
.qy-marquee { overflow: hidden; background: var(--qy-primary); padding: .95rem 0; color: var(--qy-on-primary); } .qy-marquee__track { display: flex; width: max-content; align-items: center; gap: 2rem; padding-right: 2rem; animation: qy-ticker 28s linear infinite; } .qy-marquee__track span { display: inline-flex; align-items: center; gap: 2rem; font-weight: 900; font-size: .85rem; letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; }
.qy-steps { display: grid; gap: 1rem; max-width: 56rem; margin: 0 auto; } .qy-step { display: flex; align-items: center; gap: 1.4rem; padding: 1.4rem 1.7rem; } .qy-step__n { font-family: var(--qy-font-pixel); font-size: 1.6rem; color: var(--qy-line2); } .qy-step__i { display: grid; place-items: center; flex: none; width: 48px; height: 48px; background: var(--qy-primary); color: var(--qy-on-primary); clip-path: var(--qy-clip, none); } .qy-step h3 { margin: 0; } .qy-step p { margin: .15rem 0 0; color: var(--qy-muted); }
.qy-tabs2 { max-width: 56rem; margin: 1rem auto 0; padding: 1.4rem 1.7rem; } .qy-tabs2__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; } .qy-tabs2__btns { display: inline-flex; padding: 4px; background: var(--qy-bg); border: 1px solid var(--qy-line); } .qy-tabs2__btns button { padding: .6rem 1.1rem; border: 0; background: transparent; color: var(--qy-muted); font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; } .qy-tabs2__btns button.is-on { background: var(--qy-primary); color: var(--qy-on-primary); } .qy-tabs2__note { margin: 1rem 0 0; color: var(--qy-muted); font-size: .85rem; }
.qy-season { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; } .qy-season__img { position: relative; min-height: 340px; background: var(--qy-surface-2) center / cover; border: 1px solid var(--qy-line); border-radius: var(--qy-radius); overflow: hidden; } .qy-season__img:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.85), transparent 60%); } .qy-season__img > div { position: absolute; left: 1.2rem; right: 1.2rem; bottom: 1.2rem; z-index: 2; display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem; }
.qy-season__card { display: flex; flex-direction: column; justify-content: center; padding: 2.4rem; } .qy-season__card h2 { font-size: clamp(1.8rem, 3.6vw, 2.8rem); margin: 0; } .qy-season__card p { margin: .9rem 0 0; color: var(--qy-muted); } .qy-count { margin-top: 1.8rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; } .qy-count div { text-align: center; padding: 1rem .4rem; border: 1px solid var(--qy-line); background: var(--qy-bg); } .qy-count strong { display: block; font-family: var(--qy-font-pixel); font-size: clamp(1.3rem, 3vw, 1.9rem); color: var(--qy-lime); font-weight: 400; } .qy-count span { font-family: var(--qy-font-pixel); font-size: 9px; text-transform: uppercase; color: var(--qy-muted); }
.qy-top { display: grid; gap: .55rem; } .qy-top__row { display: flex; align-items: center; gap: .9rem; padding: .7rem 1rem; border: 1px solid var(--qy-line); background: var(--qy-bg); color: var(--qy-text) !important; text-decoration: none; } .qy-top__row .pos { width: 1.5rem; font-family: var(--qy-font-pixel); color: var(--qy-muted); } .qy-top__row:first-child .pos { color: var(--qy-gold); } .qy-top__row img { width: 34px; height: 34px; image-rendering: pixelated; } .qy-top__row .pts { margin-left: auto; font-family: var(--qy-font-pixel); font-size: 11px; color: var(--qy-muted); }

/* ---------- footer ---------- */
.qy-footer { border-top: 1px solid var(--qy-line); background: var(--qy-bg); padding: 4.2rem 0 2rem; margin-top: 2rem; }
.qy-footer__grid { display: grid; grid-template-columns: 4fr 8fr; gap: 3rem; } .qy-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; padding-left: 2.5rem; }
.qy-footer h4 { font-family: var(--qy-font-pixel); font-size: 11px; font-weight: 400; text-transform: uppercase; color: var(--qy-text); margin: 0 0 1.1rem; letter-spacing: .02em; }
.qy-footer__brand p { color: var(--qy-muted); max-width: 26rem; margin: 1.2rem 0; font-size: .9rem; }
.qy-footer__ipbtn { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; max-width: 24rem; padding: .8rem 1rem; border: 1px solid var(--qy-line); background: var(--qy-surface); color: var(--qy-text); cursor: pointer; text-align: left; clip-path: var(--qy-clip, none); }
.qy-footer__ipbtn small { display: block; font-family: var(--qy-font-pixel); font-size: 9px; text-transform: uppercase; color: var(--qy-muted); } .qy-footer__ipbtn b { font-family: var(--qy-font-pixel); font-weight: 400; font-size: 14px; text-transform: uppercase; color: var(--qy-lime); } body:not(.dark) .qy-footer__ipbtn b { color: var(--qy-primary-600); } .qy-footer__ipbtn:hover { border-color: rgba(var(--qy-primary-rgb), .6); }
.qy-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; } .qy-footer__list a { color: var(--qy-muted) !important; text-decoration: none; font-size: .92rem; } .qy-footer__list a:hover { color: var(--qy-lime) !important; }
.qy-social { display: flex; gap: .5rem; } .qy-social a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--qy-line); color: var(--qy-text) !important; } .qy-social a:hover { background: var(--qy-primary); color: #fff !important; border-color: transparent; }
.qy-footer__bottom { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: center; margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--qy-line); color: var(--qy-muted); font-size: .8rem; } .qy-footer__bottom a { color: var(--qy-muted) !important; }
.qy-status-ok { margin-left: auto; display: inline-flex; align-items: center; gap: .5rem; color: var(--qy-lime); } .qy-disclaimer { width: 100%; font-size: .75rem; opacity: .75; }

/* ==========================================================================
   Fomantic UI re-skin (every other page: forum, profile, user CP, auth ...)
   ========================================================================== */
body.quarry .ui.segment, body.quarry .ui.card, body.quarry .ui.cards > .card, body.quarry .ui.message:not(.announcement), body.quarry .ui.comments .comment .content {
    background: var(--qy-surface); color: var(--qy-text); border: 1px solid var(--qy-border); border-radius: var(--qy-radius); box-shadow: var(--qy-shadow);
}
body.quarry .ui.segment { padding: 1.4rem; margin: 0 0 1.2rem; }
body.quarry .ui.segment .ui.segment { box-shadow: none; background: var(--qy-surface-2); }
body.quarry .ui.card > .content, body.quarry .ui.cards > .card > .content { border-top-color: var(--qy-border) !important; }
body.quarry .ui.card > .content > .header, body.quarry .ui.cards > .card > .content > .header, body.quarry .ui.card > .content > .meta { color: var(--qy-text); }
body.quarry .ui.card > .extra, body.quarry .ui.cards > .card > .extra { border-top: 1px solid var(--qy-border) !important; color: var(--qy-muted) !important; }
body.quarry .ui.message { padding: 1rem 1.2rem; }
body.quarry .ui.info.message { background: rgba(var(--qy-primary-rgb), .1); color: var(--qy-text); box-shadow: none; border-color: rgba(var(--qy-primary-rgb), .3); }
body.quarry .ui.negative.message, body.quarry .ui.error.message { background: rgba(239,68,68,.1); color: var(--qy-text); box-shadow: none; border-color: rgba(239,68,68,.35); }
body.quarry .ui.positive.message, body.quarry .ui.success.message { background: rgba(22,163,74,.1); color: var(--qy-text); box-shadow: none; border-color: rgba(22,163,74,.35); }
body.quarry .ui.warning.message { background: rgba(234,179,8,.12); color: var(--qy-text); box-shadow: none; border-color: rgba(234,179,8,.4); }
body.quarry .ui.message .header { color: inherit; }
body.quarry .ui.header { color: var(--qy-text); }
body.quarry .ui.header .sub.header { color: var(--qy-muted); }
body.quarry .ui.grid { margin-top: 0; }
body.quarry .ui.list > .item .header, body.quarry .ui.list > .item > .content { color: var(--qy-text); }
body.quarry .ui.list > .item .description { color: var(--qy-muted); }
body.quarry .ui.menu:not(.inverted) { background: var(--qy-surface); border: 1px solid var(--qy-border); border-radius: var(--qy-radius); box-shadow: none; }
body.quarry .ui.menu:not(.inverted) .item { color: var(--qy-text); }
body.quarry .ui.vertical.menu .item { border-color: var(--qy-border) !important; }
body.quarry .ui.vertical.menu .item:before { background: var(--qy-border); }
body.quarry .ui.menu .active.item, body.quarry .ui.vertical.menu .active.item { background: rgba(var(--qy-primary-rgb), .12) !important; color: var(--qy-primary) !important; }
body.dark .ui.menu .active.item { color: var(--qy-primary-300) !important; }
body.quarry .ui.menu .item:hover { background: var(--qy-surface-2) !important; }
body.quarry .ui.pagination.menu .item { min-width: 2.4em; }
body.quarry .ui.pagination.menu .active.item { background: var(--qy-primary) !important; color: #fff !important; }
body.quarry .ui.secondary.pointing.menu .active.item { border-color: var(--qy-primary); }
body.quarry .ui.tabular.menu { border-color: var(--qy-border); background: transparent; border-radius: 0; border-width: 0 0 1px; }
body.quarry .ui.tabular.menu .item { border-radius: var(--qy-radius-sm) var(--qy-radius-sm) 0 0; }
body.quarry .ui.tabular.menu .active.item { background: var(--qy-surface) !important; border-color: var(--qy-border); }

/* forms */
body.quarry .ui.form .field > label, body.quarry .ui.form label { color: var(--qy-text); font-weight: 600; font-size: .9rem; }
body.quarry .ui.form input:not([type]), body.quarry .ui.form input[type=text], body.quarry .ui.form input[type=password], body.quarry .ui.form input[type=email],
body.quarry .ui.form input[type=number], body.quarry .ui.form input[type=url], body.quarry .ui.form input[type=search], body.quarry .ui.form textarea, body.quarry .ui.form select,
body.quarry .ui.input > input, body.quarry .ui.selection.dropdown {
    background: var(--qy-surface); color: var(--qy-text); border: 1px solid var(--qy-border); border-radius: var(--qy-radius-sm); padding: .8rem 1rem; font-family: var(--qy-font);
}
body.quarry .ui.form input:focus, body.quarry .ui.form textarea:focus, body.quarry .ui.form select:focus, body.quarry .ui.input.focus > input, body.quarry .ui.input > input:focus,
body.quarry .ui.selection.active.dropdown, body.quarry .ui.selection.dropdown:focus {
    border-color: var(--qy-primary); box-shadow: 0 0 0 3px rgba(var(--qy-primary-rgb), .18); background: var(--qy-surface); color: var(--qy-text);
}
body.quarry .ui.dropdown .menu { background: var(--qy-surface); border: 1px solid var(--qy-border); border-radius: var(--qy-radius-sm); box-shadow: var(--qy-shadow); }
body.quarry .ui.dropdown .menu > .item { color: var(--qy-text); border-top-color: var(--qy-border); }
body.quarry .ui.dropdown .menu > .item:hover, body.quarry .ui.dropdown .menu .selected.item { background: var(--qy-surface-2); }
body.quarry .ui.selection.dropdown .menu { border-color: var(--qy-border); }
body.quarry .ui.checkbox label, body.quarry .ui.checkbox + label { color: var(--qy-text) !important; }
body.quarry .ui.checkbox input:checked ~ label:before, body.quarry .ui.checkbox .box:before { border-color: var(--qy-primary); }
body.quarry .ui.checkbox input:checked ~ label:before { background: var(--qy-primary); }
body.quarry .ui.checkbox input:checked ~ label:after { color: #fff !important; }
body.quarry .ui.checkbox label:before { background: var(--qy-surface); border-color: var(--qy-border); }
body.quarry ::placeholder { color: var(--qy-muted) !important; opacity: .7; }

/* tables */
body.quarry .ui.table { background: var(--qy-surface); color: var(--qy-text); border: 1px solid var(--qy-border); border-radius: var(--qy-radius); overflow: hidden; box-shadow: var(--qy-shadow); }
body.quarry .ui.table thead th { background: var(--qy-surface-2); color: var(--qy-muted); border-color: var(--qy-border); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
body.quarry .ui.table tbody td, body.quarry .ui.table tr td { border-color: var(--qy-border); }
body.quarry .ui.table a { color: var(--qy-text); }
body.quarry .ui.table a:hover { color: var(--qy-primary); }
body.quarry .ui.striped.table > tr:nth-child(2n), body.quarry .ui.striped.table tbody tr:nth-child(2n) { background: var(--qy-surface-2); }

/* labels, modals, breadcrumbs, accordions, comments */
body.quarry .ui.label { border-radius: 99px; font-weight: 600; }
body.quarry .ui.modal { background: var(--qy-surface); border: 1px solid var(--qy-border); border-radius: var(--qy-radius); color: var(--qy-text); }
body.quarry .ui.modal > .header { background: var(--qy-surface); color: var(--qy-text); border-bottom: 1px solid var(--qy-border); }
body.quarry .ui.modal > .content { background: var(--qy-surface); color: var(--qy-text); }
body.quarry .ui.modal > .actions { background: var(--qy-surface-2); border-top: 1px solid var(--qy-border); }
body.quarry .ui.breadcrumb .section, body.quarry .ui.breadcrumb .divider { color: var(--qy-muted); }
body.quarry .ui.comments .comment .author, body.quarry .ui.comments .comment .text { color: var(--qy-text); }
body.quarry .ui.comments .comment .metadata { color: var(--qy-muted); }
body.quarry .ui.styled.accordion, body.quarry .ui.accordion .title { color: var(--qy-text); }
body.quarry .ui.image.label img { border-radius: 50%; }
body.quarry .ui.avatar.image, body.quarry img.ui.avatar { border-radius: 10px; }
body.quarry .ui.placeholder.segment { background: var(--qy-surface); }
body.quarry .ui.progress { background: var(--qy-surface-2); }
body.quarry .ui.progress .bar { background: var(--qy-primary); }
body.quarry .ui.inverted.segment { background: #111827; }
body.quarry blockquote, body.quarry .blockquote { border-left: 3px solid var(--qy-primary); background: var(--qy-surface-2); color: var(--qy-text); border-radius: 0 var(--qy-radius-sm) var(--qy-radius-sm) 0; }
body.quarry pre, body.quarry code { background: var(--qy-surface-2); color: var(--qy-text); border-radius: 6px; }
body.quarry hr { border-color: var(--qy-border); }
body.dark .ui.basic.button, body.dark .ui.default.button { color: var(--qy-text) !important; }
body.dark .ui.table thead th, body.dark .ui.table { color: var(--qy-text); }
body.dark .ui.menu:not(.inverted) { background: var(--qy-surface); border-color: var(--qy-border); }
body.dark .ui.form input:not(.button), body.dark .ui.form textarea, body.dark .ui.form input[type=url] { background: var(--qy-surface); color: var(--qy-text); }
body.dark .ui.attached.segment, body.dark .ui.top.attached.menu:not(.inverted) { background: var(--qy-surface); border-color: var(--qy-border); }

/* forum + profile specifics (legacy ids from NamelessMC modules) */
#forum-index .ui.segment.cc_forum_cat, body.quarry .ui.top.attached.header { background: var(--qy-surface-2) !important; color: var(--qy-text) !important; border: 1px solid var(--qy-border) !important; border-radius: var(--qy-radius) var(--qy-radius) 0 0 !important; }
body.quarry .ui.attached.segment { border-radius: 0 0 var(--qy-radius) var(--qy-radius); }
body.quarry #profile-header, body.dark .ui.segment#profile-header { background: linear-gradient(135deg, rgba(var(--qy-primary-rgb), .18), var(--qy-surface) 60%); border: 1px solid var(--qy-border); }
body.quarry #topic-post #post-sidebar { background: var(--qy-surface-2); border-radius: var(--qy-radius-sm); }
body.quarry .forum_post { color: var(--qy-text); }
body.quarry .forum_post a { color: var(--qy-primary); }
body.quarry #widget-online-users, body.quarry [id*="widget"] { border-radius: var(--qy-radius); }
body.quarry .badge { border-radius: 99px; }

/* login / register — centred auth card */
body#page-login .qy-content > .ui.stackable.grid, body#page-register .qy-content > .ui.stackable.grid { max-width: 480px; margin-inline: auto; }
body#page-login .ui.segment, body#page-register .ui.segment { padding: 2rem; }

/* topic / comment surfaces */
body.quarry .ui.secondary.segment:not(.inverted), body.quarry .ui.segments > .segment, body.quarry #topic-post .ui.segment, body.quarry #topic-reply .ui.segment {
    background: var(--qy-surface) !important; color: var(--qy-text);
}
body.quarry #topic-post .ui.secondary.segment, body.quarry #post-content { background: transparent !important; }
body.quarry .ui.segments { border: 1px solid var(--qy-border); border-radius: var(--qy-radius); box-shadow: var(--qy-shadow); }
body.quarry .ui.segments > .segment { border-color: var(--qy-border); box-shadow: none; }
body.quarry .ui.grey.segment, body.quarry .ui.basic.segment { background: transparent !important; box-shadow: none; border: 0; }


body.quarry .ui.segment, body.quarry .ui.card, body.quarry .ui.cards > .card { box-shadow: none; }
body.quarry .ui.label { font-family: var(--qy-font-head); letter-spacing: .04em; }
body.quarry .ui.table thead th { font-family: var(--qy-font-head); letter-spacing: .14em; }
body.quarry .ui.pagination.menu .active.item { background: var(--qy-primary) !important; color: var(--qy-on-primary) !important; }
body.quarry .ui.form input:focus, body.quarry .ui.form textarea:focus, body.quarry .ui.input > input:focus { border-color: var(--qy-primary); box-shadow: 0 0 0 3px rgba(var(--qy-primary-rgb), .25); }


body.quarry .ui.segment, body.quarry .ui.card, body.quarry .ui.cards > .card { box-shadow: none; }
body.quarry .ui.label { font-family: var(--qy-font-pixel); letter-spacing: .03em; text-transform: uppercase; font-weight: 400; border-radius: 0; }
body.quarry .ui.table thead th { font-family: var(--qy-font-pixel); letter-spacing: .08em; }
body.quarry .ui.pagination.menu .active.item { background: var(--qy-primary) !important; color: #fff !important; }
body.quarry .ui.form input:focus, body.quarry .ui.form textarea:focus, body.quarry .ui.input > input:focus { border-color: var(--qy-primary); box-shadow: 0 0 0 3px rgba(var(--qy-primary-rgb), .3); }
body.quarry .ui.avatar.image, body.quarry img.ui.avatar { image-rendering: pixelated; border-radius: 4px; }


/* ==========================================================================
   Inner pages (forum, members, store, profile, user panel…) — same design language as the home
   ========================================================================== */
body.quarry:not(.qy-home) .qy-main { background: radial-gradient(70% 380px at 50% 0%, rgba(var(--qy-primary-rgb), .10), transparent 70%); }
.qy-page-head { background: linear-gradient(180deg, rgba(var(--qy-primary-rgb), .18), transparent 90%), var(--qy-bg2); padding: 3.8rem 0 2.6rem; border-bottom: 0; }
.qy-page-head:after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--qy-primary), rgba(var(--qy-primary-rgb), 0) 65%); }
.qy-page-head h1 { position: relative; display: inline-block; }
.qy-page-head h1:before { content: ''; display: block; width: 44px; height: 6px; margin-bottom: .9rem; background: var(--qy-primary); clip-path: var(--qy-clip, none); }

/* breadcrumb */
body.quarry .ui.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .5rem; margin-bottom: 1.6rem; font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
body.quarry .ui.breadcrumb .section, body.quarry .ui.breadcrumb a.section { color: var(--qy-muted); } body.quarry .ui.breadcrumb a.section:hover { color: var(--qy-text); }
body.quarry .ui.breadcrumb .active.section { color: var(--qy-text); font-weight: 800; } body.quarry .ui.breadcrumb .divider { color: var(--qy-line2); margin: 0; }
body.quarry #forum-index h2.ui.header, body.quarry .qy-content > .ui.grid > .row > .column > h2.ui.header:only-child { margin-top: 0; font-size: 1.6rem; }

/* cards / segments */
body.quarry .ui.segment, body.quarry .ui.padded.segment, body.quarry .ui.card, body.quarry .ui.cards > .card { background: var(--qy-surface); border: 1px solid var(--qy-line); border-radius: var(--qy-radius); box-shadow: none; color: var(--qy-text); }
body.quarry .ui.segment { padding: 1.6rem; }
body.quarry .ui.attached.segment, body.quarry .ui.bottom.attached.segment { background: var(--qy-surface-2); border-radius: 0 0 var(--qy-radius) var(--qy-radius); }
body.quarry .ui.segment .ui.segment { background: var(--qy-surface-2); }

/* forum categories */
body.quarry #forum-node { padding: 0 !important; overflow: hidden; margin-bottom: 1.5rem; }
body.quarry #forum-node > h3.ui.header { margin: 0 !important; padding: 1.1rem 1.6rem; background: var(--qy-surface-2); border-bottom: 1px solid var(--qy-line); font-size: .95rem; letter-spacing: .08em; display: flex; align-items: center; gap: .8rem; }
body.quarry #forum-node > h3.ui.header:before { content: ''; width: 5px; height: 20px; background: var(--qy-primary); flex: none; }
body.quarry #forum-node > h3.ui.header a { color: var(--qy-text); }
body.quarry #forum-node > .ui.divider { display: none; }
body.quarry #forum-node > .ui.grid { margin: 0 !important; }
body.quarry #forum-node > .ui.grid > .row { padding: 1.15rem 1.6rem !important; border-top: 1px solid var(--qy-line); transition: background .15s; }
body.quarry #forum-node > .ui.grid > .row:first-child { border-top: 0; }
body.quarry #forum-node > .ui.grid > .row:hover { background: rgba(var(--qy-primary-rgb), .06); }
body.quarry #forum-node .row > .column { padding-top: 0 !important; padding-bottom: 0 !important; }
body.quarry #forum-node .one.wide.column > i.icon, body.quarry #forum-node .one.wide.column > * { display: inline-grid; place-items: center; width: 46px; height: 46px; margin: 0 !important; border-radius: var(--qy-radius-sm); border: 1px solid var(--qy-line); background: var(--qy-bg); color: var(--qy-primary-600); font-size: 1.15rem; line-height: 1; }
body.dark.quarry #forum-node .one.wide.column > * { color: var(--qy-lime); }
body.quarry #forum-node a.header { font-family: var(--qy-font-head); font-weight: 800; font-size: 1.05rem; color: var(--qy-text); text-transform: uppercase; letter-spacing: .02em; }
body.quarry #forum-node a.header:hover { color: var(--qy-primary-600); } body.dark.quarry #forum-node a.header:hover { color: var(--qy-lime); }
body.quarry #forum-node .description { color: var(--qy-muted); font-size: .85rem; margin-top: .15rem; }
body.quarry #forum-node img.avatar { width: 38px; height: 38px; margin-right: .8rem; border-radius: var(--qy-radius-sm); }

/* tables (topic lists, panels) */
body.quarry .ui.table { background: var(--qy-surface); border: 1px solid var(--qy-line); border-radius: var(--qy-radius); overflow: hidden; color: var(--qy-text); }
body.quarry .ui.table thead th { background: var(--qy-surface-2); color: var(--qy-muted); border-bottom: 1px solid var(--qy-line); text-transform: uppercase; font-size: .72rem; padding: .95rem 1.2rem; }
body.quarry .ui.table tbody td { border-top: 1px solid var(--qy-line); padding: 1rem 1.2rem; }
body.quarry .ui.table tbody tr { transition: background .15s, box-shadow .15s; }
body.quarry .ui.table tbody tr:hover { background: rgba(var(--qy-primary-rgb), .06); box-shadow: inset 3px 0 0 var(--qy-primary); }
body.quarry .ui.table a { font-weight: 700; }
body.quarry .ui.table tr td .ui.avatar.image, body.quarry .ui.table img.avatar { width: 34px; height: 34px; border-radius: var(--qy-radius-sm); }

/* topic / post blocks */
body.quarry #topic-post, body.quarry #topic-reply { margin-bottom: 1.25rem; }
body.quarry #topic-post .ui.segments, body.quarry .ui.segments { border-radius: var(--qy-radius); overflow: hidden; border: 1px solid var(--qy-line); }
body.quarry #post-sidebar { background: linear-gradient(180deg, rgba(var(--qy-primary-rgb), .08), var(--qy-surface-2)) !important; border: 1px solid var(--qy-line); border-radius: var(--qy-radius-sm); }
body.quarry #post-sidebar img { border-radius: var(--qy-radius-sm) !important; image-rendering: pixelated; border: 2px solid var(--qy-line); }
body.quarry #post-sidebar h3, body.quarry #post-sidebar .ui.header { text-transform: uppercase; letter-spacing: .02em; }
body.quarry #post-content { line-height: 1.7; }

/* menus (side navigation of members, user panel…) */
body.quarry .ui.vertical.menu { background: var(--qy-surface); border: 1px solid var(--qy-line); border-radius: var(--qy-radius); overflow: hidden; width: 100%; box-shadow: none; }
body.quarry .ui.vertical.menu .item { padding: .95rem 1.2rem; font-weight: 600; transition: background .15s; }
body.quarry .ui.vertical.menu .item:hover { background: rgba(var(--qy-primary-rgb), .07) !important; }
body.quarry .ui.vertical.menu .active.item { background: rgba(var(--qy-primary-rgb), .13) !important; color: var(--qy-text) !important; box-shadow: inset 3px 0 0 var(--qy-primary); }
body.quarry .ui.menu .header.item, body.quarry .ui.vertical.menu .header { font-family: var(--qy-font-pixel); font-size: .72rem; text-transform: uppercase; color: var(--qy-muted); }
body.quarry .ui.fluid.button { width: 100%; }
body.quarry .ui.header > .sub.header, body.quarry .ui.segment > h3.ui.header, body.quarry .ui.segment h3.ui.header { font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; }

/* forms */
body.quarry .ui.form input:not([type]), body.quarry .ui.form input[type=text], body.quarry .ui.form input[type=password], body.quarry .ui.form input[type=email], body.quarry .ui.form input[type=number], body.quarry .ui.form input[type=search], body.quarry .ui.form textarea, body.quarry .ui.form select, body.quarry .ui.input > input, body.quarry .ui.selection.dropdown { background: var(--qy-bg); border: 1px solid var(--qy-line); border-radius: var(--qy-radius-sm); padding: .85rem 1rem; color: var(--qy-text); }
body.quarry .ui.action.input > .button { height: auto; }
body.quarry .ui.form .field > label { text-transform: uppercase; letter-spacing: .05em; font-size: .72rem; color: var(--qy-muted); }

/* login / register / forgot password */
body#page-login .qy-content, body#page-register .qy-content, body#page-forgot_password .qy-content { max-width: 560px !important; }
body#page-login .ui.segment, body#page-register .ui.segment { padding: 2rem; border-top: 4px solid var(--qy-primary); }

/* store */
body.quarry .ui.segment > h1 { display: block !important; margin: 0 0 1.2rem; font-size: clamp(1.6rem, 3vw, 2.2rem); }
body.quarry .ui.segment { position: relative; }
body.quarry .ui.segment > span.right.floated { position: absolute; top: 1.5rem; right: 1.6rem; float: none !important; }
body.quarry .ui.segment .right.floated .ui.buttons { gap: .5rem; align-items: center; }
body.quarry .ui.segment .right.floated .ui.buttons > .ui.button { margin: 0; }
body.quarry .ui.top.attached.menu { display: flex; flex-wrap: wrap; gap: .35rem; background: transparent !important; border: 0 !important; padding: 0; margin: 1rem 0 0; box-shadow: none; }
body.quarry .ui.top.attached.menu > .item { border: 1px solid var(--qy-line) !important; border-radius: var(--qy-radius-sm); background: var(--qy-surface-2); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: .78rem; padding: .85rem 1.2rem; }
body.quarry .ui.top.attached.menu > .item.active { background: var(--qy-surface) !important; color: var(--qy-text) !important; box-shadow: inset 0 -3px 0 var(--qy-gold); }
body.quarry .ui.top.attached.menu > .item:before { display: none; }
body.quarry .ui.bottom.attached.segment { margin-top: 1rem; background: transparent; border: 0; padding: 1rem 0 0; }
body.quarry .ui.centered.stackable.grid { gap: 1.25rem 0; }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card { width: 100%; position: relative; overflow: hidden; text-align: center; transition: transform .25s, border-color .25s, box-shadow .25s; border-top: 0; }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card:before { content: ''; display: block; height: 6px; background: var(--qy-primary); }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card:hover { transform: translateY(-5px); border-color: rgba(var(--qy-primary-rgb), .6); box-shadow: 0 26px 60px -28px rgba(var(--qy-primary-rgb), .7); }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card > .content > .header { font-family: var(--qy-font-pixel) !important; font-size: 1.05rem !important; text-transform: uppercase; color: var(--qy-lime) !important; }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card > .content { padding: 1.4rem 1.2rem 1.2rem; font-size: 1.7rem; font-weight: 900; }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card > .content .ui.divider { margin: 1rem 0; }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card > .image { border-bottom: 1px solid var(--qy-line); } body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card > .image img { image-rendering: auto; }
body.quarry .ui.centered.stackable.grid > .four.wide.column > .ui.card > .ui.bottom.attached.button { margin: 0; width: 100%; height: 52px; justify-content: center; }
body.quarry .ui.modal { border: 1px solid var(--qy-line); border-radius: var(--qy-radius); overflow: hidden; }
body.quarry .ui.modal > .header { text-transform: uppercase; letter-spacing: .04em; }

/* profile */
body.quarry #profile-header { background: linear-gradient(120deg, rgba(var(--qy-primary-rgb), .22), var(--qy-surface) 62%) !important; border: 1px solid var(--qy-line); }
body.quarry #profile .ui.tabular.menu .item, body.quarry .ui.tabular.menu .item { font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: .78rem; }

body.quarry #topic-post .ui.segment:last-child, body.quarry #topic-reply .ui.segment:last-child { padding-left: 1.4rem; padding-right: 1.4rem; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .qy-grid--4, .qy-grid--3 { grid-template-columns: repeat(2, 1fr); }
    .qy-feat, .qy-vote, .qy-server, .qy-season, .qy-footer__grid { grid-template-columns: 1fr; } .qy-feat__intro { position: static; } .qy-footer__cols { padding-left: 0; }
    .qy-modes { grid-template-columns: repeat(2, 1fr); grid-auto-rows: minmax(300px, auto); } .qy-mode, .qy-mode--soon { grid-column: span 1; min-height: 300px; } .qy-mode--big { grid-column: span 2; grid-row: span 1; min-height: 420px; }
    .qy-ranks, .qy-coins { grid-template-columns: repeat(2, 1fr); } .qy-keys { grid-template-columns: repeat(2, 1fr); } .qy-rank--pop { transform: none; }
    .qy-rules { grid-template-columns: repeat(2, 1fr); } .qy-gallery { grid-template-columns: repeat(2, 1fr); } .qy-status__grid { grid-template-columns: repeat(2, 1fr); } .qy-status__cell:nth-child(3) { border-left: 0; } .qy-status__cell:nth-child(n+3) { border-top: 1px solid var(--qy-line); }
}
@media (max-width: 900px) {
    .qy-nav__toggle { display: inline-grid; place-items: center; } .qy-nav__inner { flex-wrap: wrap; gap: .5rem; padding-block: .6rem; height: auto; min-height: 64px; }
    .qy-nav__links, .qy-nav__right { display: none; width: 100%; } .qy-nav--open { background: var(--qy-nav-bg) !important; backdrop-filter: blur(12px); }
    .qy-nav--open .qy-nav__links { display: flex; flex-direction: column; align-items: stretch; order: 5; padding: .5rem 0; } .qy-nav--open .qy-nav__right { display: flex; order: 6; flex-wrap: wrap; padding-bottom: .6rem; margin-left: 0; }
    .qy-nav--open .qy-nav__links .ui.dropdown { flex-direction: column; align-items: stretch; } .qy-nav--open .qy-nav__links .ui.dropdown > .menu { display: block !important; position: static; width: 100%; box-shadow: none; border: 0; margin: 0; background: transparent; } .qy-nav--open .qy-nav__links .ui.dropdown > .dropdown.icon { display: none; }
    .qy-banner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
    .qy-grid--2, .qy-grid--3, .qy-grid--4, .qy-feat__cards, .qy-modes, .qy-ranks, .qy-keys, .qy-coins, .qy-rules { grid-template-columns: 1fr; } .qy-mode--big { grid-column: span 1; min-height: 400px; } .qy-mode, .qy-mode--soon { min-height: 340px; }
    .qy-grid--staff { grid-template-columns: repeat(2, 1fr); } .qy-container, .qy-notices, body.quarry .ui.container.qy-content, .qy-hero__inner, .qy-status { padding-left: 16px; padding-right: 16px; }
    .qy-footer__cols { grid-template-columns: 1fr 1fr; } .qy-gallery { grid-auto-rows: 140px; } .qy-shot:nth-child(1) { grid-row: span 1; } .qy-server { padding: 1.4rem; } .qy-step { flex-wrap: wrap; } .qy-step__n { display: none; }
    .qy-hero__inner { padding-top: 150px; padding-bottom: 130px; } .qy-status__grid { grid-template-columns: 1fr 1fr; } .qy-status__cell { padding: 1rem; } .qy-status-ok { margin-left: 0; } .qy-banner__members { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .qy-hero__img, .qy-particles span, .qy-ticker__track, .qy-marquee__track, .qy-live { animation: none !important; } }

/* ---------- mobile fixes: nav drawer, login buttons, store header ---------- */
@media (max-width: 900px) {
    .qy-nav--open .qy-nav__links, .qy-nav--open .qy-nav__right { flex: 0 0 100%; width: 100%; margin-left: 0; justify-content: flex-start; }
    .qy-nav--open .qy-nav__links .item { width: 100%; }
    body.quarry .ui.segment > span.right.floated { position: static; display: block; float: none !important; margin: 0 0 1rem; }
    body.quarry .ui.segment > span.right.floated .ui.buttons { display: flex; flex-wrap: wrap; }
}
body.quarry form#form-login .ui.button, body.quarry form.ui.form .ui.button.right.floated { float: none !important; }
body.quarry form#form-login .ui.button { margin: .35rem .5rem .35rem 0; }
@media (max-width: 640px) {
    body.quarry form#form-login .ui.button { display: flex; width: 100%; margin: .5rem 0; }
}
