@font-face{font-family:GBHurricane;src:url('../fonts/event-titles/hurricane.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:GBStaatliches;src:url('../fonts/event-titles/staatliches.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:GBQuicksand;src:url('../fonts/event-titles/quicksand.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:GBCaslon;src:url('../fonts/event-titles/librecaslontext.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:GBLexend;src:url('../fonts/event-titles/lexend.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:GBInter;src:url('../fonts/event-titles/inter.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.gb .gb-event-title{font-family:GBInter,sans-serif;font-weight:400;letter-spacing:normal;overflow-wrap:anywhere}
.gb .gb-event-title[data-gb-font="1"]{font-family:GBHurricane,cursive;font-size:clamp(40px,9vw,72px);line-height:1.35}
.gb .gb-event-title[data-gb-font="2"]{font-family:GBStaatliches,cursive;letter-spacing:.05em;line-height:1.1}
.gb .gb-event-title[data-gb-font="3"]{font-family:GBQuicksand,sans-serif}
.gb .gb-event-title[data-gb-font="4"]{font-family:GBCaslon,serif;line-height:1.1}
.gb .gb-event-title[data-gb-font="5"]{font-family:GBLexend,sans-serif}
.gb-page{
  margin:0;
  min-height:100dvh;
  position:relative;
  isolation:isolate;
  overflow-x:clip;
  background:
    radial-gradient(circle at -8% 14%,rgba(255,111,97,.2) 0 10%,transparent 30%),
    radial-gradient(circle at 94% 18%,rgba(116,64,204,.18) 0 12%,transparent 34%),
    radial-gradient(circle at 78% 78%,rgba(14,165,233,.14) 0 14%,transparent 36%),
    linear-gradient(135deg,#fff8fb 0%,#f7f1ff 45%,#edf7ff 100%);
  color:#20162f;
  font-family:Inter,system-ui,sans-serif}
.dark .gb-page{
  background:
    radial-gradient(circle at -6% 12%,rgba(255,83,137,.52) 0 7%,transparent 22%),
    radial-gradient(circle at 92% 74%,rgba(255,104,145,.55) 0 16%,transparent 36%),
    radial-gradient(circle at 72% 16%,rgba(112,86,255,.34) 0 10%,transparent 30%),
    radial-gradient(circle at 42% 8%,rgba(205,91,214,.22) 0 12%,transparent 34%),
    linear-gradient(135deg,#090736 0%,#171178 46%,#4a248f 100%);
  color:#f8fafc}
.gb-page::before,.gb-page::after{content:"";position:absolute;pointer-events:none}
.gb-page::before{
  inset:0;
  z-index:-2;
  background:
    linear-gradient(118deg,rgba(255,255,255,.72),transparent 24%,rgba(116,64,204,.08) 52%,transparent 76%),
    radial-gradient(circle at 18% 70%,rgba(255,255,255,.54),transparent 30%),
    radial-gradient(circle at 72% 24%,rgba(255,255,255,.42),transparent 28%);
  opacity:.78}
.gb-page::after{
  inset:auto -12% -24% -12%;
  height:44%;
  z-index:-1;
  background:linear-gradient(90deg,rgba(255,79,163,.13),rgba(116,64,204,.14),rgba(14,165,233,.1));
  filter:blur(54px)}
.dark .gb-page::before{
  background:
    linear-gradient(118deg,rgba(255,255,255,.09),transparent 24%,rgba(255,255,255,.04) 52%,transparent 76%),
    radial-gradient(circle at 58% 24%,rgba(255,255,255,.12),transparent 28%),
    radial-gradient(circle at 16% 72%,rgba(69,114,255,.22),transparent 26%);
  opacity:1}
.dark .gb-page::after{
  inset:0;
  height:auto;
  background:
    linear-gradient(90deg,rgba(0,0,0,.42),transparent 20%,transparent 78%,rgba(0,0,0,.18)),
    radial-gradient(circle at 78% 50%,rgba(255,130,177,.18),transparent 34%);
  filter:none}
.gb-page:has(.gb-event-background)::before,.gb-page:has(.gb-event-background)::after{display:none}
.gb-event-background{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.72) saturate(.85);pointer-events:none;z-index:0}
.gb-event-background-filter{position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 25%,rgba(30,20,45,.22) 100%),linear-gradient(to bottom,rgba(255,255,255,.58),rgba(247,243,255,.76));pointer-events:none;z-index:0}
.dark .gb-event-background-filter{background:radial-gradient(ellipse at center,transparent 25%,rgba(0,0,0,.38) 100%),linear-gradient(to bottom,rgba(12,8,22,.52),rgba(12,8,22,.76))}
.gb-shell,.gb-lock{position:relative;z-index:1}
.gb-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.gb-title-row .gb-eyebrow{margin-bottom:0;min-width:0}
.gb-header-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.gb-theme-toggle i{font-size:18px;color:inherit;opacity:1}
[data-gb-refresh]:disabled{cursor:wait;opacity:.5}
.gb-icon-button.gb-theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid #e7dcf8;
  border-radius:12px;
  background:rgba(255,255,255,.82);
  color:#62576f;
  font-size:18px;
  line-height:1;
  box-shadow:0 2px 8px rgba(76,51,120,.04);
  transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}
.gb-icon-button.gb-theme-toggle:hover:not(:disabled){background:#f5efff;border-color:#cdb6ed;color:#7440cc}
.dark .gb-icon-button.gb-theme-toggle{background:rgba(255,255,255,.08);border-color:rgba(221,204,255,.24);color:#eee6ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.dark .gb-icon-button.gb-theme-toggle:hover:not(:disabled){background:rgba(255,255,255,.16);border-color:rgba(221,204,255,.44);color:#fff}
.gb-theme-toggle:focus-visible{outline:3px solid #a679e1;outline-offset:3px}
.gb{
  --gb-ink:#31283f;
  --gb-muted:#675c76;
  --gb-surface:rgba(255,255,255,.72);
  --gb-border:rgba(115,76,152,.2);
  color:var(--gb-ink);
  font-family:Inter,system-ui,sans-serif;
  line-height:1.6}
.dark .gb{
  --gb-ink:#f5efff;
  --gb-muted:#c9bbd8;
  --gb-surface:rgba(35,27,47,.78);
  --gb-border:rgba(211,183,240,.18)}
.gb *{
  box-sizing:border-box}
.gb [hidden]{
  display:none!important}
.gb-shell{
  max-width:1040px;
  margin:auto;
  padding:24px 20px 120px}
.gb-card{
  background:var(--gb-surface);
  border:1px solid var(--gb-border);
  border-radius:24px;
  box-shadow:0 16px 50px #3420420c;
  backdrop-filter:blur(18px);
  padding:24px;
  margin-bottom:24px}
.gb h1,.gb h2,.gb h3{
  color:var(--gb-ink);
  font-weight:700;
  line-height:1.2;
  margin:0 0 16px}
.gb h1{
  font-size:clamp(30px,6vw,52px);
  letter-spacing:-1.5px}
.gb h2{
  font-size:24px}
.gb h3{
  font-size:19px}
.gb p{
  overflow-wrap:anywhere}
.gb-eyebrow{
  display:block;
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:11px;
  font-weight:700;
  color:var(--gb-muted);
  margin-bottom:12px}
.gb-hero{
  background:rgba(255,255,255,.48);
  padding:0;
  overflow:hidden}
.dark .gb-hero{background:rgba(35,27,47,.52)}
.gb-cover-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:180px;aspect-ratio:16/9;padding:24px;background:rgba(116,64,204,.07);color:var(--gb-muted);text-align:center;border-bottom:1px dashed var(--gb-border)}
.gb-cover-placeholder svg{width:44px;height:44px;flex-shrink:0;opacity:.65}
.gb-cover-placeholder p{margin:0;max-width:440px;font-size:clamp(13px,2vw,15px);line-height:1.5}
.dark .gb-cover-placeholder{background:rgba(196,161,240,.08)}
.gb-page .gb{
  --gb-ink:#241832;
  --gb-muted:rgba(36,24,50,.72);
  --gb-surface:rgba(255,255,255,.72);
  --gb-border:rgba(116,64,204,.13)}
.dark .gb-page .gb{
  --gb-ink:#f8fafc;
  --gb-muted:rgba(248,250,252,.72);
  --gb-surface:rgba(24,20,72,.78);
  --gb-border:rgba(255,255,255,.13)}
.gb-page .gb-card{
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.58));
  border-radius:18px;
  box-shadow:0 24px 60px rgba(76,51,120,.14),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(26px) saturate(145%);
  -webkit-backdrop-filter:blur(26px) saturate(145%)}
.dark .gb-page .gb-card{
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(115,97,214,.13));
  box-shadow:0 26px 70px rgba(6,4,42,.34),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(28px) saturate(135%);
  -webkit-backdrop-filter:blur(28px) saturate(135%)}
.gb-hero-image{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover}
.gb-hero-copy{
  padding:32px}
.gb-custom-intro{white-space:pre-wrap;color:var(--gb-muted);margin:0 0 20px;font-size:15px}
.gb-intro-control{margin:24px 0}
.gb-heading,.gb-actions,.gb-toolbar,.gb-attachments-picker{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap}
.gb-heading{
  justify-content:space-between}
.gb-button{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:14px;
  background:linear-gradient(130deg,#7440cc,#a259cc);
  color:white!important;
  padding:10px 18px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  text-decoration:none;
  gap:8px}
.gb-secondary{
  background:transparent;
  color:var(--gb-ink)!important;
  border-color:var(--gb-border)}
.gb .gb-button[data-gb-compose]{background:#000;border:1px solid #fff;color:#fff!important}
.gb-button:disabled{
  opacity:.5;
  cursor:default}
.gb-button:focus-visible,.gb input:focus-visible,.gb select:focus-visible,.gb textarea:focus-visible{
  outline:3px solid #a679e1;
  outline-offset:3px}
.gb label{
  display:block;
  color:var(--gb-ink);
  font-size:14px}
.gb input:not([type=checkbox]):not([type=file]),.gb textarea,.gb select{
  width:100%;
  min-height:44px;
  border-radius:12px;
  border:1px solid var(--gb-border);
  background:var(--gb-surface);
  color:var(--gb-ink);
  padding:10px 12px;
  font:inherit;
  margin:6px 0 14px}
.gb input[type=checkbox]{
  accent-color:#7440cc;
  width:22px;
  height:22px;
  vertical-align:middle}
.gb-toggle{
  display:flex!important;
  justify-content:space-between;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--gb-border)}
.gb-toggle{align-items:center;cursor:pointer}
.gb-switch{position:relative;display:inline-flex;flex-shrink:0;width:44px;height:24px}
.gb-toggle .gb-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.gb-switch-track{display:block;width:44px;height:24px;background:#e5e7eb;border-radius:999px;transition:background-color .2s}
.gb-switch-track::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .2s}
.gb-switch input:checked+.gb-switch-track{background:#7440cc}
.gb-switch input:checked+.gb-switch-track::after{transform:translateX(20px)}
.gb-switch input:focus-visible+.gb-switch-track{outline:3px solid #a679e1;outline-offset:3px}
.gb-switch input:disabled+.gb-switch-track{opacity:.5}
.dark .gb-switch-track{background:#524460}
.gb-button svg{width:18px;height:18px;flex-shrink:0}
.gb-cover-actions{display:flex;flex-wrap:wrap;gap:10px}
.gb .gb-cover-upload{display:inline-flex;font-weight:600;background:#7440cc;border-color:#7440cc;color:#fff!important}
:root .glass-detail-page .gb-settings .gb-cover-upload,
:root .glass-detail-page .gb-settings .gb-cover-upload svg{
  color:#fff!important}
.gb-cover-upload:hover{background:#5e32a5}
.gb .gb-cover-delete{background:transparent;color:#b42346!important;border-color:#b4234633}
.gb-cover-delete:hover{background:#b4234610}
.dark .gb .gb-cover-delete{color:#f4a8bc!important;border-color:#f4a8bc44}
.gb-muted{
  color:var(--gb-muted);
  font-size:13px}
.gb-badge{
  display:inline-block;
  font-size:12px;
  padding:5px 12px;
  border-radius:30px;
  background:#9664c91a;
  color:var(--gb-muted)}
.gb .gb-moderation-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gb-moderation-heading>.gb-badge{flex-shrink:0;font-weight:500;line-height:1.6}
.dark .gb-settings .gb-heading>.gb-badge,
.dark .gb-moderation-heading>.gb-badge{
  background:rgba(167,139,250,.24);
  border:1px solid rgba(196,161,240,.35);
  color:#ede3ff}
.gb-cover-control{
  margin:24px 0}
.gb-cover-dialog{width:min(800px,calc(100% - 24px))}
.gb-cover-dialog .gb-heading{flex-wrap:nowrap;align-items:flex-start}
.gb-cover-dialog .gb-heading h2{min-width:0;font-size:clamp(20px,4vw,24px);margin:0}
.gb-cover-dialog .gb-icon-button{flex-shrink:0}
.gb-crop-stage{height:clamp(220px,42dvh,420px);background:#1c1426;border-radius:16px;overflow:hidden;touch-action:none}
.gb-crop-stage{position:relative}
.gb-crop-stage:not([data-loading=false])>img,.gb-crop-stage:not([data-loading=false])>.cropper-container{visibility:hidden}
.gb-crop-stage .gb-cover-loading{z-index:2;color:#ede3ff}
.gb-crop-stage:not([data-loading=true]) .gb-cover-loading{display:none}
.gb-cover-dialog .gb-crop-stage img{display:block;max-width:100%;max-height:none;height:auto;aspect-ratio:auto;object-fit:initial;filter:none!important;margin:0;border-radius:0}
.gb-cover-dialog .cropper-view-box,.gb-cover-dialog .cropper-face{border-radius:0!important}
.gb-cover-dialog .cropper-view-box{outline:2px solid #a679e1}
.gb-crop-zoom{margin:16px 0}
.gb .gb-crop-zoom input[type=range]{display:block;width:100%;min-height:44px;margin:0;padding:0;accent-color:#7440cc;background:transparent;border:0}
.gb-crop-preview{width:min(100%,320px)!important;max-width:100%!important;height:auto!important;aspect-ratio:16/9;overflow:hidden;background:#1c1426;border-radius:14px}
.gb .gb-cover-dialog .gb-crop-preview img{max-width:none;max-height:none;aspect-ratio:auto;object-fit:initial;filter:none!important;border-radius:0;margin:0}
.gb-cover-dialog .gb-actions{position:relative;padding:12px 0;background:transparent}
.gb-cover-preview-wrap{position:relative;width:100%;max-width:320px;aspect-ratio:16/9;border-radius:16px;margin-bottom:16px;overflow:hidden;background:var(--gb-surface);border:1px solid var(--gb-border)}
.gb-cover-preview-wrap[data-loading=true] img{visibility:hidden}
.gb-cover-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gb-muted);font-size:13px}
.gb-cover-loading::before{content:"";width:18px;height:18px;border:2px solid var(--gb-border);border-top-color:#a679e1;border-radius:50%;animation:gb-export-spin .8s linear infinite}
.gb-cover-preview-wrap[data-loading=false] .gb-cover-loading{display:none}
@media(prefers-reduced-motion:reduce){.gb-cover-loading::before{animation:none}}
.gb-cover-control .gb-cover-preview-wrap img{display:block;margin:0;width:100%;height:100%;object-fit:cover}
.gb-cover-control img{
  width:100%;
  max-width:320px;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:16px;
  margin-bottom:16px}
.gb-secret{
  padding:16px;
  background:#a777df22;
  border-radius:14px}
.gb-secret strong{
  font-family:monospace;
  font-size:20px;
  word-break:break-all}
.gb-toolbar{
  align-items:flex-end}
.gb[data-management="1"] .gb-toolbar{margin-bottom:24px}
.gb-export-controls{margin-top:24px;padding-top:20px;border-top:1px solid var(--gb-border)}
.gb-export-controls .gb-actions{align-items:flex-end}
.gb-button[data-gb-export][aria-busy=true]{opacity:1;cursor:progress}
.gb-button[data-gb-export][aria-busy=true]::before{content:"";width:16px;height:16px;flex-shrink:0;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:gb-export-spin .8s linear infinite}
@keyframes gb-export-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.gb-button[data-gb-export][aria-busy=true]::before{animation:none}}
.gb-export-controls select{margin-bottom:0}
.gb-language-select{position:relative;display:block;margin-top:6px}
.gb .gb-language-select select{appearance:none;-webkit-appearance:none;background-image:none;padding-right:38px;margin:0}
.gb-language-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--gb-muted);pointer-events:none}
.gb-toolbar label{
  flex:1;
  min-width:140px}
.gb-entries{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start}
.gb-entries[data-masonry]{display:block;position:relative}
.gb-entries[data-masonry] > .gb-entry{
  position:absolute;
  top:0;
  left:0;
  width:calc((100% - 20px)/2);
  margin-bottom:0}
.gb-submission-notice{border-color:#9664c966;font-weight:600}
.gb-submission-notice[data-state=success]{color:#15803d;border-color:#15803d44}
.gb-submission-notice[data-state=error],.gb [data-gb-form-error]{color:#b91c1c}
.dark .gb-submission-notice[data-state=success]{color:#86efac;border-color:#86efac44}
.dark .gb-submission-notice[data-state=error],.dark .gb [data-gb-form-error]{color:#fca5a5}
.gb-send-status{margin:20px 0;padding:16px;border:1px solid var(--gb-border);border-radius:14px;background:var(--gb-surface)}
.gb-send-status p{margin:0 0 8px;font-size:14px;font-weight:600}
.gb-send-status progress{display:block;width:100%;height:10px;accent-color:#7440cc}
.gb-media-picker{min-width:0;margin:8px 0 18px;padding:14px 12px 4px;border:1px solid var(--gb-border);border-radius:18px;background:rgba(150,100,201,.06)}
.gb-media-picker legend{padding:0 8px;color:var(--gb-ink);font-size:14px;font-weight:600}
.gb-media-picker .gb-attachments-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gb .gb-media-picker .gb-media-button{display:flex;flex-direction:column;min-width:0;min-height:88px;padding:12px 6px;gap:8px;border-radius:14px;background:var(--gb-surface);font-size:12px;line-height:1.3;text-align:center}
.gb .gb-media-button svg{width:24px;height:24px;color:#7440cc}
.dark .gb .gb-media-button svg{color:#c4a1f0}
.gb-media-button:hover{border-color:#9664c9;background:#9664c91a!important}
.gb-media-button:focus-within,.gb-audio-upload:focus-within{outline:3px solid #a679e1;outline-offset:3px}
.gb-audio-options{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.gb .gb-audio-upload{display:inline-flex;align-items:center;min-height:44px;color:var(--gb-muted);font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gb-entry{
  margin:0;
  overflow:hidden;
  animation:gb-arrive .35s ease-out}
.gb .gb-card.gb-entry{background:rgba(255,255,255,.9)}
.dark .gb .gb-card.gb-entry{background:rgba(28,23,48,.9)}
.gb-entry-meta{display:flex;justify-content:flex-end;margin-bottom:12px}
.gb-entry .gb-entry-date{display:inline-block;padding:5px 10px;border-radius:10px;background:rgba(36,24,50,.09);color:var(--gb-ink);font-size:11px;line-height:1.5;text-align:right}
.dark .gb-entry .gb-entry-date{background:rgba(255,255,255,.12)}
.gb-entry-heading{padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--gb-border)}
.gb .gb-entry-heading h3{margin:0;font-size:clamp(22px,4vw,26px);line-height:1.25;overflow-wrap:anywhere}
.gb-entry .gb-message{
  white-space:pre-wrap;
  font-size:16px}
.gb-media-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:16px 0}
.gb-media-grid a:first-child:nth-last-child(1){
  grid-column:1/-1}
.gb-media-grid a{position:relative;display:block;border-radius:14px;cursor:zoom-in}
.gb-media-grid a:focus-visible{outline:3px solid #a679e1;outline-offset:3px}
.gb-image-zoom{
  position:absolute;
  top:10px;
  right:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:10px;
  background:rgba(20,16,28,.72);
  color:#fff;
  font-size:15px;
  pointer-events:none;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px)}
.gb-media-grid img{
  display:block;
  object-fit:cover;
  width:100%;
  height:180px;
  border-radius:14px}
.gb-entry video{
  width:100%;
  max-height:420px;
  border-radius:14px;
  background:#18121e;
  margin:8px 0}
.gb-entry audio{
  width:100%;
  margin:12px 0}
.gb-entry time{
  color:var(--gb-muted);
  font-size:12px}
.gb-pagination{
  justify-content:center;
  width:fit-content;
  max-width:100%;
  margin:28px auto;
  padding:4px;
  gap:8px;
  border:1px solid var(--gb-border);
  border-radius:16px;
  background:var(--gb-surface);
  backdrop-filter:blur(18px)}
.gb-pagination .gb-button{min-height:36px;padding:6px 12px;font-size:12px;border-radius:12px}
.gb-pagination .gb-button:disabled{opacity:.7;color:var(--gb-muted)!important}
.gb-pagination .gb-button:not(:disabled):hover{background:#9664c91a}
.gb-pagination [data-gb-page]{font-size:12px;font-weight:600;padding:0 4px;white-space:nowrap}
.gb-dialog{
  width:min(620px,calc(100% - 24px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:24px;
  border:1px solid var(--gb-border);
  border-radius:24px;
  background:var(--gb-surface);
  backdrop-filter:blur(24px);
  color:var(--gb-ink)}
.gb-dialog::backdrop{
  background:#140b246e;
  backdrop-filter:blur(6px)}
.gb-upgrade-dialog{width:min(440px,calc(100% - 24px));background:rgba(255,255,255,.94)}
.dark .gb-upgrade-dialog{background:rgba(35,27,47,.94)}
.gb-upgrade-dialog .gb-heading{margin-bottom:16px}
.gb-upgrade-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:#9664c91a;color:#7440cc;font-size:24px}
.dark .gb-upgrade-icon{color:#c4a1f0}
.gb-upgrade-dialog p{color:var(--gb-muted);margin:0 0 24px}
.gb-upgrade-cta{width:100%;text-align:center}
.gb-icon-button{
  width:44px;
  height:44px;
  font-size:28px;
  background:transparent;
  border:0;
  color:var(--gb-ink);
  cursor:pointer}
.gb-floating{
  position:fixed;
  display:flex;
  align-items:center;
  gap:8px;
  max-width:calc(100% - 24px);
  bottom:calc(20px + env(safe-area-inset-bottom));
  left:50%;
  transform:translateX(-50%);
  z-index:10;
  white-space:nowrap}
.gb-floating>.gb-button{box-shadow:0 8px 32px #7440cc44}
.gb-floating .gb-icon-button.gb-theme-toggle{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.gb-page .gb-footer{position:fixed;right:0;bottom:0;left:0;z-index:9;display:flex;align-items:center;justify-content:center;min-height:34px;padding:4px 12px calc(4px + env(safe-area-inset-bottom))}
.gb-page .growth-footer-link{border-top:1px solid rgba(255,255,255,.1);background:rgba(11,15,23,.82);box-shadow:0 -2px 12px rgba(0,0,0,.18);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.gb-page .growth-footer-link a{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;color:#fff;font-size:10px;font-weight:500;line-height:1;text-decoration:none}
.gb-page .growth-footer-link a:hover{background:rgba(255,255,255,.06)}
.gb-page .growth-footer-link i{font-size:7px;color:rgba(255,255,255,.25)}
.gb-page .poweredby{background:#e1e1e1;color:#181818;font-size:11px;text-align:center;cursor:pointer}
.gb-page .poweredby a{color:inherit;text-decoration:none}
.gb-page:has(.gb-footer) .gb-floating{bottom:calc(64px + env(safe-area-inset-bottom))}
.gb-previews{
  margin:16px 0}
.gb-preview{
  border:1px solid var(--gb-border);
  padding:12px;
  border-radius:14px;
  margin:8px 0}
.gb-preview img,.gb-preview video{
  max-width:100%;
  max-height:200px;
  border-radius:12px}
.gb-preview audio{
  width:100%}
.gb-preview progress{
  width:100%;
  accent-color:#7440cc}
.gb-lock{
  width:min(440px,calc(100% - 32px));
  margin:12vh auto}
.gb-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0)}
.gb-lightbox{
  padding:12px;
  width:min(1000px,calc(100% - 24px));
  border:0;
  border-radius:20px;
  background:#1d1525;
  max-height:calc(100dvh - 24px);
  overflow:auto}
.gb-lightbox-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}
.gb-lightbox-close{width:44px;height:44px;padding:0;font-size:24px;line-height:1;border-radius:14px}
.gb-lightbox img{
  display:block;
  max-width:100%;
  max-height:calc(100dvh - 116px);
  margin:auto}
.gb-lightbox::backdrop{
  background:#10081be0}
@keyframes gb-arrive{
  from{
  opacity:0;
  transform:translateY(8px)}
to{
  opacity:1;
  transform:translateY(0)}
}
@media(max-width:640px){
  .gb-shell{
  padding:12px 12px 110px}
.gb-card{
  padding:18px;
  border-radius:20px}
.gb-hero{
  padding:0}
.gb-hero-image{
  height:auto}
.gb-hero-copy{
  padding:24px 20px}
.gb-entries{
  grid-template-columns:1fr}
.gb-entries[data-masonry] > .gb-entry{width:100%}
.gb-toolbar label{
  min-width:100%}
.gb-dialog{
  padding:18px;
  max-height:calc(100dvh - 24px);
  padding-bottom:calc(18px + env(safe-area-inset-bottom))}
.gb-attachments-picker .gb-button{
  flex:1;
  padding:10px}
.gb-media-grid img{
  height:150px}
.gb-actions{
  gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .gb-entry{
  animation:none}
}
