@font-face{font-family:Yellix;font-weight:400;font-style:normal;src:url(/brand/fonts/Yellix-Regular.otf) format("opentype");font-display:swap}@font-face{font-family:Yellix;font-weight:500;font-style:normal;src:url(/brand/fonts/Yellix-Medium.otf) format("opentype");font-display:swap}@font-face{font-family:Yellix;font-weight:600;font-style:normal;src:url(/brand/fonts/Yellix-SemiBold.otf) format("opentype");font-display:swap}@font-face{font-family:Yellix;font-weight:700;font-style:normal;src:url(/brand/fonts/Yellix-Bold.otf) format("opentype");font-display:swap}@font-face{font-family:Akkurat Mono;font-weight:400;font-style:normal;src:url(/brand/fonts/AkkuratMonoLL-Regular.otf) format("opentype");font-display:swap}@font-face{font-family:Akkurat Mono;font-weight:700;font-style:normal;src:url(/brand/fonts/AkkuratMonoLL-Bold.otf) format("opentype");font-display:swap}:root{--ov-black: #0A0A0A;--ov-white: #F6F6F6;--ov-off-white: #EFEEEB;--ov-cyan: #00BBFF;--ov-grey-dark: #454444;--ov-grey-medium: #777777;--ov-grey-light: #C1C1C1;--ov-black-rollover: #202020;--ov-white-rollover: #EAEAEA;--ov-ink-05: rgba(10,10,10,.05);--ov-ink-10: rgba(10,10,10,.1);--ov-ink-20: rgba(10,10,10,.2);--ov-ink-40: rgba(10,10,10,.4);--ov-ink-70: rgba(10,10,10,.7);--ov-paper-10: rgba(246,246,246,.1);--ov-paper-20: rgba(246,246,246,.2);--ov-paper-40: rgba(246,246,246,.4);--ov-paper-70: rgba(246,246,246,.7)}:root{--bg: var(--ov-off-white);--bg-alt: var(--ov-white);--bg-inverse: var(--ov-black);--fg: var(--ov-black);--fg-1: var(--ov-black);--fg-2: var(--ov-grey-dark);--fg-3: var(--ov-grey-medium);--fg-4: var(--ov-grey-light);--fg-inverse: var(--ov-white);--accent: var(--ov-cyan);--accent-ink: var(--ov-black);--border: var(--ov-black);--border-soft: var(--ov-ink-10);--border-rule: var(--ov-grey-light);--hover-bg-dark: var(--ov-black-rollover);--hover-bg-light: var(--ov-white-rollover);--focus-ring: var(--ov-cyan)}[data-theme=dark],.ov-dark{--bg: var(--ov-black);--bg-alt: #141414;--bg-inverse: var(--ov-white);--fg: var(--ov-white);--fg-1: var(--ov-white);--fg-2: var(--ov-grey-light);--fg-3: var(--ov-grey-medium);--fg-4: var(--ov-grey-dark);--fg-inverse: var(--ov-black);--border: var(--ov-white);--border-soft: var(--ov-paper-10);--border-rule: var(--ov-grey-dark)}:root{--font-sans: "Yellix", "Inter", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: "Akkurat Mono", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-display: var(--font-sans);--fw-thin: 100;--fw-light: 300;--fw-regular:400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--fw-black: 900;--fs-display: clamp(56px, 8vw, 128px);--fs-h1: clamp(40px, 5.5vw, 88px);--fs-h2: clamp(32px, 3.8vw, 56px);--fs-h3: clamp(24px, 2.4vw, 36px);--fs-h4: 20px;--fs-h5: 16px;--fs-body-lg: 20px;--fs-body: 16px;--fs-body-sm: 14px;--fs-mono: 13px;--fs-mono-sm: 11px;--lh-headline: 1;--lh-display: 1.05;--lh-copy: 1.2;--lh-body: 1.3;--lh-mono: 1.2;--tr-headline: .02em;--tr-mono: .1em;--tr-none: 0em}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-weight:var(--fw-regular);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ov-eyebrow,.ov-mono{font-family:var(--font-mono);font-weight:var(--fw-regular);font-size:var(--fs-mono);line-height:var(--lh-mono);letter-spacing:var(--tr-mono);text-transform:uppercase}:root{--radius-0: 0px;--radius-1: 2px;--radius-2: 4px;--radius-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--shadow-0: none;--shadow-1: 0 1px 0 var(--ov-ink-10);--shadow-2: 0 8px 24px var(--ov-ink-10);--bw-hair: 1px;--bw-rule: 1.5px;--bw-thick: 2px;--ease: cubic-bezier(.2, .7, .2, 1);--ease-out: cubic-bezier(.2, .8, .2, 1);--dur-fast: .12s;--dur: .22s;--dur-slow: .48s}::selection{background:var(--ov-cyan);color:var(--ov-black)}*:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--ov-off-white);color:var(--ov-black)}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:var(--ov-off-white);border-bottom:1px solid var(--ov-black)}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-logo{height:44px;display:block}.topbar-divider{width:1px;height:20px;background:var(--ov-black);opacity:.3}.topbar-title{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-coord{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ov-grey-dark)}.topbar-user{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border:1px solid var(--ov-black);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--ov-white);cursor:pointer}.topbar-user:hover{background:var(--ov-white-rollover)}.avatar{width:22px;height:22px;border-radius:999px;background:var(--ov-black);color:var(--ov-white);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-weight:600;font-size:10px;letter-spacing:0;text-transform:none}.page{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1080px;margin:0 auto;padding:48px 32px 160px;width:100%}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ov-grey-dark)}.eyebrow-strong{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ov-black)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;font-family:var(--font-sans);font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--ov-black);background:transparent;color:var(--ov-black);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);border-radius:0}.btn:hover{background:var(--ov-white-rollover)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--ov-black);color:var(--ov-white)}.btn-primary:hover{background:var(--ov-black-rollover);color:var(--ov-white)}.btn-cyan{background:var(--ov-cyan);color:var(--ov-black);border-color:var(--ov-black)}.btn-cyan:hover{background:#00aae5}.field{display:flex;flex-direction:column;gap:10px}.field-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ov-black)}.input{width:100%;padding:16px 18px;font-family:var(--font-sans);font-weight:500;font-size:22px;color:var(--ov-black);background:var(--ov-white);border:1px solid var(--ov-black);border-radius:0;outline:none;transition:border-color var(--dur) var(--ease)}.input:focus{outline:2px solid var(--ov-cyan);outline-offset:-1px}.input::placeholder{color:var(--ov-grey-light)}.textarea{min-height:120px;resize:vertical;font-size:16px;font-weight:400;line-height:1.45}.frame{background:var(--ov-white);border:1px solid var(--ov-black);padding:32px}.frame-dark{background:var(--ov-black);color:var(--ov-white);border:1px solid var(--ov-black);padding:32px}.hairline{height:1px;background:var(--ov-black);opacity:.15}.hairline-strong{height:1px;background:var(--ov-black)}.footer-stamp{padding:24px 32px;border-top:1px solid var(--ov-black);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ov-grey-dark);margin-top:auto}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes score-pop{0%{transform:scale(1)}35%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fade-up .6s var(--ease) both}.fade-in{animation:fade-in .4s var(--ease) both}.no-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.score-cell:hover:not(.selected){background:var(--ov-white-rollover)!important}.score-cell:active:not(.selected){transform:scale(.97)}
