:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:#000;color:#f3f0ea;overflow:hidden}body{cursor:none;-webkit-font-smoothing:antialiased}.stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;overflow:hidden}.slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;animation:slide-in 1.1s ease-in-out forwards}@keyframes slide-in{0%{opacity:0}to{opacity:1}}.slide-bg{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;width:112%;height:112%;object-fit:cover;filter:blur(38px) saturate(1.25) brightness(.42);transform:scale(1.08)}.slide-print{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);overflow:hidden}.slide-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;will-change:transform}@keyframes kb{0%{transform:scale(1) translate(0)}to{transform:scale(1.09) translate(-1.2%,-.9%)}}.kb{animation:kb var(--kb-duration) ease-out forwards}.kb-paused{animation-play-state:paused}.photo-text{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:text-cycle var(--text-cycle) ease-in-out forwards}@keyframes text-cycle{0%{opacity:0;transform:translateY(14px)}14%{opacity:0;transform:translateY(14px)}21%{opacity:1;transform:translateY(0)}82%{opacity:1;transform:translateY(0)}88%{opacity:0;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.scrim{position:absolute;left:0;right:0;bottom:0;padding:9vh 6vw 5vh;background:linear-gradient(to top,#000000d1,#0000008c 38%,#0000);pointer-events:none}.caption{font-size:max(30px,4.4vh);font-weight:600;line-height:1.2;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.7);max-width:74%}.scrim-narrow .caption,.scrim-narrow .meta{max-width:54%}.meta{margin-top:1.4vh;font-size:max(26px,2.6vh);color:#f3f0eadb;text-shadow:0 2px 14px rgba(0,0,0,.7)}.story{position:absolute;padding:2.2vh 1.6vw;background:#0c0c12b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(243,240,234,.12);border-radius:16px;font-size:max(28px,3.4vh);line-height:1.45;color:#f3f0eaf5;opacity:0;transition:opacity .7s ease;overflow:hidden}.story-visible{opacity:1}.story-in-space{background:#0a0a1080;border-color:#f3f0ea17}.mode-label{position:absolute;top:5vh;left:6vw;max-width:46vw;padding:1.1vh 1.6vw;background:#0c0c12b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;font-size:max(24px,2.2vh);letter-spacing:.11em;text-transform:uppercase;color:#f3f0eae0;opacity:0;transition:opacity .8s ease}.mode-visible{opacity:1}.mode-note{display:block;margin-top:.6vh;font-size:max(22px,2vh);letter-spacing:0;text-transform:none;color:#f3f0eab3}.mode-subject{display:block;margin-top:.5vh;font-size:max(28px,3vh);letter-spacing:-.01em;text-transform:none;font-weight:600;color:#f3f0ea}.quiet-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;animation:quiet-fade 2.5s ease forwards}@keyframes quiet-fade{0%{opacity:0}to{opacity:1}}.badge{position:absolute;top:5vh;right:6vw;display:flex;align-items:center;gap:.7vw;padding:1.1vh 1.5vw;background:#0c0c12b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;font-size:max(24px,2.2vh);color:#f3f0eae6}.badge-dot{width:.7em;height:.7em;border-radius:50%;background:#f5b942}.panel{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b0b0ed1;display:flex;align-items:center;justify-content:center;animation:panel-in .22s ease-out forwards}@keyframes panel-in{0%{opacity:0}to{opacity:1}}.panel-inner{width:min(62vw,900px);max-height:82vh;background:#17161b;border:1px solid rgba(243,240,234,.14);border-radius:4px;padding:5vh 4vw;box-shadow:0 3vh 8vh #0009;display:flex;flex-direction:column;min-height:0}.panel-heading{font-size:max(26px,3.4vh);color:#f3f0ea;letter-spacing:-.01em;padding-bottom:2.4vh;margin-bottom:1.6vh;border-bottom:1px solid rgba(243,240,234,.14)}.panel-list{list-style:none;margin:0;padding:0;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-width:none}.panel-list::-webkit-scrollbar{display:none}.panel-row{display:flex;align-items:baseline;justify-content:space-between;gap:2vw;padding:1.9vh 2vw;border-radius:3px;color:#b9b4aa}.panel-row-on{background:#f3f0ea;color:#17161b}.panel-title{font-size:max(26px,3.6vh);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-count{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:max(24px,2.4vh);opacity:.62;flex-shrink:0;font-variant-numeric:tabular-nums}.panel-empty{font-size:max(26px,2.8vh);color:#7c776f;padding:3vh 2vw}.panel-help{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:max(24px,2.1vh);color:#7c776f;padding-top:2.4vh;margin-top:1.6vh;border-top:1px solid rgba(243,240,234,.14)}.hint{position:absolute;left:50%;bottom:4vh;transform:translate(-50%);display:flex;gap:3vw;padding:1.6vh 3vw;background:#0b0b0ecc;border:1px solid rgba(243,240,234,.14);border-radius:999px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:max(24px,2.1vh);color:#b9b4aa;white-space:nowrap;animation:panel-in .3s ease-out forwards}.hint b{color:#f3f0ea;font-weight:600;margin-right:.5vw}.touch-controls{position:absolute;left:50%;bottom:5vh;transform:translate(-50%);display:flex;gap:2vw;padding:1.4vh 2vw;background:#0b0b0ed1;border:1px solid rgba(243,240,234,.14);border-radius:999px;animation:panel-in .2s ease-out forwards}.touch-btn{min-width:64px;min-height:64px;padding:0 1.4vw;font-family:inherit;font-size:max(30px,3.4vh);line-height:1;color:#f3f0ea;background:transparent;border:none;border-radius:999px;cursor:pointer}.touch-btn:active{background:#f3f0ea29}.touch-btn:focus-visible{outline:3px solid #F3F0EA;outline-offset:2px}.centre{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6vh 8vw;background:radial-gradient(ellipse at 50% 35%,#1b1b2c,#08080d 70%)}.tv-brand{display:flex;align-items:center;gap:.8vw;margin-bottom:5vh;font-size:max(24px,2.6vh);font-weight:600;color:#f3f0ead9}.tv-title{font-size:max(32px,4.6vh);font-weight:600;margin:0 0 2vh;letter-spacing:-.01em}.tv-sub{font-size:max(26px,2.9vh);color:#f3f0eac2;line-height:1.5;margin:0 0 5vh;max-width:30ch}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:max(64px,13vh);font-weight:700;letter-spacing:.06em;color:#f3f0ea;margin:0 0 4vh}@supports ((-webkit-background-clip: text) or (background-clip: text)){.code{background:linear-gradient(135deg,#8f80ff,#4ac5e8);-webkit-background-clip:text;background-clip:text;color:transparent}}.tv-hint{font-size:max(24px,2.4vh);color:#f3f0ea99;line-height:1.5}@media(prefers-reduced-motion:reduce){.kb{animation:none;transform:none}.slide{animation-duration:1ms}.photo-text{animation:none;opacity:1;transform:none}.story{transition:none}.panel,.hint,.touch-controls{animation:none}.quiet-veil{animation-duration:1ms}}.tv-url{color:#8f80ff;font-weight:600}.note{margin-top:max(10px,1.2vh);font-size:max(21px,2.6vh);line-height:1.35;font-style:italic;color:#ffffffeb;text-shadow:0 2px 14px rgba(0,0,0,.7);max-width:68%}.note-by{display:block;margin-top:max(3px,.4vh);font-style:normal;font-size:max(16px,1.9vh);color:#ffffffa8}
