:root{font-family:var(--font-body);letter-spacing:0;color:var(--bone);background:var(--void);font-synthesis:none;--void:#080810;--night:#181838;--night-raised:#282858;--bone:#f8f0d8;--dust:#a8a8c8;--candle:#f8c838;--candle-deep:#a87818;--on-candle:#080810;--heart:#e84058;--herb:#b0f888;--mana:#50a8f8;--font-body:"Jersey 20", "Arial Narrow", system-ui, sans-serif;--font-label:Silkscreen, "Courier New", ui-monospace, monospace;--font-display:"Jacquard 24", Georgia, serif;--frame-window:inset 0 0 0 2px var(--void), inset 0 0 0 4px var(--bone), inset 0 0 0 6px var(--void);--frame-slot:inset 0 0 0 2px var(--void);--frame-chip:inset 0 0 0 2px var(--void), inset 0 -4px 0 0 var(--candle-deep);--frame-good:inset 0 0 0 2px var(--void), inset 0 0 0 4px var(--herb), inset 0 0 0 6px var(--void);--frame-bad:inset 0 0 0 2px var(--void), inset 0 0 0 4px var(--heart), inset 0 0 0 6px var(--void);--canvas-frame-window:inset 0 0 0 4px var(--void), inset 0 0 0 8px var(--bone), inset 0 0 0 12px var(--void);--canvas-frame-slot:inset 0 0 0 4px var(--void);--canvas-frame-chip:inset 0 0 0 4px var(--void), inset 0 -8px 0 0 var(--candle-deep);--cut-1:polygon(0 4px, 4px 4px, 4px 0, calc(100% - 4px) 0, calc(100% - 4px) 4px, 100% 4px, 100% calc(100% - 4px), calc(100% - 4px) calc(100% - 4px), calc(100% - 4px) 100%, 4px 100%, 4px calc(100% - 4px), 0 calc(100% - 4px));--cut-2:polygon(0 8px, 4px 8px, 4px 4px, 8px 4px, 8px 0, calc(100% - 8px) 0, calc(100% - 8px) 4px, calc(100% - 4px) 4px, calc(100% - 4px) 8px, 100% 8px, 100% calc(100% - 8px), calc(100% - 4px) calc(100% - 8px), calc(100% - 4px) calc(100% - 4px), calc(100% - 8px) calc(100% - 4px), calc(100% - 8px) 100%, 8px 100%, 8px calc(100% - 4px), 4px calc(100% - 4px), 4px calc(100% - 8px), 0 calc(100% - 8px));font-size:20px;line-height:24px}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit;letter-spacing:0}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,.button{isolation:isolate;color:var(--on-candle);cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:20px;font-weight:400;line-height:24px;text-decoration:none;display:inline-flex;position:relative}button:before,.button:before{content:"";z-index:-1;pointer-events:none;background:var(--candle);box-shadow:var(--frame-chip);clip-path:var(--cut-1);position:absolute;inset:0}button:hover:before,.button:hover:before{background:var(--bone)}button.secondary,.button.secondary{color:var(--bone)}button.secondary:before,.button.secondary:before{background:var(--night-raised);box-shadow:var(--frame-slot)}button.secondary:hover:before,.button.secondary:hover:before{background:var(--night-raised);box-shadow:inset 0 0 0 2px var(--void), inset 0 0 0 4px var(--candle)}button.quiet,.button.quiet{color:var(--candle);padding-inline:8px}button.quiet:before,.button.quiet:before{content:none}button.quiet:hover,.button.quiet:hover{color:var(--bone)}button:disabled,button.secondary:disabled,button.quiet:disabled{color:var(--dust);cursor:not-allowed}button:disabled:before,button:disabled:hover:before,button.secondary:disabled:before,button.secondary:disabled:hover:before{box-shadow:inset 0 0 0 2px var(--night-raised);background:0 0}a{color:var(--candle);text-underline-offset:4px;text-decoration-thickness:2px}a:not(.button):hover{color:var(--bone)}:focus-visible{outline:2px solid var(--candle);outline-offset:2px}input,select,textarea{color:var(--bone);background:var(--night-raised);box-shadow:var(--frame-slot);border:0;border-radius:0;width:100%;min-height:44px;padding:10px 12px;font-size:20px;line-height:24px}input::placeholder,textarea::placeholder{color:var(--dust);opacity:1}input:disabled,select:disabled,textarea:disabled{color:var(--dust);cursor:not-allowed}select{appearance:none;cursor:pointer;background-image:linear-gradient(var(--candle), var(--candle)), linear-gradient(var(--candle), var(--candle)), linear-gradient(var(--candle), var(--candle));background-position:right 16px top calc(50% - 6px),right 18px top calc(50% - 2px),right 20px top calc(50% + 2px);background-repeat:no-repeat;background-size:12px 4px,8px 4px,4px 4px;padding-right:44px}select option{background:var(--night-raised);color:var(--bone)}textarea{resize:vertical;min-height:112px;line-height:28px}input[type=checkbox]{appearance:none;cursor:pointer;width:20px;height:20px;min-height:20px;box-shadow:inset 0 0 0 2px var(--void), inset 0 0 0 4px var(--dust);flex:none;margin:0;padding:0;display:inline-block;position:relative}input[type=checkbox]:checked{background:var(--candle);box-shadow:var(--frame-slot)}input[type=checkbox]:disabled{cursor:not-allowed;box-shadow:inset 0 0 0 2px var(--night-raised);background:0 0}input[type=checkbox]:disabled:checked{background:var(--candle-deep)}input[type=checkbox]:checked:before{content:"";background:var(--on-candle);clip-path:polygon(0 6px,2px 6px,2px 8px,4px 8px,4px 6px,6px 6px,6px 4px,8px 4px,8px 2px,10px 2px,10px 0,12px 0,12px 4px,10px 4px,10px 6px,8px 6px,8px 8px,6px 8px,6px 10px,4px 10px,4px 12px,2px 12px,2px 10px,0 10px);width:12px;height:12px;position:absolute;top:4px;left:4px}input[type=range]{accent-color:var(--candle);box-shadow:none;cursor:pointer;background:0 0;padding:0}label{color:var(--bone);gap:8px;font-size:20px;line-height:24px;display:grid}.field-help{color:var(--dust);overflow-wrap:anywhere;margin:8px 0 16px;font-size:20px;line-height:24px}label.check{align-items:center;gap:12px;line-height:24px;display:flex}form{gap:20px;display:grid}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:0;color:var(--bone);font-weight:400}h1{font-family:var(--font-display);margin-bottom:16px;font-size:48px;line-height:48px}h2{font-family:var(--font-body);margin-bottom:16px;font-size:40px;line-height:40px}h3,h4{font-family:var(--font-label);margin-bottom:12px;font-size:16px;line-height:20px}p{line-height:28px}strong,b{font-weight:400}em,i{font-style:normal}code,kbd,samp{font-family:var(--font-body);font-size:20px}small{font-size:20px}small,.muted{color:var(--dust)}.eyebrow{text-transform:uppercase;font-family:var(--font-label);letter-spacing:0;color:var(--candle);margin-bottom:12px;font-size:16px;font-weight:400;line-height:20px}.app-header{background:var(--night);box-shadow:inset 0 -2px 0 var(--void), inset 0 -4px 0 var(--bone), inset 0 -6px 0 var(--void);justify-content:space-between;align-items:center;gap:16px;padding:16px 40px 20px;display:flex}.brand{color:var(--bone);font-family:var(--font-display);letter-spacing:0;white-space:nowrap;flex:none;align-items:center;gap:12px;font-size:24px;font-weight:400;line-height:24px;text-decoration:none;display:flex}a.brand:hover{color:var(--candle)}.header-meta,.actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.status{font-family:var(--font-label);letter-spacing:0;color:var(--bone);background:var(--night-raised);box-shadow:var(--frame-good);clip-path:var(--cut-1);white-space:nowrap;padding:8px 16px;font-size:16px;font-weight:400;line-height:20px;display:inline-block}.status.offline{box-shadow:inset 0 0 0 2px var(--void), inset 0 0 0 4px var(--candle), inset 0 0 0 6px var(--void)}.role-label{color:var(--dust);font-family:var(--font-label);font-size:16px;line-height:20px}.shell{max-width:1540px;margin:0 auto;padding:40px 52px}.welcome{grid-template-columns:11fr 8fr;align-items:center;gap:112px;max-width:1120px;min-height:78vh;margin:0 auto;padding:64px 32px;display:grid}.welcome-copy>p{color:var(--dust);max-width:480px;font-size:20px;line-height:28px}.welcome-copy h1{font-size:48px;line-height:48px}.welcome-copy h1 em{color:var(--candle);font-style:normal;font-weight:400}.welcome-note{border-top:2px solid var(--night-raised);margin-top:48px;padding-top:16px;font-size:20px;line-height:24px}.panel{padding:24px;position:relative}.panel:before{content:"";z-index:-1;pointer-events:none;background:var(--night);box-shadow:var(--frame-window);clip-path:var(--cut-1);position:absolute;inset:0}.panel+.panel{margin-top:20px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-heading h2,.panel-heading h3{margin:0}.scene-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.scene-heading h1{margin-bottom:8px;font-size:48px;line-height:48px}.scene-heading p{color:var(--dust);max-width:720px;margin-bottom:0}.workspace{grid-template-columns:minmax(230px,4fr) minmax(400px,8fr) minmax(230px,4fr);align-items:start;gap:20px;display:grid}.player-workspace{grid-template-columns:minmax(340px,3fr) minmax(300px,2fr);align-items:start;gap:24px;display:grid}.stack{gap:20px;display:grid}.stack>.panel{margin:0}.stack>.panel>.panel-heading{flex-wrap:wrap}.cast{flex-wrap:wrap;gap:12px;display:flex}.cast-person{background:var(--night-raised);box-shadow:var(--frame-slot);clip-path:var(--cut-1);flex:180px;align-items:center;gap:12px;padding:12px;display:flex}.avatar{background:var(--night-raised);width:40px;height:40px;color:var(--candle);font-family:var(--font-label);clip-path:var(--cut-1);flex:none;place-items:center;font-size:16px;line-height:20px;display:grid;position:relative}.avatar:after{content:"";box-shadow:var(--frame-slot);pointer-events:none;position:absolute;inset:0}.cast-person strong,.cast-person small{display:block}.cast-person strong{color:var(--candle);font-size:20px;line-height:24px}.cast-person small{margin-top:4px;font-size:20px;line-height:24px}.track{margin:20px 0}.track-label{font-family:var(--font-label);color:var(--dust);justify-content:space-between;gap:8px;margin-bottom:8px;font-size:16px;line-height:20px;display:flex}.track-pips{background:var(--night-raised);box-shadow:var(--frame-slot);clip-path:var(--cut-1);gap:4px;padding:6px;display:flex}.track-pips span{background:var(--night);flex:1;height:12px}.track-pips span.filled{background:var(--herb)}.track.danger .track-pips span.filled{background:var(--heart)}.transcript{gap:28px;display:grid}.beat-label{font-family:var(--font-label);color:var(--dust);text-transform:uppercase;border-bottom:2px solid var(--night-raised);margin-bottom:16px;padding-bottom:8px;font-size:16px;line-height:20px}.segment{margin:16px 0}.segment p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.segment .speaker{font-family:var(--font-label);letter-spacing:0;color:var(--candle);margin-bottom:8px;font-size:16px;font-weight:400;line-height:20px}.segment.narration{color:var(--dust)}.segment.npc_dialogue{box-shadow:inset 4px 0 0 var(--candle);padding-left:16px}.segment.player_dialogue{box-shadow:inset 4px 0 0 var(--herb);padding-left:16px}.segment.player_dialogue .speaker{color:var(--herb)}.segment.player_action{box-shadow:inset 4px 0 0 var(--herb);padding-left:16px}.segment.player_action .speaker{color:var(--herb)}.segment-tag{font-family:var(--font-label);color:var(--dust);text-transform:uppercase;margin-left:8px;font-size:16px;line-height:20px}.tabs{border-bottom:2px solid var(--night-raised);gap:8px;padding-bottom:12px;display:flex}.tabs button{flex:1;padding-inline:8px}.empty{color:var(--dust);padding:16px 0;font-size:20px;line-height:28px}.notice{color:var(--bone);margin-bottom:20px;padding:12px 16px;font-size:20px;line-height:24px;position:relative}.notice:before{content:"";z-index:-1;pointer-events:none;background:var(--night);box-shadow:var(--frame-good);clip-path:var(--cut-1);position:absolute;inset:0}.error{color:var(--bone)}.error:before{box-shadow:var(--frame-bad)}.queue-item{border-top:2px solid var(--night-raised);padding:16px 0}.queue-item p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:20px;line-height:24px}.contract{margin-top:16px;padding:16px;position:relative}.contract:before{content:"";z-index:-1;pointer-events:none;background:var(--night-raised);box-shadow:var(--frame-window);clip-path:var(--cut-1);position:absolute;inset:0}.contract h3{color:var(--candle)}.contract-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.branch{margin-top:12px;padding:12px;position:relative}.branch:before{content:"";z-index:-1;pointer-events:none;background:var(--night);box-shadow:var(--frame-window);clip-path:var(--cut-1);position:absolute;inset:0}.branch strong{font-family:var(--font-label);color:var(--candle);margin-bottom:8px;font-size:16px;line-height:20px;display:block}.branch p{margin-bottom:8px;font-size:20px;line-height:24px}.rolls{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.roll{background:var(--night-raised);box-shadow:var(--frame-slot);color:var(--bone);padding:12px 16px}.roll strong{color:var(--candle);vertical-align:middle;margin-right:8px;font-size:40px;line-height:40px}.roll small{margin-top:8px;display:block}.invites{gap:12px;display:grid}.invite{border-bottom:2px solid var(--night-raised);gap:8px;padding-bottom:12px;display:grid}.private-note{color:var(--dust);white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;line-height:24px}.stage{background:var(--void);min-height:100vh;padding:clamp(24px,4vw,72px)}.stage-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:48px;display:flex}.stage-top h1{margin:0;font-size:48px;line-height:48px}.stage-layout{grid-template-columns:minmax(0,1fr) 280px;gap:clamp(32px,5vw,96px);display:grid}.stage-story{min-height:52vh}.stage .scene-title{margin-bottom:20px;font-size:48px;line-height:48px}.stage .segment p{font-size:40px;line-height:48px}.stage .segment.narration p{font-size:20px;line-height:28px}.stage .segment .speaker{font-size:24px;line-height:28px}.stage .cast{border-top:2px solid var(--night-raised);margin-top:32px;padding-top:24px}.stage .cast-person strong{font-size:20px}.stage .track-label{font-size:24px;line-height:28px}.stage .track-pips span{height:16px}.stage-foot{font-family:var(--font-label);color:var(--dust);justify-content:space-between;margin-top:24px;font-size:16px;line-height:20px;display:flex}details{margin-top:16px}summary{cursor:pointer;color:var(--bone);padding:8px 0 8px 28px;font-size:20px;line-height:24px;list-style:none;display:block;position:relative}summary::-webkit-details-marker{display:none}summary:before{content:"";background:var(--candle);clip-path:polygon(0 0,4px 0,4px 4px,8px 4px,8px 8px,4px 8px,4px 12px,0 12px);width:8px;height:12px;position:absolute;top:14px;left:0}details[open]>summary:before{clip-path:polygon(0 0,12px 0,12px 4px,8px 4px,8px 8px,4px 8px,4px 4px,0 4px);width:12px;height:8px;top:16px}summary:hover{color:var(--candle)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-body);font-size:20px;line-height:24px}.loading{min-height:70vh;color:var(--dust);place-items:center;display:grid}@media (width<=1150px){.workspace{grid-template-columns:260px 1fr}.workspace>:last-child{grid-column:1/-1}.welcome{gap:48px}}@media (width<=760px){.app-header{padding:16px 16px 20px}.shell{padding:24px 16px}.welcome{grid-template-columns:1fr;gap:32px;padding:48px 20px}.welcome-copy h1{font-size:48px;line-height:48px}.welcome-note{margin-top:20px}.workspace,.player-workspace,.stage-layout{grid-template-columns:1fr}.scene-heading{flex-direction:column}.stage-top{margin-bottom:32px}.stage-layout{gap:16px}.stage-story{min-height:auto}.stage .cast-person{flex-basis:130px}.stage-layout>aside{flex-wrap:wrap;gap:16px;display:flex}.stage-layout>aside>*{flex:160px}.header-meta{justify-content:flex-end}.role-label{display:none}}.glyph-new-tab{clip-path:polygon(4px 0,12px 0,12px 8px,10px 8px,10px 4px,2px 12px,0 10px,8px 2px,4px 2px);vertical-align:baseline;background:currentColor;flex:none;width:12px;height:12px;display:inline-block}.glyph-cursor{background:var(--candle);clip-path:polygon(0 0,4px 0,4px 4px,8px 4px,8px 8px,12px 8px,12px 12px,8px 12px,8px 16px,4px 16px,4px 20px,0 20px);vertical-align:middle;flex:none;width:12px;height:20px;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
