/* Agenda Nagano: weekly information and the original, interactive Oráculo artwork. */
.agenda{--ink:#171b18;--paper:#eee9dd;--muted:#c8c3b7;--copper:#c17d5c;--accent-text:#dfa480;--line:#d1bb982d;--oraculo-gold:#e0bb7f;position:relative;isolation:isolate;overflow:clip;color:var(--paper);background:radial-gradient(ellipse at 93% 12%,#b2713e29,transparent 48%),radial-gradient(ellipse at 0% 70%,#5b695127,transparent 55%),linear-gradient(135deg,#161c19,#24251f 58%,#1b1c18);border-block:1px solid #c397683b}
.agenda:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;background:url('/assets/agenda-grain.svg') repeat;opacity:.19;mix-blend-mode:soft-light}
.agenda .section-meta{color:#c7b49e}
.agenda .button.light:hover{background:#fff5e7;color:var(--ink)}
.agenda .button.outline{border:1px solid #d9bd9a66;color:var(--paper)}
.agenda .button.outline:hover{background:#fffaf10d}
.agenda-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px}
.agenda-heading>p{font-size:18px;line-height:1.85;color:var(--muted);max-width:35ch;margin-bottom:8px}
.agenda-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);margin-bottom:46px;background:#070a082b;box-shadow:0 8px 28px #0000001a}
.agenda-week button{padding:20px 10px;background:none;border:0;border-right:1px solid var(--line);color:var(--muted);min-width:0;min-height:86px;text-align:left;transition:background .25s,color .25s}
.agenda-week button:last-child{border-right:0}
.agenda-week button>span{font-size:16px;font-weight:600;display:block;line-height:1.6}
.agenda-week button>small{display:block;font-size:12px;line-height:1.7;margin-top:5px;letter-spacing:.3px}
.agenda-week button[aria-selected=true]{background:var(--paper);color:var(--ink)}
.agenda-week button:hover:not([aria-selected=true]){background:#d9a76b14;color:var(--paper)}
.agenda-week button:focus-visible{outline-offset:-4px}
.agenda-day[hidden]{display:none!important}
.agenda-day:focus{outline:none}
.agenda-day-summary{display:grid;grid-template-columns:1.3fr .8fr;gap:12%;align-items:start}
.agenda-day h3{font-family:var(--serif);font-size:clamp(42px,4.8vw,66px);font-weight:400;line-height:1.08;letter-spacing:-1.5px;margin:22px 0}
.agenda-day .eyebrow{color:var(--accent-text);font-size:12px}
.agenda-day-summary>div>p,.oraculo-intro p{font-size:16px;line-height:1.85;color:var(--muted);max-width:55ch}
.agenda-day .button{margin-top:28px}
.agenda-offer-price{font-family:var(--serif);font-size:clamp(46px,5vw,64px);line-height:1.2;color:var(--paper);margin:28px 0 16px}
.agenda-offer-price small{font-family:var(--sans);display:block;font-size:14px;color:var(--muted);line-height:1.8;margin-top:8px}
.agenda-day-summary p.agenda-offer-note{font-size:14px;line-height:1.8;margin-top:18px;max-width:53ch}
.agenda-day-aside{padding-top:12px}
.agenda-day-aside>p{font-size:16px;line-height:1.9;color:var(--muted);margin-top:20px}
.agenda-hours{border-top:1px solid var(--line);padding-top:12px}
.agenda-hours p{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8;color:var(--muted)}
.agenda-hours strong{font-size:15px;font-weight:500;color:var(--paper);text-align:right;white-space:nowrap}
.agenda-festival-prices{margin:28px 0 0}
.agenda-festival-prices>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.agenda-festival-prices dt{font-family:var(--serif);font-size:30px;color:var(--paper)}
.agenda-festival-prices dd{font-size:17px;text-align:right;margin:0;line-height:1.7}
.agenda-festival-prices small{display:block;font-size:14px;color:var(--muted)}
.agenda-festivals-link{margin:14px 0 0 20px}
.oraculo-intro{display:grid;grid-template-columns:1.3fr .8fr;gap:12%;align-items:start;margin-bottom:48px}
.oraculo-intro h3 em{color:var(--oraculo-gold)}
.oraculo-visit{padding-top:10px}
.oraculo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:18px;border-top:1px solid var(--line);padding-top:26px}
.oraculo-demo-label{display:inline-block;color:var(--oraculo-gold);font-size:12px;font-weight:600;letter-spacing:1.2px;line-height:1.8}
#oraculo-help{font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}
.oraculo-mobile-help{display:none}
.oraculo-controls{display:flex;gap:10px;flex-shrink:0}
.oraculo-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);color:var(--oraculo-gold);background:none;font-size:22px;line-height:1}
.oraculo-controls button:disabled{opacity:.3;cursor:default}
.oraculo-controls button:hover:not(:disabled){border-color:var(--oraculo-gold)}
.oraculo-deck{display:grid;grid-auto-flow:column;grid-auto-columns:180px;gap:20px;list-style:none;margin:0;padding:8px 5px 26px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:5px;scrollbar-width:thin;scrollbar-color:#b98d4d55 transparent}
.oraculo-card{min-width:0;scroll-snap-align:start}
.oraculo-flip{display:block;width:100%;border:0;padding:0;background:none;color:var(--paper);text-align:left;font:inherit;perspective:1300px;touch-action:manipulation}
.oraculo-turn{position:relative;display:block;width:100%;aspect-ratio:183.433/325.165;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.25,.7,.25,1)}
.oraculo-flip.is-hovered .oraculo-turn,.oraculo-flip[aria-pressed=true] .oraculo-turn{transform:rotateY(180deg)}
.oraculo-face{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;overflow:hidden;background:#090909;box-shadow:0 10px 22px #0003}
.oraculo-face>img{display:block;width:100%;height:100%;object-fit:contain}
.oraculo-back{transform:rotateY(180deg)}
.oraculo-face>img.oraculo-sticker{position:absolute;left:12.45%;top:62.6%;width:75.1%;height:25.5%;object-fit:contain}
.oraculo-card-name{display:block;font-family:var(--serif);font-size:23px;line-height:1.3;margin:17px 0 5px;color:var(--paper)}
.oraculo-card-action{display:flex;justify-content:space-between;align-items:center;font-size:13px;line-height:1.8;color:var(--oraculo-gold)}
.oraculo-readout{display:grid;grid-template-columns:1fr 1.3fr;gap:35px;align-items:center;border-block:1px solid var(--line);padding:24px 22px;margin-top:16px;min-height:145px;background:#0e131348}
.oraculo-readout .eyebrow{color:var(--oraculo-gold);font-size:11px}
.oraculo-readout h4{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.2;color:var(--paper);margin:10px 0 0}
.oraculo-readout p{font-size:16px;line-height:1.8;color:var(--paper);margin:0}
.oraculo-readout p.oraculo-prize-condition{font-size:14px;color:var(--oraculo-gold);margin-top:6px}
.oraculo-prize-condition:empty{display:none}
.oraculo-simulation-note{font-size:14px;line-height:1.9;color:var(--muted);max-width:100ch;margin:22px 0 0}
.paused .oraculo-turn{transition:none}
@media(max-width:1050px){.agenda-day-summary,.oraculo-intro{gap:6%;grid-template-columns:1.2fr 1fr}.agenda-festivals-link{display:flex;margin-left:0}.oraculo-deck{grid-auto-columns:170px}}
@media(max-width:720px){.agenda-heading{display:block;margin-bottom:32px}.agenda-heading>p{font-size:16px;margin-top:24px;max-width:34ch}.agenda-week{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:34px}.agenda-week button{padding:13px 7px;min-height:76px;border-bottom:1px solid var(--line)}.agenda-week button:nth-child(4){border-right:0}.agenda-week button:nth-child(n+5){border-bottom:0}.agenda-week button>span{font-size:14px}.agenda-week button>small{font-size:11px;letter-spacing:0}.agenda-day-summary,.oraculo-intro{grid-template-columns:1fr;gap:30px}.agenda-day h3{font-size:44px;letter-spacing:-1.2px}.agenda-day-aside{padding-top:8px}.agenda-day .eyebrow{font-size:11px;letter-spacing:1px}.agenda-offer-price{font-size:48px}.agenda-hours p{font-size:14px}.agenda-hours strong{font-size:14px}.agenda-festival-prices dt{font-size:28px}.agenda-festival-prices dd{font-size:16px}.agenda-festivals-link{font-size:14px}.oraculo-intro{margin-bottom:32px}.oraculo-visit{padding-top:0}.oraculo-toolbar{gap:15px;align-items:flex-start}.oraculo-demo-label{font-size:11px}.oraculo-controls{gap:7px}.oraculo-controls button{width:42px;height:44px}.oraculo-desktop-help{display:none}.oraculo-mobile-help{display:inline}.oraculo-deck{grid-auto-columns:min(74vw,280px);gap:20px;margin-right:-7%;padding-right:7%;scroll-padding-left:5px}.oraculo-card-name{font-size:28px}.oraculo-readout{grid-template-columns:1fr;gap:16px;min-height:0;margin-top:8px}.oraculo-readout h4{font-size:32px}.oraculo-simulation-note{font-size:14px}}
@media(prefers-reduced-motion:reduce){.oraculo-turn,.agenda-week button{transition:none}}

.oraculo-card-result{display:none}
/* Compact mobile overview: all eight cards in two columns. */
@media(max-width:720px){
 .oraculo-toolbar{margin-bottom:14px;padding-top:20px}
 .oraculo-controls{display:none}
 .oraculo-deck{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;gap:24px 16px;margin:0;padding:8px 4px 24px;overflow:visible;scroll-snap-type:none}
 .oraculo-card{width:100%;max-width:170px;justify-self:center}
 .oraculo-card-name{font-size:clamp(19px,5.2vw,23px);line-height:1.2;margin:11px 0 5px;text-wrap:balance}
 .oraculo-card-action{font-size:12px;line-height:1.6;gap:6px}
 .oraculo-face{border-radius:5px}
 .oraculo-intro{margin-bottom:24px}
}

@media(max-width:720px){
 .oraculo-flip[aria-pressed=true] .oraculo-card-result{display:block;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--sans);font-size:14px;line-height:1.65;color:var(--paper)}
 .oraculo-card-result strong{display:block;font-size:15px;font-weight:600;color:var(--oraculo-gold);margin-bottom:5px}
 .oraculo-card-result>span{display:block}
 .oraculo-card-result small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
}
