:root{color-scheme:dark;font-family:Inter,Arial,sans-serif;color:#f6f1e9;background:#11151b;--amber:#efc18c}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid #f2cf9d;outline-offset:5px}button:disabled{opacity:.3;cursor:default}[hidden]{display:none!important}#stage{height:100svh;min-height:560px;overflow:hidden;position:relative;isolation:isolate}.world,.room,.matej,.shade{position:absolute;inset:0;width:100%;height:100%}.world{z-index:-2;overflow:hidden}.room,.matej{object-fit:cover;object-position:center;transition:transform 1.5s cubic-bezier(.22,.75,.22,1)}.room{transform:scale(1.015)}.matej{transform:scale(1.015);transform-origin:24% 70%}.shade{background:linear-gradient(90deg,rgba(8,11,16,.12),rgba(8,11,16,.22) 40%,rgba(8,11,16,.55)),linear-gradient(0deg,rgba(7,10,14,.9),transparent 24%,transparent 78%,rgba(7,10,14,.55))}#stage:not([data-beat="0"]) .room{transform:scale(1.04) translateX(-.3%)}#stage:not([data-beat="0"]) .matej{transform:scale(1.065) translateX(-.7%)}#stage.ai .room{transform:scale(1.055) translateX(-.6%)}#stage.ai .matej{transform:scale(1.08) translateX(-1%)}header{position:absolute;top:5%;left:4.8%;right:4.8%;display:flex;justify-content:space-between;align-items:flex-start}.brand{font-size:32px;letter-spacing:.14em;font-weight:700}.brand span{display:block;font-size:9px;letter-spacing:.24em;font-weight:400;margin-top:8px;color:#d5c5b5}.context{text-align:right;font-size:11px;letter-spacing:.13em;color:#e6d9cb}.context span{display:block;margin-top:8px;letter-spacing:.025em;font-size:10px;color:#c4bab0}.opening{position:absolute;top:29%;left:49%;right:5%;animation:arrive 1s ease both}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--amber)}h1{font-size:clamp(42px,4.9vw,84px);font-weight:450;letter-spacing:-.055em;line-height:1.03;margin:24px 0}.intro{font-size:clamp(17px,1.5vw,24px);line-height:1.6;color:#dfd8d0}.start{border:0;border-bottom:1px solid #a28b71;background:transparent;padding:14px 0;font-size:15px;margin-top:18px}.start span{margin-left:35px;color:var(--amber)}.chat{position:absolute;top:23%;left:44%;width:50%;max-width:810px;border:1px solid #ffffff30;border-radius:21px;background:linear-gradient(130deg,rgba(34,43,53,.91),rgba(19,28,39,.91));box-shadow:0 25px 70px #0007,inset 0 1px #ffffff12;backdrop-filter:blur(18px);animation:arrive .7s ease both}.chat-head{padding:22px 28px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #ffffff13}.avatar{width:41px;height:41px;border-radius:50%;border:1px solid #a4adba50;display:grid;place-items:center;font-size:16px;color:#e0d7cd;background:#75859525}.chat h2{font-size:19px;margin:0;font-weight:550;letter-spacing:.01em}.chat-head p{font-size:11px;margin:5px 0 0;color:#b9c1cb}.chat time{margin-left:auto;font-size:12px;color:#b9c1cb}.composer{margin:32px 28px 18px;min-height:120px;position:relative;padding:8px 50px 8px 0;line-height:1.5;font-size:clamp(23px,2.25vw,36px);letter-spacing:-.025em}.composer p{display:inline;margin:0;overflow-wrap:anywhere}.cursor{display:inline-block;height:1.05em;width:2px;background:var(--amber);vertical-align:-.12em;margin-left:3px}.send-icon{position:absolute;right:0;bottom:9px;width:35px;height:35px;border-radius:50%;border:1px solid #d8b28980;display:grid;place-items:center;font-size:24px;color:var(--amber)}.chat-foot{padding:0 28px 20px;font-size:10px;letter-spacing:.06em;color:#b7bec9}.messages{padding:0 28px;display:flex;flex-direction:column;gap:14px}.messages:not(:empty){padding-top:23px}.bubble{font-size:clamp(20px,1.8vw,30px);line-height:1.4;padding:16px 20px;border-radius:15px;max-width:94%;animation:arrive .5s ease both}.bubble.mine{background:#53667b6e;align-self:flex-end;border-bottom-right-radius:4px}.bubble.alex{background:#121d2a9c;border:1px solid #8196ac38;align-self:flex-start;border-bottom-left-radius:4px}.bubble small{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#c1cad5;display:block;margin-bottom:6px}.ai .composer{min-height:42px;font-size:19px;margin-top:18px;margin-bottom:10px;color:#aeb9c6}.ai .chat{top:19%}.empty-caption{position:absolute;left:46%;top:64%;font-size:18px;color:#dfd4c6;animation:arrive .8s ease both}footer{position:absolute;bottom:5%;left:4.8%;right:4.8%;display:flex;align-items:center;justify-content:space-between;gap:20px}.beat-label{display:flex;gap:16px;align-items:center;font-size:12px;color:#d0c8be}.beat-label #chapter{font-size:10px;color:var(--amber);letter-spacing:.14em}nav{display:flex;gap:7px}nav button{height:35px;min-width:35px;border:1px solid #ffffff21;background:#111922c9;border-radius:6px;font-size:12px;padding:0 10px}nav #next{min-width:116px;background:#ead9c0;color:#1d252e;border-color:#ead9c0}nav #next span{margin-left:14px}nav button[aria-pressed="true"]{border-color:#e1b77e;color:#f4cc94}.hint{position:absolute;bottom:1.6%;right:5%;font-size:9px;color:#b7b4b0;letter-spacing:.06em}.controls-hidden footer,.controls-hidden .hint{opacity:0;pointer-events:none}#notes{position:absolute;left:4.8%;bottom:17%;width:33%;padding:20px;background:#0c1119ee;border:1px solid #b6a18466;border-radius:10px;z-index:4;font-size:14px;line-height:1.5}#notes strong{color:var(--amber)}#notes p{margin-bottom:0}.reduced .room,.reduced .matej{transform:none!important;transition:none!important}.reduced .chat,.reduced .bubble,.reduced .opening,.reduced .empty-caption{animation:none!important}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){#stage{min-height:600px}header{top:4%}.brand{font-size:24px}.context{font-size:9px}.context span{max-width:150px;font-size:9px}.opening{left:38%;top:27%}.opening h1{font-size:46px}.chat{left:29%;width:67%;top:23%;border-radius:16px}.chat-head{padding:16px 18px}.composer{margin:22px 18px 15px;font-size:24px}.messages{padding:0 18px}.messages:not(:empty){padding-top:16px}.bubble{font-size:20px;padding:13px 15px}.chat-foot{padding:0 18px 16px}.empty-caption{left:31%;top:65%;font-size:16px}footer{bottom:5%;align-items:flex-start;flex-direction:column;gap:12px}nav{gap:5px}nav button{height:36px;padding:0 9px}.hint{font-size:8px}.ai .chat{top:20%}#notes{width:70%;bottom:21%;left:5%}}
@media(max-width:520px){.room,.matej{object-position:36% center}.shade{background:linear-gradient(0deg,#090f19da,transparent 95%),linear-gradient(90deg,#1115,#1115)}.opening{left:8%;top:31%;right:8%}.opening h1{font-size:52px}.chat,.ai .chat{left:6%;width:88%;top:23%}.context{max-width:150px}.composer{font-size:25px;min-height:140px}.bubble{font-size:20px}.empty-caption{left:8%;top:65%;right:8%}.matej{opacity:.64}nav #motion{font-size:10px}nav #next{min-width:96px}.beat-label{font-size:11px}header .context span{font-size:8px}.ai .composer{min-height:30px}.chat-head{padding:13px 18px}.messages{gap:10px}.bubble{padding:12px}#notes{width:90%}}@media(max-height:650px) and (min-width:801px){.chat{top:19%}.chat-head{padding:14px 24px}.composer{margin-top:20px;min-height:100px}.ai .chat{top:16%}.bubble{font-size:21px;padding:12px 16px}.messages{gap:10px}.opening{top:24%}h1{font-size:58px}}
/* Keep the final three-message exchange clear of presentation controls at 720p. */
.ai .chat-head{padding:16px 24px}.ai .messages{gap:10px;padding-top:16px}.ai .bubble{font-size:clamp(20px,1.8vw,28px);line-height:1.35;padding:12px 16px}.ai .bubble small{font-size:9px;margin-bottom:5px}.ai .chat-foot{padding-bottom:16px}
@media(max-width:520px){.ai .chat-head{padding:13px 18px}.ai .bubble{font-size:20px;padding:12px}.ai .messages{padding-top:14px}.ai .chat{top:20%}}
