:root {
    --ink: #17122d;
    --navy: #1a1851;
    --deep: #24245f;
    --c64: #40318d;
    --purple: #6558c8;
    --periwinkle: #8b84e6;
    --lilac: #b8b0ff;
    --cream: #f5edcf;
    --paper: #fff9e8;
    --cyan: #55e6dc;
    --yellow: #ffd866;
    --pink: #ff7eb6;
    --green: #8ff0a4;
    --orange: #ff9b6a;
    --shadow: 5px 5px 0 var(--ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--cream);
    color: var(--ink);
    font-family: "Courier New", ui-monospace, monospace;
    line-height: 1.5;
    overflow-x: hidden;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 30;
    pointer-events: none;
    opacity: .035;
    background: repeating-linear-gradient(to bottom, transparent 0 3px, #17122d 4px);
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
.wrap { width: min(100% - 3rem, 1420px); margin-inline: auto; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; border: 2px solid var(--ink); background: var(--yellow); font-weight: 900; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; }

/* System shell */
.system-bar { min-height: 32px; display: flex; align-items: center; background: var(--ink); border-bottom: 2px solid var(--purple); color: var(--cyan); font-size: .67rem; font-weight: 900; letter-spacing: .08em; }
.system-bar-inner { display: flex; align-items: center; justify-content: space-between; }
.system-bar-inner span { display: flex; align-items: center; gap: .55rem; }
.status-dot { width: 7px; height: 7px; display: inline-block; background: var(--green); box-shadow: 0 0 8px var(--green); animation: pulse 1.8s steps(2, end) infinite; }
.site-header { min-height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .85rem; flex: 0 0 auto; }
.brand-mark { position: relative; width: 46px; height: 43px; display: grid; place-items: center; background: var(--c64); border: 3px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); color: var(--paper); font-size: 1.65rem; line-height: 1; font-weight: 950; }
.brand-mark i { position: absolute; right: 3px; bottom: 3px; width: 6px; height: 6px; background: var(--cyan); }
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font-size: 1rem; letter-spacing: .08em; line-height: 1.1; }
.brand-copy small { margin-top: .28rem; color: var(--c64); font-size: .5rem; font-weight: 800; letter-spacing: .09em; }
.site-nav { display: flex; align-items: center; gap: 1.65rem; font-size: .7rem; font-weight: 900; letter-spacing: .04em; }
.site-nav > a:not(.nav-cta) { padding: .45rem 0; border-bottom: 2px solid transparent; }
.site-nav > a:not(.nav-cta):hover,
.site-nav > a:not(.nav-cta):focus-visible,
.site-nav > a.active:not(.nav-cta) { color: var(--c64); border-color: var(--c64); }
.nav-cta { padding: .72rem 1rem; background: var(--yellow); border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); }
.nav-cta:hover { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--ink); }
.menu-toggle { display: none; padding: .55rem .7rem; background: var(--yellow); border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); font-size: .65rem; font-weight: 900; }

