@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";:root{color:#eee8d8;font-synthesis:none;--paper:#eee8d8;--ink:#202521;--coral:#de795d;--amber:#edba65;background:#202521;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:3px}button:disabled{opacity:.45;cursor:default}#app{grid-template-rows:64px minmax(0,1fr) auto;max-width:1100px;height:100dvh;margin:auto;padding:0 32px;display:grid}header{border-bottom:1px solid #eee8d82a;justify-content:space-between;align-items:center;gap:16px;display:flex}header .brand{letter-spacing:2px;text-transform:uppercase;font-size:10px}header .brand strong{letter-spacing:0;text-transform:none;margin-top:2px;font-family:Playfair Display,Georgia,serif;font-size:19px;font-weight:500;display:block}.plain{background:0 0;border:1px solid #eee8d84a;border-radius:50%;width:35px;height:35px;font-size:20px}.stage{isolation:isolate;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.scene{aspect-ratio:360/500;max-width:100%;height:100%;position:relative;overflow:hidden}.scene canvas{touch-action:none;width:100%;height:100%;display:block}.stage-note{color:#b6b9ae;width:190px;font-size:12px;line-height:1.6;position:absolute;bottom:35px;left:0}.stage-note b{color:var(--paper);margin-bottom:6px;font-weight:500;display:block}.stage-number{writing-mode:vertical-rl;color:#92978b;letter-spacing:3px;font-size:10px;position:absolute;top:40px;right:0}.controls{border-top:1px solid #eee8d82a;width:100%;max-width:600px;margin:auto;padding:14px 0 18px}.dialogue{min-height:42px;color:var(--amber);align-items:center;gap:10px;margin:0 0 12px;font-family:Playfair Display,Georgia,serif;font-size:17px;line-height:1.25;display:flex}.dialogue:before{content:"“";color:var(--coral);font-size:42px;line-height:25px}.people{gap:5px;margin-bottom:10px;display:flex}.people button{color:#b6b9ae;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:6px 2px;font-size:12px}.people button.active{color:var(--paper);border-color:var(--coral)}.actions{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.actions button{background:#ffffff06;border:1px solid #eee8d840;border-radius:3px;padding:11px 3px;font-size:12px}.actions button:first-child{background:var(--paper);color:var(--ink);border-color:var(--paper)}.actions small{opacity:.55;margin-top:4px;font-size:9px;display:block}.hint{color:#9b9f93;text-align:center;letter-spacing:.3px;margin:10px 0 0;font-size:10px}.veil{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#131b17c9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:min(100%,450px);max-height:95dvh;color:var(--ink);padding:35px;position:relative;overflow:auto;box-shadow:7px 7px #de795d55}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#726e60;font-size:10px}.sheet h1{letter-spacing:-1.7px;margin:16px 0 20px;font-family:Playfair Display,Georgia,serif;font-size:44px;font-weight:500;line-height:1.02}.sheet h2{margin:14px 0;font-family:Playfair Display,Georgia,serif;font-size:30px;font-weight:500}.sheet p{color:#5c6055;font-size:14px;line-height:1.6}.sheet .intro{color:#292f26;font-size:16px}.sheet .primary,.sheet .secondary{border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--paper);border-radius:2px;margin-top:12px;padding:14px;display:block}.sheet .secondary{color:var(--ink);background:0 0}.sheet .minor{color:#727367;font-size:11px}.sheet label{align-items:center;gap:10px;margin:20px 0;font-size:12px;display:flex}.sheet input{accent-color:#b85d45}.sheet ol{padding-left:24px;font-size:14px;line-height:1.7}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none}@media (width<=700px){#app{grid-template-rows:52px minmax(0,1fr) auto;padding:0 16px}.stage-note,.stage-number{display:none}header .brand strong{font-size:17px}.controls{padding:10px 0 max(12px, env(safe-area-inset-bottom))}.dialogue{min-height:38px;margin-bottom:6px;font-size:15px}.people{margin-bottom:7px}.actions button{padding:10px 2px;font-size:11px}.actions small{display:none}.hint{margin:8px 0 0;font-size:9px}.sheet{padding:26px}.sheet h1{font-size:39px}}@media (prefers-reduced-motion:reduce){.veil{-webkit-backdrop-filter:none;backdrop-filter:none}}
