:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fffaf2;font-synthesis:none;--ink:#0b0810;--paper:#fffaf2;--gold:#d9b26f;--gold-bright:#f0d59f;--rose:#7d294a;--muted:#b8aeb7;background:#09070b;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at 12% 5%,#78284b33,#0000 35rem),#09070b;min-width:320px;overflow-x:hidden}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.boot-screen,.error-page{text-align:center;place-content:center;justify-items:center;gap:1rem;min-height:100vh;display:grid}.brand-mark,.wordmark-icon{aspect-ratio:1;width:3.25rem;color:var(--gold-bright);border:1px solid #f0d59fa6;border-radius:50%;place-items:center;font:600 2rem/1 Cormorant Garamond,serif;display:grid;box-shadow:0 0 3rem #d9b26f26}.boot-screen p{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.catalog{width:min(1180px,100% - 2rem);margin:0 auto;padding-bottom:3rem}.catalog-header,.viewer-header{justify-content:space-between;align-items:center;display:flex}.catalog-header{border-bottom:1px solid #ffffff14;min-height:96px}.wordmark{align-items:center;gap:.85rem;font-family:Cormorant Garamond,serif;font-size:1.65rem;font-weight:700;display:inline-flex}.wordmark-icon{width:2.25rem;font-size:1.3rem}.private-badge{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff1a;border-radius:999px;padding:.55rem .85rem;font-size:.72rem}.catalog-intro{padding:clamp(4.5rem,10vw,8rem) 0 clamp(3rem,6vw,5rem)}.eyebrow,.album-code,.viewer-title p{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .8rem;font-size:.68rem;font-weight:700}.catalog-intro h1{letter-spacing:-.045em;max-width:880px;margin:0;font:600 clamp(3.2rem,8vw,7.4rem)/.82 Cormorant Garamond,serif}.catalog-intro em{color:var(--gold-bright);font-weight:500}.catalog-copy{max-width:520px;color:var(--muted);margin:2.3rem 0 0;font-size:clamp(.95rem,2vw,1.1rem);line-height:1.8}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.4rem);display:grid}.album-card{background:linear-gradient(145deg,#ffffff0e,#ffffff05);border:1px solid #ffffff14;border-radius:1.4rem;padding:.7rem;transition:transform .28s,border-color .28s}.album-card:hover{border-color:#d9b26f59;transform:translateY(-5px)}.album-cover-link{aspect-ratio:3;background:#171019;border-radius:.9rem;display:block;position:relative;overflow:hidden}.album-cover{object-fit:contain;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.75,.25,1)}.album-card:hover .album-cover{transform:scale(1.025)}.open-pill{color:#171019;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf2eb;border-radius:999px;align-items:center;gap:.7rem;padding:.7rem .9rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;bottom:1rem;right:1rem}.album-meta{justify-content:space-between;align-items:end;gap:1rem;padding:1.2rem .7rem .75rem;display:flex}.album-meta h2{margin:0;font:600 clamp(1.55rem,3vw,2.15rem)/1 Cormorant Garamond,serif}.album-meta p{color:var(--muted);flex:none;margin:0;font-size:.72rem}.album-meta .album-code{color:var(--gold);margin-bottom:.5rem}.catalog-footer{color:#7f757e;border-top:1px solid #ffffff14;justify-content:space-between;margin-top:5rem;padding-top:1.5rem;font-size:.72rem;display:flex}.viewer-shell{isolation:isolate;background:radial-gradient(circle at 50% 45%,#5f29412e,#0000 45%),linear-gradient(135deg,#100b12,#070608 60%);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;position:relative;overflow:hidden}.ambient{z-index:-1;aspect-ratio:1;filter:blur(100px);opacity:.18;border-radius:50%;width:38vw;position:fixed}.ambient-one{background:#9b315d;top:-20vw;left:-12vw}.ambient-two{background:#ba8c43;bottom:-22vw;right:-16vw}.viewer-header{z-index:20;min-height:76px;padding:max(.85rem, env(safe-area-inset-top)) clamp(.85rem, 3vw, 2rem) .8rem;border-bottom:1px solid #ffffff12;position:relative}.viewer-back,.icon-button{aspect-ratio:1;cursor:pointer;background:#ffffff09;border:1px solid #ffffff1a;border-radius:50%;place-items:center;width:2.65rem;transition:background .18s,border-color .18s;display:grid}.viewer-back:hover,.icon-button:hover{background:#d9b26f1a;border-color:#d9b26f66}.viewer-title{text-align:center;position:absolute;left:50%;transform:translate(-50%)}.viewer-title p{margin:0 0 .2rem}.viewer-title h1{margin:0;font:600 clamp(1.05rem,2.5vw,1.55rem)/1 Cormorant Garamond,serif}.viewer-actions{gap:.55rem;margin-left:auto;display:flex}.book-stage{opacity:0;place-items:center;min-height:0;padding:clamp(1rem,3vw,2.4rem) clamp(2.5rem,6vw,5rem);transition:opacity .45s;display:grid;position:relative}.book-stage.is-ready{opacity:1}.book-glow{filter:blur(90px);background:#cb945226;border-radius:50%;width:65%;height:40%;position:absolute}.book{z-index:2;filter:drop-shadow(0 2.2rem 2.4rem #0000008c);position:relative}.book canvas{border-radius:2px}.edge-control{z-index:8;aspect-ratio:1;width:3.2rem;color:var(--paper);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f0a1099;border:1px solid #ffffff1c;border-radius:50%;font:300 2.3rem/1 Cormorant Garamond,serif;position:absolute;top:50%;transform:translateY(-50%)}.edge-prev{left:clamp(.5rem,2vw,1.5rem)}.edge-next{right:clamp(.5rem,2vw,1.5rem)}.viewer-controls{z-index:20;min-height:84px;padding:.75rem clamp(.85rem, 3vw, 2rem) max(.75rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080609b8;border-top:1px solid #ffffff12;grid-template-columns:minmax(460px,1.5fr) minmax(220px,1fr);align-items:center;gap:1.2rem;display:grid;position:relative}.audio-strip{align-items:center;gap:1rem;min-width:0;display:flex}.music-control{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;min-width:0;padding:0;display:inline-flex}.audio-tools{align-items:center;gap:.55rem;display:flex}.audio-tool,.zoom-toolbar button{min-height:2.25rem;color:var(--paper);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:.45rem .7rem;font-size:.65rem}.change-track{color:var(--gold-bright)}.volume-control{color:var(--muted);align-items:center;gap:.45rem;font-size:.62rem;display:flex}.volume-control input{width:clamp(72px,8vw,120px);accent-color:var(--gold)}.volume-control output{min-width:2.4rem}.control-icon{aspect-ratio:1;color:#171019;background:var(--gold-bright);border-radius:50%;flex:none;place-items:center;width:2.7rem;margin-right:.7rem;display:grid}.track-copy{min-width:0;display:grid}.track-copy small{color:#8d818c;letter-spacing:.12em;text-transform:uppercase;font-size:.59rem}.track-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:230px;margin-top:.2rem;font-size:.72rem;font-weight:500;overflow:hidden}.equalizer{opacity:0;align-items:center;gap:2px;height:16px;margin-left:.7rem;display:flex}.equalizer i{background:var(--gold);width:2px;height:40%;animation:.8s ease-in-out infinite alternate equalize}.equalizer i:nth-child(2){animation-delay:.18s}.equalizer i:nth-child(3){animation-delay:.36s}.music-control.is-playing .equalizer{opacity:1}@keyframes equalize{to{height:100%}}.page-status{align-items:center;gap:1rem;display:flex}.progress-track{background:#ffffff1f;flex:1;height:2px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--rose), var(--gold-bright));width:0;height:100%;transition:width .5s;display:block}.page-status>span{min-width:4.5rem;color:var(--muted);text-align:right;font-size:.68rem}.mobile-qr{display:none}.open-gate{z-index:100;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:radial-gradient(circle,#682a485c,#0000 34rem),#060507f0;place-items:center;padding:1.2rem;transition:opacity .5s,visibility .5s;display:grid;position:fixed;inset:0}.open-gate.opening{opacity:0;visibility:hidden}.gate-card{text-align:center;background:linear-gradient(145deg,#ffffff13,#ffffff05),#110c13;border:1px solid #d9b26f45;border-radius:1.5rem;width:min(480px,100%);padding:clamp(2rem,7vw,4rem);box-shadow:0 2rem 7rem #0000008c}.gate-card h2,.qr-modal h2,.error-page h1{margin:0;font:600 clamp(2.3rem,7vw,4.3rem)/.95 Cormorant Garamond,serif}.gate-card>p:not(.eyebrow){color:var(--muted);margin:1.2rem 0 2rem}.primary-button{color:#171019;background:linear-gradient(135deg, var(--gold-bright), #c68f52);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:2rem;min-width:220px;padding:.95rem 1.25rem;font-weight:700;display:inline-flex}.gate-card small{color:#7f747e;margin-top:1rem;font-size:.66rem;display:block}.qr-modal{color:#171019;text-align:center;background:#fffdf9;border:1px solid #d9b26f4d;border-radius:1.4rem;width:min(390px,100% - 2rem);padding:2.2rem}.qr-modal::backdrop,.zoom-modal::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040305cc}.qr-modal .eyebrow{color:#94532d}.qr-modal h2{font-size:2.35rem}.qr-modal canvas{max-width:100%;margin:1.4rem auto .6rem}.qr-modal>p:last-child{color:#6d6269;margin-bottom:0;font-size:.78rem}.modal-close{cursor:pointer;background:0 0;border:0;width:2rem;font-size:1.6rem;position:absolute;top:.8rem;right:.8rem}.zoom-modal{width:min(96vw,1600px);height:min(92vh,980px);color:var(--paper);background:#0b080d;border:1px solid #d9b26f4d;border-radius:1.2rem;padding:0;overflow:hidden}.zoom-modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1rem 1.2rem .7rem;display:flex}.zoom-modal-header .eyebrow{margin-bottom:.3rem}.zoom-modal-header h2{margin:0;font:600 1.45rem/1 Cormorant Garamond,serif}.zoom-close{color:var(--paper);position:static}.zoom-toolbar{background:#ffffff06;justify-content:center;align-items:center;gap:.65rem;min-height:58px;padding:.65rem 1rem;display:flex}.zoom-toolbar input{width:min(280px,40vw);accent-color:var(--gold)}.zoom-toolbar output{min-width:3.4rem;color:var(--muted);font-size:.7rem}.zoom-viewport{overscroll-behavior:contain;background-color:#070608;background-image:linear-gradient(45deg,#ffffff06 25%,#0000 25%),linear-gradient(-45deg,#ffffff06 25%,#0000 25%),none;background-position:0 0,0 12px;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;height:calc(100% - 126px);padding:1rem;overflow:auto}.zoom-viewport img{width:100%;max-width:none;height:auto;margin:0 auto;transition:width .18s;display:block;box-shadow:0 1.5rem 4rem #00000073}.toast{z-index:120;color:#171019;background:var(--paper);opacity:0;pointer-events:none;border-radius:999px;padding:.75rem 1rem;font-size:.75rem;transition:all .22s;position:fixed;bottom:7rem;left:50%;transform:translate(-50%,1rem)}.toast.show{opacity:1;transform:translate(-50%)}.error-page{width:min(620px,100% - 2rem);margin:0 auto}.error-page p:not(.eyebrow){max-width:460px;color:var(--muted)}@media (width<=760px){.catalog{width:min(100% - 1.2rem,620px)}.catalog-header{min-height:76px}.catalog-intro{padding-top:4rem}.album-grid{grid-template-columns:1fr}.catalog-footer{gap:.5rem;display:grid}.viewer-header{min-height:66px}.viewer-title h1{text-overflow:ellipsis;white-space:nowrap;max-width:48vw;overflow:hidden}.viewer-actions .qr-desktop{display:none}.viewer-actions .icon-button{width:2.25rem}.book-stage{padding:.65rem 2rem}.edge-control{background:#0f0a105c;width:2.5rem}.edge-prev{left:.2rem}.edge-next{right:.2rem}.viewer-controls{grid-template-columns:minmax(0,1fr) auto;gap:.8rem;min-height:75px}.page-status{grid-area:1/1/auto/-1}.music-control{flex:1}.audio-strip{grid-area:2/1;gap:.65rem;display:grid}.audio-tools{gap:.35rem}.volume-control{flex:1}.volume-control input{width:min(24vw,100px)}.audio-tool{min-height:2rem;padding:.35rem .55rem;font-size:.58rem}.track-copy strong{max-width:48vw}.mobile-qr{aspect-ratio:1;width:2.55rem;color:var(--paper);background:#ffffff09;border:1px solid #ffffff1c;border-radius:50%;grid-area:2/2;place-items:center;font-size:.64rem;display:grid}.control-icon{width:2.35rem}.zoom-modal{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none}.zoom-toolbar{gap:.4rem;padding-inline:.6rem}.zoom-toolbar input{width:min(34vw,160px)}.zoom-toolbar #zoom-reset{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
