@import "https://fonts.googleapis.com/css2?family=Inter:wght@900&family=Space+Mono:wght@400;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#eaeaea;--bg-inverted:#000;--surface:#fff;--fg:#111;--fg-muted:#888;--fg-inverted:#fff;--accent:#7b61ff;--accent-ink:#fff;--border:#ccc;--border-strong:#111;--font-display:"Inter", "Helvetica Neue", Arial, sans-serif;--font-mono:"Space Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;--weight-display:900;--weight-body:400;--weight-body-bold:700;--tracking-display:-.02em;--tracking-mono:0em;--tracking-label:.08em;--leading-display:.95;--leading-body:1.8;--leading-tight:1.3;--fs-display-xl:clamp(64px, 12vw, 180px);--fs-display-l:clamp(48px, 8vw, 96px);--fs-display-m:clamp(32px, 5vw, 56px);--fs-h1:40px;--fs-h2:28px;--fs-h3:20px;--fs-body:15px;--fs-small:13px;--fs-caption:11px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--s-24:96px;--s-32:128px;--radius:0;--border-w:1px;--ease:cubic-bezier(.2,.6,.2,1);--dur-fast:.12s;--dur:.2s}html,body{background-color:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-body);font-weight:var(--weight-body);line-height:var(--leading-body);letter-spacing:var(--tracking-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100vw;overflow-x:hidden}.grain:before,body.grain:before{content:"";opacity:.04;pointer-events:none;z-index:9999;mix-blend-mode:multiply;background-image:url(/noise.png);background-size:256px 256px;position:fixed;inset:0}.t-display-xl,.t-display-l,.t-display-m,.t-h1,.t-h2,.t-h3{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);line-height:var(--leading-display);color:var(--fg)}.t-display-xl{font-size:var(--fs-display-xl);line-height:.9}.t-display-l{font-size:var(--fs-display-l)}.t-display-m{font-size:var(--fs-display-m)}.t-h1{font-size:var(--fs-h1);line-height:1.05}.t-h2{font-size:var(--fs-h2);line-height:1.1}.t-h3{font-size:var(--fs-h3);line-height:1.2}.t-body,.t-small,.t-caption,.t-label,.t-mono{font-family:var(--font-mono);font-weight:var(--weight-body);line-height:var(--leading-body)}.t-body{font-size:var(--fs-body)}.t-small{font-size:var(--fs-small);color:var(--fg-muted)}.t-caption{font-size:var(--fs-caption);color:var(--fg-muted);line-height:1.5}.t-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--fg-muted)}.t-muted{color:var(--fg-muted)}.t-accent{color:var(--accent)}.border{border:var(--border-w) solid var(--border)}.border-top{border-top:var(--border-w) solid var(--border)}.border-bot{border-bottom:var(--border-w) solid var(--border)}.btn{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-6);font-family:var(--font-mono);font-size:var(--fs-small);font-weight:var(--weight-body-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);background:var(--bg);color:var(--fg);border:var(--border-w) solid var(--fg);cursor:pointer;transition:opacity var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);white-space:nowrap;border-radius:0;text-decoration:none;display:inline-flex}.btn:hover{background:var(--fg);color:var(--bg)}.btn:active{opacity:.7}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--solid{background:var(--fg);color:var(--bg)}.btn--solid:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--ghost{border-color:var(--border);color:var(--fg);background:0 0}.btn--ghost:hover{color:var(--accent);border-color:var(--accent);background:0 0}a.link,.link{color:var(--fg);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease);text-decoration:underline;text-decoration-thickness:1px}a.link:hover,.link:hover{color:var(--accent)}.img-bw{filter:grayscale()contrast(1.1);width:100%;height:auto;display:block}.card{border:var(--border-w) solid var(--border);background:var(--bg);padding:var(--s-6)}.block-black{color:#fff;background:#000}.block-black .t-h1,.block-black .t-h2,.block-black .t-h3{color:#fff}.dot-accent{background:var(--accent);width:8px;height:8px;display:inline-block}::selection{background:var(--accent);color:var(--accent-ink)}.input{width:100%;padding:var(--s-3) var(--s-4);font-family:var(--font-mono);font-size:var(--fs-body);background:var(--bg);color:var(--fg);border:var(--border-w) solid var(--border);transition:border-color var(--dur-fast) var(--ease);border-radius:0;outline:none;display:block}.input:focus{border-color:var(--fg)}.input::placeholder{color:var(--fg-muted)}textarea.input{resize:vertical;min-height:100px}.collage-grid--words{border:1px solid #111;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.collage-grid--images{border:1px solid #111;grid-template-columns:repeat(3,1fr);display:grid}.collage-grid--mixed{border:1px solid #111;grid-template-columns:repeat(4,1fr);display:grid}.collage-grid--words .collage-card{background:#eaeaea;border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:24px}.collage-grid--images .collage-card{background:#eaeaea;border-bottom:1px solid #ccc;border-right:1px solid #ccc}.collage-grid--mixed .collage-card{background:#eaeaea;border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:16px}.hero-grid{flex:1;grid-template-columns:1fr 1fr;display:grid}.dashboard-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.wall-row{justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.page-pad{padding-left:var(--s-8);padding-right:var(--s-8)}@media (max-width:680px){.hero-grid{grid-template-columns:1fr}.hero-grid>:last-child{display:none}.dashboard-actions{flex-direction:column}.dashboard-actions .btn{justify-content:center;width:100%}.wall-row{flex-direction:column;align-items:flex-start}.page-pad{padding-left:var(--s-4);padding-right:var(--s-4)}nav .btn{padding:var(--s-2) var(--s-3);font-size:10px}.t-display-l{font-size:clamp(36px,10vw,64px)}.t-display-m{font-size:clamp(24px,7vw,48px)}.t-h1{font-size:28px}.t-h2{font-size:22px}.messages-grid{grid-template-columns:1fr!important}.wall-footer{gap:var(--s-4);flex-direction:column}.wall-footer .btn{justify-content:center;width:100%}.collage-grid--images,.collage-grid--mixed{grid-template-columns:repeat(2,1fr)}}
