/* ==========================================================================
   The dancer's pages: a honky-tonk at night.
   Real materials: neon tube, printed card stock, stitched leather, ink on paper, enamel.
   One accent per page (--ac), lime always the lit word.
   ========================================================================== */
body.dz{--ac:#35e0ff;--lit:#a3e635;--pinkn:#ff4fb0;--goldn:#f5cf63;--night:#061040;--stock:#fbf2d8;--stock2:#f0e2ba;--inkn:#1b2a6b;--inkr:#b3261e;
  --title:"Kaushan Script","Kalam","Segoe Script",cursive;--slab:"Alfa Slab One","Rockwell","Georgia",serif;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  --leather:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='l' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' seed='4' stitchTiles='stitch' result='t'/%3E%3CfeDiffuseLighting in='t' surfaceScale='2.4' diffuseConstant='1.1' lighting-color='%23ffffff'%3E%3CfeDistantLight azimuth='235' elevation='58'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23l)'/%3E%3C/svg%3E");
  background:#040a2c}
body.dz .a-pink{--ac:#ff4fb0}body.dz .a-gold{--ac:#f5cf63}body.dz .a-lime{--ac:#a3e635}body.dz .a-cyan{--ac:#35e0ff}

/* ---------- the room ---------- */
body.dz main{position:relative;background:
  radial-gradient(1100px 520px at 50% -160px,rgba(46,118,255,.8),transparent 70%),
  radial-gradient(720px 440px at 104% 34%,rgba(255,79,176,.17),transparent 65%),
  radial-gradient(720px 440px at -4% 62%,rgba(53,224,255,.15),transparent 65%),
  linear-gradient(180deg,#0a1f7c 0%,#061040 52%,#040a2c 100%)}
body.dz main::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.5;mix-blend-mode:overlay;pointer-events:none}
body.dz .dash{display:block;position:relative;padding-top:16px;color:#fff}
body.dz .dash h1,body.dz .dash h2{color:#fff}body.dz .dash .muted,body.dz .dash .hint{color:#b9c6f5}
.dz-ic{width:1em;height:1em;vertical-align:-.15em;flex:none}

/* Everything else in the room is card stock, not a white box: cards, tables, forms, the calendar */
body.dz .dash :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.dz-panel,.chart-list li,.smart-list li,.comment,.post-event,.t10-board,.wiki-facts){color:#2b2212;background:var(--grain),linear-gradient(180deg,#fcf5df,#f2e6c2);border-color:transparent;box-shadow:0 12px 20px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.55)}
body.dz .dash :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.dz-panel,.chart-list li,.smart-list li,.comment,.post-event,.t10-board,.wiki-facts) :is(h1,h2,h3,h4,legend){font-family:var(--slab);font-weight:400;color:var(--inkn)}
body.dz .dash :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.dz-panel,.chart-list li,.smart-list li,.comment,.post-event,.t10-board,.wiki-facts) :is(.muted,.hint,.hint li,.hint strong,.eyebrow,small){color:#5a4a1e}
body.dz .dash :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.dz-panel,.chart-list li,.smart-list li,.comment,.post-event,.t10-board,.wiki-facts) a:not(.btn):not(.cal-ev):not(.cal-add){color:#1d3fbf}
body.dz .dash :is(.sw-card,.tile){color:var(--ink)}body.dz .dash :is(.sw-card,.tile) :is(h1,h2,h3,h4){color:var(--ink)}body.dz .dash :is(.sw-card,.tile) :is(.muted,.hint,small){color:var(--muted)}
body.dz .dash table th{background:transparent;font-family:var(--slab);font-weight:400;color:var(--inkn);border-bottom:4px double rgba(70,48,12,.45)}body.dz .dash table td{border-color:rgba(70,48,12,.22)}
body.dz .dash :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=search]),select,textarea){background-color:#fffdf5;border:1.5px solid rgba(70,48,12,.45);border-radius:10px}
body.dz .dash fieldset{border-radius:18px;padding:18px 20px;margin-bottom:18px}body.dz .dash fieldset legend{font-size:1.2rem;padding:0 8px;float:left;width:100%;margin-bottom:10px}body.dz .dash fieldset legend+*{clear:both}
/* section names written straight on the dark page */
body.dz .dash section>h1,body.dz .dash section>h2,body.dz .dash .cal-agenda-wrap>h2{font-family:var(--title);font-weight:400;font-size:clamp(1.9rem,5vw,2.5rem);line-height:1.05;color:#fff;margin:30px 4px 14px;text-shadow:0 0 2px #fff,0 0 10px var(--ac),0 0 26px var(--ac),0 3px 0 rgba(0,0,0,.35)}
body.dz .dash .agenda-day{color:#fff}
body.dz .dash :where(section) > :where(p,.muted,.hint,h1,h2) :where(a:not(.btn)),body.dz .dash :where(section) > :where(a:not(.btn):not([class])){color:#bef264}
/* the three numbers on the dashboard: a scoreboard */
body.dz .dash .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 4px 10px;border-radius:22px;overflow:hidden;background:rgba(4,10,44,.6);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px var(--ac),0 0 14px 3px var(--ac),0 0 44px color-mix(in srgb,var(--ac) 45%,transparent),inset 0 0 36px rgba(0,0,0,.45)}
body.dz .dash .stats .stat{background:transparent;box-shadow:none;border-radius:0;text-align:center;padding:16px 10px;border-right:1px solid rgba(255,255,255,.14)}body.dz .dash .stats .stat:last-child{border-right:0}
body.dz .dash .stats .stat b{font-family:var(--slab);font-weight:400;font-size:2.1rem;line-height:1;color:#fff;text-shadow:0 0 10px var(--ac),0 0 24px var(--ac),0 3px 0 rgba(0,0,0,.4)}body.dz .dash .stats .stat span{color:#c9d4ff;font-weight:700}
/* empty states and the "next up" card: lit frames on the dark */
body.dz .dash .card.empty,body.dz .dash .card[style*="background:#0a1650"]{color:#fff;background:rgba(4,10,44,.55);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px var(--ac),0 0 14px 3px var(--ac),0 0 46px color-mix(in srgb,var(--ac) 50%,transparent),inset 0 0 40px rgba(0,0,0,.4);border-radius:24px;margin-left:4px;margin-right:4px}
body.dz .dash .card.empty{padding:34px 22px;text-align:center}body.dz .dash .card.empty p{font-family:var(--title);font-size:1.7rem;line-height:1.15;color:#fff;margin:0 0 16px}body.dz .dash .card.empty .muted{color:#c9d4ff}
body.dz .dash .card[style*="background:#0a1650"]{background:rgba(4,10,44,.55)!important;padding:18px 22px;--ac:#a3e635}
body.dz .dash .card.card[style*="background:#0a1650"] :is(strong,span,b){color:#fff}body.dz .dash .card.card.card[style*="background:#0a1650"] small{color:#d9f99d}body.dz .dash .card[style*="background:#0a1650"] strong{font-family:var(--slab);font-weight:400;font-size:1.5rem!important;line-height:1.1}
/* the month on the wall */
body.dz .dash .cal{border-radius:20px;padding:16px}body.dz .dash .cal.cal .cal-head h2{font-family:var(--title);font-size:clamp(1.6rem,6vw,2.1rem);line-height:1;white-space:nowrap}
body.dz .dash .cal-dow{color:#5a4a1e;font-weight:800}body.dz .dash .cal-day{background:#fffdf5;border-color:rgba(70,48,12,.22)}body.dz .dash .cal-past{background:#f6eed6}body.dz .dash .cal-out{opacity:.5}
body.dz .dash .cal-today{border:2px solid #65a30d;box-shadow:0 0 0 2px rgba(163,230,53,.55),0 0 14px rgba(163,230,53,.9)}body.dz .dash .cal-date{color:var(--inkn)}
body.dz .dash .agenda-item{border-radius:14px}
@media(max-width:640px){body.dz .dash .cal{padding:10px 6px}}
/* phone: the menu bar and its tiles */
body.dz .hub-m summary{background:rgba(4,10,44,.6);border:1.5px solid rgba(255,255,255,.6);box-shadow:0 0 5px rgba(255,255,255,.5),0 0 16px var(--ac)}
body.dz .hub-m .hub-m-ic{color:var(--lit);font-size:1.7rem;line-height:0;filter:drop-shadow(0 0 6px var(--lit))}
body.dz .dash .hub-tile{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(4,10,44,.7) 55%);border:1.5px solid rgba(255,255,255,.55);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 12px color-mix(in srgb,var(--ac) 45%,transparent),0 8px 14px rgba(0,0,0,.4)}
body.dz .dash .hub-tile .hub-ic{color:var(--lit);font-size:2rem;line-height:0;margin-bottom:10px;filter:drop-shadow(0 0 6px var(--lit))}
body.dz .dash .hub-tile strong{color:#fff;font-size:1.05rem}body.dz .dash .hub-tile small{color:#c9d4ff}
body.dz .dash .hub-tile.on{border-color:#f3ffd2;box-shadow:0 0 6px #f3ffd2,0 0 18px var(--lit),inset 0 0 12px rgba(163,230,53,.35)}
body.dz .become-org{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 4px}

/* ---------- the strip of page links: unlit tubes, the current one lit ---------- */
body.dz .dash-nav{position:static;flex-direction:row;flex-wrap:nowrap;gap:8px;margin:0 0 18px;overflow-x:auto;scrollbar-width:none;padding:6px 2px 10px;-webkit-mask:linear-gradient(90deg,#000 92%,transparent);mask:linear-gradient(90deg,#000 92%,transparent)}
body.dz .dash-nav::-webkit-scrollbar{display:none}
body.dz .dash-nav a{flex:none;white-space:nowrap;background:rgba(4,10,44,.55);border:1.5px solid rgba(255,255,255,.28);color:#dfe7ff;border-radius:999px;padding:8px 15px;font-size:.9rem;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
body.dz .dash-nav a:hover{border-color:#fff;color:#fff;box-shadow:0 0 6px #fff,0 0 16px var(--ac),inset 0 0 8px rgba(53,224,255,.35)}
body.dz .dash-nav a.active{background:linear-gradient(180deg,#d9ff7a,#a3e635 60%,#86cf17);color:#16330a;border-color:#efffc4;box-shadow:0 0 6px #efffc4,0 0 18px var(--lit),0 0 40px rgba(163,230,53,.55),inset 0 1px 0 rgba(255,255,255,.8)}

/* ---------- the stage: spotlights on the heart, the page name in neon ---------- */
.dz-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:30px;margin:6px 4px 30px;padding:40px 40px 34px;min-height:270px;display:flex;align-items:center;
  background:radial-gradient(60% 90% at 78% 110%,rgba(255,255,255,.1),transparent 60%),linear-gradient(180deg,#0c2390,#071456 62%,#040b36);
  box-shadow:0 0 0 3px #030726,0 0 0 5px #f4fdff,0 0 0 6px var(--ac),0 0 16px 6px var(--ac),0 0 60px 8px color-mix(in srgb,var(--ac) 55%,transparent),inset 0 0 0 1px rgba(255,255,255,.2),inset 0 0 60px rgba(0,0,0,.55)}
.dz-stage::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.45;mix-blend-mode:overlay;pointer-events:none;z-index:3}
.dz-beams{position:absolute;inset:0;z-index:0;pointer-events:none}
.dz-beams i{position:absolute;top:-34px;width:300px;height:150%;transform-origin:50% 0;clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);filter:blur(7px);mix-blend-mode:screen;opacity:.75;animation:dz-sway 9s ease-in-out infinite alternate}
.dz-beams i:nth-child(1){right:30%;background:linear-gradient(180deg,#fff 0,#35e0ff 9%,rgba(53,224,255,.28) 55%,transparent 88%);--r:22deg}
.dz-beams i:nth-child(2){right:15%;background:linear-gradient(180deg,#fff 0,#ff4fb0 9%,rgba(255,79,176,.26) 55%,transparent 88%);--r:7deg;animation-delay:-3s}
.dz-beams i:nth-child(3){right:1%;background:linear-gradient(180deg,#fff 0,#a3e635 9%,rgba(163,230,53,.24) 55%,transparent 88%);--r:-10deg;animation-delay:-5s}
.dz-beams i:nth-child(4){right:-12%;background:linear-gradient(180deg,#fff 0,#a78bfa 9%,rgba(167,139,250,.26) 55%,transparent 88%);--r:-26deg;animation-delay:-7s}
@keyframes dz-sway{from{transform:rotate(calc(var(--r) - 5deg))}to{transform:rotate(calc(var(--r) + 5deg))}}
.dz-beams::before{content:"";position:absolute;right:4%;top:-8px;width:56%;height:16px;background:radial-gradient(circle 7px at 12% 50%,#fff 60%,transparent 62%),radial-gradient(circle 7px at 37% 50%,#fff 60%,transparent 62%),radial-gradient(circle 7px at 63% 50%,#fff 60%,transparent 62%),radial-gradient(circle 7px at 88% 50%,#fff 60%,transparent 62%);filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 18px var(--ac))}
.dz-heart{position:absolute;z-index:1;right:4%;top:50%;height:88%;width:auto;max-width:40%;object-fit:contain;transform:translateY(-50%) rotate(4deg);filter:drop-shadow(0 0 10px rgba(163,230,53,.75)) drop-shadow(0 0 36px rgba(53,224,255,.5)) drop-shadow(0 14px 14px rgba(0,0,0,.45))}
.dz-stage-in{position:relative;z-index:2;max-width:62%}
.dz-title{font-family:var(--title);font-weight:400;font-size:clamp(3.2rem,8vw,5.8rem);line-height:.96;letter-spacing:.005em;margin:0;color:#fff;transform:rotate(-3deg);transform-origin:0 100%;
  text-shadow:0 0 2px #fff,0 0 10px var(--ac),0 0 26px var(--ac),0 0 58px color-mix(in srgb,var(--ac) 70%,transparent),0 5px 0 rgba(0,0,0,.38);animation:dz-flick 2.2s linear 1}
.dz-title em{font-style:normal;color:#f1ffd0;text-shadow:0 0 2px #fff,0 0 10px var(--lit),0 0 28px var(--lit),0 0 62px rgba(163,230,53,.8),0 5px 0 rgba(0,0,0,.38)}
@keyframes dz-flick{0%,6%{opacity:.25}7%,11%{opacity:1}12%,14%{opacity:.4}15%,38%{opacity:1}39%,41%{opacity:.55}42%,100%{opacity:1}}
.dz-tube{display:block;width:min(74%,430px);height:10px;border-radius:10px;margin:18px 0 22px;transform:rotate(-3deg);transform-origin:0 50%;background:linear-gradient(180deg,#fff,#e6ff9c 40%,#a3e635);box-shadow:0 0 5px #fff,0 0 14px var(--lit),0 0 34px var(--lit),0 0 70px rgba(163,230,53,.65)}
.dz-sub{font-size:1.18rem;font-weight:600;color:#eef3ff;margin:0 0 4px;max-width:520px;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.dz-stage .dz-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media(max-width:760px){.dz-stage{padding:22px 18px 22px;min-height:0;border-radius:24px;margin:4px 3px 24px;display:block}.dz-heart{right:-2%;top:10px;height:128px;max-width:44%;transform:rotate(5deg)}.dz-stage-in{max-width:none}.dz-title{font-size:clamp(2.7rem,13vw,3.6rem);padding-right:36%;min-height:112px;display:flex;flex-direction:column;justify-content:flex-end}.dz-tube{height:8px;margin:14px 0 16px;width:70%}.dz-sub{font-size:1.02rem}.dz-beams i{width:190px;opacity:.6}}
@media(prefers-reduced-motion:reduce){.dz-beams i,.dz-title{animation:none}}

/* ---------- buttons you want to press ---------- */
body.dz .dash .btn-lime,body.dz .g-wrap .btn-lime{background:linear-gradient(180deg,#e2ff8e 0,#b4f03c 46%,#93d91f 54%,#84cc16);color:#16330a;text-shadow:0 1px 0 rgba(255,255,255,.55);border:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -2px 0 rgba(0,0,0,.16),0 4px 0 #4d7c0f,0 9px 16px rgba(0,0,0,.4),0 0 22px rgba(163,230,53,.5)}
body.dz .dash .btn-lime:active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 1px 0 #4d7c0f,0 3px 8px rgba(0,0,0,.4)}
.dz-glass{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;text-decoration:none;cursor:pointer;font:inherit;font-weight:800;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 48%,rgba(0,0,0,.2) 52%,rgba(255,255,255,.06));border:1.5px solid rgba(255,255,255,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 5px rgba(255,255,255,.6),0 0 16px color-mix(in srgb,var(--ac) 70%,transparent),0 6px 14px rgba(0,0,0,.4)}
.dz-glass:hover{color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 8px #fff,0 0 26px var(--ac),0 6px 14px rgba(0,0,0,.4)}.dz-glass .dz-ic{color:var(--lit);font-size:1.2em}
.dz-btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.75);box-shadow:0 0 5px rgba(255,255,255,.6),0 0 16px var(--ac)}.dz-btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}
body.dz .dash .btn .dz-ic{font-size:1.2em}

/* ---------- tabs: neon tubes ---------- */
.dz-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 4px 26px}
.dz-tabs button{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 24px;border-radius:999px;font:inherit;font-size:1.1rem;font-weight:800;cursor:pointer;color:#e9efff;background:rgba(4,10,44,.6);border:2px solid rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 6px 14px rgba(0,0,0,.35)}
.dz-tabs button .dz-ic{font-size:1.35em;color:var(--ac)}
.dz-tabs button:hover{border-color:#fff;box-shadow:0 0 6px #fff,0 0 18px var(--ac),inset 0 0 10px color-mix(in srgb,var(--ac) 40%,transparent)}
.dz-tabs button.on{color:#16330a;background:linear-gradient(180deg,#e2ff8e,#b4f03c 46%,#93d91f 54%,#84cc16);border-color:#f3ffd2;text-shadow:0 1px 0 rgba(255,255,255,.5);box-shadow:0 0 6px #f3ffd2,0 0 20px var(--lit),0 0 48px rgba(163,230,53,.6),inset 0 1px 0 rgba(255,255,255,.85)}
.dz-tabs button.on .dz-ic{color:#16330a}
@media(max-width:600px){.dz-tabs{gap:6px;flex-wrap:nowrap}.dz-tabs button{min-height:46px;padding:0 6px;font-size:.84rem;gap:5px;flex:1 1 0;min-width:0;justify-content:center;white-space:nowrap}.dz-tabs button .dz-ic{font-size:1.15em}}

/* ---------- section names: hand-lettered, lit ---------- */
.dz-h{display:flex;align-items:center;gap:12px;margin:34px 4px 16px;color:#fff}
.dz-h .dz-ic{font-size:2rem;color:var(--lit);filter:drop-shadow(0 0 6px var(--lit))}
.dz-h h2{font-family:var(--title);font-weight:400;font-size:clamp(2rem,5vw,2.7rem);line-height:1;margin:0;color:#fff;text-shadow:0 0 2px #fff,0 0 10px var(--ac),0 0 26px var(--ac),0 3px 0 rgba(0,0,0,.35)}
.dz-h a{margin-left:auto;white-space:nowrap;color:var(--lit);font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:6px;text-shadow:0 0 10px rgba(163,230,53,.6)}

/* ==========================================================================
   Tickets: printed card stock, scalloped edge, a perforated stub, ink stamps
   ========================================================================== */
.tk{position:relative;margin:0 4px 14px;filter:drop-shadow(0 16px 14px rgba(0,0,0,.5)) drop-shadow(0 0 14px color-mix(in srgb,var(--ac) 75%,transparent));transform:rotate(var(--tilt,0deg))}
.tk:nth-of-type(odd){--tilt:-.5deg}.tk:nth-of-type(even){--tilt:.4deg}
.tk-body{display:grid;grid-template-columns:minmax(0,1fr) 236px}
.tk-main,.tk-stub{position:relative;color:#2b2212;background:var(--grain),radial-gradient(120% 80% at 18% 0,rgba(255,255,255,.85),transparent 58%),linear-gradient(180deg,var(--stock),var(--stock2))}
.tk-main{display:grid;grid-template-columns:minmax(190px,36%) minmax(0,1fr);min-height:292px;
  -webkit-mask:radial-gradient(circle 9px at 0 50%,#0000 97%,#000) 0 0/100% 29px repeat-y,radial-gradient(circle 14px at 100% 0,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 97%,#000) no-repeat;-webkit-mask-composite:source-in;
  mask:radial-gradient(circle 9px at 0 50%,#0000 97%,#000) 0 0/100% 29px repeat-y,radial-gradient(circle 14px at 100% 0,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 97%,#000) no-repeat;mask-composite:intersect}
.tk-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 20px 16px 16px;text-align:center;
  -webkit-mask:radial-gradient(circle 9px at 100% 50%,#0000 97%,#000) 0 0/100% 29px repeat-y,radial-gradient(circle 14px at 0 0,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 0 100%,#0000 97%,#000) no-repeat;-webkit-mask-composite:source-in;
  mask:radial-gradient(circle 9px at 100% 50%,#0000 97%,#000) 0 0/100% 29px repeat-y,radial-gradient(circle 14px at 0 0,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 0 100%,#0000 97%,#000) no-repeat;mask-composite:intersect}
.tk-stub::before{content:"";position:absolute;left:-2px;top:18px;bottom:18px;border-left:4px dotted rgba(70,48,12,.5)}
.tk-photo{position:relative;background:#1b2a6b center/cover no-repeat;border-right:6px double rgba(70,48,12,.45)}
.tk-photo.banner{background-size:contain;background-color:#0b2a9c}.tk-photo.org{background-size:contain;background-color:#fff}
.tk-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 30%,rgba(0,0,0,.28));box-shadow:inset 0 0 26px rgba(0,0,0,.4)}
.tk-photo .tk-org{position:absolute;left:18px;bottom:10px;z-index:1;width:54px;height:54px;border-radius:50%;object-fit:cover;border:3px solid var(--stock);box-shadow:0 3px 8px rgba(0,0,0,.5)}
.tk-info{padding:16px 24px 16px 22px;display:flex;flex-direction:column;min-width:0}
.tk-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--slab);font-size:.82rem;letter-spacing:.2em;color:var(--inkr);text-transform:uppercase;padding-bottom:7px;border-bottom:4px double rgba(70,48,12,.45);margin-bottom:10px}
.tk-top span:first-child{flex:none;white-space:nowrap}.tk-top span:last-child{min-width:0;letter-spacing:.06em;color:rgba(70,48,12,.75);text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-info h3{font-family:var(--slab);font-weight:400;font-size:clamp(1.5rem,3.1vw,2.15rem);line-height:1.04;margin:0 0 12px;color:var(--inkn);text-shadow:0 1px 0 rgba(255,255,255,.7);overflow-wrap:anywhere}
.tk-rows{display:grid;gap:7px;font-size:1.06rem;font-weight:700;color:#33290f;margin-top:auto}
.tk-rows span{display:flex;align-items:center;gap:10px}.tk-rows .dz-ic{font-size:1.35rem;color:var(--inkn)}
.tk-qr{box-sizing:border-box;flex:none;width:150px;height:150px;aspect-ratio:1;border-radius:0;background:#fff;padding:8px;border:1.5px solid rgba(70,48,12,.55);box-shadow:0 1px 0 #fff;cursor:zoom-in;position:relative}.tk-qr>canvas,.tk-qr>img{width:100%!important;height:100%!important;margin:0!important;padding:0!important;image-rendering:pixelated}
.tk-qr:focus-visible{outline:3px solid var(--ac);outline-offset:3px}.tk-zoom{font-size:.76rem;font-weight:800;color:#5a4a1e;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.tk-no{font-family:"Courier New",ui-monospace,monospace;font-weight:700;font-size:1.02rem;letter-spacing:.1em;color:var(--inkr);text-shadow:.6px .4px 0 rgba(179,38,30,.35)}
.tk-ink{display:inline-flex;align-items:center;gap:6px;font-family:var(--slab);font-size:1rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.15;padding:5px 10px 4px;border:3px solid currentColor;border-radius:7px;color:#166534;transform:rotate(-7deg);mix-blend-mode:multiply;opacity:.9;filter:url(#dz-ink)}
.tk-ink.amber{color:#b45309}.tk-ink.blue{color:#1e3a8a}.tk-ink.red{color:var(--inkr)}.tk-ink.grey{color:#57534e}
.tk-acts{display:flex;flex-wrap:wrap;gap:10px;margin:18px 6px 34px}
.tk-acts .btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;font-weight:800}
.tk-stub-txt{display:contents}
@media(max-width:760px){
  .tk-body{grid-template-columns:1fr}.tk-main{grid-template-columns:1fr;min-height:0;
    -webkit-mask:radial-gradient(circle 14px at 0 100%,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 97%,#000) no-repeat;-webkit-mask-composite:source-in;mask:radial-gradient(circle 14px at 0 100%,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 97%,#000) no-repeat;mask-composite:intersect}
  .tk-photo{height:150px;border-right:0;border-bottom:6px double rgba(70,48,12,.45)}.tk-info{padding:14px 18px 18px}
  .tk-stub{flex-direction:row;justify-content:space-between;gap:14px;padding:18px 18px 16px;text-align:left;
    -webkit-mask:radial-gradient(circle 14px at 0 0,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 100% 0,#0000 97%,#000) no-repeat;-webkit-mask-composite:source-in;mask:radial-gradient(circle 14px at 0 0,#0000 97%,#000) no-repeat,radial-gradient(circle 14px at 100% 0,#0000 97%,#000) no-repeat;mask-composite:intersect}
  .tk-stub::before{left:18px;right:18px;top:-2px;bottom:auto;border-left:0;border-top:4px dotted rgba(70,48,12,.5)}
  .tk-qr{width:132px;height:132px}.tk-no{font-size:.92rem;letter-spacing:.05em;overflow-wrap:anywhere}.tk-stub-txt{min-width:0}.tk-stub-txt{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .tk-acts .btn,.tk-acts .dz-glass{flex:1 1 44%;justify-content:center;padding:0 12px}.tk{--tilt:0deg!important}}
/* used stubs */
.tk-used{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;margin:0 4px}
.tk-mini{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);min-height:128px;text-decoration:none;color:#2b2212;background:var(--grain),linear-gradient(180deg,#f6ecd0,#e9dab0);filter:drop-shadow(0 10px 10px rgba(0,0,0,.45));transform:rotate(var(--tilt,-1deg));
  -webkit-mask:radial-gradient(circle 7px at 0 50%,#0000 97%,#000) 0 0/100% 23px repeat-y,radial-gradient(circle 9px at calc(100% - 20px) 20px,#0000 97%,#000) no-repeat;-webkit-mask-composite:source-in;mask:radial-gradient(circle 7px at 0 50%,#0000 97%,#000) 0 0/100% 23px repeat-y,radial-gradient(circle 9px at calc(100% - 20px) 20px,#0000 97%,#000) no-repeat;mask-composite:intersect}
.tk-mini:nth-child(even){--tilt:1.2deg}.tk-mini:nth-child(3n){--tilt:-.4deg}
.tk-mini .tk-photo{border-right:4px double rgba(70,48,12,.45);filter:saturate(.75)}
.tk-mini>div:last-child{padding:12px 40px 12px 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}
.tk-mini b{font-family:var(--slab);font-weight:400;font-size:1.08rem;line-height:1.1;color:var(--inkn)}.tk-mini small{display:flex;align-items:center;gap:6px;font-weight:700;color:#4a3d1c}
.tk-mini .tk-ink{font-size:.72rem;margin-top:auto}
/* nothing here yet */
.dz-empty-big{position:relative;display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;margin:0 4px;padding:30px;border-radius:26px;color:#fff;background:rgba(4,10,44,.55);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px var(--ac),0 0 14px 3px var(--ac),0 0 46px color-mix(in srgb,var(--ac) 50%,transparent),inset 0 0 40px rgba(0,0,0,.4)}
.dz-empty-big>.dz-ic{width:130px;height:130px;color:var(--lit);stroke-width:1.4;filter:drop-shadow(0 0 8px var(--lit)) drop-shadow(0 0 22px rgba(163,230,53,.6));transform:rotate(-8deg)}
.dz-empty-big h3{font-family:var(--title);font-weight:400;font-size:2.2rem;line-height:1.05;margin:0 0 8px;color:#fff}.dz-empty-big p{margin:0 0 16px;color:#dbe4ff;font-size:1.08rem}
.dz-empty-big .btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;font-size:1.1rem;border-radius:999px}
@media(max-width:600px){.dz-empty-big{grid-template-columns:1fr;text-align:center;padding:24px 18px}.dz-empty-big>.dz-ic{margin:0 auto;width:100px;height:100px}}
/* the three promises under the tickets: one neon frame */
.dz-neon{display:grid;grid-template-columns:repeat(3,1fr);margin:40px 4px 10px;border-radius:24px;background:rgba(4,10,44,.55);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px var(--ac),0 0 14px 3px var(--ac),0 0 46px color-mix(in srgb,var(--ac) 50%,transparent),inset 0 0 40px rgba(0,0,0,.4)}
.dz-neon>div{display:flex;gap:14px;align-items:center;padding:20px 22px;color:#fff}.dz-neon>div+div{border-left:2px solid var(--lit);box-shadow:-6px 0 14px -8px var(--lit)}
.dz-neon i{font-size:0;color:var(--lit);filter:drop-shadow(0 0 6px var(--lit))}.dz-neon i .dz-ic{width:46px;height:46px;stroke-width:1.7}.dz-neon b{display:block;font-size:1.15rem}.dz-neon small{color:#dbe4ff;font-size:.95rem}
@media(max-width:760px){.dz-neon{grid-template-columns:1fr}.dz-neon>div+div{border-left:0;border-top:2px solid var(--lit);box-shadow:0 -6px 14px -8px var(--lit)}}

/* ==========================================================================
   Passport: stitched leather, cream pages with a security print, rubber stamps
   ========================================================================== */
.pp{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 4px 26px;padding:16px;border-radius:26px;
  background:var(--leather),linear-gradient(135deg,#1c2f86,#0c1754);background-blend-mode:soft-light,normal;
  box-shadow:inset 0 2px 1px rgba(255,255,255,.28),inset 0 -3px 2px rgba(0,0,0,.5),0 24px 30px rgba(0,0,0,.55),0 0 0 1px #050b30,0 0 26px color-mix(in srgb,var(--ac) 55%,transparent)}
.pp::before{content:"";position:absolute;inset:7px;border-radius:20px;border:2px dashed rgba(245,207,99,.75);pointer-events:none}
.pp-page{position:relative;min-height:440px;padding:26px 26px 22px;color:#2b2212;background:
  var(--grain),
  repeating-radial-gradient(circle at 0 0,rgba(27,42,107,.07) 0 1px,transparent 1px 10px),
  repeating-radial-gradient(circle at 100% 100%,rgba(179,38,30,.05) 0 1px,transparent 1px 13px),
  linear-gradient(180deg,#fcf5df,#f2e6c2)}
.pp-page:first-child{border-radius:14px 3px 3px 14px;box-shadow:inset -26px 0 28px -18px rgba(70,48,12,.55),inset 0 0 0 1px rgba(255,255,255,.6)}
.pp-page:last-child{border-radius:3px 14px 14px 3px;box-shadow:inset 26px 0 28px -18px rgba(70,48,12,.55),inset 0 0 0 1px rgba(255,255,255,.6)}
.pp-crest{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:4px double rgba(70,48,12,.45);margin-bottom:16px}
.pp-crest .dz-ic{font-size:2.5rem;color:#8a6a12}
.pp-crest b{font-family:var(--slab);font-weight:400;font-size:1.35rem;letter-spacing:.14em;line-height:1.05;display:block;text-transform:uppercase;background:linear-gradient(180deg,#b8902a,#7a5a0c 55%,#c9a443);-webkit-background-clip:text;background-clip:text;color:transparent}
.pp-crest small{display:block;letter-spacing:.3em;text-transform:uppercase;font-weight:800;font-size:.66rem;color:#7a5a0c}
.pp-id{display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:start}
.pp-photo{width:118px;height:146px;display:grid;place-items:center;background:linear-gradient(160deg,#dfe8ff,#b9c8f5);border:1.5px solid rgba(70,48,12,.6);box-shadow:inset 0 0 18px rgba(27,42,107,.35),0 1px 0 #fff;color:var(--inkn);overflow:hidden}
.pp-photo img{width:100%;height:100%;object-fit:cover}.pp-photo span{font-family:var(--slab);font-size:3rem;letter-spacing:.02em;color:var(--inkn);text-shadow:0 1px 0 rgba(255,255,255,.7)}.pp-photo .dz-ic{font-size:4.4rem;stroke-width:1.3}
.pp-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.pp-fields div{min-width:0}.pp-fields .w{grid-column:1/-1}
.pp-fields small{display:block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#8a6a12}
.pp-fields b{display:block;font-family:var(--slab);font-weight:400;font-size:1.12rem;line-height:1.15;color:var(--inkn);overflow-wrap:anywhere}
.pp-level{margin-top:16px}.pp-level .bar{height:12px;border-radius:6px;background:rgba(70,48,12,.18);box-shadow:inset 0 1px 2px rgba(0,0,0,.35);overflow:hidden}
.pp-level .bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(180deg,#c6f25a,#84cc16);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.pp-level small{display:block;margin-top:5px;font-weight:700;color:#5a4a1e}
.pp-sign{margin-top:16px;font-family:var(--title);font-size:1.9rem;line-height:1;color:var(--inkn);border-bottom:1.5px solid rgba(70,48,12,.5);padding-bottom:2px;transform:rotate(-2deg);transform-origin:0 100%;width:max-content;max-width:100%}
.pp-mrz{margin-top:18px;font-family:"Courier New",ui-monospace,monospace;font-weight:700;font-size:.84rem;letter-spacing:.12em;line-height:1.5;color:#3d3216;white-space:nowrap;overflow:hidden}
body.dz .dash .pp-page h3{font-family:var(--title);font-weight:400;font-size:2rem;line-height:1;margin:0 0 14px;color:var(--inkn)}
.pp-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 4px;align-items:center}
.dz-stamp{width:100%;max-width:150px;justify-self:center;color:var(--ink,#1e3a8a);transform:rotate(var(--rot,-6deg));mix-blend-mode:multiply;opacity:.86;filter:url(#dz-ink)}
.dz-stamp text{fill:currentColor;font-family:var(--slab)}.dz-stamp .s{font-size:8.6px;letter-spacing:.09em}.dz-stamp .b{font-size:14px;letter-spacing:.04em}
.dz-stamp.ghost{color:#6b5b2e;opacity:.3;filter:none}
a.pp-st{display:grid;text-decoration:none}a.pp-st:hover .dz-stamp{opacity:1}
.pp-note{margin:14px 0 0;font-family:var(--title);font-size:1.45rem;line-height:1.15;color:#5a4a1e;transform:rotate(-1.5deg)}
@media(max-width:860px){.pp{grid-template-columns:1fr;padding:13px}.pp-page{min-height:0;padding:22px 20px}.pp-page:first-child{border-radius:12px 12px 3px 3px;box-shadow:inset 0 -24px 26px -18px rgba(70,48,12,.55)}.pp-page:last-child{border-radius:3px 3px 12px 12px;box-shadow:inset 0 24px 26px -18px rgba(70,48,12,.55)}}
@media(max-width:420px){.pp-fields small{letter-spacing:.08em;font-size:.58rem}.pp-id{grid-template-columns:92px 1fr;gap:12px}.pp-photo{width:92px;height:116px}.pp-fields b{font-size:1rem}.pp-mrz{font-size:.68rem}}
/* scoreboard */
.dz-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:0;margin:0 4px 26px;border-radius:22px;background:rgba(4,10,44,.6);color:#fff;box-shadow:0 0 0 2px #f4fdff,0 0 0 3px var(--ac),0 0 14px 3px var(--ac),0 0 44px color-mix(in srgb,var(--ac) 45%,transparent),inset 0 0 36px rgba(0,0,0,.45)}
.dz-stat{padding:16px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.14)}.dz-stat:last-child{border-right:0}
.dz-stat b{display:block;font-family:var(--slab);font-weight:400;font-size:2.1rem;line-height:1;color:#fff;text-shadow:0 0 10px var(--ac),0 0 24px var(--ac),0 3px 0 rgba(0,0,0,.4)}
.dz-stat b .dz-ic{font-size:.8em;filter:drop-shadow(0 0 6px var(--ac))}
.dz-stat span{display:block;margin-top:7px;font-size:.82rem;font-weight:700;color:#c9d4ff}
.dz-stat.pts b{color:#f1ffd0;text-shadow:0 0 10px var(--lit),0 0 26px var(--lit),0 3px 0 rgba(0,0,0,.4)}.dz-stat.pts span{color:#d9f99d}
@media(max-width:600px){.dz-stats{grid-template-columns:repeat(3,1fr)}.dz-stat{border-bottom:1px solid rgba(255,255,255,.14)}.dz-stat:nth-child(3n){border-right:0}.dz-stat b{font-size:1.7rem}}
/* layout + paper panels with a leather header */
.dz-cols{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start;margin:0 4px}@media(max-width:860px){.dz-cols{grid-template-columns:1fr}}
.dz-panel{border-radius:20px;overflow:hidden;color:#2b2212;background:var(--grain),linear-gradient(180deg,#fcf5df,#f2e6c2);box-shadow:0 14px 22px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.5)}
body.dz .dash .dz-panel.dz-panel>h2{margin:0;padding:13px 18px 12px;font-family:var(--title);font-weight:400;font-size:1.55rem;line-height:1;color:#fff;text-shadow:0 0 8px var(--ac),0 2px 0 rgba(0,0,0,.4);
  background:var(--leather),linear-gradient(135deg,#1c2f86,#0c1754);background-blend-mode:soft-light,normal;border-bottom:2px dashed rgba(245,207,99,.75);box-shadow:inset 0 2px 1px rgba(255,255,255,.25)}
.dz-panel>.in{padding:16px 18px}
.dz-level{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px}.dz-level b{font-family:var(--slab);font-weight:400;font-size:1.2rem;color:var(--inkn);display:flex;align-items:center;gap:8px}.dz-level .pill{background:var(--lit);color:#16330a;font-weight:800;font-size:.75rem;padding:3px 9px;border-radius:999px}
.dz-bar{height:12px;border-radius:6px;background:rgba(70,48,12,.18);box-shadow:inset 0 1px 2px rgba(0,0,0,.35);overflow:hidden;margin:4px 0 2px}.dz-bar i{display:block;height:100%;background:linear-gradient(180deg,#c6f25a,#84cc16);border-radius:6px}
.dz-steps{list-style:none;margin:14px 0 0;padding:0}.dz-steps li{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:8px 0;position:relative}
.dz-steps li::before{content:attr(data-n);width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#5b7cff,#1b2a6b);color:#fff;font-weight:800;display:grid;place-items:center;font-size:.85rem;box-shadow:inset 0 1px 1px rgba(255,255,255,.5),0 2px 3px rgba(0,0,0,.35)}
.dz-steps li.done::before{background:radial-gradient(circle at 30% 25%,#e2ff8e,#84cc16);color:#16330a;content:"✓"}.dz-steps li b{display:block;color:var(--inkn)}body.dz .dash .dz-steps li small{color:#5a4a1e}
.dz-steps li+li::after{content:"";position:absolute;left:14px;top:-10px;height:14px;border-left:2px dashed rgba(70,48,12,.4)}
/* enamel pin badges */
.dz-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px 8px}
.dz-badge{text-align:center;padding:4px 4px 2px}
.dz-badge i{font-size:0;width:74px;height:74px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.75),transparent 34%),linear-gradient(150deg,var(--p1,#3b6cff),var(--p2,#1b2a6b));border:4px solid #e7c55a;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.55),inset 0 -4px 6px rgba(0,0,0,.35),0 0 0 1px #8a6a12,0 4px 0 #8a6a12,0 9px 12px rgba(0,0,0,.4)}
.dz-badge i .dz-ic{width:38px;height:38px;stroke-width:1.9;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}
.dz-badge:nth-child(4n+2) i{--p1:#ff6ab8;--p2:#a3155f}.dz-badge:nth-child(4n+3) i{--p1:#8ee33a;--p2:#3f7d0c}.dz-badge:nth-child(4n) i{--p1:#b08cff;--p2:#4c1d95}
.dz-badge b{display:block;font-family:var(--slab);font-weight:400;font-size:.98rem;color:var(--inkn)}body.dz .dash .dz-badge small{display:block;color:#5a4a1e;font-size:.78rem;line-height:1.25}
.dz-badge .lk{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:.72rem;font-weight:800;background:rgba(70,48,12,.14);border-radius:999px;padding:3px 9px;color:#5a4a1e}
.dz-badge.locked i{--p1:#b8bcc8;--p2:#6b7280;border-color:#b9b9b9;box-shadow:inset 0 2px 3px rgba(255,255,255,.55),inset 0 -4px 6px rgba(0,0,0,.35),0 0 0 1px #777,0 4px 0 #777,0 9px 12px rgba(0,0,0,.3)}.dz-badge.locked b{color:#5b5b5b}
.dz-badge.earned .lk{background:#d9f99d;color:#2c4a07}
/* memories: one line per stamp */
.dz-stamp-row{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px 0;border-top:1.5px dashed rgba(70,48,12,.4)}.dz-stamp-row:first-child{border-top:0}
.dz-stamp-row .dz-stamp{max-width:96px}
body.dz .dash .dz-stamp-row h4{margin:0;font-family:var(--slab);font-weight:400;font-size:1.12rem;color:var(--inkn)}.dz-stamp-row h4 a{color:inherit}.dz-stamp-row .when{color:#5a4a1e;font-size:.9rem;font-weight:600}.dz-stamp-row .mem{margin-top:8px;font-family:var(--title);font-size:1.25rem;line-height:1.25;color:#33290f}
.dz-stamp-row .mem img{max-width:260px;width:100%;border:8px solid #fff;border-bottom-width:26px;box-shadow:0 6px 14px rgba(0,0,0,.35);transform:rotate(2deg);display:block;margin-top:10px}
.dz-stamp-row details{margin-top:6px}.dz-stamp-row summary{cursor:pointer;color:var(--inkn);font-weight:700;font-size:.92rem}.dz-stamp-row textarea{width:100%;min-height:64px}
.dz-map{height:260px;border-radius:12px;background:#dbe4ff;border:1.5px solid rgba(70,48,12,.5)}
.dz-next{list-style:none;margin:0;padding:0}.dz-next li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1.5px dashed rgba(70,48,12,.35)}.dz-next li:last-child{border-bottom:0}
.dz-next .th{width:64px;height:52px;border-radius:8px;background:#0a1650 center/cover;box-shadow:0 0 0 3px #fff,0 3px 6px rgba(0,0,0,.35)}
.dz-next b{display:block;font-family:var(--slab);font-weight:400;color:var(--inkn)}body.dz .dash .dz-next small{color:#5a4a1e;font-weight:600}
.dz-tips{display:grid;gap:8px}.dz-tip{display:block;background:rgba(255,255,255,.6);border:1.5px solid rgba(70,48,12,.3);border-radius:12px;padding:10px 12px;text-decoration:none;color:inherit}.dz-tip b{display:flex;gap:8px;align-items:center;margin-bottom:2px;color:var(--inkn)}.dz-tip span{font-size:.9rem;color:#4a3d1c}

/* ---------- my dances ---------- */
.dz-filters{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:0 0 14px}@media(max-width:600px){.dz-filters{grid-template-columns:1fr}}
.dz-filters input,.dz-filters select{min-height:46px;border:2px solid rgba(255,255,255,.4);border-radius:999px;padding:0 18px;font:inherit;font-weight:600;background:rgba(4,10,44,.6);color:#fff}.dz-filters input::placeholder{color:#b9c6f5}.dz-filters input:focus,.dz-filters select:focus{outline:0;border-color:#fff;box-shadow:0 0 6px #fff,0 0 18px var(--ac)}
.dz-filters option{color:#111}
.dz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.dz-card{position:relative;border-radius:8px;overflow:hidden;background:#0a1650 center/cover;aspect-ratio:1;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:10px;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 10px 16px rgba(0,0,0,.5);transition:transform .15s}
.dz-card:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 0 0 2px #fff,0 0 18px var(--ac),0 14px 18px rgba(0,0,0,.5)}
.dz-card::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(4,10,44,.92))}
.dz-card>*{position:relative}.dz-card b{font-size:1.02rem;line-height:1.15;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.dz-card .lv{display:inline-block;margin-top:5px;font-size:.7rem;font-weight:800;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:2px 8px;align-self:flex-start}
.dz-card .tick{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e2ff8e,#84cc16);color:#16330a;display:grid;place-items:center;font-size:1rem;box-shadow:inset 0 1px 1px rgba(255,255,255,.7),0 2px 5px rgba(0,0,0,.5)}
.dz-card .tick.l{background:radial-gradient(circle at 30% 25%,#bfe0ff,#3b82f6);color:#06204d}.dz-card .tick.w{background:radial-gradient(circle at 30% 25%,#fff3a8,#eab308);color:#3b2f00}.dz-card .tick.v{background:radial-gradient(circle at 30% 25%,#ffc2e2,#ec4899);color:#4a0f2c}
.dz-card form{position:absolute;top:8px;left:8px;opacity:0;transition:opacity .15s;display:flex;gap:3px}.dz-card:hover form,.dz-card:focus-within form{opacity:1}
.dz-card form button{background:rgba(4,10,44,.9);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;font-size:.8rem;padding:4px 6px;cursor:pointer;display:grid;place-items:center}
.dz-ring{width:124px;height:124px;border-radius:50%;margin:6px auto 10px;display:grid;place-items:center;background:conic-gradient(var(--lit) calc(var(--p)*1%),rgba(70,48,12,.18) 0);position:relative;box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}
.dz-ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fcf5df;box-shadow:0 1px 3px rgba(0,0,0,.35)}.dz-ring span{position:relative;font-size:3rem;color:var(--inkn);line-height:0}
.dz-challenge{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;color:#fff;border-radius:22px;padding:20px 22px;margin-top:22px;background:rgba(4,10,44,.55);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px var(--pinkn),0 0 14px 3px var(--pinkn),0 0 44px rgba(255,79,176,.45)}
body.dz .dash .dz-challenge h3{font-family:var(--title);font-weight:400;font-size:1.9rem;margin:0 0 4px;color:#fff}.dz-challenge p{margin:0;color:#dbe4ff}
@media(max-width:600px){.dz-challenge{grid-template-columns:1fr}}
.dz-empty{padding:30px 16px;text-align:center;color:#b9c6f5}
.dz-achv{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1.5px dashed rgba(70,48,12,.35)}.dz-achv:last-of-type{border-bottom:0}
.dz-achv .dz-badge{padding:0}.dz-achv .dz-badge i{width:46px;height:46px;margin:0;border-width:3px}.dz-achv .dz-badge i .dz-ic{width:24px;height:24px}
.dz-achv b{color:var(--inkn)}body.dz .dash .dz-achv small{color:#5a4a1e}.dz-achv>.dz-ic{margin-left:auto;font-size:1.3rem;color:#3f7d0c}.dz-achv.locked>.dz-ic{color:#8a8a8a}

/* ==========================================================================
   The front page: the same room, seen from the door
   ========================================================================== */
body.dz-home .hero{background:linear-gradient(180deg,#0c2390,#071456 62%,#061040);isolation:isolate}
body.dz-home .hero::before{background:radial-gradient(60% 80% at 76% 105%,rgba(255,255,255,.1),transparent 60%),var(--grain);opacity:.9;mix-blend-mode:normal}
body.dz-home .hero::after{display:none}
body.dz-home .hero .dz-beams{z-index:0}
body.dz-home .hero-heart{z-index:1;filter:drop-shadow(0 0 10px rgba(163,230,53,.75)) drop-shadow(0 0 36px rgba(53,224,255,.5)) drop-shadow(0 14px 14px rgba(0,0,0,.45))}
body.dz-home .hero-inner{padding-top:64px}
body.dz-home .hero h1{font-family:var(--title);font-weight:400;font-size:clamp(3rem,8.4vw,5.9rem);line-height:.98;margin-bottom:.56em;color:#fff;text-shadow:0 0 2px #fff,0 0 10px #35e0ff,0 0 26px #35e0ff,0 0 58px rgba(53,224,255,.7),0 5px 0 rgba(0,0,0,.38);animation:dz-flick 2.2s linear 1}
body.dz-home .hero h1 .uline{color:#f1ffd0;text-shadow:0 0 2px #fff,0 0 10px var(--lit),0 0 28px var(--lit),0 0 62px rgba(163,230,53,.8),0 5px 0 rgba(0,0,0,.38)}
body.dz-home .hero h1 .uline::after{left:0;right:0;bottom:-.24em;height:.11em;border-radius:99px;background:linear-gradient(180deg,#fff,#e6ff9c 40%,#a3e635);filter:none;box-shadow:0 0 5px #fff,0 0 14px var(--lit),0 0 34px var(--lit),0 0 70px rgba(163,230,53,.65)}
body.dz-home .hero .lede{font-size:1.22rem;color:#eef3ff;text-shadow:0 2px 6px rgba(0,0,0,.6)}
body.dz-home .search-bar{border-radius:22px;box-shadow:0 0 0 2px #f4fdff,0 0 0 3.5px #35e0ff,0 0 14px 4px #35e0ff,0 0 50px rgba(53,224,255,.55),0 18px 40px rgba(0,0,0,.5)}
body.dz-home .search-bar .btn-lime{background:linear-gradient(180deg,#e2ff8e 0,#b4f03c 46%,#93d91f 54%,#84cc16);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 4px 0 #4d7c0f,0 0 18px rgba(163,230,53,.5)}
body.dz-home .quick-links svg{filter:drop-shadow(0 0 6px var(--lit))}body.dz-home .quick-links a{font-size:1.05rem}
body.dz-home .quick-links a:hover{background:rgba(255,255,255,.08);box-shadow:0 0 0 1.5px rgba(255,255,255,.6),0 0 16px #35e0ff}
body.dz-home .section{position:relative;color:#fff}
body.dz-home .section-head h2,body.dz-home .section h2{font-family:var(--title);font-weight:400;font-size:clamp(2rem,5.4vw,2.9rem);line-height:1.05;color:#fff;text-shadow:0 0 2px #fff,0 0 10px var(--ac),0 0 26px var(--ac),0 3px 0 rgba(0,0,0,.35)}
body.dz-home .eyebrow{color:var(--lit);text-shadow:0 0 10px rgba(163,230,53,.6)}
body.dz-home .section .muted,body.dz-home .section-head p:not(.eyebrow){color:#b9c6f5}
body.dz-home .content-block{color:#e7ecff}body.dz-home .content-block a,body.dz-home .section>.wrap>p a{color:#bef264}
body.dz-home .section .btn-ghost{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 48%,rgba(0,0,0,.2) 52%,rgba(255,255,255,.06));border:1.5px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 5px rgba(255,255,255,.6),0 0 16px rgba(53,224,255,.6)}
body.dz-home .section .btn-lime{background:linear-gradient(180deg,#e2ff8e 0,#b4f03c 46%,#93d91f 54%,#84cc16);color:#16330a;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 4px 0 #4d7c0f,0 9px 16px rgba(0,0,0,.4),0 0 22px rgba(163,230,53,.5)}
/* cards are printed card stock; they lift and light up under the hand */
body.dz-home .section .card,body.dz-home .t10-home{color:#2b2212;background:var(--grain),linear-gradient(180deg,#fcf5df,#f2e6c2);border-color:transparent;box-shadow:0 12px 20px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.55);transition:transform .15s,box-shadow .15s}
body.dz-home .section a.card:hover,body.dz-home .section .event-card:hover{transform:translateY(-4px);box-shadow:0 0 0 2px #f4fdff,0 0 16px #35e0ff,0 0 40px rgba(53,224,255,.45),0 16px 22px rgba(0,0,0,.5)}
body.dz-home .section .card :is(h2,h3,h4,strong),body.dz-home .t10-home strong{font-family:var(--slab);font-weight:400;color:var(--inkn);text-shadow:none;font-size:inherit}
body.dz-home .section .card h3{font-size:1.2rem;line-height:1.12}
body.dz-home .section .card .muted,body.dz-home .section .card small,body.dz-home .t10-home span{color:#5a4a1e}
body.dz-home .section .card a:not(.btn){color:var(--inkn)}
body.dz-home .section .card .btn-ghost{color:var(--inkn);background:#fffdf5;border:1.5px solid rgba(27,42,107,.5);box-shadow:none}
body.dz-home .section .card.empty{color:#fff;background:rgba(4,10,44,.55);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px #35e0ff,0 0 14px 3px #35e0ff,0 0 46px rgba(53,224,255,.5);border-radius:24px}body.dz-home .section .card.empty p{color:#fff}
body.dz-home .tile{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(4,10,44,.7) 55%);border:1.5px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 12px rgba(53,224,255,.45),0 8px 14px rgba(0,0,0,.4)}
body.dz-home .tile:hover{border-color:#fff;box-shadow:0 0 6px #fff,0 0 20px #35e0ff,0 8px 14px rgba(0,0,0,.4)}body.dz-home .tile .muted,body.dz-home .tile small,body.dz-home .tile span{color:#c9d4ff}
body.dz-home .chip{color:#fff;background:rgba(4,10,44,.6);border:1.5px solid rgba(255,255,255,.5)}body.dz-home .chip:hover{border-color:#fff;box-shadow:0 0 6px #fff,0 0 16px #35e0ff}
body.dz-home .band{background:rgba(4,10,44,.55);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px var(--pinkn),0 0 14px 3px var(--pinkn),0 0 46px rgba(255,79,176,.5),inset 0 0 40px rgba(0,0,0,.4);border-radius:26px}body.dz-home .band::after{display:none}
@media(max-width:700px){body.dz-home .hero-heart{opacity:.9;right:-4%;top:10px;width:46%;max-width:46%}body.dz-home .hero h1{padding-right:30%}body.dz-home .hero .dz-beams i{width:190px;opacity:.55}}

/* ==========================================================================
   Public browsing pages: the page name on the stage, everything else as on the front page
   ========================================================================== */
body.dz-pub .page-head{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:46px 0 40px;margin-bottom:26px;border:0;
  background:linear-gradient(180deg,#0c2390,#071456 62%,#061040);box-shadow:0 2px 0 #f4fdff,0 4px 0 #35e0ff,0 4px 18px 4px #35e0ff,0 12px 54px rgba(53,224,255,.4)}
body.dz-pub .page-head::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.9;background:
  conic-gradient(from 196deg at 52% -8%,transparent 0deg,rgba(53,224,255,.5) 1.5deg,rgba(53,224,255,.2) 11deg,transparent 13deg),
  conic-gradient(from 184deg at 68% -8%,transparent 0deg,rgba(255,79,176,.48) 1.5deg,rgba(255,79,176,.2) 11deg,transparent 13deg),
  conic-gradient(from 171deg at 83% -8%,transparent 0deg,rgba(163,230,53,.45) 1.5deg,rgba(163,230,53,.18) 11deg,transparent 13deg),
  conic-gradient(from 158deg at 97% -8%,transparent 0deg,rgba(167,139,250,.5) 1.5deg,rgba(167,139,250,.2) 11deg,transparent 13deg)}
body.dz-pub .page-head::after{content:"";position:absolute;z-index:-1;right:5%;top:9%;bottom:9%;width:min(30%,300px);background:url(../img/hero-heart.png) center/contain no-repeat;transform:rotate(4deg);filter:drop-shadow(0 0 10px rgba(163,230,53,.75)) drop-shadow(0 0 34px rgba(53,224,255,.5))}
body.dz-pub .page-head h1{font-family:var(--title);font-weight:400;font-size:clamp(2.8rem,7vw,4.9rem);line-height:.98;margin:0 0 .42em;max-width:64%;color:#fff;transform:rotate(-3deg);transform-origin:0 100%;text-shadow:0 0 2px #fff,0 0 10px #35e0ff,0 0 26px #35e0ff,0 0 58px rgba(53,224,255,.7),0 5px 0 rgba(0,0,0,.38)}
body.dz-pub .page-head h1::after{content:"";display:block;width:min(70%,380px);height:9px;border-radius:9px;margin-top:16px;background:linear-gradient(180deg,#fff,#e6ff9c 40%,#a3e635);box-shadow:0 0 5px #fff,0 0 14px var(--lit),0 0 34px var(--lit),0 0 70px rgba(163,230,53,.65)}
body.dz-pub .page-head p{max-width:60%;color:#eef3ff;font-weight:600;font-size:1.12rem;text-shadow:0 2px 6px rgba(0,0,0,.6)}body.dz-pub .page-head a:not(.btn){color:#bef264}
@media(max-width:700px){body.dz-pub .page-head{padding:26px 0 26px}body.dz-pub .page-head::after{right:-3%;top:8px;bottom:auto;height:112px;width:40%}body.dz-pub .page-head h1{max-width:66%;min-height:100px;display:flex;flex-direction:column;justify-content:flex-end}body.dz-pub .page-head p{max-width:none;font-size:1rem}}
/* words written straight on the dark page */
body.dz-pub main>.wrap,body.dz-pub main>section>.wrap,body.dz-pub main>.wrap>section{color:#eef2ff}
body.dz-pub main :where(.wrap)>:where(h1,h2),body.dz-pub main :where(.wrap)>:where(section,div:not([class]))>:where(h1,h2){font-family:var(--title);font-weight:400;line-height:1.05;color:#fff;text-shadow:0 0 2px #fff,0 0 10px var(--ac),0 0 26px var(--ac),0 3px 0 rgba(0,0,0,.35)}
body.dz-pub main :where(.wrap)>:where(h1){font-size:clamp(2.4rem,6.5vw,4rem)}body.dz-pub main :where(.wrap)>:where(h2),body.dz-pub main :where(.wrap)>:where(section,div:not([class]))>:where(h2){font-size:clamp(1.9rem,5vw,2.6rem)}
body.dz-pub main :where(.wrap,.section)>:where(p,ul,ol,.muted,.hint,h3,h4,small,label,.lede){color:#e3e9ff}body.dz-pub main :where(.wrap,.section)>:where(.muted,.hint){color:#b9c6f5}
body.dz-pub main :where(.wrap,.section)>:where(p,ul,ol,.muted,.hint,h3,h4) :where(a:not(.btn)){color:#bef264}
body.dz-pub .prose,body.dz-pub .content-block{color:#e7ecff}body.dz-pub .prose :is(h2,h3),body.dz-pub .content-block :is(h2,h3){color:#fff}body.dz-pub .prose a,body.dz-pub .content-block a{color:#bef264}
/* every white box is card stock */
body.dz-pub main :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.t10-board,.wiki-facts,.chart-list li,.smart-list li,.comment,.post-event,.sticky-book,.ticket,.dates a){color:#2b2212;background:var(--grain),linear-gradient(180deg,#fcf5df,#f2e6c2);border-color:transparent;box-shadow:0 12px 20px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.55)}
body.dz-pub main :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.t10-board,.wiki-facts,.chart-list li,.smart-list li,.comment,.post-event,.sticky-book,.ticket) :is(h1,h2,h3,h4,legend){font-family:var(--slab);font-weight:400;color:var(--inkn);text-shadow:none}
body.dz-pub main :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.t10-board,.wiki-facts,.chart-list li,.smart-list li,.comment,.post-event,.sticky-book,.ticket) :is(.muted,.hint,small,p,li,label){color:#4a3d1c}
body.dz-pub main :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.t10-board,.wiki-facts,.chart-list li,.smart-list li,.comment,.post-event,.sticky-book,.ticket) a:not(.btn):not(.cal-ev):not(.cal-add):not(.pill){color:#1d3fbf}
body.dz-pub main .card.empty{color:#fff;background:rgba(4,10,44,.55);box-shadow:0 0 0 2px #f4fdff,0 0 0 3px #35e0ff,0 0 14px 3px #35e0ff,0 0 46px rgba(53,224,255,.5);border-radius:24px;text-align:center;padding:34px 22px}body.dz-pub main .card.empty p{color:#fff;font-family:var(--title);font-size:1.6rem}body.dz-pub main .card.empty a:not(.btn){color:#bef264}
body.dz-pub main table th{background:transparent;font-family:var(--slab);font-weight:400;color:var(--inkn);border-bottom:4px double rgba(70,48,12,.45)}body.dz-pub main table td{border-color:rgba(70,48,12,.22)}
body.dz-pub main .cal-day{background:#fffdf5;border-color:rgba(70,48,12,.22)}body.dz-pub main .cal-past{background:#f6eed6}body.dz-pub main .cal-date{color:var(--inkn)}body.dz-pub main .cal .cal-head h2{font-family:var(--title);font-size:clamp(1.6rem,6vw,2.1rem);white-space:nowrap}
body.dz-pub main .cal-today{border:2px solid #65a30d;box-shadow:0 0 0 2px rgba(163,230,53,.55),0 0 14px rgba(163,230,53,.9)}body.dz-pub main .agenda-day{color:#fff}
body.dz-pub .auth-wrap>h1{text-align:center}
body.dz-pub main .card.empty :is(h2,h3,h4){color:#fff;font-family:var(--title);font-weight:400;font-size:1.7rem}
body.dz-pub main .t10-board.t10-board .t10-head.t10-head :is(h2,p,span,small){color:#fff}body.dz-pub main .t10-board.t10-board .t10-head.t10-head h2{font-family:var(--title);font-size:1.9rem;text-shadow:0 0 10px #35e0ff}
body.dz-pub main :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.t10-board,.wiki-facts,.sticky-book,.ticket) .btn-ghost{color:var(--inkn);background:#fffdf5;border:1.5px solid rgba(27,42,107,.5);box-shadow:none}
body.dz-pub main .btn-share{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 48%,rgba(0,0,0,.2) 52%,rgba(255,255,255,.06));border:1.5px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 5px rgba(255,255,255,.6),0 0 16px rgba(53,224,255,.6)}
body.dz-pub main a:not(.btn):not([class]){color:#bef264}
body.dz-pub main a.card[style*="color:inherit"]{color:#2b2212!important}body.dz-pub main a.card :is(strong,b){color:var(--inkn)}
body.dz-pub main :is(article,.org-head,.dance-head,.ev-hero) h1{color:#fff;font-size:clamp(2rem,5.4vw,3.1rem);line-height:1.05;text-shadow:0 0 12px rgba(53,224,255,.8),0 0 30px rgba(53,224,255,.5),0 3px 0 rgba(0,0,0,.4)}
body.dz-pub main article>h2,body.dz-pub main article>section>h2{font-family:var(--title);font-weight:400;font-size:clamp(1.8rem,4.6vw,2.4rem);line-height:1.05;color:#fff;text-shadow:0 0 2px #fff,0 0 10px var(--ac),0 0 26px var(--ac),0 3px 0 rgba(0,0,0,.35)}

/* ==========================================================================
   Second pass (Kat and Suzi, 13 Nov): script only for page names, textured buttons everywhere,
   a calmer white front-page headline with no animation, picture tiles
   ========================================================================== */
/* --- section names: bold and plain, a lit drawn icon in front. Script is for the page name (and handwriting in the passport) only --- */
body.dz-home .section-head h2,body.dz-home .section h2,
body.dz-pub main :where(.wrap)>:where(h2),body.dz-pub main :where(.wrap)>:where(section,div:not([class]))>:where(h2),body.dz-pub main article>h2,body.dz-pub main article>section>h2,
body.dz .dash section>h1,body.dz .dash section>h2,body.dz .dash .cal-agenda-wrap>h2,.dz-h h2{font-family:inherit;font-weight:800;font-size:clamp(1.5rem,4vw,2rem);line-height:1.15;letter-spacing:-.01em;color:#fff;text-shadow:0 0 18px color-mix(in srgb,var(--ac) 65%,transparent),0 2px 0 rgba(0,0,0,.35);display:flex;align-items:center;gap:12px}
body.dz-home .section h2>.dz-ic,body.dz-pub main h2>.dz-ic,.dz-h .dz-ic{font-size:1.25em;color:var(--lit);filter:drop-shadow(0 0 6px var(--lit));flex:none}
body.dz .dash .dz-panel.dz-panel>h2,body.dz-pub main .t10-board.t10-board .t10-head.t10-head h2{font-family:inherit;font-weight:800;font-size:1.2rem;text-shadow:0 2px 0 rgba(0,0,0,.4)}
.dz-empty-big h3,body.dz .dash .dz-challenge h3,body.dz .dash .card.empty p,body.dz-pub main .card.empty p,body.dz-pub main .card.empty :is(h2,h3,h4){font-family:inherit;font-weight:800;font-size:1.45rem;line-height:1.2}
body.dz .dash .cal.cal .cal-head h2,body.dz-pub main .cal .cal-head h2{font-family:var(--slab);font-size:clamp(1.3rem,5vw,1.7rem)}
body.dz-home .eyebrow{display:none}
.dz-more{margin-left:auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--lit);font-weight:800;text-decoration:none;text-shadow:0 0 10px rgba(163,230,53,.6)}.dz-more:hover{color:#eaffb0}
body.dz-home .section-head{align-items:center}

/* --- the front page headline: white, simple, still; one painted lime stroke --- */
body.dz-home .hero{background:linear-gradient(180deg,#0b2aa8 0%,#0a1f86 45%,#071456 100%)}
body.dz-home .hero::before{opacity:.75;background:
  conic-gradient(from 196deg at 52% -8%,transparent 0deg,rgba(53,224,255,.4) 1.5deg,rgba(53,224,255,.14) 11deg,transparent 13deg),
  conic-gradient(from 184deg at 68% -8%,transparent 0deg,rgba(255,79,176,.36) 1.5deg,rgba(255,79,176,.14) 11deg,transparent 13deg),
  conic-gradient(from 171deg at 83% -8%,transparent 0deg,rgba(163,230,53,.34) 1.5deg,rgba(163,230,53,.12) 11deg,transparent 13deg),
  conic-gradient(from 158deg at 97% -8%,transparent 0deg,rgba(167,139,250,.38) 1.5deg,rgba(167,139,250,.14) 11deg,transparent 13deg)}
body.dz-home .hero h1,body.dz-home .hero h1 .uline{color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.3),0 10px 24px rgba(0,0,0,.35);animation:none}
body.dz-home .hero h1 .uline::after{left:-2%;right:-3%;bottom:-.24em;height:.2em;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 5px rgba(163,230,53,.5));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4 13C60 5 190 2 292 6c5 .3 6 5 1 5.6C210 9 90 11 9 18 3 18.5 0 14 4 13z' fill='%23a3e635'/%3E%3C/svg%3E") no-repeat center/100% 100%}
body.dz-home .quick-links{display:none}body.dz-home .hero>.wrap:last-child{padding-bottom:34px}
body.dz-home .home-first{padding-top:34px}

/* --- buttons: every one a thing you can press. Gloss, a lip underneath, a grain you can nearly feel --- */
body.dz .btn{border:0;font-weight:800;position:relative;transition:transform .08s,box-shadow .08s,filter .15s}
body.dz .btn-lime,body.dz .dash .btn-lime,body.dz-home .section .btn-lime,body.dz-home .search-bar .btn-lime{color:#16330a;text-shadow:0 1px 0 rgba(255,255,255,.55);background:var(--grain),linear-gradient(180deg,#e6ff96 0,#b8f240 46%,#97dc22 54%,#84cc16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -2px 0 rgba(0,0,0,.16),0 4px 0 #4d7c0f,0 9px 16px rgba(0,0,0,.4),0 0 20px rgba(163,230,53,.45)}
body.dz main .btn:not(.btn-lime):not(.btn-ghost):not(.btn-danger):not(.btn-share):not(.dz-glass){color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.4);background:var(--grain),linear-gradient(180deg,#7da5ff 0,#3b6cff 46%,#2456e6 54%,#1d44c4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(0,0,0,.2),0 4px 0 #12287a,0 9px 16px rgba(0,0,0,.4),0 0 18px rgba(59,108,255,.45)}
body.dz main .btn-danger{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.4);background:var(--grain),linear-gradient(180deg,#ff8a8a 0,#ef4444 46%,#dc2626 54%,#b91c1c);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(0,0,0,.2),0 4px 0 #7f1d1d,0 9px 16px rgba(0,0,0,.4)}
body.dz main .btn-ghost,body.dz-home .section .btn-ghost,body.dz main .btn-share{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.45);background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.07) 48%,rgba(0,0,0,.22) 52%,rgba(255,255,255,.07));border:1.5px solid rgba(255,255,255,.8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 3px 0 rgba(0,0,0,.45),0 0 5px rgba(255,255,255,.55),0 0 16px rgba(53,224,255,.55),0 8px 14px rgba(0,0,0,.35)}
/* on card stock a quiet button is pressed card, not glass */
body.dz main :is(.card,.table-wrap,.stat,fieldset,.cal,.agenda-item,.notice,.t10-board,.wiki-facts,.sticky-book,.ticket,.dz-panel,.search-bar,.org-search,.quick-search,.comment,.post-event) :is(.btn-ghost,.btn-share),
body.dz-home .section .card .btn-ghost{color:var(--inkn);text-shadow:0 1px 0 rgba(255,255,255,.8);background:var(--grain),linear-gradient(180deg,#fffdf5,#efe2ba);border:1.5px solid rgba(70,48,12,.45);box-shadow:inset 0 1px 0 #fff,0 3px 0 #b9a36a,0 7px 10px rgba(0,0,0,.25)}
body.dz main .btn:active{transform:translateY(3px);filter:brightness(.97)}
body.dz main .btn-lime:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 0 #4d7c0f,0 3px 8px rgba(0,0,0,.4)}
body.dz main .btn:not(.btn-lime):not(.btn-ghost):not(.btn-danger):not(.btn-share):not(.dz-glass):active{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 0 #12287a,0 3px 8px rgba(0,0,0,.4)}
body.dz main .btn:focus-visible,.dz-glass:focus-visible{outline:3px solid #fff;outline-offset:3px}
body.dz .site-header .btn-lime{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 0 #4d7c0f,0 0 14px rgba(163,230,53,.4)}

/* --- "what are you in the mood for": a real picture, the name underneath --- */
.moods{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:16px}
.mood{display:flex;flex-direction:column;text-decoration:none;color:#2b2212;border-radius:20px;overflow:hidden;background:var(--grain),linear-gradient(180deg,#fcf5df,#f2e6c2);box-shadow:0 0 0 2px #f4fdff,0 0 14px rgba(53,224,255,.55),0 12px 18px rgba(0,0,0,.45);transition:transform .15s,box-shadow .15s}
.mood:hover{transform:translateY(-5px);box-shadow:0 0 0 2px #fff,0 0 22px #35e0ff,0 0 44px rgba(53,224,255,.5),0 16px 20px rgba(0,0,0,.5)}
.mood-pic{display:grid;place-items:center;aspect-ratio:4/3;margin:7px 7px 0;border-radius:14px;background:#0a1650 center/cover no-repeat;box-shadow:inset 0 0 24px rgba(0,0,0,.45);color:#fff;position:relative;overflow:hidden}
.mood-pic .dz-ic{width:46%;height:46%;stroke-width:1.5;filter:drop-shadow(0 0 8px rgba(255,255,255,.7)) drop-shadow(0 4px 6px rgba(0,0,0,.4))}
.mood-pic.m0{background-image:radial-gradient(circle at 70% 0,#ff8ad1,transparent 55%),linear-gradient(140deg,#7c3aed,#1e1b4b)}.mood-pic.m1{background-image:radial-gradient(circle at 30% 0,#ffd27a,transparent 55%),linear-gradient(140deg,#ea580c,#451a03)}
.mood-pic.m2{background-image:radial-gradient(circle at 70% 0,#8ef0ff,transparent 55%),linear-gradient(140deg,#2563eb,#0a1650)}.mood-pic.m3{background-image:radial-gradient(circle at 30% 0,#d9ff8a,transparent 55%),linear-gradient(140deg,#15803d,#052e16)}
.mood-pic.m4{background-image:radial-gradient(circle at 70% 0,#ffc2e2,transparent 55%),linear-gradient(140deg,#db2777,#4a0f2c)}.mood-pic.m5{background-image:radial-gradient(circle at 30% 0,#a5f3fc,transparent 55%),linear-gradient(140deg,#0d9488,#083344)}
.mood-pic[style]{background-size:cover}
.mood-l{display:flex;align-items:center;gap:10px;padding:11px 12px 13px}.mood-l>.dz-ic{font-size:1.7rem;color:var(--inkn);flex:none}
.mood-l b{display:block;font-size:1rem;line-height:1.15;color:var(--inkn);font-weight:800}.mood-l small{display:block;font-size:.8rem;font-weight:600;color:#5a4a1e}
@media(max-width:600px){.moods{grid-template-columns:repeat(2,1fr);gap:12px}}
/* --- three lit panels --- */
.home-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}
.home-panel{display:flex;gap:16px;align-items:flex-start;padding:24px 22px;border-radius:24px;text-decoration:none;color:#fff;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(4,10,44,.6) 45%);box-shadow:0 0 0 2px #f4fdff,0 0 0 3.5px var(--ac),0 0 14px 3px var(--ac),0 0 46px color-mix(in srgb,var(--ac) 50%,transparent),inset 0 0 40px rgba(0,0,0,.35);transition:transform .15s}
.home-panel:hover{transform:translateY(-4px);color:#fff}
.home-panel>.dz-ic{font-size:3.2rem;color:var(--ac);filter:drop-shadow(0 0 8px var(--ac));flex:none;stroke-width:1.6}
body.dz-home .home-panel h3{margin:0 0 6px;font-size:1.4rem;font-weight:800;line-height:1.15;color:#fff}.home-panel p{margin:0 0 16px;color:#dbe4ff}
/* --- organisers: big picture, words underneath --- */
.org-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
body.dz-home .section .grid-4:has(.org-tile){display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.org-tile{display:flex;flex-direction:column;text-decoration:none;color:#2b2212;border-radius:20px;overflow:hidden;background:var(--grain),linear-gradient(180deg,#fcf5df,#f2e6c2);box-shadow:0 12px 18px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.55);transition:transform .15s,box-shadow .15s}
.org-tile[hidden]{display:none}
.org-tile:hover{transform:translateY(-5px);box-shadow:0 0 0 2px #f4fdff,0 0 18px #35e0ff,0 0 40px rgba(53,224,255,.45),0 16px 20px rgba(0,0,0,.5)}
.org-pic{position:relative;display:block;aspect-ratio:1;margin:8px 8px 0;border-radius:14px;overflow:hidden;background:#0a1650;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.org-pic img{width:100%;height:100%;object-fit:cover;display:block}.org-pic::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 22px rgba(0,0,0,.35);pointer-events:none}
.org-flag{position:absolute;left:8px;top:8px;z-index:1;background:var(--lit);color:#16330a;font-weight:800;font-size:.72rem;padding:3px 9px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.org-txt{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px;min-width:0}
body.dz .org-txt b{font-family:var(--slab);font-weight:400;font-size:1.08rem;line-height:1.15;color:var(--inkn);overflow-wrap:anywhere}.org-txt .verified{color:#1d3fbf;font-size:.9em}
body.dz .org-txt small{font-size:.86rem;font-weight:700;color:#5a4a1e}.org-txt em{font-style:normal;font-size:.86rem;line-height:1.3;color:#4a3d1c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.org-meta{margin-top:5px;font-size:.8rem;font-weight:700;color:#5a4a1e}
.org-search{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:8px 8px 8px 18px;border-radius:999px;background:#fffdf5;box-shadow:0 0 0 2px #f4fdff,0 0 0 3.5px #35e0ff,0 0 14px 4px #35e0ff,0 0 46px rgba(53,224,255,.5),0 12px 20px rgba(0,0,0,.4)}
.org-search>.dz-ic{font-size:1.4rem;color:var(--inkn)}.org-search input{flex:1;min-width:0;border:0!important;background:transparent!important;font:inherit;font-size:1.05rem;font-weight:600;min-height:44px;outline:0;color:#2b2212}
.org-count{margin:0 4px 18px;color:#b9c6f5;font-weight:700}
@media(max-width:600px){.org-tiles,body.dz-home .section .grid-4:has(.org-tile){grid-template-columns:repeat(2,1fr);gap:12px}.org-txt{padding:10px 11px 12px}}
