| |
| |
|
|
|
|
| :root {
|
| --background: #FFFFFF;
|
| --foreground: #000000;
|
| --muted: #F5F5F5;
|
| --muted-fg: #525252;
|
| --border: #000000;
|
| --border-light: #E5E5E5;
|
| }
|
|
|
| * { box-sizing: border-box; margin: 0; padding: 0; }
|
|
|
| html, body {
|
| background: var(--background);
|
| color: var(--foreground);
|
| font-family: "Source Serif 4", Georgia, serif;
|
| font-size: 17px;
|
| line-height: 1.6;
|
| -webkit-font-smoothing: antialiased;
|
| }
|
|
|
|
|
| body {
|
| position: relative;
|
| }
|
| body::before {
|
| content: "";
|
| position: fixed;
|
| inset: 0;
|
| pointer-events: none;
|
| z-index: 1;
|
| background-image: repeating-linear-gradient(
|
| 0deg, transparent, transparent 1px, #000 1px, #000 2px
|
| );
|
| background-size: 100% 4px;
|
| opacity: 0.015;
|
| }
|
| body::after {
|
| content: "";
|
| position: fixed;
|
| inset: 0;
|
| pointer-events: none;
|
| z-index: 1;
|
| background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
|
| opacity: 0.025;
|
| }
|
|
|
|
|
| .topbar, .hero, .section, .divider, .footer { position: relative; z-index: 2; }
|
|
|
|
|
| .mono {
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.75rem;
|
| letter-spacing: 0.1em;
|
| text-transform: uppercase;
|
| font-weight: 500;
|
| }
|
| .italic { font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 400; }
|
|
|
| .skip-link {
|
| position: absolute;
|
| left: -9999px;
|
| top: 0;
|
| background: #000;
|
| color: #fff;
|
| padding: 12px 20px;
|
| text-decoration: none;
|
| z-index: 999;
|
| }
|
| .skip-link:focus { left: 0; }
|
|
|
| |
| |
|
|
| .topbar {
|
| border-bottom: 1px solid var(--foreground);
|
| background: var(--background);
|
| }
|
| .topbar__inner {
|
| max-width: 1280px;
|
| margin: 0 auto;
|
| padding: 18px 32px;
|
| display: flex;
|
| justify-content: space-between;
|
| align-items: center;
|
| gap: 16px;
|
| flex-wrap: wrap;
|
| }
|
| .topbar__brand {
|
| display: flex;
|
| align-items: center;
|
| gap: 14px;
|
| font-family: "Playfair Display", Georgia, serif;
|
| font-size: 1.125rem;
|
| letter-spacing: -0.01em;
|
| }
|
| .topbar__mark {
|
| width: 14px;
|
| height: 14px;
|
| background: #000;
|
| display: inline-block;
|
| }
|
| .topbar__name em { font-style: italic; padding: 0 4px; }
|
| .topbar__meta {
|
| display: flex;
|
| align-items: center;
|
| gap: 12px;
|
| color: var(--muted-fg);
|
| }
|
| .topbar__sep { color: var(--border-light); }
|
| .status-dot {
|
| width: 10px;
|
| height: 10px;
|
| display: inline-block;
|
| border: 1.5px solid #000;
|
| background: #fff;
|
| }
|
| .status-dot[data-state="on"] { background: #000; }
|
| .status-dot[data-state="warn"]{ background: repeating-linear-gradient(45deg,#000,#000 2px,#fff 2px,#fff 4px); }
|
|
|
| |
| |
|
|
| .hero {
|
| padding: 120px 32px 80px;
|
| border-bottom: 1px solid var(--border-light);
|
| }
|
| .hero__inner {
|
| max-width: 1280px;
|
| margin: 0 auto;
|
| }
|
| .hero__eyebrow {
|
| color: var(--muted-fg);
|
| margin-bottom: 40px;
|
| }
|
| .hero__title {
|
| font-family: "Playfair Display", Georgia, serif;
|
| font-weight: 900;
|
| font-size: clamp(4rem, 14vw, 11rem);
|
| line-height: 0.9;
|
| letter-spacing: -0.05em;
|
| margin-bottom: 56px;
|
| }
|
| .hero__title .italic {
|
| font-weight: 400;
|
| color: #000;
|
| }
|
| .hero__rule {
|
| display: flex;
|
| align-items: center;
|
| gap: 0;
|
| margin-bottom: 40px;
|
| }
|
| .hero__rule-line {
|
| flex: 1;
|
| height: 4px;
|
| background: #000;
|
| }
|
| .hero__rule-square {
|
| width: 18px;
|
| height: 18px;
|
| border: 2px solid #000;
|
| background: #fff;
|
| margin: 0 14px;
|
| }
|
| .hero__lede {
|
| font-family: "Playfair Display", Georgia, serif;
|
| font-style: italic;
|
| font-size: clamp(1.25rem, 2vw, 1.75rem);
|
| line-height: 1.4;
|
| max-width: 640px;
|
| color: #000;
|
| }
|
|
|
| |
| |
|
|
| .divider { background: #000; }
|
| .divider--thick { height: 4px; }
|
| .divider--ultra { height: 8px; }
|
|
|
| |
| |
|
|
| .section {
|
| padding: 96px 32px;
|
| }
|
| .section__inner {
|
| max-width: 1280px;
|
| margin: 0 auto;
|
| }
|
| .section__head {
|
| display: flex;
|
| align-items: baseline;
|
| gap: 24px;
|
| margin-bottom: 48px;
|
| padding-bottom: 20px;
|
| border-bottom: 1px solid var(--border-light);
|
| }
|
| .section__num {
|
| color: var(--muted-fg);
|
| flex-shrink: 0;
|
| }
|
| .section__title {
|
| font-family: "Playfair Display", Georgia, serif;
|
| font-weight: 700;
|
| font-size: clamp(2rem, 5vw, 3.5rem);
|
| letter-spacing: -0.03em;
|
| line-height: 1;
|
| }
|
|
|
|
|
| .section--stats {
|
| background: #000;
|
| color: #fff;
|
| position: relative;
|
| overflow: hidden;
|
| }
|
| .section--stats::before {
|
| content: "";
|
| position: absolute;
|
| inset: 0;
|
| background-image: repeating-linear-gradient(
|
| 90deg, transparent, transparent 1px, #fff 1px, #fff 2px
|
| );
|
| background-size: 4px 100%;
|
| opacity: 0.03;
|
| pointer-events: none;
|
| }
|
| .section__head--invert {
|
| border-bottom-color: rgba(255,255,255,0.2);
|
| }
|
| .section--stats .section__num { color: rgba(255,255,255,0.5); }
|
|
|
| |
| |
|
|
| .auth {
|
| display: grid;
|
| grid-template-columns: 1fr 1fr;
|
| gap: 32px;
|
| align-items: end;
|
| }
|
| .field {
|
| display: block;
|
| }
|
| .field__label {
|
| display: block;
|
| color: var(--muted-fg);
|
| margin-bottom: 12px;
|
| }
|
| .field__input {
|
| width: 100%;
|
| padding: 12px 0;
|
| background: transparent;
|
| border: none;
|
| border-bottom: 2px solid #000;
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 1rem;
|
| color: #000;
|
| border-radius: 0;
|
| }
|
| .field__input::placeholder {
|
| color: var(--muted-fg);
|
| font-style: italic;
|
| }
|
| .field__input:focus {
|
| outline: none;
|
| border-bottom-width: 4px;
|
| }
|
| .auth__actions {
|
| grid-column: 1 / -1;
|
| display: flex;
|
| gap: 16px;
|
| flex-wrap: wrap;
|
| margin-top: 24px;
|
| }
|
|
|
| |
| |
|
|
| .btn {
|
| display: inline-flex;
|
| align-items: center;
|
| gap: 12px;
|
| padding: 16px 32px;
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.8125rem;
|
| font-weight: 500;
|
| letter-spacing: 0.15em;
|
| text-transform: uppercase;
|
| border-radius: 0;
|
| cursor: pointer;
|
| transition: all 100ms linear;
|
| border: 2px solid #000;
|
| }
|
| .btn:focus-visible {
|
| outline: 3px solid #000;
|
| outline-offset: 3px;
|
| }
|
| .btn--primary {
|
| background: #000;
|
| color: #fff;
|
| }
|
| .btn--primary:hover {
|
| background: #fff;
|
| color: #000;
|
| }
|
| .btn--ghost {
|
| background: transparent;
|
| color: #000;
|
| border-color: transparent;
|
| border-bottom: 2px solid #000;
|
| padding: 16px 8px;
|
| }
|
| .btn--ghost:hover {
|
| border-bottom-width: 4px;
|
| padding-bottom: 14px;
|
| }
|
| .btn__arrow {
|
| display: inline-block;
|
| transition: transform 100ms linear;
|
| }
|
| .btn:hover .btn__arrow {
|
| transform: translateX(4px);
|
| }
|
|
|
| |
| |
|
|
| .errors { margin-top: 32px; }
|
| .errors:empty { display: none; }
|
| .error {
|
| border: 2px solid #000;
|
| padding: 20px 24px;
|
| margin-bottom: 12px;
|
| font-family: "Source Serif 4", Georgia, serif;
|
| display: flex;
|
| gap: 16px;
|
| align-items: flex-start;
|
| }
|
| .error__tag {
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.7rem;
|
| letter-spacing: 0.15em;
|
| text-transform: uppercase;
|
| background: #000;
|
| color: #fff;
|
| padding: 4px 10px;
|
| flex-shrink: 0;
|
| }
|
| .error__msg {
|
| font-style: italic;
|
| line-height: 1.5;
|
| word-break: break-word;
|
| }
|
|
|
| |
| |
|
|
| .stats {
|
| display: grid;
|
| grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
| gap: 0;
|
| border-top: 1px solid rgba(255,255,255,0.2);
|
| border-left: 1px solid rgba(255,255,255,0.2);
|
| }
|
| .stat {
|
| padding: 40px 32px;
|
| border-right: 1px solid rgba(255,255,255,0.2);
|
| border-bottom: 1px solid rgba(255,255,255,0.2);
|
| transition: background 100ms linear;
|
| }
|
| .stat:hover { background: rgba(255,255,255,0.04); }
|
| .stat__label {
|
| color: rgba(255,255,255,0.6);
|
| margin-bottom: 24px;
|
| }
|
| .stat__value {
|
| font-family: "Playfair Display", Georgia, serif;
|
| font-weight: 700;
|
| font-size: clamp(3rem, 6vw, 5rem);
|
| line-height: 0.9;
|
| letter-spacing: -0.04em;
|
| margin-bottom: 12px;
|
| }
|
| .stat__sub {
|
| color: rgba(255,255,255,0.5);
|
| font-size: 0.7rem;
|
| }
|
| .stat--placeholder .stat__value {
|
| color: rgba(255,255,255,0.3);
|
| }
|
|
|
| |
| |
|
|
| .placeholder {
|
| padding: 80px 0;
|
| text-align: center;
|
| color: var(--muted-fg);
|
| border-top: 1px solid var(--border-light);
|
| border-bottom: 1px solid var(--border-light);
|
| }
|
|
|
| |
| |
|
|
| .table-wrap {
|
| overflow-x: auto;
|
| border-top: 2px solid #000;
|
| border-bottom: 2px solid #000;
|
| }
|
| table.dataset {
|
| width: 100%;
|
| border-collapse: collapse;
|
| font-family: "Source Serif 4", Georgia, serif;
|
| }
|
| table.dataset thead th {
|
| text-align: left;
|
| padding: 18px 16px;
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.7rem;
|
| letter-spacing: 0.15em;
|
| text-transform: uppercase;
|
| font-weight: 500;
|
| color: var(--muted-fg);
|
| border-bottom: 1px solid #000;
|
| background: #fff;
|
| white-space: nowrap;
|
| }
|
| table.dataset tbody td {
|
| padding: 18px 16px;
|
| border-bottom: 1px solid var(--border-light);
|
| font-size: 0.95rem;
|
| vertical-align: middle;
|
| }
|
| table.dataset tbody tr {
|
| transition: background 100ms linear, color 100ms linear;
|
| }
|
| table.dataset tbody tr:hover {
|
| background: #000;
|
| color: #fff;
|
| }
|
| table.dataset tbody tr:hover .mono,
|
| table.dataset tbody tr:hover .meta {
|
| color: rgba(255,255,255,0.7);
|
| }
|
| table.dataset tbody tr:hover .badge {
|
| background: #fff;
|
| color: #000;
|
| }
|
| table.dataset tbody tr:hover .bar {
|
| background: rgba(255,255,255,0.2);
|
| }
|
| table.dataset tbody tr:hover .bar__fill {
|
| background: #fff;
|
| }
|
|
|
| .idx { color: var(--muted-fg); width: 48px; font-family: "JetBrains Mono", monospace; font-size: 0.8rem; }
|
| .headline { font-family: "Playfair Display", Georgia, serif; font-size: 1.1rem; font-weight: 700; letter-spacing: -0.01em; }
|
| .meta { color: var(--muted-fg); font-size: 0.8rem; font-family: "JetBrains Mono", monospace; }
|
|
|
|
|
| .badge {
|
| display: inline-block;
|
| padding: 4px 10px;
|
| border: 1px solid #000;
|
| background: #fff;
|
| color: #000;
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.7rem;
|
| letter-spacing: 0.1em;
|
| text-transform: uppercase;
|
| font-weight: 500;
|
| }
|
| .badge--solid { background: #000; color: #fff; }
|
| .badge--empty { border-color: var(--border-light); color: var(--muted-fg); }
|
|
|
|
|
| .bar {
|
| position: relative;
|
| width: 100%;
|
| height: 6px;
|
| background: var(--border-light);
|
| margin-top: 8px;
|
| }
|
| .bar__fill {
|
| position: absolute;
|
| inset: 0 auto 0 0;
|
| background: #000;
|
| transition: width 200ms linear, background 100ms linear;
|
| }
|
| .bar__fill[data-state="warn"] {
|
| background: repeating-linear-gradient(45deg, #000 0 4px, #fff 4px 6px);
|
| }
|
| .bar__fill[data-state="full"] {
|
| background: repeating-linear-gradient(90deg, #000 0 2px, #fff 2px 4px);
|
| }
|
|
|
| .capacity-text {
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.85rem;
|
| letter-spacing: 0.05em;
|
| }
|
|
|
| .url {
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.7rem;
|
| color: var(--muted-fg);
|
| max-width: 240px;
|
| overflow: hidden;
|
| text-overflow: ellipsis;
|
| white-space: nowrap;
|
| display: inline-block;
|
| }
|
|
|
| |
| |
|
|
| .search {
|
| display: flex;
|
| align-items: center;
|
| gap: 24px;
|
| border-bottom: 2px solid #000;
|
| margin-bottom: 32px;
|
| padding-bottom: 8px;
|
| }
|
| .search__input {
|
| flex: 1;
|
| border: none;
|
| background: transparent;
|
| padding: 12px 0;
|
| font-family: "Source Serif 4", Georgia, serif;
|
| font-style: italic;
|
| font-size: 1.125rem;
|
| color: #000;
|
| border-radius: 0;
|
| }
|
| .search__input:focus { outline: none; }
|
| .search__input::placeholder { color: var(--muted-fg); }
|
| .search__hint { color: var(--muted-fg); flex-shrink: 0; }
|
|
|
| |
| |
|
|
| .footer {
|
| background: #fff;
|
| border-top: 1px solid #000;
|
| padding: 32px;
|
| }
|
| .footer__inner {
|
| max-width: 1280px;
|
| margin: 0 auto;
|
| display: flex;
|
| justify-content: space-between;
|
| flex-wrap: wrap;
|
| gap: 16px;
|
| color: var(--muted-fg);
|
| }
|
|
|
| |
| |
|
|
| @keyframes pulse-bg {
|
| 0% { background: #000; color: #fff; }
|
| 100% { background: transparent; color: #000; }
|
| }
|
| .pulse {
|
| animation: pulse-bg 600ms linear;
|
| }
|
|
|
| |
| |
|
|
| @media (max-width: 720px) {
|
| .topbar__inner { padding: 16px 20px; }
|
| .hero { padding: 64px 20px 48px; }
|
| .section { padding: 64px 20px; }
|
| .footer { padding: 24px 20px; }
|
| .auth { grid-template-columns: 1fr; gap: 24px; }
|
| .section__head { flex-direction: column; gap: 8px; margin-bottom: 32px; }
|
| .stat { padding: 32px 20px; }
|
| table.dataset thead { display: none; }
|
| table.dataset, table.dataset tbody, table.dataset tr, table.dataset td { display: block; width: 100%; }
|
| table.dataset tbody tr {
|
| border-bottom: 2px solid #000;
|
| padding: 16px 0;
|
| }
|
| table.dataset tbody td {
|
| border: none;
|
| padding: 6px 0;
|
| display: flex;
|
| justify-content: space-between;
|
| gap: 16px;
|
| }
|
| table.dataset tbody td::before {
|
| content: attr(data-label);
|
| font-family: "JetBrains Mono", monospace;
|
| font-size: 0.7rem;
|
| letter-spacing: 0.1em;
|
| text-transform: uppercase;
|
| color: var(--muted-fg);
|
| }
|
| } |