:root{
  --tatame-bg:#0A0C10;
  --tatame-bg2:#111318;
  --tatame-bg3:#181C24;
  --tatame-border:rgba(255,255,255,.08);
  --tatame-border-strong:rgba(255,255,255,.14);
  --tatame-green:#22C55E;
  --tatame-green-dark:#15803D;
  --tatame-green-soft:#DCFCE7;
  --tatame-green-app:#22C55E;
  --tatame-text:#F0F2F7;
  --tatame-text2:#A0AEC0;
  --tatame-muted:#718096;
  --tatame-radius:16px;
}

.tatame-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:Inter,system-ui,sans-serif;
  font-weight:900;
  letter-spacing:0;
  color:var(--tatame-text);
}
.tatame-logo__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3px;
  width:31px;
  height:31px;
}
.tatame-logo__sq{
  border-radius:3px;
  background:#1F2330;
  border:1px solid var(--tatame-border);
}
.tatame-logo__sq.is-lit{
  background:var(--tatame-green-app);
  border-color:transparent;
  box-shadow:0 0 14px rgba(34,197,94,.35);
}

html[data-theme="light"]{
  color-scheme:light;
  --tatame-bg:#F9FAFB;
  --tatame-bg2:#FFFFFF;
  --tatame-bg3:#F3F4F6;
  --tatame-border:rgba(17,24,39,.10);
  --tatame-border-strong:rgba(17,24,39,.16);
  --tatame-text:#111827;
  --tatame-text2:#4B5563;
  --tatame-muted:#6B7280;
}

.tatame-theme-toggle{
  position:fixed;
  right:max(14px,env(safe-area-inset-right));
  bottom:max(86px,calc(18px + env(safe-area-inset-bottom)));
  z-index:9998;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid var(--tatame-border-strong);
  color:var(--tatame-text);
  background:rgba(17,19,24,.82);
  box-shadow:0 16px 44px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .16s ease,background .16s ease,border-color .16s ease;
}
.tatame-theme-toggle:hover{transform:translateY(-1px);border-color:rgba(34,197,94,.45)}
html[data-theme="light"] .tatame-theme-toggle{background:rgba(255,255,255,.86)}

.tatame-consent{
  position:fixed;
  left:50%;
  bottom:18px;
  z-index:9999;
  width:min(720px,calc(100% - 28px));
  transform:translateX(-50%) translateY(16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.tatame-consent.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.tatame-consent__box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  background:rgba(17,19,24,.92);
  border:1px solid var(--tatame-border-strong);
  border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.42);
  backdrop-filter:blur(22px);
  padding:16px;
}
.tatame-consent__title{
  margin:0 0 4px;
  font-size:14px;
  color:var(--tatame-text);
  font-weight:900;
}
.tatame-consent__text{
  margin:0;
  color:var(--tatame-text2);
  font-size:12px;
  line-height:1.5;
}
.tatame-consent__text a{
  color:var(--tatame-green-app);
  font-weight:800;
  text-decoration:none;
}
.tatame-consent__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.tatame-consent__btn{
  border:1px solid var(--tatame-border-strong);
  border-radius:10px;
  min-height:38px;
  padding:0 13px;
  font:800 12px Inter,system-ui,sans-serif;
  cursor:pointer;
  color:var(--tatame-text);
  background:transparent;
}
.tatame-consent__btn.is-primary{
  background:var(--tatame-green-app);
  color:#061006;
  border-color:transparent;
}
.tatame-consent__toggle{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--tatame-text2);
  font-size:12px;
  margin-top:8px;
}
.tatame-consent__toggle input{accent-color:var(--tatame-green-app)}
@media(max-width:620px){
  .tatame-consent__box{grid-template-columns:1fr}
  .tatame-consent__actions{justify-content:stretch}
  .tatame-consent__btn{flex:1}
}
