/* Layout: cream editorial page — sticky wordmark bar, ticker, hero with the next event's flyer,
   agenda grid of flyers that open each event's 3D map, then how-it-works, stages, memories, where, footer. */
:root{
  --bg:#FBF2E5; --bg-2:#F3E7D6; --card:#FFFBF5;
  --ink:#292729; --ink-2:#5A544F; --mute:#948981;
  --line:rgba(41,39,41,.14); --line-strong:rgba(41,39,41,.32);
  --cta-bg:#324158; --cta-fg:#FBF2E5; --cta-bg-hover:#273345;
  --wa:#1FAF54; --wa-fg:#FFFFFF;
  --warn:#C8460B; --warn-soft:rgba(200,70,11,.12);
  --ok:#2E6B45; --off:#948981;
  --shadow:0 18px 50px rgba(41,39,41,.14);
  --eye:url("data:image/png;base64,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");
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --label:"Space Grotesk","Archivo",Arial,sans-serif;
  --radius:22px; --radius-s:12px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#141214; --bg-2:#1A171A; --card:#201C20;
    --ink:#FBF2E5; --ink-2:#CFC3B5; --mute:#9A8F86;
    --line:rgba(251,242,229,.14); --line-strong:rgba(251,242,229,.32);
    --cta-bg:#FBF2E5; --cta-fg:#141214; --cta-bg-hover:#EFE2CF;
    --warn:#F0783A; --warn-soft:rgba(240,120,58,.16);
    --ok:#6FCF97; --off:#9A8F86;
    --shadow:0 18px 50px rgba(0,0,0,.45);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#141214; --bg-2:#1A171A; --card:#201C20;
  --ink:#FBF2E5; --ink-2:#CFC3B5; --mute:#9A8F86;
  --line:rgba(251,242,229,.14); --line-strong:rgba(251,242,229,.32);
  --cta-bg:#FBF2E5; --cta-fg:#141214; --cta-bg-hover:#EFE2CF;
  --warn:#F0783A; --warn-soft:rgba(240,120,58,.16);
  --ok:#6FCF97; --off:#9A8F86;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:300;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;padding-bottom:96px}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:6px}
.wrap{width:min(1120px,100%);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--mute)}
h1,h2,h3{font-family:var(--display);font-weight:900;font-variation-settings:"SOFT" 100,"opsz" 144;line-height:.95;letter-spacing:-.01em;margin:0;text-wrap:balance}
h2{font-size:clamp(38px,6vw,64px);margin-top:14px}
h2 em{font-style:italic;font-weight:500;color:var(--mute)}
.lead{font-size:clamp(17px,2vw,20px);max-width:36em;color:var(--ink-2);margin:0}
.section{padding-block:clamp(56px,8vw,104px)}
.section--alt{background:var(--bg-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- top bar ---- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;height:68px}
.wordmark{display:flex;align-items:center;height:100%}
.wordmark svg{height:30px;width:auto;fill:currentColor}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{text-decoration:none;font-family:var(--label);font-weight:500;font-size:14px;padding:9px 14px;border-radius:999px;color:var(--ink-2)}
.nav a:hover{background:var(--bg-2);color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-family:var(--label);font-weight:600;font-size:15px;letter-spacing:.01em;padding:14px 22px;border-radius:999px;border:1px solid transparent;transition:transform .15s ease,background .15s ease;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--cta{background:var(--cta-bg);color:var(--cta-fg)}
.btn--cta:hover{background:var(--cta-bg-hover)}
.btn--ghost{border-color:var(--line-strong);color:var(--ink)}
.btn--ghost:hover{background:var(--bg-2)}
.btn--wa{background:var(--wa);color:var(--wa-fg)}
.btn--wa:hover{filter:brightness(1.06)}
.btn--sm{padding:10px 16px;font-size:14px}
.btn svg{width:18px;height:18px;flex:none}
.top .btn{margin-left:8px}
@media (max-width:760px){.nav{display:none}.top .wrap{height:62px}.wordmark svg{height:24px}.top .btn{margin-left:auto}}

/* ---- ticker ---- */
.ticker{border-bottom:1px solid var(--line);background:var(--ink);color:var(--bg);overflow:hidden;font-family:var(--label);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;height:44px;display:flex;align-items:center}
.ticker__track{display:flex;gap:0;width:max-content;animation:marquee 42s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__item{display:inline-flex;align-items:center;gap:22px;padding-inline:22px;white-space:nowrap}
.ticker__eye{width:22px;height:16px;background:currentColor;-webkit-mask:var(--eye) center/contain no-repeat;mask:var(--eye) center/contain no-repeat;opacity:.9}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}.ticker{overflow-x:auto}}

/* ---- hero ---- */
.hero{padding-block:clamp(40px,6vw,88px) clamp(48px,6vw,80px);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(46px,7.2vw,96px)}
.hero h1 .it{display:block;font-style:italic;font-weight:500;font-size:.56em;letter-spacing:0;color:var(--mute);margin-top:.12em}
.hero .lead{margin-top:22px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero__facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--label);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.hero__facts b{color:var(--ink);font-weight:600}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero__cta .btn{flex:1 1 auto}}