/* Common type and controls */
.grid-bg { position: relative; overflow: hidden; background-color: var(--c64); color: var(--paper); }
.grid-bg::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 32px 32px; }
.grid-bg > * { position: relative; z-index: 1; }
.kicker { margin: 0 0 1.15rem; color: var(--cyan); font-size: .68rem; line-height: 1.2; font-weight: 950; letter-spacing: .14em; }
.kicker.purple { color: var(--c64); }
.kicker span { color: var(--green); }
h1, h2, h3, p { overflow-wrap: anywhere; }
.page-hero { padding: 6.5rem 0; }
.page-hero.compact { min-height: 440px; display: flex; align-items: center; }
.page-hero.mini { min-height: 300px; display: flex; align-items: center; }
.page-hero h1 { max-width: 920px; margin: 0; font-size: clamp(3.6rem, 8vw, 8rem); line-height: .85; letter-spacing: -.08em; }
.page-hero h1 span { color: var(--yellow); text-shadow: 6px 6px 0 var(--ink); }
.page-hero > .wrap > p:last-child { max-width: 720px; margin: 1.6rem 0 0; color: #ded9ff; font-size: .88rem; }
.page-hero.mini h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
.breadcrumbs { margin: 0 0 1.2rem !important; color: var(--cyan) !important; font-size: .62rem !important; font-weight: 900; letter-spacing: .08em; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.section { padding-block: 6.5rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3.2rem; }
.section-heading h2, .intro-section h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 5.2rem); line-height: .9; letter-spacing: -.075em; }
.section-heading h2 span, .intro-section h2 span { color: var(--c64); }
.text-link { padding-bottom: .45rem; border-bottom: 3px solid var(--ink); font-size: .65rem; font-weight: 950; }
.text-link:hover { color: var(--c64); border-color: var(--c64); }
.pixel-button { min-height: 48px; padding: .82rem 1.18rem; display: inline-flex; align-items: center; justify-content: center; gap: .8rem; border: 3px solid var(--ink); background: transparent; color: var(--ink); box-shadow: var(--shadow); cursor: pointer; font-size: .68rem; font-weight: 950; letter-spacing: .035em; transition: transform 100ms steps(2, end), box-shadow 100ms steps(2, end); }
.pixel-button:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--ink); }
.pixel-button:disabled { opacity: .48; transform: none; box-shadow: 2px 2px 0 var(--ink); cursor: not-allowed; }
.pixel-button.primary { background: var(--yellow); }
.pixel-button.ghost { color: var(--paper); border-color: var(--paper); }
.pixel-button.light { background: var(--cream); }
.pixel-button.dark { background: var(--ink); color: var(--paper); border-color: var(--paper); box-shadow: 5px 5px 0 var(--paper); }
.pixel-button.outline { background: transparent; color: inherit; }
.button-row { display: flex; flex-wrap: wrap; gap: 1rem; }
.micro-row { display: flex; justify-content: space-between; color: var(--c64); font-size: .52rem; font-weight: 900; }
.chip-row { display: flex; flex-wrap: wrap; gap: .4rem; }
.chip-row span { max-width: 100%; padding: .28rem .45rem; overflow: hidden; text-overflow: ellipsis; background: #e9e1ff; border: 1px solid var(--c64); color: var(--c64); font-size: .48rem; font-weight: 900; white-space: nowrap; }
.cyan { color: var(--cyan); }
.yellow { color: var(--yellow); }
.pink { color: var(--pink); }
.green { color: var(--green); }
.dim { color: var(--periwinkle); }
.cursor { display: inline-block; width: .7em; height: 1em; vertical-align: -.15em; background: var(--lilac); animation: blink .8s steps(2, end) infinite; }

/* Hero */
.hero { min-height: 690px; }
.hero-grid { min-height: 690px; display: grid; grid-template-columns: 1.05fr .95fr; }
.hero-copy { padding: 6.5rem 3rem 5rem 0; align-self: center; }
.hero-copy h1 { max-width: 780px; margin: 0; font-size: clamp(3.5rem, 6vw, 6.8rem); line-height: .88; letter-spacing: -.085em; }
.hero-copy h1 span { display: block; color: var(--yellow); text-shadow: 5px 5px 0 var(--ink); }
.hero-lede { max-width: 650px; margin: 2rem 0; color: #ded9ff; font-size: .98rem; line-height: 1.72; }
.hero-stats { display: flex; gap: 2.2rem; margin-top: 3.4rem; }
.hero-stats div { padding-left: .8rem; display: flex; flex-direction: column; border-left: 3px solid var(--periwinkle); }
.hero-stats strong { font-size: 1rem; }
.hero-stats span { color: var(--lilac); font-size: .5rem; letter-spacing: .08em; }
.hero-machine { position: relative; min-width: 0; display: flex; align-items: center; justify-content: center; border-left: 2px solid rgba(184,176,255,.3); background: rgba(26,24,81,.42); padding: 4.5rem 2.5rem 6rem; }
.monitor { position: relative; z-index: 2; width: min(100%, 450px); transform: translateY(-32px); }
.monitor-shell { padding: 27px 27px 12px; background: #d7ccb0; border: 5px solid var(--ink); box-shadow: 10px 10px 0 rgba(23,18,45,.7); }
.monitor-bezel { padding: 20px; background: #555166; border: 4px solid var(--ink); box-shadow: inset 5px 5px 0 #302d3e; }
.monitor-screen { position: relative; aspect-ratio: 4/3; padding: 2rem; overflow: hidden; background: #19175d; border: 5px solid #2d2a3f; border-radius: 15% / 11%; box-shadow: inset 0 0 34px #05041e, 0 0 18px rgba(85,230,220,.2); color: var(--lilac); font-size: clamp(.56rem, .85vw, .8rem); line-height: 1.55; }
.monitor-screen::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(to bottom, transparent 0 3px, rgba(0,0,0,.18) 4px); }
.monitor-screen p { margin: 0; }
.monitor-controls { height: 32px; display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.monitor-controls i { width: 9px; height: 9px; border-radius: 50%; background: #665d49; border: 2px solid var(--ink); }
.monitor-controls b { width: 20px; height: 20px; border-radius: 50%; background: #3e3a32; border: 3px solid var(--ink); }
.computer-base { position: absolute; z-index: 3; width: min(calc(100% - 5rem), 500px); bottom: 38px; padding: 17px 20px 21px; background: #cfc3a4; border: 5px solid var(--ink); box-shadow: 10px 10px 0 rgba(23,18,45,.65); transform: perspective(380px) rotateX(7deg); }
.computer-label { margin-bottom: 11px; text-align: right; color: #544c40; font-size: .55rem; font-weight: 900; }
.computer-label b { padding: 2px 4px; background: var(--c64); color: var(--paper); }
.keyboard { display: grid; grid-template-columns: repeat(11, 1fr); gap: 5px; }
.keyboard i { height: 17px; background: #302c38; border: 2px solid #17131a; box-shadow: inset 0 -3px 0 #0d0b10; }
.keyboard .space { grid-column: span 5; }
.floppy { position: absolute; z-index: 1; right: 7%; bottom: 13%; width: 78px; height: 83px; padding: 8px; background: var(--pink); border: 4px solid var(--ink); box-shadow: 6px 6px 0 rgba(23,18,45,.7); transform: rotate(10deg); }
.floppy i { display: block; width: 70%; height: 30%; margin: 0 auto; background: var(--ink); }
.floppy span { position: absolute; left: 10px; right: 10px; bottom: 9px; padding: 2px; background: var(--paper); color: var(--ink); text-align: center; font-size: .6rem; font-weight: 900; }
.ticker { overflow: hidden; background: var(--yellow); border-block: 4px solid var(--ink); white-space: nowrap; }
.ticker div { width: max-content; display: flex; gap: 4rem; padding: .85rem 0; animation: ticker 28s linear infinite; }
.ticker span { font-size: .67rem; font-weight: 950; letter-spacing: .06em; }
.intro-section { display: grid; grid-template-columns: .3fr 1.15fr .7fr; gap: 3rem; align-items: start; }
.section-index { color: var(--c64); font-size: .65rem; font-weight: 900; }
.section-copy { margin: 2rem 0 0; color: #514a68; font-size: .82rem; line-height: 1.75; }

/* Cards and home */
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.service-grid.three-up { grid-template-columns: repeat(3, 1fr); }
.service-card { min-height: 330px; padding: 1.45rem; display: flex; flex-direction: column; background: var(--paper); border-right: 3px solid var(--ink); transition: background 120ms steps(2,end), color 120ms steps(2,end); }
.service-card:last-child { border-right: 0; }
.service-card:hover { background: var(--c64); color: var(--paper); }
.service-top { display: flex; align-items: center; gap: .7rem; color: var(--c64); font-size: .55rem; font-weight: 900; }
.service-top i { flex: 1; border-top: 2px dashed currentColor; opacity: .5; }
.service-top b { width: 45px; height: 37px; display: grid; place-items: center; background: var(--lilac); border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); color: var(--ink); }
.service-card h3 { margin: 3.2rem 0 1rem; font-size: 1.05rem; letter-spacing: -.04em; }
.service-card > p { margin: 0; color: #5e5775; font-size: .72rem; line-height: 1.7; }
.service-card:hover > p { color: var(--lilac); }
.service-card footer { margin-top: auto; padding-top: 1rem; display: flex; justify-content: space-between; border-top: 2px dotted var(--purple); font-size: .52rem; font-weight: 900; }
.service-card footer b { color: var(--c64); font-size: 1rem; }
.service-card:hover footer b { color: var(--yellow); }
.connect-feature { display: grid; grid-template-columns: 1.05fr .95fr; background: var(--c64); border: 4px solid var(--ink); box-shadow: 9px 9px 0 var(--ink); color: var(--paper); }
.terminal-card, .terminal-window { margin: 3rem; align-self: center; background: var(--ink); border: 4px solid var(--periwinkle); box-shadow: inset 0 0 40px rgba(101,88,200,.45), 7px 7px 0 rgba(23,18,45,.8); }
.terminal-bar { min-height: 38px; padding: 0 .8rem; display: flex; align-items: center; gap: .45rem; background: var(--lilac); border-bottom: 4px solid var(--periwinkle); color: var(--ink); }
.terminal-bar i { width: 9px; height: 9px; background: var(--c64); }
.terminal-bar span { margin-left: auto; font-size: .55rem; font-weight: 900; }
.terminal-content { min-height: 240px; padding: 2.2rem 1.8rem; display: flex; flex-direction: column; justify-content: center; font-size: clamp(.58rem, 1vw, .76rem); line-height: 1.9; }
.terminal-content p { margin: 0; }
.connect-copy { padding: 4rem; background: var(--deep); border-left: 3px solid var(--ink); }
.connect-copy h2 { margin: 0; color: var(--yellow); font-size: clamp(2.1rem, 3.6vw, 3.8rem); line-height: .92; letter-spacing: -.065em; }
.connect-copy > p:not(.kicker) { margin: 1.6rem 0 2rem; color: #d8d3ff; font-size: .75rem; line-height: 1.75; }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.7rem; }
.archive-card { background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.archive-art { position: relative; min-height: 250px; display: grid; place-items: center; overflow: hidden; border-bottom: 3px solid var(--ink); background: var(--cyan); }
.color-yellow .archive-art, .event-card.color-yellow { background: var(--yellow); }
.color-pink .archive-art, .event-card.color-pink { background: var(--pink); }
.color-green .archive-art { background: var(--green); }
.archive-art::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(23,18,45,.09) 2px, transparent 2px), linear-gradient(90deg, rgba(23,18,45,.09) 2px, transparent 2px); background-size: 18px 18px; }
.archive-art > span { position: absolute; left: 1rem; top: 1rem; font-size: .55rem; font-weight: 950; }
.archive-art > b { position: absolute; right: .8rem; bottom: -.9rem; color: rgba(23,18,45,.12); font-size: 6rem; letter-spacing: -.15em; }
.pixel-disk { position: relative; z-index: 2; width: 126px; height: 126px; display: grid; grid-template-columns: repeat(3,1fr); filter: drop-shadow(8px 8px 0 rgba(23,18,45,.22)); transform: rotate(4deg); }
.pixel-disk i { background: var(--c64); border: 2px solid var(--ink); }
.pixel-disk i:nth-child(2), .pixel-disk i:nth-child(4), .pixel-disk i:nth-child(6), .pixel-disk i:nth-child(8) { background: var(--paper); }
.archive-info { padding: 1.3rem; }
.archive-info h3 { margin: 1rem 0 .25rem; font-size: 1.05rem; }
.archive-info > p { margin: 0 0 1rem; color: #665e7b; font-size: .62rem; }
.archive-info > a { margin-top: 1rem; padding-top: 1rem; display: flex; justify-content: space-between; border-top: 2px solid var(--ink); color: var(--c64); font-size: .55rem; font-weight: 950; }
.community-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1.8rem; }
.activity-panel { background: var(--paper); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.activity-panel > header { min-height: 52px; padding: 0 1.3rem; display: flex; align-items: center; justify-content: space-between; background: var(--lilac); border-bottom: 3px solid var(--ink); font-size: .6rem; font-weight: 950; }
.activity-panel > header b { display: flex; align-items: center; gap: .45rem; color: var(--c64); font-size: .5rem; }
.activity-list { padding: 0 1.35rem; }
.activity-row { min-height: 75px; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 1rem; border-bottom: 2px dotted #aaa1c8; }
.avatar { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; background: var(--cyan); border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); font-size: .58rem; font-weight: 950; }
.avatar-2 { background: var(--yellow); } .avatar-3 { background: var(--pink); } .avatar-4 { background: var(--green); }
.activity-row p { min-width: 0; margin: 0; display: flex; flex-direction: column; }
.activity-row p b { color: var(--c64); font-size: .61rem; }
.activity-row p span { overflow: hidden; text-overflow: ellipsis; color: #665e7b; font-size: .58rem; white-space: nowrap; }
.activity-row time { color: #7b7490; font-size: .48rem; }
.event-panel { position: relative; padding: 2.1rem; overflow: hidden; background: var(--c64); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); color: var(--paper); }
.event-date, .event-card-date { width: 108px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: var(--yellow); border: 3px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); color: var(--ink); }
.event-date b, .event-card-date b { padding: .42rem; text-align: center; font-size: 1.65rem; }
.event-date span, .event-card-date span { padding: .45rem; border-left: 3px solid var(--ink); font-size: .5rem; font-weight: 950; }
.event-panel .kicker { margin-top: 2rem; }
.event-panel h3 { margin: 0; color: var(--yellow); font-size: clamp(1.8rem,3vw,3rem); line-height: .93; letter-spacing: -.06em; }
.event-panel > p:not(.kicker) { color: #ded9ff; font-size: .68rem; line-height: 1.65; }
.event-meta { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.2rem 0; color: var(--lilac); font-size: .5rem; font-weight: 900; }
.join-cta { padding: 7.2rem 1.5rem; text-align: center; background-color: var(--ink); }
.join-cta h2 { margin: 0; font-size: clamp(3rem,7vw,7.2rem); line-height: .88; letter-spacing: -.08em; }
.join-cta h2 span { color: var(--yellow); text-shadow: 6px 6px 0 var(--c64); }
.join-cta > p:not(.kicker) { max-width: 720px; margin: 1.6rem auto 2rem; color: var(--lilac); font-size: .77rem; }

/* Forms */
.form-card, .connection-card, .policy-card, .config-card { padding: 2rem; background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.form-card h2, .connection-card h2, .policy-card h2, .config-card h2 { margin: 0 0 1.5rem; font-size: 1.35rem; letter-spacing: -.04em; }
.form-card > p:not(.kicker), .config-card > p { color: #5e5775; font-size: .7rem; line-height: 1.7; }
label { display: flex; flex-direction: column; gap: .42rem; margin-bottom: 1rem; color: var(--c64); font-size: .56rem; font-weight: 950; letter-spacing: .05em; }
label small { color: #6f6786; font-weight: 500; letter-spacing: 0; }
input, textarea, select { width: 100%; min-height: 44px; padding: .7rem .8rem; border: 2px solid var(--ink); border-radius: 0; background: #fffdf4; color: var(--ink); font-size: .72rem; font-weight: 700; outline: 0; }
textarea { min-height: 110px; resize: vertical; line-height: 1.6; }
input:focus, textarea:focus, select:focus { border-color: var(--c64); box-shadow: 3px 3px 0 var(--c64); }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.check-row { flex-direction: row; align-items: flex-start; gap: .7rem; color: #514a68; font-weight: 700; line-height: 1.5; }
.check-row input { width: 18px; height: 18px; min-height: 0; flex: 0 0 auto; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.form-actions small, .form-footnote { color: #716987; font-size: .52rem; }
.file-picker span { color: #77708d; font-size: .48rem; }
.sticky-card { position: sticky; top: 1rem; }
.text-button { padding: .4rem 0; border: 0; border-bottom: 2px solid currentColor; background: transparent; color: var(--pink); cursor: pointer; font-size: .55rem; font-weight: 900; }
.notice { margin-top: 1.5rem; padding: 1rem; background: #ece5ff; border: 2px dashed var(--c64); color: #514a68; font-size: .65rem; }

/* Boards */
.board-layout { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 2rem; }
.board-directory { border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.board-row { min-height: 145px; padding: 1.4rem; display: grid; grid-template-columns: 56px minmax(0,1fr) auto 24px; align-items: center; gap: 1.2rem; background: var(--paper); border-bottom: 3px solid var(--ink); }
.board-row:last-child { border-bottom: 0; }
.board-row:hover { background: #eee8ff; }
.board-icon { width: 48px; height: 48px; display: grid; place-items: center; background: var(--cyan); border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); font-size: .68rem; font-weight: 950; }
.accent-yellow .board-icon { background: var(--yellow); } .accent-pink .board-icon { background: var(--pink); } .accent-green .board-icon { background: var(--green); } .accent-orange .board-icon { background: var(--orange); }
.board-row h2 { margin: 0; font-size: .98rem; }
.board-row p { margin: .35rem 0 0; color: #665e7b; font-size: .64rem; }
.board-row dl { display: flex; gap: 1.4rem; }
.board-row dl div { text-align: center; }
.board-row dt { color: #77708c; font-size: .45rem; }
.board-row dd { margin: .15rem 0 0; color: var(--c64); font-weight: 950; }
.side-panel { align-self: start; background: var(--deep); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); color: var(--paper); }
.side-panel > header { padding: 1rem 1.2rem; background: var(--lilac); border-bottom: 3px solid var(--ink); color: var(--ink); font-size: .6rem; font-weight: 950; }
.mini-thread { padding: 1rem 1.2rem; display: flex; flex-direction: column; border-bottom: 1px dotted var(--periwinkle); }
.mini-thread:hover { background: var(--c64); }
.mini-thread > span { color: var(--cyan); font-size: .48rem; }
.mini-thread b { margin: .25rem 0; font-size: .65rem; }
.mini-thread small { color: var(--lilac); font-size: .47rem; }
.board-page-grid { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 2rem; }
.thread-list { border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.thread-list-header { min-height: 42px; padding: 0 1.2rem; display: grid; grid-template-columns: minmax(0,1fr) 130px 70px 90px; align-items: center; background: var(--lilac); border: 3px solid var(--ink); border-bottom: 0; font-size: .48rem; font-weight: 950; }
.thread-row { min-height: 105px; padding: 1rem 1.2rem; display: grid; grid-template-columns: minmax(0,1fr) 130px 70px 90px; align-items: center; background: var(--paper); border-bottom: 2px solid var(--ink); }
.thread-row:last-child { border-bottom: 0; }
.thread-row:hover { background: #eee8ff; }
.thread-row > div { min-width: 0; display: flex; flex-direction: column; }
.thread-row > div span { color: var(--c64); font-size: .45rem; font-weight: 900; }
.thread-row > div b { margin: .2rem 0; overflow: hidden; text-overflow: ellipsis; font-size: .75rem; white-space: nowrap; }
.thread-row > div small { overflow: hidden; text-overflow: ellipsis; color: #716987; font-size: .52rem; white-space: nowrap; }
.thread-row > span, .thread-row time { color: #655d7c; font-size: .52rem; }
.thread-row > strong { color: var(--c64); font-size: .8rem; }
.empty-state { padding: 3rem 1.5rem; background: var(--paper); color: #716987; text-align: center; font-size: .65rem; font-weight: 900; }
.conversation { max-width: 1120px; }
.post-card { display: grid; grid-template-columns: 175px minmax(0,1fr); margin-bottom: 1.5rem; background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.post-card > aside { padding: 1.3rem; display: flex; flex-direction: column; align-items: flex-start; background: #ece5ff; border-right: 3px solid var(--ink); }
.post-card > aside b { margin-top: 1rem; color: var(--c64); font-size: .65rem; }
.post-card > aside small { margin-top: .2rem; font-size: .45rem; }
.post-card > aside p { margin-top: auto; color: #6c6480; font-size: .48rem; }
.post-card > div > header { min-height: 48px; padding: 0 1.4rem; display: flex; justify-content: space-between; align-items: center; border-bottom: 2px dotted #aaa1c8; color: #716987; font-size: .48rem; font-weight: 900; }
.post-body { min-height: 140px; padding: 1.8rem 1.4rem; font-size: .75rem; line-height: 1.85; }
.original-post { border-color: var(--c64); }
.reply-form { margin-top: 3rem; }
.inline-cta { margin-top: 3rem; padding: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: var(--c64); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); color: var(--paper); }

/* Archive and file detail */
.archive-layout { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 2rem; }
.archive-search { padding: 1.1rem; display: grid; grid-template-columns: 1fr 220px auto; align-items: end; gap: 1rem; background: var(--deep); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.archive-search label { margin: 0; color: var(--cyan); }
.archive-search .pixel-button { box-shadow: 4px 4px 0 var(--paper); }
.directory-status { margin: 2rem 0 .7rem; display: flex; justify-content: space-between; color: #6a627e; font-size: .52rem; font-weight: 900; }
.directory-status b { color: var(--c64); }
.file-directory { border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.file-row { min-height: 155px; padding: 1.3rem; display: grid; grid-template-columns: 78px minmax(0,1fr) 90px; gap: 1.2rem; align-items: center; background: var(--paper); border-bottom: 3px solid var(--ink); }
.file-row:last-child { border-bottom: 0; }
.file-format { width: 68px; height: 68px; display: grid; place-items: center; background: var(--cyan); border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); font-size: .75rem; font-weight: 950; }
.file-row.color-yellow .file-format { background: var(--yellow); } .file-row.color-pink .file-format { background: var(--pink); } .file-row.color-green .file-format { background: var(--green); }
.file-summary { min-width: 0; }
.file-summary > span { color: var(--c64); font-size: .47rem; font-weight: 900; }
.file-summary h2 { margin: .25rem 0; font-size: .95rem; }
.file-summary h2 a:hover { color: var(--c64); }
.file-summary p { margin: 0 0 .4rem; color: #655e78; font-size: .6rem; line-height: 1.55; }
.file-summary small { color: #888097; font-size: .45rem; }
.file-size { display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; color: var(--c64); font-size: .52rem; }
.file-size a { padding-bottom: .2rem; border-bottom: 2px solid currentColor; font-weight: 900; }
.policy-card { margin-bottom: 2rem; background: var(--yellow); }
.policy-card > span { width: 34px; height: 34px; display: grid; place-items: center; background: var(--ink); color: var(--paper); font-weight: 950; }
.policy-card h2 { margin-top: 1.2rem; }
.policy-card p { margin: 0; font-size: .67rem; line-height: 1.7; }
.file-detail-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 3rem; align-items: start; }
.disk-detail { position: sticky; top: 1rem; min-height: 500px; display: grid; place-items: center; overflow: hidden; background: var(--cyan); border: 4px solid var(--ink); box-shadow: 9px 9px 0 var(--ink); }
.disk-detail > span { position: absolute; top: 1.2rem; left: 1.2rem; font-size: .65rem; font-weight: 950; }
.disk-detail > b { position: absolute; right: -1rem; bottom: -2rem; color: rgba(23,18,45,.15); font-size: 7rem; }
.pixel-disk.giant { width: min(55%,220px); height: auto; aspect-ratio: 1; }
.file-notes { position: relative; padding: 2.7rem; background: var(--paper); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.file-notes h2 { margin: 0; font-size: clamp(2rem,4vw,4rem); line-height: .95; letter-spacing: -.06em; }
.large-copy { margin: 1.8rem 0; color: #514a68; font-size: .8rem; line-height: 1.8; }
.status-ribbon { position: absolute; right: 1rem; top: 1rem; padding: .4rem .6rem; border: 2px solid var(--ink); background: var(--yellow); font-size: .5rem; font-weight: 950; }
.status-pending { background: var(--yellow); } .status-approved { background: var(--green); } .status-rejected { background: var(--pink); }
.metadata-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 2rem 0; border: 2px solid var(--ink); }
.metadata-grid div { padding: 1rem; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.metadata-grid div:nth-child(even) { border-right: 0; }
.metadata-grid div:nth-last-child(-n+2) { border-bottom: 0; }
.metadata-grid .wide { grid-column: 1/-1; border-right: 0; }
.metadata-grid dt { color: #77708c; font-size: .48rem; font-weight: 900; }
.metadata-grid dd { margin: .3rem 0 0; color: var(--c64); font-size: .68rem; font-weight: 900; }
.metadata-grid .checksum dd { overflow-wrap: anywhere; font-size: .5rem; }

/* BBS */
.bbs-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 3rem; align-items: start; }
.large-terminal { margin: 0; }
.large-terminal .terminal-content { min-height: 500px; font-size: clamp(.65rem,1.2vw,.92rem); }
.connection-card h2 { font-size: 2rem; }
.connection-card dl, .config-card dl { margin: 0 0 1.8rem; border: 2px solid var(--ink); }
.connection-card dl div, .config-card dl div { padding: .75rem; display: grid; grid-template-columns: 115px minmax(0,1fr); border-bottom: 1px dotted #9189a6; }
.connection-card dl div:last-child, .config-card dl div:last-child { border-bottom: 0; }
.connection-card dt, .config-card dt { color: #77708c; font-size: .48rem; font-weight: 900; }
.connection-card dd, .config-card dd { margin: 0; color: var(--c64); overflow-wrap: anywhere; font-size: .62rem; font-weight: 900; }
.button-stack { display: flex; flex-direction: column; gap: .8rem; }
.connection-guide { padding-top: 1rem; }

/* Community */
.events-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.7rem; }
.event-card { padding: 1.6rem; background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.event-card.color-yellow { background: #fff3ba; } .event-card.color-cyan { background: #c9fbf6; } .event-card.color-pink { background: #ffd6e8; }
.event-card .kicker { margin-top: 2rem; }
.event-card h2 { margin: 0; font-size: 1.4rem; line-height: 1; }
.event-card > p:not(.kicker) { min-height: 80px; color: #514a68; font-size: .67rem; line-height: 1.65; }
.event-card-meta { display: flex; justify-content: space-between; gap: .7rem; margin: 1.4rem 0; padding-top: 1rem; border-top: 2px dotted var(--ink); font-size: .48rem; font-weight: 900; }
.event-card form { margin: 0; }
.community-directory-grid { padding-top: 1rem; display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 2rem; }
.mini-heading h2 { margin: 0 0 2rem; font-size: 2.2rem; letter-spacing: -.06em; }
.member-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.member-card { min-height: 230px; padding: 1.2rem; display: flex; flex-direction: column; background: var(--paper); border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); }
.member-card h3 { margin: 1.2rem 0 .5rem; color: var(--c64); font-size: .72rem; }
.member-card .founding-chip { align-self: flex-start; margin: 0 0 .75rem; }
.member-card p { margin: 0; color: #665e7b; font-size: .58rem; line-height: 1.6; }
.member-card small { margin-top: auto; padding-top: 1rem; border-top: 1px dotted #9189a6; color: #817990; font-size: .43rem; }
.seed-note { max-width: 760px; margin: -1rem 0 1.5rem; color: #665e7b; font-size: .52rem; line-height: 1.7; }
.roster-count { margin: -1rem 0 1.1rem; color: var(--c64); font-size: .5rem; font-weight: 950; }
.roster-count + .seed-note { margin-top: 0; }
.founding-chip { display: inline-block; padding: .25rem .4rem; background: var(--cyan); border: 1px solid var(--ink); color: var(--ink); font-size: .4rem; font-weight: 950; line-height: 1; vertical-align: middle; }
.founding-mark { color: var(--c64); font-size: .36rem; font-style: normal; letter-spacing: .02em; }
.activity-panel.tall { align-self: start; }

/* Account and admin */
.auth-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; max-width: 1120px; }
.auth-card { padding: 2.5rem; }
.register-card { background: var(--c64); color: var(--paper); }
.register-card .kicker { color: var(--cyan); }
.register-card label { color: var(--cyan); }
.register-card label small, .register-card .form-footnote { color: var(--lilac); }
.first-user-note { margin-bottom: 1.2rem; padding: .8rem; display: flex; flex-direction: column; background: var(--yellow); border: 2px solid var(--ink); color: var(--ink); font-size: .55rem; }
.first-user-note b { margin-bottom: .2rem; }
.dashboard-grid { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 2rem; align-items: start; }
.profile-card { position: sticky; top: 1rem; padding: 2rem; background: var(--deep); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); color: var(--paper); }
.giant-avatar { width: 75px; height: 75px; font-size: 1rem; }
.profile-card h2 { margin: 1.3rem 0 .4rem; }
.role-chip { display: inline-block; margin: 0; padding: .25rem .4rem; background: var(--yellow); color: var(--ink); font-size: .48rem; font-weight: 950; }
.profile-card dl { margin: 2rem 0; }
.profile-card dl div { padding: .65rem 0; border-bottom: 1px dotted var(--periwinkle); }
.profile-card dt { color: var(--lilac); font-size: .45rem; }
.profile-card dd { margin: .15rem 0 0; font-size: .62rem; }
.profile-card form { margin-top: 1.4rem; }
.dashboard-main > .form-card { margin-bottom: 2rem; }
.dashboard-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.dashboard-list { background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.dashboard-list header { min-height: 46px; padding: 0 1rem; display: flex; align-items: center; justify-content: space-between; background: var(--lilac); border-bottom: 3px solid var(--ink); font-size: .56rem; font-weight: 950; }
.dashboard-list > a { padding: 1rem; display: flex; flex-direction: column; border-bottom: 1px dotted #9189a6; }
.dashboard-list > a:hover { background: #eee8ff; }
.dashboard-list > a b { font-size: .65rem; }
.dashboard-list > a span { margin-top: .25rem; color: #716987; font-size: .48rem; }
.empty-mini { padding: 1rem; color: #716987; font-size: .55rem; }
.admin-hero { background-color: var(--ink); }
.admin-stats { display: grid; grid-template-columns: repeat(5,1fr); margin-bottom: 3rem; border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.admin-stats div { padding: 1.5rem; display: flex; flex-direction: column; background: var(--paper); border-right: 3px solid var(--ink); }
.admin-stats div:last-child { border-right: 0; }
.admin-stats strong { color: var(--c64); font-size: 1.8rem; }
.admin-stats span { font-size: .5rem; font-weight: 900; }
.admin-grid { display: grid; grid-template-columns: minmax(0,1fr) 420px; gap: 2rem; }
.admin-panel { align-self: start; background: var(--paper); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.admin-panel > header { min-height: 52px; padding: 0 1.2rem; display: flex; align-items: center; justify-content: space-between; background: var(--lilac); border-bottom: 3px solid var(--ink); font-size: .58rem; font-weight: 950; }
.moderation-row { padding: 1.3rem; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; border-bottom: 2px dotted #9189a6; }
.moderation-row > div > span { color: var(--c64); font-size: .48rem; font-weight: 900; }
.moderation-row h3 { margin: .25rem 0; font-size: .8rem; }
.moderation-row p { margin: 0; color: #655e78; font-size: .58rem; }
.moderation-row small { display: block; margin-top: .5rem; color: #817990; font-size: .45rem; }
.moderation-row form { display: flex; flex-direction: column; gap: .45rem; }
.small-button { padding: .5rem; border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); cursor: pointer; font-size: .5rem; font-weight: 950; }
.small-button.approve { background: var(--green); } .small-button.reject { background: var(--pink); }
.small-button.fulfilled { background: var(--cyan); }
.admin-grid aside .form-card { margin-bottom: 2rem; }

/* Site banner and rewards */
.site-banner { border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); background: var(--yellow); color: var(--ink); }
.site-banner.banner-alert { background: var(--pink); }
.site-banner.banner-success { background: var(--green); }
.site-banner-inner { min-height: 54px; padding-block: .65rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1.2rem; }
.site-banner-inner strong { font-size: .58rem; letter-spacing: .06em; }
.site-banner-inner span { font-size: .68rem; font-weight: 800; }
.site-banner-inner a { padding-bottom: .15rem; border-bottom: 2px solid var(--ink); font-size: .55rem; font-weight: 950; }
.check-label { margin-bottom: 1rem; display: flex; align-items: center; gap: .65rem; }
.check-label input { width: 18px; min-height: 18px; margin: 0; accent-color: var(--c64); }
.rewards-card { margin-bottom: 2rem; display: grid; grid-template-columns: minmax(220px,.72fr) minmax(180px,.55fr) minmax(300px,1fr); background: var(--paper); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); }
.rewards-summary, .reward-rules, .reward-form { padding: 1.6rem; }
.rewards-summary { background: var(--yellow); border-right: 3px solid var(--ink); }
.rewards-summary strong { display: block; color: var(--c64); font-size: 2.5rem; line-height: 1; }
.rewards-summary > span { font-size: .52rem; font-weight: 950; }
.rewards-summary > p:last-child { margin: 1.2rem 0 0; font-size: .58rem; line-height: 1.6; }
.reward-rules { border-right: 3px solid var(--ink); }
.reward-rule { padding: .7rem 0; display: grid; grid-template-columns: 45px 1fr; align-items: center; gap: .5rem; border-bottom: 1px dotted #9189a6; }
.reward-rule:last-child { border-bottom: 0; }
.reward-rule b { color: var(--c64); font-size: .8rem; }
.reward-rule span { color: #655e78; font-size: .5rem; font-weight: 800; }
.reward-rule.rule-disabled { opacity: .42; }
.reward-form { margin: 0; }
.reward-form textarea { min-height: 72px; }
.reward-history { margin-bottom: 2rem; }
.ledger-row, .redemption-row { padding: .85rem 1rem; display: grid; grid-template-columns: 62px 1fr; align-items: center; gap: .7rem; border-bottom: 1px dotted #9189a6; }
.ledger-row:last-child, .redemption-row:last-child { border-bottom: 0; }
.ledger-row > b, .redemption-row > b { font-size: .75rem; }
.ledger-row > span, .redemption-row > span { color: #655e78; font-size: .52rem; }
.ledger-row small, .redemption-row small { margin-top: .2rem; display: block; color: #817990; font-size: .43rem; }
.points-plus { color: #147332 !important; }
.points-minus { color: #a22d61 !important; }
.redemption-row em, .status-chip { font-style: normal; font-weight: 950; }
.status-pending { color: #9a6500; }
.status-approved { color: var(--c64); }
.status-fulfilled { color: #147332; }
.status-rejected { color: #a22d61; }

/* Expanded SysOp console */
.admin-console { max-width: 1480px; }
.admin-side-stack { min-width: 0; }
.admin-wide { margin-top: 2.5rem; }
.reward-settings-form { padding: 1.6rem; }
.reward-settings-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 2rem; }
.rule-control { display: grid; grid-template-columns: minmax(0,1fr) 110px; align-items: end; gap: 1rem; }
.rule-control .check-label { min-height: 44px; margin-bottom: 1rem; }
.admin-help { margin: 1rem 0; color: #655e78; font-size: .52rem; line-height: 1.6; }
.redemption-admin-row { padding: 1.25rem; display: grid; grid-template-columns: 100px minmax(220px,1fr) minmax(320px,.9fr); align-items: center; gap: 1.2rem; border-bottom: 2px dotted #9189a6; }
.redemption-value { display: flex; flex-direction: column; }
.redemption-value strong { color: var(--c64); font-size: 1.25rem; }
.redemption-value span { font-size: .45rem; font-weight: 950; }
.redemption-admin-row h3 { margin: .35rem 0 .15rem; font-size: .75rem; }
.redemption-admin-row p { margin: 0; color: #655e78; font-size: .55rem; }
.redemption-admin-row small { color: #817990; font-size: .45rem; }
.status-chip { display: inline-block; padding: .22rem .4rem; background: #ece5ff; border: 1px solid currentColor; font-size: .43rem; }
.redemption-admin-row .admin-note { margin-top: .5rem; color: var(--c64); }
.redemption-actions { margin: 0; }
.redemption-actions label { margin-bottom: .5rem; }
.redemption-actions > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.member-admin-row { padding: 1rem 1.2rem; display: grid; grid-template-columns: 50px minmax(220px,1fr) minmax(260px,.7fr) minmax(230px,.7fr); align-items: center; gap: 1rem; border-bottom: 2px dotted #9189a6; }
.member-admin-row h3 { margin: 0 0 .2rem; font-size: .72rem; }
.member-admin-row h3 small { color: var(--c64); font-size: .4rem; }
.member-admin-row p { margin: 0; color: #655e78; font-size: .52rem; }
.member-admin-row > div > span:not(.avatar) { color: #817990; font-size: .43rem; }
.member-admin-row dl { margin: 0; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #9189a6; }
.member-admin-row dl div { padding: .45rem; border-right: 1px dotted #9189a6; }
.member-admin-row dl div:last-child { border-right: 0; }
.member-admin-row dt { color: #817990; font-size: .38rem; }
.member-admin-row dd { margin: 0; color: var(--c64); font-size: .58rem; font-weight: 950; }
.member-admin-row form { display: grid; grid-template-columns: 80px 1fr auto; align-items: end; gap: .45rem; }
.member-admin-row form label { margin: 0; }
.ledger-admin-row { padding: .8rem 1rem; display: grid; grid-template-columns: 65px 1fr; gap: .75rem; border-bottom: 1px dotted #9189a6; }
.ledger-admin-row > span { color: #655e78; font-size: .52rem; }
.ledger-admin-row small { margin-top: .2rem; display: block; color: #817990; font-size: .42rem; }
.admin-bottom-grid { margin-top: 2.5rem; }

/* Alerts and footer */
.flash-stack { position: fixed; z-index: 50; right: max(1.5rem,calc((100vw - 1420px)/2)); top: 118px; width: min(430px,calc(100% - 2rem)); }
.flash { margin-bottom: .7rem; padding: .8rem; display: grid; grid-template-columns: 28px 1fr 24px; align-items: center; gap: .7rem; background: var(--yellow); border: 3px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.flash-success { background: var(--green); } .flash-error { background: var(--pink); }
.flash > span { font-weight: 950; }
.flash p { margin: 0; font-size: .62rem; font-weight: 800; }
.flash button { border: 0; background: transparent; cursor: pointer; font-weight: 950; }
.error-screen { min-height: 70vh; padding: 7rem 1.5rem; text-align: center; }
.error-screen h1 { margin: 0; color: var(--yellow); font-size: clamp(6rem,20vw,15rem); line-height: .8; }
.error-screen > p:not(.kicker) { margin-bottom: 2rem; color: var(--lilac); }
.site-footer { background: var(--deep); border-top: 5px solid var(--purple); color: var(--paper); }
.footer-main { padding-block: 4rem; display: flex; justify-content: space-between; gap: 4rem; }
.footer-brand .brand-mark { border-color: var(--paper); box-shadow: 4px 4px 0 var(--paper); }
.footer-brand .brand-copy small { color: var(--lilac); }
.footer-links { display: grid; grid-template-columns: repeat(3,minmax(130px,1fr)); gap: 4rem; }
.footer-links div { display: flex; flex-direction: column; gap: .6rem; }
.footer-links strong { margin-bottom: .35rem; color: var(--cyan); font-size: .55rem; }
.footer-links a { color: var(--lilac); font-size: .55rem; }
.footer-links a:hover { color: var(--yellow); }
.footer-bottom { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #4c467e; color: #827ba8; font-size: .46rem; }
.footer-bottom a { color: var(--yellow); font-weight: 950; }

@keyframes blink { 50% { opacity: 0; } }
@keyframes pulse { 50% { opacity: .35; } }
@keyframes ticker { to { transform: translateX(-40%); } }

@media (max-width: 1100px) {
    .site-nav { gap: 1rem; }
    .hero-grid { grid-template-columns: 1fr 1fr; }
    .hero-copy h1 { font-size: clamp(3.2rem,6vw,5.3rem); }
    .service-grid { grid-template-columns: repeat(2,1fr); }
    .service-card:nth-child(2) { border-right: 0; }
    .service-card { border-bottom: 3px solid var(--ink); }
    .service-card:nth-last-child(-n+2) { border-bottom: 0; }
    .intro-section { grid-template-columns: .2fr 1fr .7fr; gap: 2rem; }
    .board-layout, .archive-layout, .admin-grid { grid-template-columns: minmax(0,1fr) 330px; }
    .community-directory-grid { grid-template-columns: 1fr; }
    .member-grid { grid-template-columns: repeat(3,1fr); }
    .rewards-card { grid-template-columns: .7fr 1fr; }
    .reward-form { grid-column: 1 / -1; border-top: 3px solid var(--ink); }
    .reward-rules { border-right: 0; }
    .redemption-admin-row { grid-template-columns: 90px minmax(0,1fr); }
    .redemption-actions { grid-column: 1 / -1; }
    .member-admin-row { grid-template-columns: 50px minmax(0,1fr); }
    .member-admin-row dl, .member-admin-row form { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
    .wrap { width: min(100% - 2rem, 1420px); }
    .site-header { min-height: 80px; }
    .menu-toggle { display: block; }
    .site-nav { position: absolute; z-index: 40; top: 106px; left: 1rem; right: 1rem; padding: 1rem; display: none; align-items: stretch; flex-direction: column; background: var(--deep); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); color: var(--paper); }
    .site-nav.open { display: flex; }
    .site-nav > a { padding: .7rem !important; }
    .site-nav > a:not(.nav-cta) { color: var(--paper); border: 2px solid transparent; }
    .site-nav > a:not(.nav-cta):hover,
    .site-nav > a:not(.nav-cta):focus-visible { color: var(--ink); background: var(--cyan); border-color: var(--ink); box-shadow: 3px 3px 0 var(--ink); }
    .site-nav > a.active:not(.nav-cta),
    .site-nav > a.active:not(.nav-cta):hover,
    .site-nav > a.active:not(.nav-cta):focus-visible { color: var(--ink); background: var(--yellow); border-color: var(--ink); box-shadow: 3px 3px 0 var(--ink); }
    .site-nav .nav-cta { color: var(--ink); }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { padding: 5rem 0 4rem; }
    .hero-machine { min-height: 650px; border-left: 0; border-top: 2px solid rgba(184,176,255,.3); }
    .intro-section { grid-template-columns: 1fr; }
    .section-heading { align-items: flex-start; flex-direction: column; }
    .connect-feature { grid-template-columns: 1fr; }
    .connect-copy { border-left: 0; border-top: 3px solid var(--ink); }
    .archive-grid { grid-template-columns: 1fr; }
    .archive-card { display: grid; grid-template-columns: .8fr 1.2fr; }
    .archive-art { min-height: 100%; border-right: 3px solid var(--ink); border-bottom: 0; }
    .community-grid, .events-grid, .bbs-grid, .file-detail-grid { grid-template-columns: 1fr; }
    .events-grid { gap: 1.2rem; }
    .event-card > p:not(.kicker) { min-height: 0; }
    .board-layout, .board-page-grid, .archive-layout, .admin-grid { grid-template-columns: 1fr; }
    .side-panel { margin-top: 1rem; }
    .sticky-card, .disk-detail, .profile-card { position: static; }
    .disk-detail { min-height: 400px; }
    .auth-grid, .dashboard-grid { grid-template-columns: 1fr; }
    .footer-main { flex-direction: column; }
    .post-card { grid-template-columns: 130px minmax(0,1fr); }
    .thread-list-header { display: none; }
    .thread-row { grid-template-columns: minmax(0,1fr) 90px 50px; }
    .thread-row > time { display: none; }
    .site-banner-inner { grid-template-columns: 1fr auto; }
    .site-banner-inner strong { grid-column: 1 / -1; }
    .reward-settings-grid { grid-template-columns: 1fr; }
    .admin-stats { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 560px) {
    .system-bar-inner > span:last-child { display: none; }
    .hide-mobile { display: none !important; }
    .brand-copy small { display: none; }
    .page-hero.compact { min-height: 370px; }
    .page-hero h1 { font-size: clamp(3rem,17vw,5rem); }
    .section { padding-block: 4.7rem; }
    .hero-copy h1 { font-size: clamp(2.9rem,15vw,4.3rem); }
    .hero-lede { font-size: .82rem; }
    .button-row .pixel-button { width: 100%; }
    .hero-stats { gap: .8rem; justify-content: space-between; }
    .hero-machine { min-height: 500px; padding: 3rem .5rem 5rem; }
    .monitor { width: 94%; }
    .monitor-shell { padding: 14px 14px 7px; }
    .monitor-bezel { padding: 10px; }
    .monitor-screen { padding: 1.3rem; font-size: .53rem; }
    .computer-base { width: 90%; bottom: 25px; padding: 11px; }
    .keyboard { gap: 3px; }
    .keyboard i { height: 11px; }
    .floppy { display: none; }
    .section-heading h2, .intro-section h2 { font-size: clamp(2.15rem,12vw,3.3rem); }
    .service-grid, .service-grid.three-up { grid-template-columns: 1fr; }
    .service-card { min-height: 275px; border-right: 0; border-bottom: 3px solid var(--ink) !important; }
    .service-card:last-child { border-bottom: 0 !important; }
    .terminal-card { margin: 1rem; }
    .terminal-content { min-height: 210px; padding: 1.4rem .9rem; font-size: .5rem; }
    .connect-copy { padding: 2.5rem 1.1rem; }
    .archive-card { display: block; }
    .archive-art { min-height: 210px; border-right: 0; border-bottom: 3px solid var(--ink); }
    .activity-row { grid-template-columns: 40px minmax(0,1fr); gap: .7rem; }
    .activity-row time { display: none; }
    .board-row { grid-template-columns: 48px minmax(0,1fr) 18px; }
    .board-row dl { display: none; }
    .thread-row { grid-template-columns: minmax(0,1fr) 50px; }
    .thread-row > span { display: none; }
    .post-card { grid-template-columns: 1fr; }
    .post-card > aside { min-height: 95px; display: grid; grid-template-columns: 44px 1fr; column-gap: .8rem; border-right: 0; border-bottom: 3px solid var(--ink); }
    .post-card > aside .avatar { grid-row: 1/4; }
    .post-card > aside b { margin: 0; }
    .post-card > aside p { margin: 0; }
    .post-card > div > header time { display: none; }
    .form-actions { align-items: stretch; flex-direction: column; }
    .archive-search { grid-template-columns: 1fr; }
    .file-row { grid-template-columns: 62px minmax(0,1fr); }
    .file-format { width: 56px; height: 56px; }
    .file-size { display: none; }
    .field-pair { grid-template-columns: 1fr; gap: 0; }
    .metadata-grid { grid-template-columns: 1fr; }
    .metadata-grid div, .metadata-grid div:nth-child(even), .metadata-grid div:nth-last-child(-n+2) { grid-column: auto; border-right: 0; border-bottom: 2px solid var(--ink); }
    .metadata-grid div:last-child { border-bottom: 0; }
    .file-notes { padding: 1.5rem; }
    .member-grid { grid-template-columns: 1fr 1fr; }
    .member-card { min-height: 220px; }
    .dashboard-columns { grid-template-columns: 1fr; }
    .admin-stats { grid-template-columns: 1fr 1fr; }
    .admin-stats div { border-right: 3px solid var(--ink); border-bottom: 3px solid var(--ink); }
    .admin-stats div:nth-child(even) { border-right: 0; }
    .admin-stats div:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
    .moderation-row { grid-template-columns: 1fr; }
    .moderation-row form { flex-direction: row; }
    .site-banner-inner { grid-template-columns: 1fr; gap: .4rem; }
    .site-banner-inner a { justify-self: start; }
    .rewards-card { grid-template-columns: 1fr; }
    .rewards-summary, .reward-rules { border-right: 0; border-bottom: 3px solid var(--ink); }
    .reward-form { grid-column: auto; border-top: 0; }
    .rule-control { grid-template-columns: 1fr; gap: 0; }
    .redemption-admin-row { grid-template-columns: 1fr; }
    .redemption-actions { grid-column: auto; }
    .member-admin-row { grid-template-columns: 1fr; }
    .member-admin-row dl, .member-admin-row form { grid-column: auto; }
    .member-admin-row form { grid-template-columns: 1fr; }
    .inline-cta { align-items: stretch; flex-direction: column; }
    .footer-links { grid-template-columns: repeat(2,1fr); gap: 2.5rem 1.5rem; }
    .footer-bottom { min-height: 82px; padding-block: 1rem; align-items: flex-start; flex-direction: column; }
    .footer-bottom span:nth-child(2) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
