@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url('/fonts/manrope-latin-ext-wght-normal.woff2') format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url('/fonts/manrope-latin-wght-normal.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-display:swap;font-weight:400;src:url('/fonts/dm-mono-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-display:swap;font-weight:400;src:url('/fonts/dm-mono-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-display:swap;font-weight:500;src:url('/fonts/dm-mono-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Mono';font-style:normal;font-display:swap;font-weight:500;src:url('/fonts/dm-mono-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
  --obs-night-950: #03080f;
  --obs-night-900: #06101a;
  --obs-night-850: #091723;
  --obs-night-800: #0d1d2a;
  --obs-surface: rgba(10, 26, 37, .88);
  --obs-surface-strong: #0b1c29;
  --obs-line: rgba(151, 196, 211, .18);
  --obs-line-strong: rgba(151, 223, 209, .38);
  --obs-text: #edf7f4;
  --obs-muted: #91aeb7;
  --obs-mint: #91e6c2;
  --obs-blue: #84c9f4;
  --obs-amber: #f2ca7a;
  --obs-danger: #f19a9a;
  --obs-radius-sm: 12px;
  --obs-radius: 18px;
  --obs-radius-lg: 28px;
  --obs-shadow: 0 22px 70px rgba(0, 0, 0, .34);
  --obs-safe-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));
  color-scheme: dark;
}

html {
  min-width: 320px;
  background: var(--obs-night-950);
  scroll-behavior: smooth;
}

body {
  min-height: 100dvh;
  background-color: var(--obs-night-950);
  text-rendering: optimizeLegibility;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}

body::after {
  content: '';
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .34;
  background-image:
    radial-gradient(circle at 8% 18%, rgba(189, 230, 241, .75) 0 1px, transparent 1.3px),
    radial-gradient(circle at 76% 11%, rgba(145, 230, 194, .55) 0 1px, transparent 1.2px),
    radial-gradient(circle at 61% 72%, rgba(189, 230, 241, .48) 0 1px, transparent 1.3px),
    radial-gradient(circle at 22% 82%, rgba(132, 201, 244, .35) 0 1px, transparent 1.4px);
  background-size: 181px 181px, 257px 257px, 317px 317px, 383px 383px;
}

:where(button, a, input, select, textarea, summary, [role='button']) {
  touch-action: manipulation;
}

:where(button, [role='button'], input[type='button'], input[type='submit']) {
  min-height: 44px;
}