/* ---- spotlight (next event) ---- */
.spot{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;position:relative}
.spot__badge{position:absolute;top:14px;left:14px;z-index:2}
.spot__chip{position:absolute;top:14px;right:14px;z-index:2}
.spot__body{padding:20px 22px 22px;display:grid;gap:16px}
.spot__title{font-family:var(--display);font-weight:800;font-variation-settings:"SOFT" 100,"opsz" 72;font-size:clamp(26px,3vw,34px);line-height:1;letter-spacing:-.01em;text-wrap:balance}
.spot__meta{font-family:var(--label);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:8px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-block:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{min-width:0}
.facts dt{font-family:var(--label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 4px}
.facts dd{margin:0;font-weight:500;font-size:15px;line-height:1.3}
.facts dd.price{font-family:var(--display);font-weight:900;font-size:24px;line-height:1;font-variation-settings:"SOFT" 100,"opsz" 48}
.spot__actions{display:flex;flex-wrap:wrap;gap:10px}
.spot__actions .btn{flex:1 1 160px}
@media (max-width:420px){.facts{grid-template-columns:1fr 1fr}}

/* ---- flyer (real art or generated placeholder) ---- */
.flyer{aspect-ratio:4/5;max-width:100%;position:relative;overflow:hidden;background:#1a1719;color:#FBF2E5;isolation:isolate}
.flyer img{width:100%;height:100%;object-fit:cover}
.flyer--gen{display:grid;place-items:center;text-align:center;padding:10%;background:
  radial-gradient(120% 80% at 50% 0%,var(--g1) 0%,transparent 60%),
  radial-gradient(90% 60% at 50% 110%,var(--g2) 0%,transparent 60%),
  linear-gradient(180deg,#1b1719,#0f0d0f)}
.flyer--gen::before{content:"";position:absolute;inset:0;background:#FBF2E5;-webkit-mask:var(--eye) center 44%/68% auto no-repeat;mask:var(--eye) center 44%/68% auto no-repeat;opacity:.16;z-index:-1}
.flyer--gen::after{content:"";position:absolute;inset:10px;border:1px solid rgba(251,242,229,.22);pointer-events:none}
.flyer__t{font-family:var(--display);font-weight:900;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:clamp(7px,13cqi,64px);line-height:.9;letter-spacing:-.01em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.flyer__s{font-family:var(--label);font-weight:600;font-size:clamp(8px,3cqi,12px);letter-spacing:.22em;text-transform:uppercase;margin-top:clamp(6px,3cqi,14px);opacity:.85}
.flyer__w{position:absolute;bottom:14px;left:0;right:0;font-family:var(--label);font-size:10px;letter-spacing:.3em;text-transform:uppercase;opacity:.6}
.flyer{container-type:inline-size}
[data-stage="ritual"]{--g1:#b8641a;--g2:#5a1d0e}
[data-stage="nomad"]{--g1:#8a5a2b;--g2:#2d4a3b}
[data-stage="bells"]{--g1:#6d3fa0;--g2:#1d2c6b}
[data-stage="raw room"]{--g1:#c2571b;--g2:#3a1a0b}
[data-stage="church"]{--g1:#2f4b8f;--g2:#0e2a3f}
[data-stage="garden"]{--g1:#4b8a3c;--g2:#1a4a3d}
[data-stage="outro"],.flyer:not([data-stage]){--g1:#5a5560;--g2:#2a262c}
@container (max-width:160px){.flyer__w,.flyer__s{display:none}.flyer--gen::after{inset:4px}}

/* ---- badges / chips ---- */
.date-badge{display:inline-grid;place-items:center;background:#FBF2E5;color:#292729;border-radius:14px;padding:8px 10px;min-width:58px;line-height:1;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.date-badge b{font-family:var(--display);font-weight:900;font-size:26px;font-variation-settings:"SOFT" 100,"opsz" 48}
.date-badge span{font-family:var(--label);font-weight:600;font-size:10px;letter-spacing:.2em;margin-top:4px}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--label);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:#FBF2E5;color:#292729;border:1px solid transparent;box-shadow:0 4px 14px rgba(0,0,0,.14)}
.chip--dark{background:#292729;color:#FBF2E5}
.chip--warn{background:var(--warn);color:#fff;border-color:transparent}
.chip--off{background:var(--off);color:#fff;border-color:transparent}
.chip--ok{color:var(--ok);border-color:currentColor}
.chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.chip--live .dot{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.chip--live .dot{animation:none}}

/* ---- agenda ---- */
.agenda__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:18px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{font-family:var(--label);font-weight:500;font-size:13px;padding:9px 14px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-2)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px);margin-top:36px}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.grid{grid-template-columns:1fr}}
.card{display:grid;grid-template-rows:auto 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;position:relative;transition:transform .2s ease,box-shadow .2s ease;min-width:0}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
@media (prefers-reduced-motion:reduce){.card,.card:hover{transform:none;transition:none}}
.card .date-badge{position:absolute;top:12px;left:12px;z-index:2}
.card .chip{position:absolute;top:12px;right:12px;z-index:2}
.card__body{padding:16px 18px 18px;display:grid;gap:8px;align-content:start}
.card__title{font-family:var(--display);font-weight:800;font-variation-settings:"SOFT" 100,"opsz" 72;font-size:24px;line-height:1.02;letter-spacing:-.01em}
.card__meta{font-family:var(--label);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.card__price{font-family:var(--label);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.card__price b{display:block;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:0;color:var(--ink);font-variation-settings:"SOFT" 100,"opsz" 48;line-height:1.1;text-transform:none}
.card__go{display:inline-flex;align-items:center;gap:8px;font-family:var(--label);font-weight:600;font-size:13px;letter-spacing:.04em;padding:10px 14px;border-radius:999px;background:var(--cta-bg);color:var(--cta-fg);white-space:nowrap}
.card__go svg{width:16px;height:16px}
.card.is-soldout .flyer{filter:grayscale(.85) brightness(.7)}
.card.is-soldout .card__go{background:var(--off)}
.empty{margin-top:36px;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:40px 24px;text-align:center;color:var(--ink-2)}
.demo-note{margin-top:22px;display:block;line-height:1.5;padding:12px 16px;border-radius:var(--radius-s);background:var(--warn-soft);color:var(--ink);font-size:14px}
.demo-note b{font-weight:600}
.demo-note a{font-weight:500}

/* ---- how it works ---- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px);margin-top:36px;counter-reset:step}
.step{border-top:2px solid var(--ink);padding-top:18px;min-width:0}
.step::before{counter-increment:step;content:"0" counter(step);font-family:var(--display);font-weight:900;font-size:40px;line-height:1;font-variation-settings:"SOFT" 100,"opsz" 144;color:var(--mute);display:block}
.step h3{font-size:24px;font-weight:800;margin-top:14px;font-variation-settings:"SOFT" 100,"opsz" 72}
.step p{margin:10px 0 0;color:var(--ink-2)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

/* ---- stages ---- */
.stages{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:36px}
.stage{border:1px solid var(--line);border-radius:var(--radius-s);padding:16px 14px;background:var(--card);min-width:0}
.stage b{display:block;font-family:var(--display);font-weight:800;font-size:20px;line-height:1;font-variation-settings:"SOFT" 100,"opsz" 72}
.stage span{display:block;margin-top:8px;font-family:var(--label);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.stage .sw{height:6px;border-radius:3px;margin-bottom:12px;background:linear-gradient(90deg,var(--g1),var(--g2))}
@media (max-width:900px){.stages{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.stages{grid-template-columns:repeat(2,1fr)}}

/* ---- past ---- */
.past{display:flex;gap:14px;overflow-x:auto;padding-block:6px 10px;margin-top:28px;scroll-snap-type:x proximity;scrollbar-width:thin}
.past > *{flex:0 0 170px;scroll-snap-align:start}
.past .flyer{border-radius:var(--radius-s);filter:saturate(.6)}
.past b{display:block;margin-top:10px;font-weight:500;font-size:15px;line-height:1.25}
.past span{display:block;font-family:var(--label);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:4px}

/* ---- where ---- */
.where{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start;margin-top:36px}
.where__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.where__card address{font-style:normal;font-size:18px;line-height:1.45;margin:0 0 18px}
.where__card .btns{display:flex;flex-wrap:wrap;gap:10px}
.where__list{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.where__list li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--line)}
.where__list svg{width:20px;height:20px;margin-top:3px;color:var(--mute)}
.where__list b{display:block;font-weight:500}
.where__list span{color:var(--ink-2);font-size:15px}
@media (max-width:760px){.where{grid-template-columns:1fr}}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);padding-block:40px 28px;color:var(--ink-2);font-size:14px}
.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.foot .wordmark svg{height:34px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot h4{font-family:var(--label);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 12px}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot__bottom{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--label);font-size:12px;letter-spacing:.06em;color:var(--mute)}
.foot__bottom .eye{width:22px;height:16px;background:currentColor;-webkit-mask:var(--eye) center/contain no-repeat;mask:var(--eye) center/contain no-repeat;display:inline-block;vertical-align:middle;margin-right:8px}
@media (max-width:760px){.foot .wrap{grid-template-columns:1fr 1fr}.foot .wrap > :first-child{grid-column:1/-1}}

/* ---- sticky whatsapp bar ---- */
.wabar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px clamp(16px,4vw,40px);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateY(0);transition:transform .25s ease}
.wabar[hidden]{display:none}
.wabar__in{width:min(1120px,100%);margin-inline:auto;display:flex;align-items:center;gap:14px}
.wabar__t{min-width:0;flex:1}
.wabar__t b{display:block;font-family:var(--display);font-weight:800;font-size:18px;line-height:1.1;font-variation-settings:"SOFT" 100,"opsz" 72}
.wabar__t span{display:block;font-size:13px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wabar__x{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--mute)}
.wabar__x:hover{background:var(--bg-2);color:var(--ink)}
@media (max-width:520px){.wabar__t span{display:none}.wabar .btn{padding-inline:16px}}

/* ---- toast ---- */
.toast{position:fixed;left:50%;bottom:calc(104px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:999px;font-size:14px;font-weight:400;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60;max-width:calc(100vw - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast a{color:inherit;font-weight:600}

/* ---- admin ---- */
dialog.admin{border:0;padding:0;background:transparent;max-width:none;width:min(980px,calc(100vw - 24px));margin:auto;color:var(--ink)}
dialog.admin::backdrop{background:rgba(20,18,20,.6);backdrop-filter:blur(6px)}
.admin__box{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 24px);display:grid;grid-template-rows:auto 1fr;overflow:hidden}
.admin__head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}
.admin__head h3{font-size:24px;font-weight:800;font-variation-settings:"SOFT" 100,"opsz" 72}
.admin__head .x{margin-left:auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}
.admin__head .x:hover{background:var(--bg-2)}
.admin__body{overflow:auto;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-content:start}
@media (max-width:760px){.admin__body{grid-template-columns:1fr}}
.admin__msg{grid-column:1/-1;padding:12px 16px;border-radius:var(--radius-s);background:var(--warn-soft);font-size:14px;line-height:1.5}
.admin__msg code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.form{display:grid;gap:14px;align-content:start}
.form h4,.list h4{font-family:var(--label);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0}
.field{display:grid;gap:6px}
.field label{font-family:var(--label);font-weight:500;font-size:13px;color:var(--ink-2)}
.field input,.field select,.field textarea{font:inherit;font-weight:400;font-size:15px;padding:11px 13px;border-radius:10px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);width:100%;min-width:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:1px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.drop{border:1.5px dashed var(--line-strong);border-radius:14px;padding:16px;display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;cursor:pointer;background:var(--card)}
.drop.is-over{border-color:var(--ink);background:var(--bg-2)}
.drop .flyer{width:96px;border-radius:8px}
.drop__t{font-size:14px;color:var(--ink-2);line-height:1.45}
.drop__t b{display:block;color:var(--ink);font-weight:500}
.drop input{display:none}
.check{display:flex;align-items:center;gap:10px;font-size:15px}
.check input{width:18px;height:18px;accent-color:var(--cta-bg)}
.form__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.list{display:grid;gap:12px;align-content:start}
.ev{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.ev .flyer{width:52px;border-radius:6px}
.ev__t{min-width:0}
.ev__t b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev__t span{font-family:var(--label);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.ev__a{display:flex;gap:4px}
.ev__a button{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--ink-2)}
.ev__a button:hover{background:var(--bg-2);color:var(--ink)}
.ev__a svg{width:16px;height:16px}
.ev.is-hidden{opacity:.55}
.login{display:grid;gap:12px;max-width:380px}
.hint{font-size:13px;color:var(--mute);line-height:1.5}
.field .hint{font-size:12px}
.eye-ic{width:28px;height:21px;background:currentColor;-webkit-mask:var(--eye) center/contain no-repeat;mask:var(--eye) center/contain no-repeat;display:inline-block;flex:none}
