:root { --bg: #101a21; --bg-soft: #17252e; --surface: #1e2e38; --surface-2: #283b46; --paper: #e9e5da; --paper-deep: #d8d2c3; --ink: #11171a; --text: #edf1e9; --muted: #b2bfbd; --muted-dark: #5c6665; --line: #66767c; --line-dark: #8d918a; --coral: #f0996e; --coral-bright: #ffad82; --cyan: #8fd4d0; --lime: #c8ee80; --yellow: #f3d277; --display: "Arial Black", "Helvetica Neue", system-ui, sans-serif; --mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace; --page-pad: clamp(1.25rem, 4vw, 4rem); --max-width: 92rem; --radius-sm: 0; --radius-md: 0; --radius-lg: 0; } body { background: var(--bg); font-size: clamp(1rem, 1.05vw, 1.08rem); line-height: 1.62; } .terminal-card::before, .current-project::before, .project-visual::after { display: none; } body::before { opacity: 0.8; } .page-grid { display: block; opacity: 0.26; } h1, h2, h3 { font-weight: 400; letter-spacing: -0.055em; } code { border-width: 2px; border-radius: 0; } :focus-visible { outline: 4px solid var(--lime); outline-offset: 3px; } .site-header { top: 0; left: 0; width: 100%; min-height: 4.5rem; padding: 0.65rem var(--page-pad); transform: none; border: 0; border-bottom: 2px solid var(--line); border-radius: 0; background: var(--bg); box-shadow: none; backdrop-filter: none; } .brand { gap: 0.8rem; font-family: var(--mono); font-size: 1rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; } .brand-mark { width: 2.55rem; height: 2.55rem; border: 2px solid var(--coral); border-radius: 0; background: transparent; color: var(--coral); } .site-nav { gap: clamp(1rem, 2.7vw, 2.8rem); } .site-nav a { font-size: 0.75rem; font-weight: 600; } .nav-toggle { display: none; } .site-nav > a:not(.nav-pill)::after { bottom: -0.25rem; height: 3px; } .nav-pill { padding: 0.45rem 0 0.45rem 1.1rem; border: 0; border-left: 2px solid var(--line); border-radius: 0; } .nav-pill:hover { border-color: var(--line); background: transparent; color: var(--lime); } .hero { position: relative; min-height: 48rem; padding-top: clamp(8rem, 13vh, 10rem); padding-bottom: clamp(5rem, 8vh, 7rem); grid-template-columns: minmax(0, 7fr) minmax(24rem, 4fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); } .hero::after { position: absolute; z-index: 0; top: 16%; right: -0.08em; color: rgba(143, 212, 208, 0.065); content: "/SYS"; font-family: var(--display); font-size: clamp(10rem, 23vw, 23rem); letter-spacing: -0.1em; line-height: 0.75; pointer-events: none; } /* Liquid ASCII — a hand-built ripple/height-field simulation (no external registry, no CDN), filling the whole hero as a body of "water" visitors can stir with a cursor or finger. Sits behind hero-copy/terminal-card; calm water renders almost blank, so ripples read as bright disturbance rather than a flat gray texture. */ .hero-liquid { position: absolute; z-index: 0; top: 0; bottom: 0; left: 50%; width: 100vw; overflow: hidden; cursor: crosshair; transform: translateX(-50%); } .hero-liquid-pre { position: absolute; inset: 0; margin: 0; padding: 0; overflow: hidden; color: rgba(143, 212, 208, 0.55); line-height: 1em; mix-blend-mode: screen; white-space: pre; user-select: none; } .hero-liquid-hint { position: absolute; right: 0.9rem; bottom: 0.7rem; margin: 0; color: rgba(143, 212, 208, 0.4); font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; pointer-events: none; } @media (max-width: 40rem), (pointer: coarse) { .hero-liquid-hint { display: none; } } @media (prefers-reduced-motion: reduce) { .hero-liquid { display: none; } } .eyebrow, .section-index, .project-kicker, .stack-label { margin-bottom: 1.25rem; font-size: 0.76rem; font-weight: 600; letter-spacing: 0.08em; } .eyebrow { color: var(--cyan); } .status-dot { width: 0.65rem; height: 0.65rem; border: 2px solid var(--lime); border-radius: 0; background: transparent; box-shadow: none; } .status-dot::after { display: block; } .hero h1 { max-width: none; margin-bottom: 2.4rem; font-size: clamp(5rem, 9.8vw, 9.6rem); line-height: 0.83; letter-spacing: -0.075em; } .hero h1 span { color: var(--coral); } .hero-intro { max-width: 47rem; margin-bottom: 2rem; color: var(--text); font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.55; } .hero-actions { gap: 2.4rem; margin-bottom: 3.2rem; } .button { min-height: auto; padding: 0.6rem 0 0.4rem; border: 0; border-bottom: 3px solid currentColor; border-radius: 0; font-size: 0.8rem; transition: color 120ms ease; } .button:hover { transform: translateY(-2px); color: var(--lime); } .button-primary, .button-primary:hover, .button-ghost:hover { border-color: currentColor; background: transparent; color: inherit; } .button-primary { color: var(--coral); } .button-primary:hover, .button-ghost:hover { color: var(--lime); } .hero-signals { max-width: 48rem; border-top: 3px solid var(--line); border-bottom: 1px solid var(--line); } .hero-signals li { padding: 0.85rem 0.8rem 0.85rem 0; color: var(--muted); font-size: 0.7rem; } .hero-signals li + li { padding-left: 0.8rem; border-left: 1px solid var(--line); } .hero-signals span { color: var(--coral); } .terminal-card { overflow: visible; border: 2px solid rgba(143, 212, 208, 0.35); border-radius: 0; background: rgba(23, 37, 46, 0.8); box-shadow: none; transform: rotate(1deg); transition: transform 220ms ease, border-color 220ms ease; } .terminal-card:hover { transform: rotate(0.35deg) translateY(-0.3rem); border-color: rgba(143, 212, 208, 0.7); } .terminal-chrome { display: flex; min-height: 3.3rem; justify-content: space-between; padding: 0 1.2rem; border-bottom: 2px solid rgba(143, 212, 208, 0.25); color: var(--muted); font-size: 0.72rem; } .terminal-state { color: var(--lime); } .terminal-body { min-height: 25rem; padding: 2rem; font-size: 0.86rem; } .terminal-body > p { margin-bottom: 0.65rem; } .terminal-output { margin: 0 0 1.5rem 1.5rem; color: var(--muted); } .terminal-output span, .prompt { color: var(--coral); } .terminal-note { margin-top: 2rem; color: var(--lime); font-style: italic; } .profile-chip { right: -1.4rem; bottom: -3.5rem; width: min(18rem, 80%); min-height: 5rem; padding: 0.6rem; border: 2px solid rgba(240, 153, 110, 0.55); border-radius: 0; background: var(--bg-soft); color: var(--text); box-shadow: none; grid-template-columns: 4rem 1fr; transform: rotate(-3deg); backdrop-filter: none; transition: transform 220ms ease, border-color 220ms ease; } .profile-chip:hover { transform: rotate(-1deg) translateY(-0.2rem); border-color: var(--coral); } .profile-chip img { width: 4rem; height: 4rem; border: 1px solid var(--line); border-radius: 0; } .profile-chip strong { font-family: var(--mono); font-size: 0.85rem; } .profile-chip div span { color: var(--muted); font-size: 0.62rem; } .signal-strip { border-top: 3px solid var(--ink); border-bottom: 3px solid var(--ink); background: var(--coral); } .signal-track { min-height: 3.7rem; } .signal-set { gap: clamp(0.9rem, 2.2vw, 2rem); padding-right: clamp(0.9rem, 2.2vw, 2rem); } .signal-item { font-family: var(--mono); font-size: 0.72rem; font-weight: 600; } .signal-track i { width: 2px; height: 1rem; transform: rotate(18deg); } .section { padding-top: clamp(4.5rem, 7vw, 6.5rem); padding-bottom: clamp(4.5rem, 7vw, 6.5rem); } .section-heading { margin-bottom: clamp(3.5rem, 6vw, 5.5rem); padding-top: 1.3rem; border-top: 5px solid currentColor; grid-template-columns: minmax(9rem, 2fr) minmax(0, 10fr); } .section-index { color: var(--coral); } .section-heading h2 { max-width: 14ch; font-size: clamp(3.4rem, 6.5vw, 6.4rem); line-height: 0.94; } .section-heading-row { grid-template-columns: minmax(0, 8fr) minmax(18rem, 4fr); } .section-heading-row > p { margin-top: 0.25rem; color: var(--muted); font-size: 0.9rem; } .about-section, .archive-section { background: var(--paper); box-shadow: 0 0 0 100vmax var(--paper); } .work-section { position: relative; } .about-section::before, .archive-section::before, .work-section::before, .stack-section::after { position: absolute; z-index: 0; right: -0.04em; font-family: var(--display); font-size: clamp(12rem, 25vw, 25rem); letter-spacing: -0.1em; line-height: 0.75; pointer-events: none; } .about-section::before { top: 2.5rem; color: rgba(17, 23, 26, 0.035); content: "01"; } .archive-section::before { top: 2.5rem; color: rgba(17, 23, 26, 0.035); content: "03"; } .work-section::before { top: 4rem; color: rgba(240, 153, 110, 0.055); content: "02"; } .stack-section::after { right: 0; bottom: 2rem; color: rgba(143, 212, 208, 0.055); content: "04"; } .about-section > *, .archive-section > *, .work-section > *, .stack-section > * { position: relative; z-index: 1; } .about-section .section-index, .archive-section .section-index { color: #a74b2c; } .about-layout { gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(18rem, 5fr) minmax(0, 7fr); } .about-quote { padding: 1.2rem 0 0 1.8rem; border-top: 0; border-left: 0.7rem solid var(--coral); } .quote-mark { display: none; } .about-quote p { margin-bottom: 2rem; font-size: clamp(2rem, 3.4vw, 3.5rem); line-height: 1.05; } .about-quote footer { color: var(--muted-dark); font-size: 0.78rem; } .about-copy p { color: #3f4848; font-size: 1rem; } .about-copy .lead { font-family: var(--mono); font-size: clamp(1.2rem, 1.7vw, 1.6rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.45; } .language-line { gap: 1.4rem; margin-top: 2.5rem; } .language-line span { padding: 0.25rem 0; border: 0; border-bottom: 3px solid var(--ink); border-radius: 0; font-size: 0.68rem; } .method-grid { margin-top: clamp(4rem, 7vw, 7rem); border-top: 5px solid var(--ink); border-bottom: 2px solid var(--ink); grid-template-columns: 5fr 4fr 3fr; } .method-card { min-height: 18rem; padding: 1.5rem clamp(1rem, 2.5vw, 2.2rem) 2rem; } .method-card + .method-card { border-left: 2px solid var(--ink); } .method-card > span { color: #a74b2c; font-size: 0.75rem; font-weight: 600; } .method-card h3 { margin-top: 3.6rem; font-size: clamp(1.5rem, 2.5vw, 2.4rem); } .method-card p { color: var(--muted-dark); font-size: 0.8rem; } .current-project { min-height: 35rem; margin: 0 0 4rem; overflow: hidden; border: 2px solid rgba(17, 23, 26, 0.28); border-radius: 0; background: var(--cyan); grid-template-columns: minmax(0, 7fr) minmax(22rem, 5fr); transition: transform 220ms ease, border-color 220ms ease; } .current-project:hover { transform: translateY(-0.3rem); border-color: rgba(17, 23, 26, 0.62); } .current-project-main, .current-roadmap { padding: clamp(2rem, 4vw, 3.5rem); } .current-meta { padding-bottom: 0.8rem; border-bottom: 2px solid rgba(23, 20, 15, 0.4); font-size: 0.66rem; } .current-meta i { width: 0.55rem; height: 0.55rem; border-radius: 0; background: var(--ink); box-shadow: none; } .current-kicker { margin-top: auto; font-size: 0.72rem; } .current-project h3 { margin-bottom: 1.5rem; font-size: clamp(4.5rem, 8.5vw, 8.5rem); line-height: 0.85; } .current-project-main > p:not(.current-kicker) { max-width: 43rem; font-size: 0.9rem; } .tag-row { gap: 0; } .tag-row span { padding: 0; border: 0; border-radius: 0; font-size: 0.62rem; } .tag-row span + span::before { margin: 0 0.65rem; content: "/"; } .current-roadmap { border-left: 3px solid rgba(23, 20, 15, 0.7); background: transparent; backdrop-filter: none; } .current-roadmap > p { font-size: 0.7rem; } .current-roadmap ol { border-top: 3px solid var(--ink); } .current-roadmap li { min-height: 6rem; border-bottom: 1px solid rgba(23, 20, 15, 0.55); } .current-roadmap strong { font-family: var(--mono); font-size: 0.9rem; } .current-roadmap li > span, .current-roadmap li > b, .current-roadmap small { font-size: 0.6rem; } .current-roadmap li > b { border: 0; border-radius: 0; background: var(--ink); color: var(--cyan); } .current-roadmap small a { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; } .current-watermark { bottom: -0.18em; color: rgba(255, 255, 255, 0.13); font-size: clamp(9rem, 19vw, 18rem); transition: transform 700ms cubic-bezier(0.2, 0.75, 0.25, 1), opacity 500ms ease; } .current-project:hover .current-watermark { transform: translateX(1.2rem); } .project-feature { min-height: 38rem; margin-bottom: 4rem; overflow: visible; border: 0; border-radius: 0; background: transparent; grid-template-columns: minmax(0, 8fr) minmax(20rem, 4fr); gap: 2rem; } .project-visual { min-height: 34rem; border: 2px solid var(--line); } .project-visual img { filter: saturate(0.88) contrast(1.05); transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 300ms ease; } .project-visual:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.04); } .image-label { bottom: 1rem; left: 1.2rem; padding: 0.55rem 0.8rem; border: 1px solid var(--line); border-radius: 0; background: var(--bg); color: var(--text); font-size: 0.63rem; backdrop-filter: none; } .project-feature-copy { padding: 2rem 0 0; border-top: 3px solid var(--line); } .project-meta { color: var(--cyan); font-size: 0.65rem; } .project-feature-copy h3 { margin-top: auto; font-size: clamp(3rem, 5vw, 5rem); } .project-feature-copy > p { color: var(--text); font-size: 0.86rem; } /* Scorium is code-native, so its project visual is a small editorial language specimen rather than a fake product screenshot. */ .project-visual-scorium { display: block; overflow: hidden; background: linear-gradient(rgba(17, 23, 26, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 23, 26, 0.08) 1px, transparent 1px), var(--paper-deep); background-size: 2.25rem 2.25rem; color: var(--text); } .project-visual-scorium::before { position: absolute; z-index: 0; top: -16%; right: -5%; width: 55%; height: 72%; transform: rotate(12deg); background: var(--coral); content: ""; clip-path: polygon(26% 0, 100% 0, 100% 78%, 0 100%); } .scorium-window { position: absolute; z-index: 2; top: 8%; right: 8%; bottom: 21%; left: 7%; display: grid; overflow: hidden; border: 3px solid var(--ink); background: #111b20; box-shadow: 0.9rem 0.9rem 0 rgba(17, 23, 26, 0.2); grid-template-rows: auto 1fr auto; } .scorium-titlebar { display: grid; min-height: 3.5rem; padding: 0 1rem; border-bottom: 2px solid rgba(237, 241, 233, 0.22); color: var(--muted); font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.04em; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; } .scorium-titlebar b { color: var(--coral-bright); letter-spacing: 0.13em; } .scorium-titlebar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .scorium-titlebar i { color: var(--lime); font-style: normal; } .scorium-code { align-self: center; min-width: 0; margin: 0; padding: clamp(1.2rem, 3vw, 2.2rem); overflow: hidden; border: 0; background: transparent; color: var(--text); font: 500 clamp(0.67rem, 1.05vw, 0.93rem)/1.65 var(--mono); white-space: pre; } .scorium-code .scorium-dim { display: inline-block; width: 2.25em; color: #60737b; font-weight: 400; } .scorium-line { display: block; min-height: 1.65em; } .scorium-indent { display: inline-block; width: 2.2em; } .scorium-indent-double { width: 4.4em; } .scorium-code b { color: var(--cyan); font-weight: 600; } .scorium-code em { color: var(--coral-bright); font-style: normal; } .scorium-code strong { color: var(--lime); font-weight: 500; } .scorium-code i { color: var(--yellow); font-style: normal; } .scorium-diagnostic { display: flex; min-height: 2.9rem; padding: 0 1rem; border-top: 2px solid rgba(237, 241, 233, 0.16); color: var(--muted); font-family: var(--mono); font-size: 0.61rem; letter-spacing: 0.03em; align-items: center; gap: 0.65rem; } .scorium-diagnostic i { width: 0.55rem; height: 0.55rem; flex: 0 0 auto; background: var(--lime); } .scorium-pipeline { position: absolute; z-index: 2; right: 2rem; bottom: 2rem; left: 2rem; display: flex; padding-top: 0.8rem; border-top: 3px solid var(--ink); color: var(--ink); font-family: var(--mono); font-size: clamp(0.54rem, 0.8vw, 0.68rem); letter-spacing: 0.05em; text-transform: uppercase; align-items: center; justify-content: space-between; gap: 0.6rem; } .scorium-pipeline b { font-weight: 600; } .scorium-pipeline i { color: #765b4d; font-style: normal; } .scorium-watermark { position: absolute; z-index: 1; right: -0.04em; bottom: -0.2em; color: rgba(17, 23, 26, 0.1); font-family: var(--display); font-size: clamp(7rem, 15vw, 14rem); letter-spacing: -0.08em; line-height: 0.8; pointer-events: none; } .project-visual-scorium .image-label { z-index: 3; right: auto; bottom: auto; left: 0; top: 0; transform: translate(-2px, -100%); } .project-feature-scorium .project-feature-copy { border-top-color: var(--coral); } .scorium-tags { margin: -0.2rem 0 1.4rem; color: var(--muted); } .project-facts { border-top-width: 3px; border-bottom-width: 2px; } .project-facts strong { color: var(--lime); } .project-facts span { font-size: 0.62rem; } /* Flux visual card — bring the glassy/rounded chrome in line with the flat, bordered, no-blur language used by the rest of the site (image-label, current-roadmap badges, tag-row). */ .flux-chrome i { border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(11, 16, 20, 0.5); } .flux-icon { box-shadow: 0 0.6rem 1.6rem rgba(4, 9, 13, 0.4); } .project-visual-flux:hover .flux-icon { box-shadow: 0 0.9rem 2rem rgba(4, 9, 13, 0.45); } .flux-tags span { border: 1px solid var(--line); border-radius: 0; background: rgba(11, 16, 20, 0.72); color: var(--text); backdrop-filter: none; -webkit-backdrop-filter: none; } .flux-stack { border: 1px solid var(--line); border-radius: 0; background: rgba(11, 16, 20, 0.78); backdrop-filter: none; -webkit-backdrop-filter: none; } .flux-stack > b { border-bottom: 1px solid rgba(237, 241, 233, 0.2); color: var(--muted); } .flux-stack-row + .flux-stack-row { border-top: 1px solid rgba(237, 241, 233, 0.12); } .flux-stack-row > span:first-child { color: var(--cyan); } .flux-stack-row > span:last-child { color: var(--text); } .flux-stack-row small { color: var(--muted); } .flux-status { color: var(--text); } .flux-status i { border-radius: 50%; box-shadow: none; } .flux-watermark { color: rgba(255, 255, 255, 0.22); } .text-link { border-bottom-width: 3px; font-size: 0.74rem; } .project-grid { gap: 1.5rem; margin-bottom: 3.5rem; grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); align-items: start; } .project-card { min-height: 31rem; overflow: hidden; border: 3px solid var(--ink); border-radius: 0; transition: transform 220ms ease, box-shadow 220ms ease; } .project-card:hover { transform: translate(-0.35rem, -0.35rem); box-shadow: 0.55rem 0.55rem 0 rgba(237, 241, 233, 0.24); } .project-card-warm { background: var(--coral); } .project-card-cool { margin-top: 5rem; background: var(--cyan); } .project-card h3 { font-size: clamp(3rem, 5.5vw, 5.6rem); } .project-card p:last-child { font-size: 0.88rem; } .card-footer > a { width: auto; height: auto; padding: 0.35rem 0; border: 0; border-bottom: 3px solid var(--ink); border-radius: 0; } .card-footer > a:hover { transform: none; background: transparent; color: var(--ink); } .project-list { margin-bottom: 4rem; border-top: 5px solid var(--text); } .project-row { min-height: 8.5rem; border-bottom: 2px solid var(--line); grid-template-columns: 2.5rem minmax(12rem, 0.65fr) minmax(16rem, 1fr) minmax(8rem, auto) 2rem; } .project-row:hover { padding-right: 0; padding-left: 1rem; background: transparent; box-shadow: inset 0.45rem 0 var(--coral); } .row-index, .row-tech, .project-row > div > p { font-size: 0.66rem; } .project-row h3 { font-size: clamp(1.55rem, 2.5vw, 2.35rem); } .project-row > p { font-size: 0.8rem; } .modrinth-panel { margin-top: 0; padding: clamp(2rem, 4vw, 3.5rem); border: 4px solid #68dc91; border-radius: 0; background: #14251b; } .modrinth-heading { margin-bottom: 3.5rem; align-items: start; } .modrinth-label { font-size: 0.7rem; } .modrinth-label span { width: 0.65rem; height: 0.65rem; border-radius: 0; box-shadow: none; } .modrinth-heading h3 { font-size: clamp(2.8rem, 5vw, 5rem); } .modrinth-grid { display: block; border-top: 4px solid #68dc91; } .modrinth-item, .modrinth-item:nth-child(odd), .modrinth-item:nth-child(even) { min-height: 6.4rem; padding: 1rem 0; border-right: 0; border-bottom: 1px solid rgba(99, 220, 138, 0.45); grid-template-columns: 3rem minmax(12rem, 1fr) minmax(11rem, 1fr) minmax(12rem, auto); } .modrinth-item:hover { padding-right: 0; padding-left: 0.75rem; background: transparent; box-shadow: inset 0.35rem 0 #68dc91; } .modrinth-item strong { font-family: var(--mono); font-size: 1rem; } .modrinth-item small { display: block; } .modrinth-item small, .modrinth-item b { font-size: 0.66rem; } .modrinth-summary { border-top-width: 3px; border-top-color: rgba(104, 220, 145, 0.4); font-size: 0.9rem; } .modrinth-stats strong { font-size: clamp(2.2rem, 4.5vw, 3.2rem); } .archive-section .section-heading { margin-bottom: 3rem; } .archive-grid { display: block; border-top: 5px solid var(--ink); counter-reset: archive-index; } .archive-item, .archive-item:nth-child(odd), .archive-item:nth-child(even) { position: relative; min-height: 5.25rem; padding: 0.9rem 0 0.9rem 3rem; border-right: 0; border-bottom: 1px solid var(--line-dark); grid-template-columns: minmax(13rem, 0.75fr) 1fr auto; transition: padding 180ms ease, background 180ms ease; } .archive-item::before { position: absolute; top: 50%; left: 0.9rem; color: var(--muted-dark); counter-increment: archive-index; content: counter(archive-index, decimal-leading-zero); transform: translateY(-50%); font-family: var(--mono); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.02em; } .archive-item::after { position: absolute; top: 0.7rem; bottom: 0.7rem; left: 0; width: 3px; background: var(--coral); opacity: 0.55; content: ""; transition: opacity 180ms ease, width 180ms ease; } .archive-item:nth-child(4n + 2)::after { background: var(--cyan); } .archive-item:nth-child(4n + 3)::after { background: var(--lime); } .archive-item:nth-child(4n)::after { background: var(--yellow); } .archive-item:hover { padding-right: 0; padding-left: 3.4rem; background: rgba(17, 23, 26, 0.045); } .archive-item:hover::after { width: 4px; opacity: 1; } .archive-item span { font-family: var(--mono); font-size: 1rem; font-weight: 600; } .archive-item small { font-size: 0.7rem; } .stack-layout { gap: 0; border-top: 5px solid var(--text); grid-template-columns: repeat(3, minmax(0, 1fr)); } .stack-section { padding-bottom: 4rem; } .stack-card, .stack-card-main, .stack-card:not(.stack-card-main, .stack-card-learning) { min-height: 24rem; padding: 2rem 2rem 2rem 0; border: 0; border-right: 2px solid var(--line); border-radius: 0; background: transparent; grid-column: auto; grid-row: auto; } .stack-card:nth-child(2), .stack-card:nth-child(3) { padding-left: 2rem; } .stack-card:nth-child(3) { border-right: 0; } .stack-card h3 { min-height: 2.2em; font-size: clamp(2rem, 3.2vw, 3.4rem); } .stack-tags { display: block; } .stack-tags span { display: block; padding: 0.5rem 0; border: 0; border-bottom: 1px dashed var(--line); border-radius: 0; background: transparent; color: var(--text); font-size: 0.72rem; transition: padding 160ms ease, color 160ms ease; } .stack-tags span:hover { padding-left: 0.65rem; color: var(--cyan); } .stack-tags span.tag-strong { border-bottom: 1px solid var(--coral); font-weight: 600; } .stack-tags span.tag-strong:hover { background-position: 100% 50%; } .stack-intro { margin-top: 1rem; font-size: 0.82rem; } .stack-card-learning { display: grid; min-height: auto; margin-top: 1.5rem; padding: 2rem; border: 3px solid var(--ink); background: var(--lime); grid-column: 1 / -1; grid-template-columns: 0.3fr 1fr 1fr; transition: transform 220ms ease; } .stack-card-learning:hover { transform: translateX(0.4rem); } .stack-card-learning h3 { min-height: 0; } .stack-card-learning p { font-size: 0.82rem; } .contact-section { padding-top: clamp(4.5rem, 7vw, 7rem); padding-bottom: clamp(4.5rem, 7vw, 7rem); background: var(--coral); box-shadow: 0 0 0 100vmax var(--coral); } .contact-section h2 { max-width: none; margin-bottom: 2rem; font-size: clamp(5rem, 12vw, 11rem); line-height: 0.82; } .contact-orbit { display: block; opacity: 0.62; pointer-events: none; animation: orbit-rotate 36s linear infinite; } .contact-copy { max-width: 50rem; margin-bottom: 3rem; font-size: 1rem; } .contact-links { border-top: 5px solid var(--ink); border-bottom: 2px solid var(--ink); } .contact-links a, .contact-links button { min-height: 7rem; border-bottom: 0; } .contact-links > * + * { border-left: 2px solid var(--ink); } .contact-links a:hover, .contact-links button:hover { padding-right: 1.3rem; padding-left: 1.3rem; background: transparent; color: var(--ink); box-shadow: inset 0 -0.55rem var(--yellow); } .contact-links span { font-size: clamp(1.4rem, 2.3vw, 2.2rem); } .site-footer { min-height: 7rem; border-top: 2px solid var(--line); } .site-footer p { font-size: 0.66rem; } .error-shell { border: 4px solid var(--paper); border-radius: 0; background: var(--bg); box-shadow: 0.75rem 0.75rem 0 var(--coral); } .js .reveal { opacity: 0; transform: translateY(1rem); transition: opacity 480ms ease, transform 480ms cubic-bezier(0.2, 0.75, 0.25, 1); } .js .reveal.is-visible { opacity: 1; transform: translateY(0); } #glitch-name { position: relative; width: fit-content; cursor: crosshair; isolation: isolate; transition: color 150ms ease; will-change: transform; } #glitch-name::before, #glitch-name::after { position: absolute; z-index: -1; inset: 0; display: block; opacity: 0; content: attr(data-text); pointer-events: none; } .glitch-active #glitch-name { color: var(--coral-bright); animation: glitch-float 900ms steps(2, end) infinite; } .glitch-active #glitch-name::before { opacity: 0.72; color: var(--cyan); clip-path: inset(8% 0 56% 0); animation: glitch-slice-a 420ms steps(2, end) infinite; } .glitch-active #glitch-name::after { opacity: 0.68; color: var(--lime); clip-path: inset(58% 0 5% 0); animation: glitch-slice-b 570ms steps(2, end) infinite reverse; } .glitch-active .page-grid { opacity: 0.4; } .glitch-field { position: fixed; z-index: 90; inset: 0; overflow: hidden; contain: strict; pointer-events: none; } .glitch-glyph { position: absolute; top: var(--y); left: var(--x); color: var(--coral); font: 600 var(--size) var(--mono); line-height: 1; opacity: 0; text-shadow: 2px 0 var(--bg); animation: glyph-escape var(--life) steps(9, end) forwards; will-change: transform, opacity; } .glitch-glyph.is-cyan { color: var(--cyan); } .glitch-glyph.is-lime { color: var(--lime); } .glitch-glyph.is-paper { color: var(--paper); } @keyframes glitch-float { 0%, 100% { transform: translate(0, 0) rotate(0); } 20% { transform: translate(0.08em, -0.04em) rotate(0.25deg); } 42% { transform: translate(-0.035em, 0.025em) rotate(-0.2deg); } 68% { transform: translate(0.025em, -0.06em) rotate(0.15deg); } 82% { transform: translate(-0.06em, 0.015em) rotate(-0.15deg); } } @keyframes glitch-slice-a { 0%, 100% { transform: translate(-0.055em, -0.015em); } 35% { transform: translate(0.09em, 0.02em); } 70% { transform: translate(-0.02em, 0.045em); } } @keyframes glitch-slice-b { 0%, 100% { transform: translate(0.065em, 0.025em); } 45% { transform: translate(-0.08em, -0.02em); } 75% { transform: translate(0.025em, -0.05em); } } @keyframes glyph-escape { 0% { opacity: 0; transform: translate(-50%, -50%) scale(0.55) rotate(0); } 14%, 62% { opacity: 0.9; } 100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.15) rotate(var(--rot)); } } @keyframes orbit-rotate { to { transform: rotate(1turn); } } @media (max-width: 68rem) { .hero { min-height: auto; grid-template-columns: 1fr; } .hero-copy { max-width: 70rem; } .terminal-card { width: min(100%, 44rem); margin: 1rem auto 2rem; } .section-heading, .section-heading-row { grid-template-columns: 1fr; } .section-heading h2 { grid-column: 1; } .section-heading-row > p, .archive-section .section-heading-row > .text-link { margin: 1.5rem 0 0; } .current-project { grid-template-columns: 1fr; } .current-roadmap { border-top: 3px solid rgba(23, 20, 15, 0.7); border-left: 0; } .project-feature { grid-template-columns: 1fr; } .project-feature-copy h3 { margin-top: 4rem; } .project-grid { grid-template-columns: 1fr; } .project-card-cool { width: 86%; margin: 0 0 0 auto; } .project-row { grid-template-columns: 2rem minmax(11rem, 0.6fr) minmax(15rem, 1fr) 2rem; } .row-tech { display: none; } .modrinth-item, .modrinth-item:nth-child(odd), .modrinth-item:nth-child(even) { grid-template-columns: 2.5rem minmax(10rem, 1fr) minmax(10rem, 1fr) auto; } } @media (max-width: 52rem) { .site-header { top: 0; width: 100%; padding-right: 1rem; padding-left: 1rem; } .nav-toggle { display: inline-flex; align-items: center; gap: 0.8rem; padding: 0.7rem 0; border: 0; background: transparent; color: var(--text); font: 600 0.75rem var(--mono); letter-spacing: 0.08em; text-transform: uppercase; } .nav-toggle span:last-child { color: var(--coral); font-size: 1rem; transition: transform 180ms ease; } .site-header.is-nav-open .nav-toggle span:last-child { transform: rotate(45deg); } .site-nav { position: absolute; top: 100%; right: 0; left: 0; display: grid; padding: 0 1rem 1rem; transform: translateY(-0.5rem); border-bottom: 2px solid var(--line); background: var(--bg); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; opacity: 0; pointer-events: none; transition: opacity 160ms ease, transform 160ms ease, visibility 160ms; visibility: hidden; } .site-header.is-nav-open .site-nav { transform: translateY(0); opacity: 1; pointer-events: auto; visibility: visible; } .site-nav > a:not(.nav-pill) { display: flex; min-height: 3.25rem; align-items: center; border-bottom: 1px solid var(--line); color: var(--text); } .site-nav > a:nth-of-type(even):not(.nav-pill) { padding-left: 1rem; border-left: 1px solid var(--line); } .site-nav .nav-pill { min-height: 3.25rem; padding: 0; border: 0; border-bottom: 1px solid var(--line); grid-column: 1 / -1; } .nav-gooey { display: none; } .nav-pill { padding-left: 0.8rem; } .hero { padding-top: 7.5rem; padding-bottom: 4.5rem; } .hero h1 { font-size: clamp(3.7rem, 17vw, 6rem); } .hero-liquid-pre { color: rgba(143, 212, 208, 0.32); } .hero-copy { text-shadow: 0 1px 1px rgba(16, 26, 33, 0.55); } .hero-signals { grid-template-columns: 1fr; } .hero-signals li, .hero-signals li + li { padding: 0.65rem 0; border-top: 1px solid var(--line); border-left: 0; } .hero-signals span { display: inline; margin-right: 0.7rem; } .terminal-card { box-shadow: none; transform: none; } .terminal-body { min-height: 22rem; padding: 1.4rem; } .profile-chip { position: relative; right: auto; bottom: auto; width: calc(100% - 1.4rem); margin: 0.7rem 0.7rem -2.4rem; transform: rotate(-1deg); } .signal-track { width: max-content; justify-content: flex-start; } .section-heading h2 { font-size: clamp(2.8rem, 13vw, 4.8rem); } .stack-intro { max-width: 36rem; margin-top: 1.5rem; grid-column: 1; } .about-layout { grid-template-columns: 1fr; } .method-grid { grid-template-columns: 1fr; } .method-card { min-height: auto; padding: 1.5rem 0 2rem; } .method-card + .method-card { border-top: 2px solid var(--ink); border-left: 0; } .method-card h3 { margin-top: 2rem; } .current-project { border-width: 2px; } .current-project h3 { font-size: clamp(3.1rem, 16.5vw, 6rem); } .current-kicker { margin-top: 4rem; } .project-visual { min-height: 20rem; } .project-visual-scorium { min-height: 28rem; } .scorium-window { top: 6%; right: 1.1rem; bottom: 19%; left: 1.1rem; box-shadow: 0.55rem 0.55rem 0 rgba(17, 23, 26, 0.2); } .scorium-titlebar { min-height: 3rem; } .scorium-titlebar span { display: none; } .scorium-titlebar { grid-template-columns: 1fr auto; } .scorium-code { padding: 1rem; font-size: clamp(0.56rem, 2.35vw, 0.72rem); } .scorium-pipeline { right: 1rem; bottom: 1.35rem; left: 1rem; } .scorium-pipeline i { display: none; } .project-card-cool { width: 94%; } .project-row { grid-template-columns: 2rem 1fr 2rem; } .project-row > p, .row-tech { display: none; } .modrinth-heading { display: block; } .modrinth-heading .text-link { margin-top: 2rem; } .modrinth-item, .modrinth-item:nth-child(odd), .modrinth-item:nth-child(even) { grid-template-columns: 2.2rem minmax(0, 1fr); } .modrinth-item small { display: none; } .modrinth-item b { grid-column: 2; justify-self: start; text-align: left; } .archive-item, .archive-item:nth-child(odd), .archive-item:nth-child(even) { grid-template-columns: 1fr auto; } .archive-item small { grid-column: 1; grid-row: 2; } .archive-item b { grid-column: 2; grid-row: 1 / 3; } .stack-layout { display: block; } .stack-card, .stack-card-main, .stack-card:not(.stack-card-main, .stack-card-learning) { min-height: auto; padding: 2rem 0; border-right: 0; border-bottom: 2px solid var(--line); } .stack-card:nth-child(2), .stack-card:nth-child(3) { padding-left: 0; } .stack-card h3 { min-height: 0; } .stack-card-learning { display: block; margin-top: 2rem; padding: 1.5rem; } .stack-card-learning h3 { margin-bottom: 1.5rem; } .contact-section h2 { font-size: clamp(4rem, 22vw, 7rem); } .contact-links { grid-template-columns: 1fr; } .contact-links a, .contact-links button { min-height: 5.5rem; padding-left: 0; border-bottom: 2px solid var(--ink); } .contact-links > * + * { padding-left: 0; border-left: 0; } .site-footer { grid-template-columns: 1fr auto; } } @media (max-width: 36rem) { .hero-actions { display: flex; } .button { width: auto; } .current-project-main, .current-roadmap, .project-card, .modrinth-panel { padding: 1.35rem; } .current-project h3 { font-size: clamp(3rem, 16vw, 5rem); } .project-card h3 { font-size: clamp(2.7rem, 14vw, 4.5rem); } } /* Product-led project cards: quieter surfaces, tighter hierarchy, and real product evidence in place of the earlier oversized ASCII treatments. */ .current-project-tide { min-height: 36rem; border: 1px solid rgba(143, 212, 208, 0.55); background: radial-gradient(circle at 8% 100%, rgba(92, 196, 192, 0.16), transparent 28rem), linear-gradient(135deg, #102832 0%, #101d26 58%, #0c171e 100%); color: var(--text); grid-template-columns: minmax(0, 1.4fr) minmax(21rem, 0.72fr); box-shadow: 0 1.8rem 5rem rgba(3, 9, 13, 0.24); } .current-project-tide:hover { transform: translateY(-0.2rem); border-color: var(--cyan); } .current-project-tide::after { position: absolute; z-index: 0; right: 24%; bottom: -14rem; width: 44rem; height: 25rem; border: 1px solid rgba(143, 212, 208, 0.12); border-radius: 50%; box-shadow: 0 -2.5rem 0 rgba(143, 212, 208, 0.025), 0 -5rem 0 rgba(143, 212, 208, 0.025), 0 -7.5rem 0 rgba(143, 212, 208, 0.025); content: ""; pointer-events: none; } .current-project-tide .current-project-main { padding: clamp(2rem, 4vw, 3.8rem); } .current-project-tide .current-meta { border-bottom-color: rgba(143, 212, 208, 0.3); color: var(--muted); } .current-project-tide .current-meta > span:last-child { color: var(--cyan); } .current-project-tide .current-meta i { border-radius: 50%; background: var(--lime); } .current-project-tide .current-kicker { margin: clamp(3.2rem, 7vw, 6rem) 0 0.9rem; color: var(--cyan); } .current-project-tide .tide-heading { gap: clamp(0.8rem, 1.8vw, 1.4rem); } .current-project-tide .tide-heading h3 { color: var(--paper); font-size: clamp(4.2rem, 7.4vw, 7.4rem); line-height: 0.88; } .current-project-tide .tide-mark { width: clamp(3rem, 4.5vw, 4.2rem); height: clamp(3rem, 4.5vw, 4.2rem); filter: drop-shadow(0 0.7rem 1rem rgba(60, 166, 182, 0.22)); } .current-project-tide .current-project-main > p:not(.current-kicker) { max-width: 50rem; margin: 1.8rem 0 0; color: #c7d4d2; font-size: 0.9rem; line-height: 1.72; } .tide-proof { position: relative; z-index: 2; display: grid; max-width: 48rem; margin: 2rem 0 1.7rem; border-top: 1px solid rgba(143, 212, 208, 0.32); border-bottom: 1px solid rgba(143, 212, 208, 0.2); grid-template-columns: repeat(3, 1fr); } .tide-proof div { padding: 1rem 0.9rem 1rem 0; } .tide-proof div + div { padding-left: 1rem; border-left: 1px solid rgba(143, 212, 208, 0.2); } .tide-proof strong, .tide-proof span { display: block; } .tide-proof strong { color: var(--lime); font-family: var(--display); font-size: clamp(1.2rem, 2vw, 1.8rem); font-weight: 400; letter-spacing: -0.04em; } .tide-proof span { margin-top: 0.2rem; color: var(--muted); font-size: 0.57rem; letter-spacing: 0.05em; text-transform: uppercase; } .current-project-tide .current-tags { color: var(--muted); } .current-project-tide .current-repo-link { color: var(--text); } .current-project-tide .current-roadmap { z-index: 2; padding: clamp(2rem, 3.2vw, 3rem); border-left: 1px solid rgba(143, 212, 208, 0.26); background: rgba(7, 18, 24, 0.42); color: var(--text); } .current-project-tide .current-roadmap > p { color: var(--cyan); } .current-project-tide .current-roadmap ol { border-top-color: rgba(143, 212, 208, 0.55); } .current-project-tide .current-roadmap li { min-height: 6.2rem; border-bottom-color: rgba(143, 212, 208, 0.2); grid-template-columns: 1.7rem minmax(0, 1fr) auto; } .current-project-tide .current-roadmap li > span { color: #6ca3a7; } .current-project-tide .current-roadmap strong { color: var(--text); } .current-project-tide .current-roadmap small { max-width: 28rem; color: #9eb1b2; line-height: 1.45; overflow-wrap: anywhere; } .current-project-tide .current-roadmap li > b { background: rgba(200, 238, 128, 0.12); color: var(--lime); } .current-project-tide .current-roadmap li:last-child > b { background: rgba(240, 153, 110, 0.12); color: var(--coral-bright); } .current-project-tide .current-watermark { right: auto; bottom: -0.24em; left: -0.04em; color: rgba(143, 212, 208, 0.045); font-size: clamp(10rem, 18vw, 17rem); } .project-visual-flux { min-height: 36rem; padding: 0; border-color: rgba(186, 177, 238, 0.55); background: radial-gradient(circle at 88% 12%, rgba(184, 146, 255, 0.2), transparent 24rem), linear-gradient(145deg, #1a1d2a, #111821 72%); } .project-visual-flux::after { display: none; } .flux-product-frame { position: absolute; top: 2.2rem; right: 2.2rem; bottom: 6.5rem; left: 2.2rem; display: grid; min-width: 0; overflow: hidden; border: 1px solid rgba(237, 241, 233, 0.28); background: #0d1015; box-shadow: 1rem 1rem 0 rgba(111, 92, 170, 0.14); grid-template-rows: auto minmax(0, 1fr); } .flux-product-bar { display: grid; min-height: 2.9rem; padding: 0 1rem; border-bottom: 1px solid rgba(237, 241, 233, 0.16); color: var(--muted); font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.06em; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.9rem; text-transform: uppercase; } .flux-product-bar > span { display: flex; gap: 0.35rem; } .flux-product-bar i { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--coral); } .flux-product-bar i:nth-child(2) { background: var(--yellow); } .flux-product-bar i:nth-child(3) { background: var(--lime); } .flux-product-bar b { color: var(--text); font-weight: 500; } .flux-product-bar em { color: var(--cyan); font-style: normal; } .project-visual-flux .flux-product-shot { position: relative; width: 100%; height: 100%; min-height: 0; border: 0; filter: saturate(0.84) contrast(1.04); object-fit: cover; object-position: left center; transform: none; transition: filter 250ms ease, transform 500ms ease; } .project-visual-flux:hover .flux-product-shot { filter: saturate(1) contrast(1.03); transform: scale(1.012); } .flux-product-caption { position: absolute; z-index: 3; right: 2.2rem; bottom: 1.5rem; display: flex; min-width: 18rem; padding: 0.65rem 0.8rem; border: 1px solid rgba(237, 241, 233, 0.25); background: #171d27; color: var(--text); align-items: center; gap: 0.8rem; } .project-visual-flux .flux-product-caption img { width: 2.8rem; height: 2.8rem; border-radius: 22%; filter: none; object-fit: contain; transform: none; } .flux-product-caption span, .flux-product-caption strong, .flux-product-caption small { display: block; } .flux-product-caption strong { font-family: var(--mono); font-size: 0.68rem; font-weight: 600; } .flux-product-caption small { margin-top: 0.15rem; color: var(--muted); font-size: 0.55rem; } .project-visual-flux .image-label { right: auto; bottom: 1.8rem; left: 2.2rem; border-color: rgba(237, 241, 233, 0.22); } .project-visual-moonlit { min-height: 36rem; overflow: hidden; border-color: rgba(113, 177, 179, 0.58); background: radial-gradient(circle at 12% 90%, rgba(65, 147, 157, 0.18), transparent 24rem), linear-gradient(145deg, #0c2028, #0a141b 72%); } .project-visual-moonlit::after { display: none; } .moonlit-screen { position: absolute; top: 2.2rem; right: 2.2rem; bottom: 6.6rem; left: 2.2rem; display: block; overflow: hidden; border: 1px solid rgba(143, 212, 208, 0.42); background: #071219; box-shadow: 1rem 1rem 0 rgba(31, 103, 112, 0.15); } .moonlit-camera { position: absolute; z-index: 3; top: 0.45rem; left: 50%; width: 0.35rem; height: 0.35rem; transform: translateX(-50%); border: 1px solid rgba(237, 241, 233, 0.22); border-radius: 50%; background: #03090d; } .project-visual-moonlit .moonlit-screen > img { position: absolute; inset: 0; width: 100%; height: 100%; filter: saturate(0.92) contrast(1.04) brightness(0.98); object-fit: contain; object-position: center; transform: none; transition: filter 300ms ease, transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1); } .project-visual-moonlit:hover .moonlit-screen > img { filter: saturate(1) contrast(1.03) brightness(1.03); transform: scale(1.008); } .moonlit-session { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; left: 1rem; display: grid; min-height: 3.4rem; padding: 0.7rem 0.85rem; border: 1px solid rgba(143, 212, 208, 0.28); background: rgba(5, 17, 24, 0.84); color: var(--text); font-family: var(--mono); grid-template-columns: 1fr auto; align-content: center; backdrop-filter: blur(0.5rem); } .moonlit-session b, .moonlit-session span, .moonlit-session i { display: block; } .moonlit-session b { font-size: 0.68rem; font-weight: 600; } .moonlit-session span { margin-top: 0.12rem; color: #9eb7b8; font-size: 0.54rem; } .moonlit-session i { color: var(--lime); font-size: 0.56rem; font-style: normal; letter-spacing: 0.08em; grid-column: 2; grid-row: 1 / 3; align-self: center; } .moonlit-specs { position: absolute; z-index: 3; right: 2.2rem; bottom: 1.5rem; display: flex; color: #aebfc0; font-family: var(--mono); font-size: 0.54rem; letter-spacing: 0.03em; gap: 1.1rem; } .moonlit-specs span + span::before { margin-right: 1.1rem; color: #4c6e72; content: "/"; } .moonlit-specs b { color: var(--cyan); font-weight: 600; text-transform: uppercase; } .project-visual-moonlit .image-label { right: auto; bottom: 1.35rem; left: 2.2rem; border-color: rgba(143, 212, 208, 0.24); } article[data-repo="Moonlit-shell"] .project-feature-copy { border-top-color: var(--cyan); } .contact-links { grid-template-columns: repeat(4, minmax(0, 1fr)); } @media (max-width: 68rem) { .current-project-tide { grid-template-columns: 1fr; } .current-project-tide .current-roadmap { border-top: 1px solid rgba(143, 212, 208, 0.26); border-left: 0; } .contact-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } .contact-links > *:nth-child(odd) { padding-left: 0; border-left: 0; } .contact-links > *:nth-child(n + 3) { border-top: 2px solid var(--ink); } } @media (max-width: 52rem) { .current-project-tide .current-kicker { margin-top: 3rem; } .current-project-tide .tide-heading h3 { font-size: clamp(3.2rem, 15vw, 5rem); } .tide-proof { grid-template-columns: 1fr; } .tide-proof div, .tide-proof div + div { padding: 0.75rem 0; border-top: 1px solid rgba(143, 212, 208, 0.18); border-left: 0; } .tide-proof div:first-child { border-top: 0; } .project-visual-flux { min-height: 27rem; } .project-visual-moonlit { min-height: 27rem; } .flux-product-frame { top: 1rem; right: 1rem; bottom: 5.8rem; left: 1rem; box-shadow: 0.55rem 0.55rem 0 rgba(111, 92, 170, 0.14); } .flux-product-bar { padding: 0 0.7rem; } .flux-product-caption { right: 1rem; bottom: 0.9rem; min-width: 0; } .project-visual-flux .image-label { bottom: 1.2rem; left: 1rem; } .moonlit-screen { top: 1rem; right: 1rem; bottom: 5.8rem; left: 1rem; box-shadow: 0.55rem 0.55rem 0 rgba(31, 103, 112, 0.15); } .moonlit-session { right: 0.6rem; bottom: 0.6rem; left: 0.6rem; } .moonlit-specs { right: 1rem; bottom: 1.25rem; gap: 0.55rem; } .moonlit-specs span + span::before { margin-right: 0.55rem; } .project-visual-moonlit .image-label { bottom: 1.1rem; left: 1rem; } .contact-links { grid-template-columns: 1fr; } .contact-links > * + *, .contact-links > *:nth-child(n + 3) { padding-left: 0; border-top: 0; border-left: 0; } } @media (max-width: 36rem) { .current-project-tide .current-project-main, .current-project-tide .current-roadmap { padding: 1.35rem; } .flux-product-caption { display: none; } .moonlit-session span, .moonlit-specs { display: none; } .moonlit-session { grid-template-columns: 1fr auto; } .project-visual-flux .image-label { right: 1rem; } } @media print { .site-header, .signal-strip { display: none; } }