:root{color-scheme:light;font-family:Instrument Sans,Helvetica Neue,Arial,sans-serif;--page-background: radial-gradient(circle at top left, rgba(164, 93, 52, .18), transparent 36%), radial-gradient(circle at bottom right, rgba(99, 105, 79, .16), transparent 28%), linear-gradient(180deg, #fbf3e7 0%, #f2e7d6 100%);--day-peek-right: clamp(28px, 11vw, 88px);--fixed-header-space: var(--measured-header-height, 74px);--fixed-footer-space: var(--measured-footer-height, 72px);--fixed-footer-offset: max(12px, env(safe-area-inset-bottom));--day-shell-vertical-gap: 10px;--day-shell-side-gap: 14px;--day-slide-gap: 14px;--day-card-height: calc( 100dvh - var(--fixed-header-space) - var(--fixed-footer-space) - var(--fixed-footer-offset) - (var(--day-shell-vertical-gap) * 2) );--public-bg: #f5ecd9;--public-card: rgba(255, 250, 243, .8);--public-line: rgba(61, 44, 31, .14);--public-line-strong: rgba(61, 44, 31, .28);--public-text: #231913;--public-muted: #746256;--public-accent: #a45d34;--public-accent-soft: rgba(164, 93, 52, .14);--public-shadow: 0 22px 60px rgba(65, 40, 22, .11)}*{box-sizing:border-box}html,body,#root{min-height:100%;max-width:100%;overflow-x:hidden}body{margin:0;color:var(--public-text);background:var(--page-background)}button{font:inherit;cursor:pointer}.public-page{min-height:100vh;max-width:100%;padding-bottom:var(--page-bottom-padding, 0px);background:var(--page-background);overflow-x:hidden}.public-header{position:fixed;top:0;left:0;right:0;z-index:30;border-bottom:1px solid var(--public-line);background:linear-gradient(180deg,#fffcf7db,#fff8efeb),#fff6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px #3d2c1f14;max-width:100%;transition:opacity .26s ease,transform .32s ease,box-shadow .26s ease}.public-header.is-hidden{opacity:0;transform:translateY(-18px);pointer-events:none;box-shadow:none}.public-header-inner{width:min(100%,920px);max-width:100%;min-height:56px;margin:0 auto;padding:max(8px,env(safe-area-inset-top)) 12px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.public-logo{flex:0 0 auto;display:flex;align-items:center;max-width:min(48vw,240px)}.public-logo-mark{display:block;width:100%;height:auto}.public-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;max-width:100%;flex-wrap:nowrap}.header-pill{display:inline-flex;align-items:center;padding:2px;border-radius:999px;border:1px solid var(--public-line);background:#ffffffc7;box-shadow:inset 0 1px #fffc}.header-pill-option{min-height:30px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:var(--public-text);font-size:.76rem;font-weight:600;white-space:nowrap;transition:transform .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.header-pill-option.is-active{color:#fff;background:linear-gradient(135deg,#2e241d,#6d4c3a);box-shadow:0 8px 20px #2e241d29}.public-inner{width:min(100%,760px);max-width:100%;margin:0 auto;padding:var(--fixed-header-space) 14px 40px;transition:padding-top .32s ease}.public-inner.has-day-nav{padding-bottom:0}.public-inner.is-welcome{padding-top:calc(24px + env(safe-area-inset-top))}.itinerary-shell{display:grid;gap:16px}.itinerary-shell>*{min-width:0;max-width:100%}.welcome-brand-shell{max-height:132px;margin-bottom:18px;overflow:hidden;opacity:1;transform:translateY(0) scale(1);transition:max-height .32s ease,margin-bottom .32s ease,opacity .22s ease,transform .32s ease}.welcome-brand-shell.is-hidden{max-height:0;margin-bottom:0;opacity:0;transform:translateY(-14px) scale(.96)}.welcome-brand{margin:0;text-align:center;font-size:clamp(2.15rem,9vw,3.7rem);line-height:.96;font-weight:700}.welcome-brand-mark{display:block;width:min(100%,360px);height:auto;margin:0 auto}.cover-card,.summary-card,.day-card,.status-card{border:1px solid var(--public-line);background:linear-gradient(180deg,#ffffffbd,#fff8eff5),var(--public-card);box-shadow:var(--public-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.cover-card{position:relative;overflow:hidden;max-width:100%;padding:26px 18px 28px;border-radius:34px;display:grid;gap:18px;text-align:center;animation:rise-in .5s ease both}.cover-card.is-welcome{padding-top:34px}.cover-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 12%,rgba(164,93,52,.12),transparent 22%),linear-gradient(180deg,rgba(255,255,255,.14),transparent);pointer-events:none}.cover-brand{position:relative;z-index:1;margin:0;font-size:clamp(2rem,8vw,3rem);line-height:.95;font-weight:700}.duomo-art{position:relative;z-index:1;display:block;width:100%;max-width:100%;height:auto;margin:0 auto}.cover-copy{position:relative;z-index:1;display:grid;min-width:0;gap:10px}.cover-copy-welcome{gap:18px}.cover-copy h1,.day-card h2,.status-card h2{margin:0;font-family:Fraunces,Georgia,serif}.cover-copy h1{font-size:clamp(2rem,8vw,3.2rem);line-height:1.02}.cover-title-stack{display:grid;gap:2px}.cover-title-stack h1{font-size:clamp(2.15rem,8.7vw,3.7rem);line-height:.96}.cover-date-stack{display:grid;gap:2px}.cover-date,.cover-disclaimer{margin:0}.cover-date{font-size:1.18rem;font-weight:600}.cover-disclaimer{max-width:36ch;margin:0 auto;color:var(--public-muted);line-height:1.55}.cover-tagline{position:relative;z-index:1;display:block;width:100%;max-width:350px;height:auto;margin:2px auto 0}.cover-jump-button{position:relative;z-index:1;width:54px;height:54px;margin:6px auto 0;border:0;border-radius:999px;color:#fff;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#2e241d,#6d4c3a);box-shadow:0 14px 28px #2e241d3d;transition:transform .14s ease,box-shadow .14s ease}.cover-jump-button:hover{transform:translateY(-1px);box-shadow:0 18px 32px #2e241d47}.status-card,.summary-card{padding:18px;border-radius:26px}.status-card{text-align:center}.chooser-card{display:grid;gap:22px;padding:26px 18px;text-align:center}.chooser-block{display:grid;gap:6px}.chooser-line{margin:0;font-size:clamp(1.02rem,4.8vw,1.22rem);line-height:1.18}.chooser-row{margin-top:0;justify-content:center}.selector-row{display:flex;flex-wrap:wrap;gap:10px}.selector-chip{min-width:120px;min-height:52px;padding:0 22px;border-radius:999px;border:1px solid var(--public-line);background:#ffffffe6;color:var(--public-text);font-size:1rem;font-weight:600;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.selector-chip:hover{transform:translateY(-1px)}.selector-chip.is-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#2e241d,#6d4c3a);box-shadow:0 10px 24px #2e241d29}.summary-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.summary-label{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:700;color:var(--public-muted)}.summary-card strong{display:block;margin-top:4px;font-size:1.12rem}.summary-loading{color:var(--public-muted);font-size:.92rem}.day-stack{display:grid;gap:16px}.day-card{padding:18px;border-radius:28px;display:grid;align-content:start;grid-auto-rows:min-content;gap:18px;animation:rise-in .56s ease both}.day-card-header{display:grid;align-content:start;align-items:start;grid-auto-rows:min-content;gap:12px}.day-card-header>div{min-width:0;align-self:start}.day-date{margin:0 0 8px;color:var(--public-accent);text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700}.day-card h2{font-size:clamp(1.55rem,6vw,2.2rem);line-height:1.02}.day-subtitle{margin:10px 0 0;color:var(--public-muted);line-height:1.5}.audience-pill{display:inline-flex;align-items:center;align-self:start;justify-self:start;min-height:44px;padding:0 16px;border-radius:999px;background:var(--public-accent-soft);color:var(--public-accent);font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap}.day-notes{padding:14px 15px;border-radius:22px;background:#ffffff85;border:1px solid rgba(61,44,31,.08)}.day-notes p,.segment-body p,.status-card p{margin:8px 0 0;line-height:1.6}.segment-description-list{margin:8px 0 0;padding-left:1.2rem;display:grid;gap:.35rem;line-height:1.6}.segment-description-list li{margin:0}.segment-stack{display:grid;align-content:start;gap:12px}.segment-card-public{display:grid;align-content:start;align-items:start;gap:10px;padding:14px;border-radius:22px;background:#ffffff8f;border:1px solid rgba(61,44,31,.08)}.segment-time{margin:0;color:var(--public-accent);font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.segment-body{position:relative;padding-left:16px}.segment-body:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:999px;background:linear-gradient(180deg,#a45d34b8,#a45d342e)}.segment-body h3{margin:0;font-size:1.03rem}.segment-meta strong{font-weight:700}.error-card{border-color:#913d3d38}.day-carousel-shell{position:relative;width:100vw;max-width:100vw;height:calc(var(--day-card-height) + (var(--day-shell-vertical-gap) * 2));margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:0;overflow:hidden}.day-carousel{display:flex;gap:0;width:100%;max-width:100%;height:calc(var(--day-card-height) + (var(--day-shell-vertical-gap) * 2));overflow-x:auto;padding:var(--day-shell-vertical-gap) 0;scroll-snap-type:x mandatory;scroll-padding-left:var(--day-shell-side-gap);scroll-padding-right:0;overflow-y:hidden;touch-action:pan-x pinch-zoom;scrollbar-width:none;-ms-overflow-style:none}.day-carousel::-webkit-scrollbar{display:none}.day-slide{flex:0 0 min(88%,640px);max-width:min(88%,640px);min-width:0;height:var(--day-card-height);min-height:var(--day-card-height);margin-left:var(--day-shell-side-gap);scroll-snap-align:start;scroll-snap-stop:always}.day-slide:last-child{margin-right:var(--day-shell-side-gap)}.day-card{width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.day-card *{user-select:none;-webkit-user-select:none}.day-nav{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));z-index:40;width:min(calc(100% - 24px),430px);min-height:60px;padding:6px;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#2e241d,#6d4c3a);box-shadow:0 18px 40px #2e241d52;transform:translate(-50%)}.day-nav-button{width:48px;height:48px;border:0;border-radius:999px;background:#ffffff1f;color:#fff;font-size:1.35rem;font-weight:700;transition:transform .14s ease,background .14s ease,opacity .14s ease}.day-nav-button:hover:not(:disabled){transform:translateY(-1px);background:#ffffff2e}.day-nav-button:disabled{opacity:.38;cursor:default}.day-nav-center{min-width:0;display:grid;justify-items:center;gap:2px;text-align:center}.day-nav-date{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:700}.day-nav-status{font-size:.74rem;color:#ffffffb8}.public-spinner{margin:0 auto 14px}.spinner{width:46px;height:46px;border-radius:999px;border:4px solid rgba(164,93,52,.14);border-top-color:var(--public-accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:720px){.public-header-inner{padding-inline:18px}.public-inner{padding-inline:20px}.cover-card,.day-card,.summary-card,.status-card{padding:24px}.chooser-card{padding:30px 24px}.day-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.segment-card-public{grid-template-columns:110px minmax(0,1fr);align-items:start}.segment-body{padding-left:18px}.day-slide{flex-basis:min(90%,700px);max-width:min(90%,700px)}}