.obs-injected-skip { position:fixed;z-index:9999;left:16px;top:12px;min-height:44px;padding:11px 15px;display:flex;align-items:center;border:1px solid var(--obs-mint);border-radius:9px;color:#03100c;background:var(--obs-mint);text-decoration:none;font:750 12px system-ui,sans-serif;transform:translateY(-170%);transition:transform .18s ease }.obs-injected-skip:focus{transform:translateY(0)}
.obs-injected-dock { display:none; }

/* Astro may prune element-alternative selectors from component styles. These
   class hooks keep the shared More buttons identical to neighbouring links. */
.obs-app-header nav .obs-nav-item { min-height:40px;padding:0 13px;display:flex;align-items:center;border:0;border-radius:10px;appearance:none;color:#78929c;background:transparent;text-decoration:none;cursor:pointer;font:750 11px var(--obs-font-sans,system-ui,sans-serif); }
.obs-app-header nav .obs-nav-item:hover,.obs-app-header nav .obs-nav-item.active { color:#e1f2ee;background:rgba(145,230,194,.08); }

.obs-more-menu {
  width: min(720px, calc(100% - 28px));
  max-height: min(88dvh, 760px);
  margin: auto;
  padding: 0;
  overflow: hidden auto;
  border: 1px solid var(--obs-line-strong);
  border-radius: 24px;
  color: var(--obs-text);
  background: rgba(6, 18, 27, .98);
  box-shadow: 0 30px 110px rgba(0, 0, 0, .72);
  font-family: 'Manrope', system-ui, sans-serif;
}
.obs-more-menu::backdrop { background: rgba(1, 5, 10, .8);backdrop-filter: blur(8px); }
.obs-more-menu__head { padding: 23px 24px 19px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--obs-line); }
.obs-more-menu__head small { color:var(--obs-mint);font:650 8px 'DM Mono',monospace;letter-spacing:.13em; }
.obs-more-menu__head h2 { margin:7px 0 0;font-size:clamp(23px,4vw,35px);letter-spacing:-.04em; }
.obs-more-menu__head button { width:44px;height:44px;display:grid;place-items:center;flex:none;border:1px solid var(--obs-line);border-radius:12px;color:var(--obs-text);background:#0a1b27;cursor:pointer;font-size:24px; }
.obs-more-menu__grid { padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.obs-more-menu__grid a { min-height:64px;padding:11px 13px;display:flex;align-items:center;gap:12px;border:1px solid var(--obs-line);border-radius:14px;color:var(--obs-text);background:rgba(10,28,39,.75);text-decoration:none; }
.obs-more-menu__grid a:hover { border-color:var(--obs-line-strong);background:rgba(16,40,48,.82); }
.obs-more-menu__grid a>span { width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:11px;color:var(--obs-mint);background:rgba(145,230,194,.08);font:600 13px 'DM Mono',monospace; }
.obs-more-menu__grid b { font-size:12px; }
.obs-more-menu__install { width:calc(100% - 28px);min-height:72px;margin:0 14px 14px;padding:12px 14px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px solid var(--obs-line-strong);border-radius:15px;color:#06110e;background:linear-gradient(135deg,#b5ead7,#83d5c5);text-align:left;cursor:pointer; }
.obs-more-menu__install>span:first-child { width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(4,18,14,.1);font-size:18px; }
.obs-more-menu__install>span:nth-child(2) { display:flex;flex-direction:column;gap:4px; }
.obs-more-menu__install b { font-size:12px; }.obs-more-menu__install small { color:#294b42;font-size:9px; }.obs-more-menu__install strong { font-size:17px; }

@media (max-width:1024px) {
  body.obs-has-injected-dock { padding-bottom:calc(78px + var(--obs-safe-bottom)); }
  .v39-mobile-dock .v39-dock-item { min-width:44px;padding:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;border-radius:13px;appearance:none;color:#789184;background:transparent;text-decoration:none;cursor:pointer; }
  .v39-mobile-dock .v39-dock-item>small { font:600 8px/1 'Manrope',sans-serif; }
  .v39-mobile-dock .v39-dock-item.active { color:#07110f;background:linear-gradient(135deg,#b3e6c5,#80d8a7);box-shadow:0 7px 20px rgba(82,201,132,.18); }
  .obs-injected-dock { position:fixed;z-index:900;left:10px;right:10px;bottom:max(9px,var(--obs-safe-bottom));height:62px;padding:5px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid rgba(157,222,183,.25);border-radius:18px;background:rgba(5,15,12,.92);box-shadow:0 18px 55px rgba(0,0,0,.48);backdrop-filter:blur(22px) saturate(1.2); }
  .obs-injected-dock :is(a,button) { min-width:44px;padding:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;border-radius:13px;color:#789184;background:transparent;text-decoration:none;cursor:pointer; }
  .obs-injected-dock :is(a,button)>span { min-height:20px;display:grid;place-items:center;font:700 13px 'DM Mono',monospace; }
  .obs-injected-dock :is(a,button)>small { font:600 8px/1 'Manrope',sans-serif; }
  .obs-injected-dock :is(a,button).active { color:#07110f;background:linear-gradient(135deg,#b3e6c5,#80d8a7);box-shadow:0 7px 20px rgba(82,201,132,.18); }
}

@media (max-width:620px) {
  .obs-more-menu { width:100%;max-height:88dvh;margin:auto auto 0;border-width:1px 0 0;border-radius:24px 24px 0 0; }
  .obs-more-menu__head { padding:19px 17px 15px; }.obs-more-menu__grid { padding:10px;gap:6px; }
  .obs-more-menu__grid a { min-height:59px;padding:9px; }.obs-more-menu__grid a>span { width:34px;height:34px; }.obs-more-menu__grid b { font-size:10px; }
  .obs-more-menu__install { width:calc(100% - 20px);margin:0 10px calc(10px + var(--obs-safe-bottom)); }
}

.obs-eyebrow {
  color: var(--obs-mint);
  font: 700 11px/1.4 ui-monospace, 'SFMono-Regular', Consolas, monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.obs-card {
  border: 1px solid var(--obs-line);
  border-radius: var(--obs-radius);
  background: linear-gradient(155deg, rgba(13, 33, 46, .92), rgba(7, 20, 30, .9));
  box-shadow: var(--obs-shadow);
}

.obs-chip {
  min-height: 32px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--obs-line);
  border-radius: 999px;
  color: var(--obs-muted);
  background: rgba(8, 22, 31, .72);
  font-size: 12px;
}

.obs-bottom-sheet {
  width: min(620px, 100%);
  max-height: min(86dvh, 820px);
  margin: auto auto 0;
  padding: 0;
  overflow: hidden auto;
  border: 1px solid var(--obs-line-strong);
  border-bottom: 0;
  border-radius: 26px 26px 0 0;
  color: var(--obs-text);
  background: rgba(7, 20, 29, .98);
  box-shadow: 0 -24px 90px rgba(0, 0, 0, .6);
}

.obs-bottom-sheet::backdrop,
.obs-onboarding::backdrop {
  background: rgba(1, 5, 10, .78);
  backdrop-filter: blur(7px);
}

.obs-sheet-handle {
  width: 42px;
  height: 4px;
  margin: 10px auto 4px;
  border-radius: 999px;
  background: rgba(193, 225, 229, .3);
}

.obs-onboarding {
  width: min(520px, calc(100% - 24px));
  max-width: 520px;
  margin: auto;
  padding: 0;
  max-height: calc(100dvh - 24px);
  overflow: auto;
  border: 1px solid var(--obs-line-strong);
  border-radius: 28px;
  color: var(--obs-text);
  background: #07141e;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .72);
}

.obs-onboarding__stage {
  min-height: 490px;
  padding: clamp(24px, 7vw, 42px);
  display: flex;
  flex-direction: column;
}

.obs-onboarding__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.obs-onboarding__progress {
  display: flex;
  gap: 6px;
}

.obs-onboarding__progress i {
  width: 22px;
  height: 4px;
  border-radius: 999px;
  background: rgba(145, 174, 183, .25);
}

.obs-onboarding__progress i.is-active { background: var(--obs-mint); }

.obs-onboarding__skip {
  min-height: 44px;
  padding: 0 8px;
  border: 0;
  color: var(--obs-muted);
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.obs-onboarding__visual {
  position: relative;
  width: 178px;
  height: 178px;
  margin: 34px auto 27px;
  border: 1px solid rgba(132, 201, 244, .22);
  border-radius: 50%;
  background:
    radial-gradient(circle at 55% 45%, rgba(145, 230, 194, .18), transparent 43%),
    repeating-radial-gradient(circle, transparent 0 27px, rgba(132, 201, 244, .09) 28px 29px);
}

.obs-onboarding__visual::before {
  content: '';
  position: absolute;
  inset: 25px;
  background-image: radial-gradient(circle, var(--obs-mint) 0 2px, transparent 2.5px);
  background-size: 38px 31px;
  transform: rotate(-12deg);
}

.obs-onboarding__visual::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 84px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--obs-blue), transparent);
  transform: translate(-50%, -50%) rotate(-27deg);
  box-shadow: 0 31px 0 rgba(145, 230, 194, .38), 0 -29px 0 rgba(132, 201, 244, .28);
}

.obs-onboarding__copy { text-align: center; }
.obs-onboarding__copy h2 { margin: 0; color: var(--obs-text); font-size: clamp(27px, 7vw, 37px); line-height: 1.05; letter-spacing: -.045em; }
.obs-onboarding__copy p { max-width: 390px; margin: 16px auto 0; color: var(--obs-muted); font-size: 15px; line-height: 1.65; }
.obs-onboarding__actions { margin-top: auto; padding-top: 30px; display: grid; grid-template-columns: auto 1fr; gap: 10px; }
.obs-onboarding__actions button { padding: 0 19px; border: 1px solid var(--obs-line); border-radius: 13px; color: var(--obs-text); background: rgba(15, 37, 50, .76); cursor: pointer; font: 750 14px/1 system-ui, sans-serif; }
.obs-onboarding__actions .is-primary { border-color: transparent; color: #03100c; background: linear-gradient(135deg, var(--obs-mint), #69cfae); }
.obs-onboarding__actions button[hidden] { display: none; }

.obs-toast-region {
  position: fixed;
  z-index: 1200;
  left: 50%;
  bottom: calc(86px + var(--obs-safe-bottom));
  width: min(420px, calc(100% - 28px));
  display: grid;
  gap: 8px;
  pointer-events: none;
  transform: translateX(-50%);
}

.obs-toast {
  padding: 13px 15px;
  border: 1px solid var(--obs-line-strong);
  border-radius: 13px;
  color: var(--obs-text);
  background: rgba(7, 22, 31, .96);
  box-shadow: var(--obs-shadow);
  font: 650 13px/1.45 system-ui, sans-serif;
}

.obs-game-tools {
  position: fixed;
  z-index: 875;
  right: 14px;
  bottom: calc(140px + var(--obs-safe-bottom));
  width: 48px;
  height: 48px;
  display: none;
  place-items: center;
  border: 1px solid var(--obs-line-strong);
  border-radius: 15px;
  color: var(--obs-mint);
  background: rgba(7, 22, 31, .94);
  box-shadow: 0 14px 38px rgba(0,0,0,.45);
  backdrop-filter: blur(15px);
  cursor: pointer;
  font-size: 17px;
}

.obs-game-hud { display:none; }
.obs-game-hud__tools { display:grid;place-items:center; }
.obs-game-hud .obs-game-tools { position:static;display:grid;width:44px;height:44px; }

.obs-game-sheet > header { padding: 18px 21px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--obs-line) }
.obs-game-sheet > header p { margin:0 0 7px;color:var(--obs-muted);font:650 8px ui-monospace,Consolas,monospace;letter-spacing:.12em }
.obs-game-sheet > header h2 { margin:0;font:750 25px/1.1 system-ui,sans-serif;letter-spacing:-.04em }
.obs-game-sheet > header button { width:44px;height:44px;border:1px solid var(--obs-line);border-radius:12px;color:var(--obs-muted);background:#0a1b27;cursor:pointer;font-size:22px }
.obs-game-sheet__body { padding:15px 20px calc(22px + var(--obs-safe-bottom));display:grid;gap:8px }
.obs-game-sheet__body label,.obs-game-sheet__body a,.obs-game-sheet__body button { min-height:56px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--obs-line);border-radius:13px;color:var(--obs-text);background:rgba(13,32,44,.7);text-decoration:none;font:700 12px system-ui,sans-serif }
.obs-game-sheet__body input { width:22px;height:22px;accent-color:var(--obs-mint) }
.obs-game-sheet__body b { color:var(--obs-mint);font:650 11px ui-monospace,Consolas,monospace }
.obs-game-sheet__body .is-primary { border-color:transparent;color:#04100d;background:var(--obs-mint) }.obs-game-sheet__body .is-primary b{color:inherit}

.obs-discovery-flash::after {
  content:'';
  position:fixed;
  z-index:1300;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 45%,rgba(145,230,194,.17),transparent 36%);
  animation:obs-discovery .7s ease-out both;
}

@keyframes obs-discovery { from{opacity:0;transform:scale(.96)} 35%{opacity:1} to{opacity:0;transform:scale(1.02)} }

@media (min-width: 1025px) {
  .obs-toast-region { bottom: 24px; }
}

@media (max-width: 1024px) {
  body.obs-has-injected-dock { padding-bottom:calc(82px + var(--obs-safe-bottom))!important; }
  .obs-game-hud { position:fixed;z-index:875;left:12px;right:12px;bottom:calc(82px + var(--obs-safe-bottom));min-height:58px;padding:6px 7px 6px 13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 48px;align-items:center;gap:7px;border:1px solid var(--obs-line-strong);border-radius:17px;background:rgba(5,18,27,.96);box-shadow:0 16px 44px rgba(0,0,0,.46);backdrop-filter:blur(18px) }
  .obs-game-hud>span { min-width:0;display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--obs-line) }
  .obs-game-hud small { color:var(--obs-muted);font:650 7px/1 ui-monospace,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase }
  .obs-game-hud b { overflow:hidden;color:var(--obs-text);font:700 12px/1.2 ui-monospace,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap }
  .obs-game-page :is(#settingsButton,#mobileSettings),.obs-game-page .session-stats { display:none!important; }
  .obs-injected-dock { position:fixed;z-index:900;left:10px;right:10px;bottom:max(9px,var(--obs-safe-bottom));height:62px;padding:5px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid rgba(151,223,209,.25);border-radius:18px;background:rgba(4,14,22,.94);box-shadow:0 18px 55px rgba(0,0,0,.48);backdrop-filter:blur(22px) saturate(1.2) }
  .obs-injected-dock a { min-width:44px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border-radius:13px;color:#78929c;text-decoration:none }
  .obs-injected-dock a>span { font:500 18px/1 ui-monospace,Consolas,monospace }.obs-injected-dock a>small{font:650 8px/1 system-ui,sans-serif}.obs-injected-dock a.active{color:#03100c;background:linear-gradient(135deg,var(--obs-mint),#72d4b4)}
  .obs-game-tools { display:grid; }
  .obs-game-page :where(a, button, [role='button']) { min-width:44px!important;min-height:44px!important; }
  .obs-game-page a { display:inline-flex!important;align-items:center; }
  .obs-game-page :where(input, select) { min-height:44px!important; }
  .obs-game-page .pwa-install { display:none !important; }
}

@media (max-width: 620px) {
  .obs-onboarding { border-radius: 24px; }
  .obs-onboarding__stage { min-height: min(630px, calc(100dvh - 24px)); }
}

@media (max-height: 520px) and (orientation: landscape) {
  .obs-onboarding { width:min(680px,calc(100% - 24px));max-width:680px; }
  .obs-onboarding__stage { min-height:0;padding:18px 22px;display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:24px; }
  .obs-onboarding__top { grid-column:1/-1; }
  .obs-onboarding__visual { width:132px;height:132px;margin:18px auto;grid-column:1;grid-row:2/4;align-self:center; }
  .obs-onboarding__copy { grid-column:2;grid-row:2;text-align:left;align-self:center; }
  .obs-onboarding__copy h2 { font-size:28px; }
  .obs-onboarding__copy p { margin-top:10px;font-size:13px;line-height:1.5; }
  .obs-onboarding__actions { grid-column:2;grid-row:3;padding-top:14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
