@charset "UTF-8";
:root{color-scheme:dark;--bg:#071c15;--panel:#0c281e;--gold:#f1cd7b;--ivory:#fff4db;--muted:#b0c2b6;--line:#e2d3a625}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--bg);color:var(--ivory);font:16px/1.65 Arial,Helvetica,sans-serif}body.modal-open{overflow:hidden}a{color:inherit}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff4ba;outline-offset:5px}button:disabled{opacity:.55;cursor:wait}.disabled{opacity:.5;pointer-events:none}.wrap{width:min(1120px,90%);margin-inline:auto}.skip{position:fixed;top:-100px;left:1rem;z-index:20;background:white;color:#102b21;padding:1rem}.skip:focus{top:1rem}.preview-note{padding:.35rem 1rem;background:#153d2c;color:#d4dfce;text-align:center;font-size:.61rem;letter-spacing:.09em}header{display:flex;align-items:center;justify-content:space-between;padding:1rem 5%;max-width:1440px;margin:auto}.brand{font-weight:900;font-size:1.7rem;line-height:1;text-decoration:none;letter-spacing:.04em;color:var(--gold)}.brand span{display:block;font-size:.5rem;letter-spacing:.2em;margin-top:.45rem}nav{display:flex;align-items:center;gap:1.15rem;font-size:.7rem}nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}.nav-date{display:none}.hero{padding-bottom:28vw}.scene{position:relative;isolation:isolate;max-width:1440px;margin:auto;aspect-ratio:1733/908}.background{display:block;width:100%;height:auto}.dates{position:absolute;inset:0;pointer-events:none}.board{position:absolute;left:54%;width:36%;height:30%;top:24%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#271406;text-shadow:0 1px 0 #ffc76690;line-height:1.2;text-align:center;transform:rotate(-.3deg);padding:0 2px}.board:nth-child(2){top:70%;height:13%;left:54%;width:35%}.board .board-label{font-size:clamp(6px,1.55vw,18px);letter-spacing:.08em;font-weight:800}.board strong{font:bold clamp(13px,3.35vw,47px)/1.2 Georgia,serif;margin:2px 0}.board .weekday{font-size:clamp(7px,1.8vw,23px);font-weight:700}.board .event-time{font-size:clamp(10px,2.45vw,30px);font-weight:bold}.board:nth-child(2) .board-label{display:none}.board:nth-child(2) strong{font-size:clamp(12px,2.7vw,35px);margin:0}.board:nth-child(2) .weekday{display:none}.board:nth-child(2) .event-time{font-size:clamp(9px,2.1vw,24px)}.microphone{position:absolute;width:20%;height:auto;left:36%;top:23%;object-fit:contain;transform-origin:50% 90%;animation:pulse 4s ease-in-out infinite;filter:drop-shadow(0 6px 6px #0009)}h1{position:absolute;bottom:-40%;left:3%;width:94%;margin:0;z-index:3}h1 img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 4px #0008)}.eyebrow{font-size:.62rem;letter-spacing:.2em;font-weight:700;color:var(--gold);line-height:1.5}.live-dot{width:6px;height:6px;display:inline-block;background:var(--gold);border-radius:50%;margin-right:.4rem;box-shadow:0 0 15px #f1cd7b66}h2{font:normal clamp(2.7rem,6vw,5rem)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:1rem 0 1.5rem}p{margin:0 0 1rem}.welcome{text-align:center;padding-top:1.5rem}.welcome>p{color:var(--muted)}.free-pill{display:inline-flex;align-items:center;gap:1.4rem;border:1px solid #efd59c88;color:var(--gold);padding:.5rem 1rem;border-radius:30px;text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.12em}.free-pill span{font-size:1.2rem}.countdown{padding:2.5rem 0 1.5rem;margin-top:2rem;border-top:1px solid var(--line)}#countdown-title{font:normal clamp(1.5rem,4vw,2.5rem)/1.2 Georgia,serif;color:var(--ivory);margin:1rem auto 1.5rem}.digits{display:flex;justify-content:center;align-items:flex-start;gap:.6rem}.digits div{min-width:48px;display:flex;flex-direction:column}.digits b{font:normal clamp(2.5rem,8.5vw,5.5rem)/1 Georgia,serif;font-variant-numeric:tabular-nums;color:var(--gold)}.digits span{font-size:.55rem;letter-spacing:.2em;color:var(--muted);margin-top:.7rem}.digits i{font:normal 2rem/1 Georgia,serif;color:#b6a677;margin-top:.3rem}.countdown-caption{font-size:.75rem;color:var(--muted);margin:1rem 0 0}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.85rem 1.25rem;border:1px solid transparent;text-decoration:none;font-size:.8rem;font-weight:700;line-height:1.4;border-radius:3px;transition:background .2s,color .2s}.gold{background:var(--gold);color:#11291d}.gold:hover{background:#ffe5a9}.outline{background:transparent;border-color:#f0d9a077;color:var(--ivory)}.outline:hover{background:#f0d9a010}.welcome>.button{width:100%;max-width:355px}.section-heading{margin-bottom:1.75rem}.section-heading>p{color:var(--muted);font-size:.88rem}.gallery-section{padding-block:5rem}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.photo{display:block;padding:0;border:0;background:#112e23;position:relative;overflow:hidden;border-radius:3px;color:white;aspect-ratio:1/1.15}.photo-main,.photo-wide{grid-column:1/-1;aspect-ratio:1.4}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover img{transform:scale(1.025)}.photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#000a);pointer-events:none}.photo span{position:absolute;bottom:.75rem;left:.75rem;right:.75rem;text-align:left;font-size:.7rem;z-index:1;display:flex;align-items:center;justify-content:space-between}.photo b{font-size:1rem}.small{font-size:.7rem}.muted{color:var(--muted)}.gallery-section>.small{margin-top:1rem}.song-section{background:linear-gradient(120deg,#102e22,#0a2119);padding-block:4rem;border-block:1px solid var(--line)}.song-layout>div>p:not(.eyebrow){color:var(--muted);font-size:.88rem}.song-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2rem}.chip{font-size:.7rem;padding:.7rem .9rem;border:1px solid #c5cba44a;border-radius:25px;background:transparent;color:#d6e0cc;min-height:44px}.chip.selected{background:var(--gold);color:#122b1d;border-color:var(--gold)}.song-pick{text-align:center;padding:2rem 1rem 0;border-top:1px solid var(--line)}.record{width:150px;height:150px;border-radius:50%;background:repeating-radial-gradient(circle,#0a120e 0 2px,#1d2c21 3px,#09150f 4px);margin:auto;display:grid;place-items:center;box-shadow:0 12px 25px #0005;transform:rotate(-12deg);border:1px solid #e5cb8422}.record span{display:grid;place-content:center;width:66px;height:66px;background:var(--gold);border-radius:50%;font-size:.6rem;font-weight:900;line-height:1.3;color:#193122;letter-spacing:.1em}.song-result{min-height:143px;display:flex;flex-direction:column;justify-content:center}.song-result p{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;margin:.7rem 0 .3rem;color:var(--gold)}.song-result h3{font:normal 2rem/1.1 Georgia,serif;margin:0 0 .75rem}.song-result>span{font-size:.7rem;color:var(--muted)}.song-pick .button{width:100%;max-width:320px}.song-pick .small{margin:1rem 0}.location-section{background:#0b241b;border-top:1px solid var(--line);padding-block:4rem}.venue{font-size:1.15rem;color:var(--gold);margin-top:2rem}.location-layout address{font-style:normal;color:var(--ivory);margin-bottom:1.5rem;font-size:1.2rem}.info-list{margin-top:2.5rem}.info-list>div{padding:1.5rem 0;border-top:1px solid var(--line)}.info-list>div>span{font-size:.62rem;font-weight:bold;letter-spacing:.15em;color:var(--gold)}.info-list p{font:normal 1.7rem/1.3 Georgia,serif;margin:.5rem 0}.info-list .free-text{color:var(--gold);font-size:2.5rem}.info-list small{color:var(--muted);font-size:.75rem}.socials{display:flex;gap:2rem}.socials a{padding:.6rem 0;font-size:.85rem;text-underline-offset:5px}.calendar-admin{padding-block:2rem;color:var(--muted);font-size:.65rem;border-bottom:1px solid var(--line)}.calendar-admin button{border:1px solid #b3bfa044;background:transparent;color:var(--muted);padding:.6rem .8rem;min-height:44px;margin:.3rem .3rem .3rem 0;font-size:.65rem}footer{padding-block:2rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}footer p{font:italic 1rem Georgia,serif;color:var(--muted);margin:0}footer>a:last-child{font-size:.7rem;min-height:44px;display:flex;align-items:center}.no-motion .microphone{animation:none}dialog{width:min(1200px,96vw);max-width:none;max-height:95dvh;background:#071a13;color:var(--ivory);border:1px solid #d4b66b66;padding:1rem;border-radius:6px}dialog::backdrop{background:#000d}dialog figure{margin:1rem 0 .5rem}dialog figure img{display:block;max-height:65dvh;max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}dialog figcaption{font-size:.75rem;text-align:center;margin:.7rem 0;color:var(--muted)}dialog button{color:var(--ivory);border:1px solid #c8d8b755;background:transparent;padding:.7rem 1rem;min-height:44px}.lightbox-close{display:block;margin-left:auto}.lightbox-nav{display:flex;justify-content:center;gap:2rem;align-items:center;font-size:.8rem}.desktop-break{display:none}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media(min-width:700px){header{padding-block:1.3rem}.nav-date{display:flex}nav{font-size:.8rem;gap:2rem}.hero{padding-bottom:min(17vw,240px)}h1{width:73%;left:13.5%;bottom:-30%}.welcome{padding-top:1rem}.welcome h2{font-size:5.4rem}.desktop-break{display:block}.countdown{max-width:740px;margin:2.5rem auto 0}.digits{gap:1.2rem}.digits div{min-width:85px}.digits i{font-size:3.5rem}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading>p{padding-bottom:.7rem}.gallery{grid-template-columns:1fr 1fr 1fr;gap:1rem}.photo-main{grid-column:1/3;grid-row:1/3;aspect-ratio:auto;min-height:500px}.photo{aspect-ratio:1.5}.photo-wide{grid-column:1/-1;aspect-ratio:2.9}.photo span{font-size:.85rem;bottom:1.25rem;left:1.25rem;right:1.25rem}.gallery-section{padding-block:6rem}.song-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:4rem}.song-pick{border-top:0;border-left:1px solid var(--line);padding:1rem 0 0 3rem}.location-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem}.info-list{margin:0}.location-section{padding-block:5rem}}
.graphic-entry{display:inline-block;width:min(360px,86%);padding:0;border:0;border-radius:0;background:transparent;line-height:0;margin-top:.5rem}.graphic-entry img{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 5px #0004)}
[hidden]{display:none!important}.microphone{height:74%;width:auto;left:38%;top:15%}
@media(min-width:1440px){.hero{padding-bottom:240px}}
@media(max-width:360px){nav{gap:.7rem;font-size:.65rem}.brand{font-size:1.45rem}.digits{gap:.35rem}.button{font-size:.74rem}.board .board-label{font-size:5.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Grafikai CTA és jól látható, megállítható bakelitforgás. */
.attend-button{display:inline-block;width:min(360px,94%);line-height:0;margin-top:.35rem;border-radius:48%;background:transparent}
.attend-button img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 7px #0005)}
.attend-button:hover img{filter:brightness(1.08) drop-shadow(0 6px 7px #0005)}
.record{position:relative;width:min(100%,320px);height:auto;aspect-ratio:1;transform:none;animation:vinyl-spin 9s linear infinite;isolation:isolate;border:3px solid #334638;box-shadow:0 20px 35px #0007,inset 0 0 0 4px #0b160f}
.record:before{content:'';position:absolute;inset:3%;border-radius:50%;background:conic-gradient(from 15deg,transparent 0 12%,#e5f2ca40 17%,transparent 24% 60%,#e5f2ca30 68%,transparent 75%);pointer-events:none}
.record:after{content:'';position:absolute;top:7%;left:43%;width:8px;height:8px;border-radius:50%;background:#e6c979;box-shadow:0 0 8px #e6c97955}
.record span{position:relative;z-index:1;width:36%;height:36%;font-size:clamp(.65rem,2.6vw,.95rem);border:5px solid #b18b40;box-shadow:0 0 0 5px #111e15;letter-spacing:.13em}
.record-toggle{display:block;margin:1.3rem auto .35rem;min-height:44px;padding:.55rem .85rem;border:1px solid #b8c8a744;border-radius:24px;color:var(--muted);background:transparent;font-size:.65rem}
.record.paused,.no-motion .record{animation-play-state:paused}
@keyframes vinyl-spin{from{transform:rotate(-12deg)}to{transform:rotate(348deg)}}
@media(min-width:700px){.record{width:min(100%,350px)}}
@media(prefers-reduced-motion:reduce){.record{animation:none!important}}

/* Jóváhagyott szövegek, fatáblára illesztett világos dátumok. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.graphic-entry{cursor:default}
.welcome>.karaoke-description{max-width:660px;margin:1.5rem auto 0;font-size:1rem;line-height:1.8;color:var(--ivory);text-wrap:pretty}
.karaoke-description strong{color:var(--gold);font-weight:700}
.board{color:#fff2ca;text-shadow:0 1px 0 #8c5628,0 2px 0 #623716,0 3px 4px #241208,1px 0 2px #42200d,-1px 0 2px #42200d;-webkit-text-stroke:.25px #643813;paint-order:stroke fill}
.board:first-child{top:23%;height:32%}
.board:first-child .board-label{font-size:clamp(8px,1.85vw,24px);letter-spacing:.035em;line-height:1.15}
.board:first-child strong{font-size:clamp(16px,4.9vw,66px);line-height:1.12;margin:3px 0}
.board:first-child .event-time{font-size:clamp(11px,3.1vw,40px);line-height:1.1}
.board:first-child .weekday{font-size:clamp(8px,1.9vw,25px);line-height:1.1;margin-bottom:2px}
.board:nth-child(2){top:68%;height:17%;line-height:1.1}
.board:nth-child(2) .board-label{display:block;font-size:clamp(7px,1.25vw,17px);line-height:1.1;letter-spacing:.025em;margin-bottom:1px}
.board:nth-child(2) strong{line-height:1.1}
.board:nth-child(2) .event-time{line-height:1.1}
@media(max-width:699px){.board:first-child .weekday{display:none}.welcome>.eyebrow{max-width:330px;margin-inline:auto;line-height:1.8;letter-spacing:.13em}.board:first-child strong{margin:2px 0}}
.board:first-child .board-label{font-size:clamp(8px,2.3vw,30px);letter-spacing:.015em;white-space:nowrap}
.board:nth-child(2) .board-label{font-size:clamp(6.5px,1.85vw,21px);letter-spacing:.01em;white-space:nowrap}
.song-pick{overflow:clip}
@media(min-width:700px){.gallery .photo-main{aspect-ratio:auto;min-height:0}}
@media(max-width:699px){h1{bottom:-44%}}
@media(min-width:700px) and (max-width:999px){h1{bottom:-33%}}
