/* Non-intrusive bottom nudge (not a full-screen interstitial). */
.portal-overlay{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  top:auto;
  width:100%;
  height:auto;
  max-height:min(48vh,420px);
  background:transparent;
  display:none;
  align-items:flex-end;
  justify-content:center;
  z-index:9000;
  padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
  pointer-events:none;
}
.portal-overlay.portal-overlay--visible{display:flex}
.portal-content{
  pointer-events:auto;
  background:#fff;
  padding:18px 18px 16px;
  border-radius:16px 16px 12px 12px;
  max-width:520px;
  width:100%;
  position:relative;
  text-align:left;
  border:1px solid #e5e5e5;
  box-shadow:0 -8px 32px rgba(0,0,0,0.14),0 4px 16px rgba(0,0,0,0.08);
}
.portal-close{
  position:absolute;
  top:8px;
  right:8px;
  background:none;
  border:none;
  color:#525252;
  cursor:pointer;
  font-size:13px;
  font-family:inherit;
  min-width:44px;
  min-height:44px;
  padding:8px;
  border-radius:8px;
}
.portal-close:hover{background:rgba(0,0,0,0.06);color:#171717}
.portal-header-dice{display:none}
.portal-header h2{
  font-family:'Times New Roman',Times,serif;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#0a0a0a;
  line-height:1.3;
  margin:0 2.5rem 8px 0;
}
@media (min-width:480px){.portal-header h2{font-size:1.15rem}}
.portal-header p{
  font-size:0.875rem;
  line-height:1.45;
  color:#404040;
  margin:0;
}
.portal-header ul{font-size:0.85rem!important;margin:0.5rem 0 0!important}
.portal-action{margin-top:12px}
.btn-start{
  background:#000;
  color:#fff;
  padding:12px 18px;
  border-radius:9999px;
  font-weight:700;
  font-size:0.75rem;
  letter-spacing:0.06em;
  border:2px solid #000;
  cursor:pointer;
  transition:transform 0.2s ease,background 0.2s ease,border-color 0.2s ease;
  width:100%;
  min-height:44px;
  font-family:'Times New Roman',Times,serif;
}
.btn-start:hover{transform:scale(1.01);background:#ea580c;border-color:#ea580c}
.btn-start:focus-visible{outline:2px solid #f59e0b;outline-offset:3px}
.portal-divider{border:none;border-top:1px solid #e5e5e5;margin:14px 0 10px}
.portal-content .small-label{
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:#737373;
  margin:0 0 8px;
  font-weight:600;
}
.mini-cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;justify-content:stretch}
.mini-card{
  border:1px solid #d4d4d4;
  padding:10px 12px;
  border-radius:10px;
  cursor:pointer;
  font-size:13px;
  flex:1 1 120px;
  min-height:44px;
  transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;
  background:#fff;
  font-family:'Times New Roman',Times,serif;
  font-weight:600;
  color:#171717;
}
.mini-card.highlight{
  border-color:#f59e0b;
  background:linear-gradient(180deg,#fffbeb 0%,#fff 100%);
  box-shadow:0 4px 14px rgba(245,158,11,0.15);
  font-weight:700;
}
.mini-card:hover{transform:translateY(-2px);border-color:#000}
.mini-card:focus-visible{outline:2px solid #000;outline-offset:2px}
@media (max-width:380px){.mini-cards{flex-direction:column}.mini-card{flex:1 1 auto}}
