:where(.admin-shell,.admin-login,.admin-loading,.party-shell,.memories-shell,.host-shell,.legal-shell){--app-ink:#16131f;--app-ink-soft:#211b29;--app-paper:#f0d9e4;--app-paper-dim:#f0d9e4ad;--app-line:#f0d9e424;--app-line-strong:#f0d9e457;--app-rose:#d98f94;--app-mauve:#c1a0ac;--app-lilac:#a99bc0;--app-success:#8cc7a1;--app-danger:#ee8d99;--app-font-body:var(--font-space), "Helvetica Neue", sans-serif;--app-font-title:var(--font-bricolage), "Arial Black", sans-serif;--app-font-editorial:var(--font-instrument), Georgia, serif;color:var(--app-paper);font-family:var(--app-font-body);-webkit-font-smoothing:antialiased}:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) *,:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) :before,:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) :after{box-sizing:border-box}:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) a{color:inherit;text-decoration:none}:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) button,:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) input,:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) select,:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) textarea{font:inherit}:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) button,:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) a,:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) summary{-webkit-tap-highlight-color:transparent}:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) :focus-visible{outline:3px solid var(--app-paper);outline-offset:4px}.app-grain{z-index:20;pointer-events:none;opacity:.045;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:130px;animation:5.4s steps(6,end) infinite app-grain;position:fixed;inset:-25%}.app-brand{z-index:2;letter-spacing:.01em;align-items:center;gap:.7rem;width:fit-content;font-size:.78rem;font-weight:600;display:inline-flex;position:relative}.app-brand em{color:var(--app-mauve);font-style:normal;font-weight:500}.app-brand-mark{width:2rem;height:2rem;color:var(--app-mauve);flex:none;display:block}.eyebrow{color:var(--app-mauve);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.app-field{gap:.55rem;min-width:0;display:grid}.app-field>span{color:var(--app-paper-dim);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700}.app-field input,.app-field select,.app-field textarea{border:1px solid var(--app-line-strong);width:100%;min-height:3.25rem;color:var(--app-paper);background:#f0d9e40e;border-radius:.8rem;padding:.8rem .95rem;transition:border-color .18s,background-color .18s,box-shadow .18s}.app-field textarea{resize:vertical;min-height:17rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.55}.app-field input::placeholder,.app-field textarea::placeholder{color:#f0d9e457}.app-field input:hover,.app-field select:hover,.app-field textarea:hover,.app-field input:focus,.app-field select:focus,.app-field textarea:focus{background:#f0d9e417;border-color:#d98f94b8}.app-field input:focus,.app-field select:focus,.app-field textarea:focus{outline:none;box-shadow:0 0 0 3px #d98f9421}.form-feedback{min-height:1.35rem}.form-feedback p{color:var(--app-rose);margin:0;font-size:.84rem;line-height:1.45}.admin-loading{background:var(--app-ink);min-height:100vh;color:var(--app-paper);font-family:var(--app-font-body);letter-spacing:.18em;text-transform:uppercase;place-items:center;margin:0;font-size:.78rem;font-weight:600;display:grid}.admin-login{background:var(--app-ink);grid-template-columns:minmax(0,1.15fr) minmax(26rem,.85fr);min-height:100svh;display:grid;position:relative;overflow:hidden}.login-story,.login-panel{min-height:100svh;padding:clamp(1.35rem,3.2vw,3.4rem);position:relative}.login-story{border-right:1px solid var(--app-line);background:radial-gradient(circle at 76% 24%, #d98f942e, transparent 30%), linear-gradient(145deg, #a99bc014, transparent 45%), var(--app-ink);flex-direction:column;justify-content:space-between;display:flex;overflow:hidden}.login-story:before,.login-story:after{content:"";border:1px solid #f0d9e41a;border-radius:50%;position:absolute}.login-story:before{aspect-ratio:1;width:min(58vw,47rem);top:4%;right:-20%;box-shadow:0 0 0 4rem #f0d9e405,0 0 0 8rem #f0d9e403}.login-story:after{aspect-ratio:1;background:#d98f940b;width:14rem;bottom:12%;left:-7rem}.login-story-copy{z-index:1;max-width:46rem;padding-bottom:3rem;position:relative}.login-display{color:var(--app-paper);font-family:var(--app-font-editorial);letter-spacing:-.045em;margin:1rem 0 1.4rem;font-size:clamp(4rem,7.8vw,8.4rem);font-weight:400;line-height:.76}.login-display span{color:var(--app-rose);font-style:italic;display:block;transform:translate(clamp(1rem,6vw,5rem))}.login-story-copy>p:last-child{max-width:37ch;color:var(--app-paper-dim);margin:2.25rem 0 0;font-size:clamp(.95rem,1.5vw,1.12rem);line-height:1.55}.login-tape{z-index:2;background:var(--app-rose);width:27rem;color:var(--app-ink);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;padding:.7rem 1rem;font-size:.68rem;font-weight:800;position:absolute;bottom:2.4rem;right:-5rem;transform:rotate(-5deg)}.login-panel{background:linear-gradient(#f0d9e406 1px, transparent 1px), linear-gradient(90deg, #f0d9e406 1px, transparent 1px), var(--app-ink-soft);background-size:3rem 3rem;place-items:center;display:grid}.login-card{z-index:2;border:1px solid var(--app-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#16131fc2;border-radius:1.35rem;width:min(100%,31rem);padding:clamp(1.5rem,4vw,2.7rem);position:relative;box-shadow:0 2.8rem 6rem #00000047}.login-index,.host-index{color:#f0d9e485;letter-spacing:.15em;text-transform:uppercase;margin-bottom:clamp(3rem,9vh,6rem);font-size:.66rem;font-weight:600;display:block}.login-card h1,.host-card h1{font-family:var(--app-font-editorial);letter-spacing:-.035em;margin:.8rem 0 1.1rem;font-size:clamp(3.25rem,6vw,5.2rem);font-weight:400;line-height:.86}.login-card h1 em,.host-card h1 em{color:var(--app-rose);font-weight:400}.login-intro,.host-copy{max-width:35ch;color:var(--app-paper-dim);margin:0 0 2rem;line-height:1.55}.admin-form{gap:.9rem;display:grid}.admin-form button,.admin-create>button,.admin-inline-form>button,.admin-theme-form>button,.primary-action{border:1px solid var(--app-paper);background:var(--app-paper);min-height:3.3rem;color:var(--app-ink);cursor:pointer;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;padding:.78rem 1.25rem;font-weight:700;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex}.admin-form button:hover,.admin-create>button:hover,.admin-inline-form>button:hover,.admin-theme-form>button:hover,.primary-action:hover{transform:translateY(-2px);box-shadow:0 .9rem 2rem #d98f942e}.admin-form button:disabled,.primary-action:disabled,.host-controls button:disabled{cursor:wait;opacity:.55;transform:none}.login-footnote{color:#f0d9e485;margin:1rem 0 0;font-size:.73rem;line-height:1.5}.login-card .form-feedback{margin-top:1.25rem}.admin-shell{background:radial-gradient(circle at 88% 2%, #d98f941c, transparent 22rem), var(--app-ink);min-height:100svh;padding:clamp(1.25rem,3vw,3.4rem);position:relative;overflow:hidden}.admin-shell:before{content:"";z-index:0;background:var(--app-line);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:62%}.admin-shell>:not(.app-grain){z-index:1;width:min(100%,92rem);margin-inline:auto;position:relative}.admin-header,.memories-header,.host-header,.party-header{justify-content:space-between;align-items:center;gap:1rem;min-height:3.2rem;display:flex}.admin-kicker{color:#f0d9e485;letter-spacing:.16em;text-transform:uppercase;font-size:.66rem;font-weight:600}.admin-hero{grid-template-columns:minmax(0,1.55fr) minmax(15rem,.45fr);align-items:end;gap:clamp(2rem,7vw,7rem);padding:clamp(4rem,9vw,8.5rem) 0 clamp(2.5rem,5vw,4.5rem);display:grid}.admin-hero h1,.memories-hero h1{font-family:var(--app-font-editorial);letter-spacing:-.055em;margin:.85rem 0 0;font-size:clamp(4.8rem,10vw,10rem);font-weight:400;line-height:.71}.admin-hero h1 em,.memories-hero h1 em{color:var(--app-rose);font-weight:400}.admin-hero-copy{max-width:30ch;color:var(--app-paper-dim);margin:0;padding-bottom:.4rem;font-size:clamp(.95rem,1.5vw,1.12rem);line-height:1.6}.admin-stats{border-block:1px solid var(--app-line);grid-template-columns:repeat(3,1fr);display:grid}.admin-stats article{justify-content:space-between;align-items:flex-end;gap:1rem;min-height:8rem;padding:1.4rem;display:flex}.admin-stats article+article{border-left:1px solid var(--app-line)}.admin-stats span{color:var(--app-paper-dim);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:700}.admin-stats strong{font-family:var(--app-font-editorial);font-size:clamp(2.8rem,5vw,4.8rem);font-weight:400;line-height:.7}.admin-card{border:1px solid var(--app-line);background:#f0d9e406;border-radius:1.25rem;padding:clamp(1.15rem,2.5vw,2rem)}.admin-new-event{margin-top:clamp(2rem,5vw,4rem)}.admin-section-heading{align-items:flex-start;gap:1rem;margin-bottom:1.6rem;display:flex}.admin-section-heading>span:first-child{color:#f0d9e475;font-family:var(--app-font-editorial);font-size:1.35rem}.admin-section-heading h2{font-family:var(--app-font-editorial);letter-spacing:-.025em;margin:.3rem 0 0;font-size:clamp(2rem,3vw,3.1rem);font-weight:400;line-height:.95}.admin-create{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(12rem,.65fr) auto;align-items:end;gap:.8rem;display:grid}.slug-field{border:1px solid var(--app-line-strong);background:#f0d9e40e;border-radius:.8rem;align-items:center;min-height:3.25rem;display:flex;overflow:hidden}.slug-field small{color:#f0d9e485;padding-left:.95rem}.slug-field input{background:0 0;border:0;border-radius:0;min-height:3.1rem;padding-left:.25rem}.admin-feedback{margin-block:1rem}.admin-grid{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.55fr);align-items:start;gap:1rem;display:grid}.admin-event-list{position:sticky;top:1rem}.admin-event-list ul,.challenge-list ol{margin:0;padding:0;list-style:none}.admin-event-list li+li{border-top:1px solid var(--app-line)}.admin-event-list li button{width:100%;min-height:5.5rem;color:var(--app-paper);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.7rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;transition:background-color .18s,transform .18s;display:grid}.admin-event-list li button:hover,.admin-event-list li button.is-selected{background:#f0d9e412}.admin-event-list li button:hover{transform:translate(3px)}.event-number{color:#f0d9e475;font-family:var(--app-font-editorial);font-size:1.3rem}.event-name{gap:.25rem;min-width:0;display:grid}.event-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.event-name small,.event-count{color:#f0d9e485;font-size:.68rem}.event-count{grid-column:3}.status-chip{border:1px solid var(--app-line);width:fit-content;color:var(--app-paper-dim);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.35rem .55rem;font-size:.6rem;font-weight:700;display:inline-flex}.status-live{color:var(--app-success);border-color:#8cc7a173}.status-paused{color:var(--app-rose);border-color:#d98f9473}.admin-empty{color:#f0d9e48f;margin:0;font-size:.86rem;line-height:1.55}.admin-event-detail .admin-section-heading>.status-chip{margin-left:auto}.admin-quick-links{border-block:1px solid var(--app-line);grid-template-columns:repeat(3,1fr);margin-bottom:1rem;display:grid}.admin-quick-links a{min-height:4.2rem;color:var(--app-paper-dim);justify-content:space-between;align-items:center;gap:.7rem;padding:.8rem;font-size:.78rem;font-weight:600;transition:color .18s,background-color .18s;display:flex}.admin-quick-links a+a{border-left:1px solid var(--app-line)}.admin-quick-links a:hover{color:var(--app-paper);background:#f0d9e40a}.admin-actions{flex-wrap:wrap;gap:.65rem;margin-bottom:1.3rem;display:flex}.admin-actions button{border:1px solid var(--app-line-strong);min-height:2.8rem;color:var(--app-paper);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.55rem;padding:.65rem .9rem;font-size:.74rem;font-weight:600;transition:border-color .18s,background-color .18s;display:inline-flex}.admin-actions button:hover{border-color:var(--app-rose);background:#d98f9414}.action-dot{background:var(--app-success);border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 0 .25rem #8cc7a11a}.admin-config-grid{grid-template-columns:minmax(0,1fr) 13rem;gap:1.2rem;display:grid}.admin-config{gap:1rem;display:grid}.admin-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;display:grid}.admin-inline-form>button{min-height:3.25rem;font-size:.75rem}.admin-challenge-form{grid-template-columns:minmax(0,1.5fr) minmax(8rem,.55fr) minmax(9rem,.65fr);gap:.65rem;display:grid}.admin-challenge-form>button{border:1px solid var(--app-paper);background:var(--app-paper);min-height:3.25rem;color:var(--app-ink);cursor:pointer;border-radius:999px;grid-column:1/-1;padding:.78rem 1.25rem;font-weight:700}.admin-qr{border:1px solid var(--app-line);border-radius:1rem;align-content:start;justify-items:center;gap:.7rem;padding:1rem;display:grid}.admin-qr>span{color:var(--app-paper-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:700}.admin-qr>div{aspect-ratio:1;background:#fff;border-radius:.7rem;place-items:center;width:100%;padding:.65rem;display:grid}.admin-qr img{width:100%;height:auto}.admin-qr a{min-height:2.75rem;color:var(--app-paper-dim);align-items:center;font-size:.72rem;font-weight:600;display:inline-flex}.challenge-list,.stage-list{border-top:1px solid var(--app-line);margin-top:1.5rem;padding-top:1.2rem}.challenge-list-title{justify-content:space-between;align-items:center;margin-bottom:.7rem;display:flex}.challenge-list-title h3{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem}.challenge-list-title span{color:#f0d9e475;font-family:var(--app-font-editorial);font-size:1.3rem}.challenge-list li,.stage-list li{border-top:1px solid var(--app-line);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3.8rem;display:grid}.challenge-list li>span,.challenge-list li small,.stage-list li>span,.stage-list li small{color:#f0d9e485;font-size:.65rem}.challenge-list li p,.stage-list li p{margin:0;font-size:.82rem;line-height:1.45}.challenge-list li small,.stage-list li small{letter-spacing:.08em;text-transform:uppercase}.stage-list ol{margin:0;padding:0;list-style:none}.stage-list li.is-current{color:var(--app-rose);border-color:#d98f9480}.admin-operation{border-top:1px solid var(--app-line);margin-top:1.5rem;padding-top:1.3rem}.operation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.operation-grid article{border:1px solid var(--app-line);border-radius:.9rem;grid-template-columns:5rem minmax(0,1fr);gap:.65rem;padding:.7rem;display:grid}.operation-grid article.is-muted{opacity:.48}.operation-grid img{background:var(--app-paper);border-radius:.45rem;width:5rem;height:5rem;padding:.25rem}.operation-grid article>div{align-content:center;gap:.25rem;display:grid}.operation-grid strong{font-size:.82rem}.operation-grid small,.operation-grid span,.operation-note{color:#f0d9e485;font-size:.64rem}.operation-grid a,.operation-grid button,.export-actions button,.operation-bootstrap{border:1px solid var(--app-line-strong);min-height:2.5rem;color:var(--app-paper-dim);cursor:pointer;text-align:center;background:0 0;border-radius:999px;padding:.55rem .75rem;font-size:.68rem}.export-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.export-actions button:first-child{background:var(--app-paper);color:var(--app-ink)}.export-actions button:disabled{cursor:not-allowed;opacity:.42}.operation-note{margin-top:.65rem;display:block}.workflow-list{margin:.9rem 0 0;padding:0;list-style:none}.workflow-list li{border-top:1px solid var(--app-line);grid-template-columns:4.2rem minmax(0,1fr) 8.5rem;align-items:center;gap:.7rem;min-height:3.8rem;display:grid}.workflow-list li>span{color:var(--app-rose);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:700}.workflow-list p{margin:0;font-size:.78rem}.workflow-list select{border:1px solid var(--app-line-strong);min-height:2.35rem;color:var(--app-paper);background:#f0d9e40a;border-radius:999px;padding-inline:.65rem;font-size:.66rem}.admin-theme-lab{margin-top:1rem;margin-bottom:2rem}.admin-theme-lab summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:3.2rem;list-style:none;display:flex}.admin-theme-lab summary::-webkit-details-marker{display:none}.admin-theme-lab summary span{font-family:var(--app-font-editorial);align-items:center;gap:.8rem;font-size:1.45rem;display:flex}.admin-theme-lab summary small,.admin-theme-lab summary em{color:#f0d9e485;font-family:var(--app-font-body);letter-spacing:.13em;text-transform:uppercase;font-size:.65rem;font-style:normal}.admin-theme-form{border-top:1px solid var(--app-line);grid-template-columns:1fr 1fr;align-items:end;gap:.9rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}.app-field-wide{grid-column:1/-1}.admin-theme-form>button{grid-column:1/-1;justify-self:end}.party-shell{--app-accent:var(--event-accent,var(--app-rose));background:radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--app-accent) 18%, transparent), transparent 30%), linear-gradient(145deg, #a99bc012, transparent 52%), var(--app-ink);grid-template-rows:auto 1fr auto;min-height:100svh;padding:clamp(1.1rem,3vw,2.6rem);display:grid;position:relative;overflow:hidden}.party-shell:before{content:"";aspect-ratio:1;border:1px solid var(--app-line);border-radius:50%;width:min(68vw,48rem);position:absolute;top:-24%;right:-20%;box-shadow:0 0 0 5rem #f0d9e403}.party-header,.party-stage,.party-footer{z-index:3;width:min(100%,92rem);margin-inline:auto;position:relative}.party-live,.memories-live,.host-badge{color:#f0d9e48f;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.62rem;font-weight:700;display:inline-flex}.party-live i,.memories-live i,.host-badge i{background:var(--app-rose);border-radius:50%;width:.42rem;height:.42rem}.party-live.is-live i,.memories-live i{background:var(--app-success);animation:2s ease-in-out infinite app-pulse;box-shadow:0 0 0 .3rem #8cc7a11a}.party-stage{grid-template-columns:minmax(0,1fr) minmax(24rem,.68fr);align-items:center;gap:clamp(2rem,7vw,8rem);padding-block:clamp(2rem,6vh,5rem);display:grid}.party-intro{flex-direction:column;justify-content:center;min-height:27rem;display:flex;position:relative}.party-index{color:#f0d9e485;letter-spacing:.2em;text-transform:uppercase;font-size:.66rem;font-weight:700}.party-intro>p{font-family:var(--app-font-editorial);letter-spacing:-.055em;margin:1.3rem 0 0;font-size:clamp(4.8rem,9vw,9rem);line-height:.72}.party-intro>p em{color:var(--app-accent);font-weight:400}.hero-logo{opacity:.72;filter:grayscale()sepia(.15)brightness(1.8);width:min(20rem,54%);height:auto;margin-top:2rem}.bg-decoration{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.12;filter:grayscale()sepia(.2)saturate(.5);position:absolute}.bg-chair{width:min(55vw,40rem);height:auto;bottom:-8rem;left:-10rem;transform:rotate(-5deg)}.bg-concho{width:min(25vw,18rem);height:auto;top:7rem;right:-5rem;transform:rotate(10deg)}.party-card{border:1px solid var(--app-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f0d9e409;border-radius:1.45rem;flex-direction:column;justify-content:center;min-height:35rem;padding:clamp(1.4rem,4vw,3rem);display:flex;position:relative;box-shadow:0 3rem 7rem #00000047}.party-card-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(2.5rem,6vh,4.5rem);display:flex}.party-card-top>span{color:#f0d9e485;letter-spacing:.14em;font-size:.64rem}.party-card h1{font-family:var(--app-font-editorial);letter-spacing:-.04em;margin:0 0 1.25rem;font-size:clamp(3.25rem,6vw,5.2rem);font-weight:400;line-height:.88}.party-flow{gap:1rem;display:grid}.party-copy{max-width:36ch;color:var(--app-paper-dim);margin:0 0 .7rem;line-height:1.55}.party-card .primary-action{background:var(--app-accent);border-color:var(--app-accent);width:100%;color:var(--app-ink);margin-top:.2rem}.party-note{color:#f0d9e485;text-align:center;font-size:.68rem}.consent-check{color:var(--app-paper-dim);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;font-size:.72rem;line-height:1.5;display:grid}.consent-check input{width:1.1rem;height:1.1rem;accent-color:var(--app-accent);margin-top:.12rem}.consent-check a{color:var(--app-paper);text-underline-offset:.2rem;text-decoration:underline}.challenge-box{border:1px solid color-mix(in srgb, var(--app-accent) 58%, transparent);background:color-mix(in srgb, var(--app-accent) 9%, transparent);border-radius:1.1rem;padding:1.2rem;position:relative;overflow:hidden}.challenge-box:after{content:"↗";color:color-mix(in srgb, var(--app-accent) 22%, transparent);font-family:var(--app-font-editorial);font-size:7rem;position:absolute;bottom:-1.8rem;right:-.25rem}.challenge-box>span{color:var(--app-accent);letter-spacing:.17em;text-transform:uppercase;margin-bottom:.8rem;font-size:.65rem;font-weight:700;display:block}.challenge-box strong{z-index:1;font-family:var(--app-font-editorial);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:.98;display:block;position:relative}.challenge-box small{z-index:1;color:var(--app-paper-dim);margin-top:1rem;font-size:.7rem;display:block;position:relative}.upload-box{border:1px dashed var(--app-line-strong);cursor:pointer;border-radius:1rem;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:.25rem .85rem;min-height:6.4rem;padding:1rem;transition:border-color .18s,background-color .18s;display:grid;position:relative}.upload-box:hover,.upload-box.has-file{border-color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 7%, transparent)}.upload-box>span:not(.upload-icon){text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.upload-box small{color:#f0d9e485;grid-column:2;font-size:.68rem}.upload-icon{border:1px solid var(--app-line-strong);width:2.7rem;height:2.7rem;color:var(--app-accent);font-family:var(--app-font-editorial);border-radius:50%;grid-row:1/3;place-items:center;font-size:1.6rem;display:grid}.upload-box input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.upload-box:focus-within{outline:3px solid var(--app-paper);outline-offset:4px}.party-progress,.party-result{text-align:center;align-content:center;place-items:center;min-height:14rem;display:grid}.party-progress p,.party-result p{font-family:var(--app-font-editorial);margin:1.1rem 0 .45rem;font-size:2.4rem;line-height:1}.party-progress small,.party-result small{max-width:32ch;color:var(--app-paper-dim);line-height:1.5}.loading-orbit{border:1px solid var(--app-line-strong);border-top-color:var(--app-rose);border-radius:50%;width:2.6rem;height:2.6rem;animation:.9s linear infinite app-spin}.result-mark{border:1px solid var(--app-line-strong);width:4.2rem;height:4.2rem;color:var(--app-rose);font-family:var(--app-font-editorial);border-radius:50%;place-items:center;font-size:2rem;display:grid}.party-result .primary-action{margin-top:1.4rem}.party-footer{color:#f0d9e485;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.6rem;font-weight:600;display:flex}.memories-shell{background:radial-gradient(circle at 85% 8%, #d98f941c, transparent 25rem), var(--app-ink);min-height:100svh;padding:clamp(1.1rem,3vw,3rem);position:relative;overflow:hidden}.memories-shell>:not(.app-grain){z-index:2;width:min(100%,96rem);margin-inline:auto;position:relative}.memories-hero{grid-template-columns:minmax(0,1.5fr) minmax(18rem,.5fr);align-items:end;gap:clamp(2rem,7vw,8rem);padding:clamp(5rem,10vw,10rem) 0 clamp(4rem,7vw,6.5rem);display:grid}.memories-hero-side>p{color:var(--app-paper-dim);margin:0 0 2rem;font-size:clamp(.92rem,1.4vw,1.08rem);line-height:1.55}.memories-stats{gap:.7rem;display:grid}.memories-stats span{border-top:1px solid var(--app-line);min-height:3.5rem;color:var(--app-paper-dim);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.75rem;font-size:.66rem;font-weight:700;display:flex}.memories-stats strong{color:var(--app-paper);font-family:var(--app-font-editorial);letter-spacing:-.03em;font-size:2.2rem;font-weight:400}.memories-state{align-content:center;place-items:center;gap:1rem;min-height:18rem;display:grid}.memories-state p{color:var(--app-paper-dim);margin:0;font-size:.8rem}.memories-empty{text-align:center;border-block:1px solid var(--app-line);align-content:center;place-items:center;min-height:22rem;display:grid}.memories-empty>span{color:#f0d9e475;font-family:var(--app-font-editorial);font-size:1.4rem}.memories-empty h2{font-family:var(--app-font-editorial);letter-spacing:-.035em;margin:1.2rem 0 .8rem;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:.94}.memories-empty p{color:var(--app-paper-dim);margin:0;font-size:.8rem}.memories-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,1.7rem);padding-bottom:4rem;display:grid}.memory-tile{grid-column:span 4;align-content:start;gap:.75rem;display:grid}.memory-tile:nth-child(5n+1){grid-column:span 5}.memory-tile:nth-child(5n+2){grid-column:span 3;padding-top:4rem}.memory-polaroid{border:1px solid var(--app-line);background:#f0d9e409;border-radius:1rem;padding:.65rem;transition:transform .24s,border-color .24s;overflow:hidden}.memory-tile:hover .memory-polaroid{border-color:#d98f947a;transform:translateY(-4px)}.memory-media{aspect-ratio:9/14;background:var(--app-ink-soft);border-radius:.65rem;width:100%;position:relative;overflow:hidden}.memory-media img,.memory-media video{object-fit:cover;width:100%;height:100%;display:block}.memory-caption{align-content:start;gap:.7rem;min-height:7.5rem;padding:1rem .35rem .5rem;display:grid}.memory-caption>div{justify-content:space-between;gap:1rem;display:flex}.memory-caption span,.memory-caption small{color:var(--app-rose);letter-spacing:.13em;text-transform:uppercase;font-size:.62rem;font-weight:700}.memory-caption small{color:#f0d9e485}.memory-caption strong{font-family:var(--app-font-editorial);letter-spacing:-.025em;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:400;line-height:.96}.memory-download{border:1px solid var(--app-line-strong);min-height:2.9rem;color:var(--app-paper-dim);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:999px;padding:.7rem 1rem;font-size:.7rem;font-weight:700;transition:border-color .18s,color .18s,transform .18s}.memory-download:hover{border-color:var(--app-rose);color:var(--app-paper);transform:translateY(-2px)}.memory-download:disabled{cursor:wait;opacity:.55;transform:none}.memories-feedback{bottom:1rem;right:clamp(1rem,3vw,3rem);z-index:10!important;width:auto!important;position:fixed!important}.memories-feedback p{border:1px solid var(--app-line-strong);color:var(--app-paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#16131fe0;border-radius:999px;margin:0;padding:.75rem 1rem;font-size:.72rem;box-shadow:0 1rem 2rem #00000040}.host-shell{background:radial-gradient(circle at 70% 25%, #a99bc01f, transparent 27rem), var(--app-ink);grid-template-rows:auto 1fr auto;min-height:100svh;padding:clamp(1.1rem,3vw,2.8rem);display:grid;position:relative;overflow:hidden}.host-shell:before{content:"";aspect-ratio:1;border:1px solid var(--app-line);border-radius:50%;width:min(70vw,52rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5rem #f0d9e403,0 0 0 10rem #f0d9e402}.host-header,.host-card,.host-footer{z-index:2;width:min(100%,88rem);margin-inline:auto;position:relative}.host-card{border:1px solid var(--app-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#16131fc7;border-radius:1.4rem;align-self:center;width:min(100%,38rem);padding:clamp(1.5rem,4vw,3rem);box-shadow:0 3rem 7rem #0000004d}.host-card .host-index{margin-bottom:clamp(2.5rem,7vh,4.5rem)}.host-controls{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.host-controls button{border:1px solid var(--app-line);min-height:9rem;color:var(--app-paper);cursor:pointer;text-align:left;background:#f0d9e409;border-radius:1rem;align-content:space-between;justify-items:start;padding:1.1rem;transition:border-color .18s,transform .18s,background-color .18s;display:grid}.host-controls button:hover{border-color:var(--app-rose);background:#d98f9412;transform:translateY(-2px)}.host-controls button>span{color:var(--app-rose);font-family:var(--app-font-editorial);font-size:1.5rem}.host-controls button strong{font-family:var(--app-font-editorial);align-self:end;font-size:1.8rem;font-weight:400}.host-controls button small{color:var(--app-paper-dim);font-size:.66rem}.host-wall-link{border-bottom:1px solid var(--app-line);min-height:3.2rem;color:var(--app-paper-dim);justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;font-size:.78rem;font-weight:600;transition:color .18s,border-color .18s;display:flex}.host-wall-link:hover{border-color:var(--app-rose);color:var(--app-paper)}.host-control-section{margin-top:1.2rem}.host-control-section>span{color:var(--app-paper-dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.6rem;font-size:.65rem;font-weight:700;display:block}.host-pills{flex-wrap:wrap;gap:.5rem;display:flex}.host-pills button{border:1px solid var(--app-line-strong);min-height:2.6rem;color:var(--app-paper-dim);cursor:pointer;background:0 0;border-radius:999px;padding:.6rem .9rem}.host-pills button.is-active{border-color:var(--app-rose);background:var(--app-rose);color:var(--app-ink)}.host-card .form-feedback{margin-top:1rem}.host-footer{color:#f0d9e485;letter-spacing:.13em;text-align:center;text-transform:uppercase;font-size:.62rem}.legal-shell{background:radial-gradient(circle at 82% 8%, #d98f9421, transparent 28rem), var(--app-ink);min-height:100svh;padding:clamp(1.2rem,3vw,3rem);position:relative;overflow:hidden}.legal-shell:before{content:"";border-left:1px solid var(--app-line);pointer-events:none;background-color:#0000;background-image:linear-gradient(#f0d9e405 1px,#0000 1px),linear-gradient(90deg,#f0d9e405 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:3rem 3rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0 0 0 62%}.legal-header,.legal-document{z-index:2;width:min(100%,78rem);margin-inline:auto;position:relative}.legal-header{justify-content:space-between;align-items:center;min-height:3.2rem;display:flex}.legal-header>a:last-child{color:var(--app-paper-dim);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.legal-document{padding-block:clamp(5rem,10vw,9rem)}.legal-document h1{max-width:10ch;font-family:var(--app-font-editorial);letter-spacing:-.055em;margin:1rem 0 1.6rem;font-size:clamp(4.5rem,10vw,9rem);font-weight:400;line-height:.76}.legal-document h1 em{color:var(--app-rose);font-weight:400}.legal-lead{max-width:48ch;color:var(--app-paper-dim);margin:0 0 clamp(4rem,8vw,7rem);font-size:clamp(1rem,2vw,1.3rem);line-height:1.6}.legal-document section{border-top:1px solid var(--app-line);grid-template-columns:minmax(12rem,.42fr) minmax(0,1fr);gap:clamp(1.2rem,5vw,5rem);padding-block:clamp(1.7rem,4vw,3rem);display:grid}.legal-document h2{color:var(--app-mauve);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem}.legal-document section>p,.legal-document section>ul{max-width:62ch;color:var(--app-paper-dim);margin:0;line-height:1.75}.legal-document section>ul{padding-left:1.2rem}.legal-contact{border-bottom:1px solid var(--app-line-strong);grid-column:2;justify-content:space-between;align-items:center;max-width:32rem;min-height:3.4rem;margin-top:1rem;font-weight:700;display:flex}.reveal{animation:.62s cubic-bezier(.22,1,.36,1) both app-reveal}.pop-in{animation:.46s cubic-bezier(.22,1,.36,1) both app-reveal}@keyframes app-reveal{0%{opacity:0;transform:translateY(1.2rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes app-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}@keyframes app-spin{to{transform:rotate(360deg)}}@keyframes app-grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,2%)}to{transform:translate(0)}}@media (max-width:1080px){.admin-login{grid-template-columns:.8fr 1fr}.login-display{font-size:clamp(3.8rem,7vw,6rem)}.admin-grid{grid-template-columns:1fr}.admin-event-list{position:static}.party-stage{grid-template-columns:minmax(0,.8fr) minmax(22rem,1fr)}.memories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-tile,.memory-tile:nth-child(5n+1),.memory-tile:nth-child(5n+2){grid-column:auto;padding-top:0}}@media (max-width:760px){.admin-login{grid-template-columns:1fr}.login-story{border-right:0;border-bottom:1px solid var(--app-line);min-height:17rem}.login-story-copy{padding:2.5rem 0 1rem}.login-display{margin-bottom:0;font-size:clamp(3.3rem,15vw,5.5rem)}.login-story-copy>p:last-child,.login-tape{display:none}.login-panel{min-height:auto;padding-block:2.5rem}.login-index{margin-bottom:2.5rem}.admin-hero,.memories-hero{grid-template-columns:1fr}.admin-hero h1,.memories-hero h1{font-size:clamp(4.3rem,19vw,7rem)}.admin-stats{grid-template-columns:1fr}.admin-stats article{min-height:5rem}.admin-stats article+article{border-top:1px solid var(--app-line);border-left:0}.admin-create,.admin-inline-form,.admin-challenge-form,.admin-theme-form{grid-template-columns:1fr}.admin-theme-form>*,.admin-challenge-form>button,.app-field-wide{grid-column:auto}.admin-theme-form>button{justify-self:stretch}.admin-quick-links{grid-template-columns:1fr}.admin-quick-links a+a{border-top:1px solid var(--app-line);border-left:0}.admin-config-grid,.operation-grid{grid-template-columns:1fr}.workflow-list li{grid-template-columns:1fr;gap:.45rem;padding-block:.75rem}.workflow-list select{width:100%}.admin-qr{grid-template-columns:minmax(8rem,12rem) 1fr;place-items:center start}.admin-qr>span{grid-column:1/-1}.admin-qr>div{grid-row:2/4}.party-shell{min-height:100svh}.party-stage{grid-template-columns:1fr;align-content:center;gap:1.2rem}.party-intro{min-height:auto}.party-intro>p{margin-top:.8rem;font-size:clamp(3.8rem,17vw,6.4rem)}.party-intro .hero-logo{display:none}.party-card{min-height:auto}.party-card-top{margin-bottom:2.4rem}.party-footer{display:none}.bg-chair{opacity:.07;width:100vw}.bg-concho{display:none}.memories-hero{gap:2.5rem;padding-block:4rem}.memories-grid{grid-template-columns:1fr}.memory-caption{min-height:auto}.host-card{align-self:center}.legal-document section{grid-template-columns:1fr}.legal-contact{grid-column:auto}}@media (max-width:480px){.app-brand>span:last-child{display:none}.admin-kicker,.memories-live{text-align:right;max-width:9rem}.admin-shell,.party-shell,.memories-shell,.host-shell,.legal-shell{padding:1rem}.admin-card,.login-card,.party-card,.host-card{border-radius:1rem}.admin-event-list li button{grid-template-columns:auto minmax(0,1fr)}.admin-event-list .status-chip{grid-column:2}.event-count{display:none}.admin-qr{grid-template-columns:1fr}.admin-qr>*{grid-area:auto!important}.challenge-list li{grid-template-columns:1.4rem minmax(0,1fr)}.challenge-list li small{grid-column:2}.party-live{text-align:right;max-width:8rem}.party-card h1{font-size:clamp(2.8rem,15vw,4rem)}.host-controls{grid-template-columns:1fr}}@media (hover:none){.admin-form button:hover,.admin-create>button:hover,.admin-inline-form>button:hover,.admin-theme-form>button:hover,.primary-action:hover,.memory-download:hover,.host-controls button:hover,.admin-event-list li button:hover{transform:none}}@media (prefers-reduced-motion:reduce){.app-grain,.party-live i,.memories-live i,.loading-orbit,.reveal,.pop-in{animation:none!important}:where(.admin-shell,.admin-login,.party-shell,.memories-shell,.host-shell,.legal-shell) *{scroll-behavior:auto!important;transition-duration:.01ms!important}}
