.privacy-notice{
  position:fixed;
  z-index:9999;
  left:50%;
  bottom:max(16px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(820px,calc(100vw - 28px));
  padding:18px 20px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  color:#0d0e0c;
  background:#faf8f2;
  border:4px solid #111;
  box-shadow:7px 7px 0 #bbb9b1;
}
.privacy-notice__title{
  display:block;
  margin:0 0 8px;
  color:#087452;
  font-family:"Press Start 2P",monospace;
  font-size:10px;
  line-height:1.5;
}
.privacy-notice__text{
  margin:0;
  font-family:Arial,sans-serif;
  font-size:15px;
  line-height:1.5;
}
.privacy-notice__link{
  color:#087452;
  font-weight:700;
  white-space:nowrap;
}
.privacy-notice__button{
  min-width:112px;
  min-height:48px;
  padding:12px 17px;
  cursor:pointer;
  border:3px solid #111;
  border-radius:0;
  color:#fff;
  background:#087452;
  box-shadow:4px 4px 0 #111;
  font-family:"Press Start 2P",monospace;
  font-size:11px;
}
.privacy-notice__button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 #111}
.privacy-notice__button:focus-visible{outline:3px solid #e21d1d;outline-offset:4px}
.privacy-notice.is-closing{opacity:0;transform:translate(-50%,10px);transition:opacity .16s ease,transform .16s ease}
@media(max-width:650px){
  .privacy-notice{grid-template-columns:1fr;padding:16px;gap:14px;bottom:max(10px,env(safe-area-inset-bottom))}
  .privacy-notice__title{font-size:8px}
  .privacy-notice__text{font-size:14px}
  .privacy-notice__button{width:100%}
}
@media(prefers-reduced-motion:reduce){.privacy-notice.is-closing{transition:none}}
