.play{--ink: #e8e2d4;--dim: #9a917c;--bg: #141210;--panel: #1c1915;--edge: #35302a;--accent: #c9a86a;--teal: #7fb5a8;background:var(--bg);color:var(--ink);font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.55;min-height:calc(100vh - 40px)}.play code{font-size:.9em;color:var(--teal)}.play .dim{color:var(--dim)}.play .small{font-size:.82em}.play-landing{max-width:640px;margin:0 auto;padding:3rem 1.5rem}.play-hero{text-align:center;margin-bottom:1.5rem}.play-hero h1{font-size:2.4rem;margin:0 0 .8rem;letter-spacing:-.02em}.play-hero .tag{color:var(--dim);font-size:1.05em}.play-hero .dim{text-align:left;margin-top:1.2rem}.shelf-head{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin:1.8rem 0 .4rem}.shelf-note{margin:0 0 .8rem;font-size:.9em}.books{display:grid;gap:.8rem;margin:1.2rem 0}.book-card{display:flex;gap:1rem;align-items:stretch;text-align:left;padding:1rem 1.2rem;width:100%;background:var(--panel);border:1px solid var(--edge);border-radius:10px;color:var(--ink);cursor:pointer;font:inherit}.book-card .book-cover{flex:0 0 56px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--edge);border-radius:4px;overflow:hidden;min-height:78px}.book-card .book-cover img{display:block;width:100%;height:100%;object-fit:cover}.book-card .book-cover i{font-style:normal;font-size:1.6em;color:var(--accent)}.book-card .book-info{flex:1;min-width:0}.book-card:hover{border-color:var(--accent)}.book-card strong{display:block;font-size:1.05em}.book-card span{display:block;color:var(--dim);font-size:.88em;margin:.2rem 0}.book-card em{display:block;color:var(--teal);font-size:.78em;font-style:normal;letter-spacing:.03em}.dropzone-inline{border:1.5px dashed var(--edge);border-radius:10px;padding:.9rem 1.2rem}.dropzone-inline p{margin:0;color:var(--dim);font-size:.9em}.linklike{color:var(--teal);cursor:pointer;text-decoration:underline}.probe-note{color:var(--teal);font-size:.9em;text-align:center}.play-stage{display:flex;height:calc(100vh - 40px);position:relative}.play-stage[hidden]{display:none}.rail{width:0;overflow:hidden;transition:width .2s;border-right:1px solid var(--edge)}.rail.open{width:300px;overflow-y:auto}.rail-toggle{position:absolute;top:8px;left:8px;z-index:5;background:var(--panel);border:1px solid var(--edge);color:var(--dim);border-radius:6px;padding:.3rem .6rem;cursor:pointer;font-size:.8em}.bookwrap{flex:1;display:flex;flex-direction:column;min-width:0}.viewer{flex:1;background:#efe9db}.colophon{padding:.35rem 1rem;font-size:.78em;font-style:italic;color:var(--dim);border-top:1px solid var(--edge);background:var(--panel);min-height:1.6em}.playbar{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem;border-top:1px solid var(--edge);background:var(--panel)}.barbtn{background:none;border:1px solid var(--edge);color:var(--ink);border-radius:6px;width:44px;height:30px;cursor:pointer;font-size:1.1em}.barbtn:hover{border-color:var(--accent)}.barbtn.backbtn{width:auto;padding:0 .7rem;margin-right:.8rem;color:var(--teal);white-space:nowrap;font-size:.85em}.where{color:var(--dim);font-size:.8em}.dropzone-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0a0907d1;border:3px dashed var(--accent)}.dropzone-veil>div{font-size:1.4em;color:var(--accent);text-align:center}.dz-sub{display:block;font-size:.5em;color:var(--dim);margin-top:.6rem}.ptb-toast{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--accent);color:var(--ink);padding:.6rem 1.2rem;border-radius:8px;font-size:.9em;z-index:60;opacity:0;transition:opacity .3s;pointer-events:none}.ptb-toast.show{opacity:1}.panels{padding-top:2.4rem}.panels .panel{padding:.9rem 1rem;border-bottom:1px solid var(--edge);font-size:.85em}.panel h4{margin:0 0 .6rem;color:var(--accent);font-size:.8em;text-transform:uppercase;letter-spacing:.08em}.chip{display:inline-block;margin:0 .3rem .3rem 0;padding:.15rem .55rem;background:#2a251e;border:1px solid var(--edge);border-radius:12px;font-size:.82em;color:var(--teal)}.chip.reset{color:var(--dim);cursor:pointer;background:none}.ledge{margin:0 0 .4rem;font-size:.82em;color:var(--dim)}.door{margin-bottom:.55rem}.door-label{color:var(--ink);text-decoration:none;display:block}.door-label:hover{color:var(--accent)}.door.closed .door-label{color:var(--dim);text-decoration:line-through dotted}.door-to{display:block;font-size:.82em;color:var(--dim)}.door-meta{display:block;font-size:.78em;color:var(--teal);font-style:italic}.flagrow{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.45rem}.flagrow input{margin-top:.25rem}.flaglab{display:flex;flex-direction:column}.flagname{color:var(--teal);font-family:monospace;font-size:.9em}.flagrow.held .flagname{color:var(--accent)}.flagdesc{color:var(--dim);font-size:.85em}.carry-foot{display:flex;gap:.6rem;margin-top:.7rem;align-items:center}.carry-foot select,.settings select{background:#100e0c;color:var(--dim);border:1px solid var(--edge);border-radius:6px;font-size:.8em;padding:.2rem .4rem}.thread{margin-bottom:.7rem}.thread-head{display:flex;justify-content:space-between;align-items:center}.thread-name{color:var(--ink)}.thread.done .thread-name{color:var(--teal)}.thread-meta{margin:.1rem 0;font-size:.8em;color:var(--dim)}.thread-go{color:var(--accent);text-decoration:none}.clockbig{font-size:1.3em;margin:0 0 .5rem;color:var(--ink)}.clockrow{margin-bottom:.7rem}.clockrow p{margin:.15rem 0}.clockbar{height:5px;background:#2a251e;border-radius:3px;margin:.3rem 0;overflow:hidden}.clockfill{height:100%;background:var(--teal)}.clockfill.over{background:#b5554a}.cast details{margin-bottom:.5rem}.cast summary{cursor:pointer;color:var(--ink)}.cast summary.onset{color:var(--accent)}.cast details p{margin:.3rem 0 .6rem;color:var(--dim);font-size:.9em}.cast .secret{font-size:.82em}.cast .secret strong{color:var(--accent)}.saves textarea{width:100%;margin:.4rem 0;padding:.4rem;font-size:.75em;background:#100e0c;color:var(--dim);border:1px solid var(--edge);border-radius:6px;font-family:monospace;resize:vertical}.saves .btn{margin-right:.5rem}.toc a{display:block;color:var(--dim);text-decoration:none;padding:.15rem 0;font-size:.9em}.toc a:hover{color:var(--ink)}.toc .toc-l1{padding-left:.8rem}.toc .toc-l2{padding-left:1.6rem}.settings .btn{margin-right:.4rem}.byok input,.byok select,.byok textarea{width:100%;margin-bottom:.5rem;padding:.45rem .6rem;background:#100e0c;color:var(--ink);border:1px solid var(--edge);border-radius:6px;font-size:.85em}.byok-out{max-height:260px;overflow-y:auto;margin:.5rem 0}.byok-out .q{color:var(--teal);font-size:.85em;margin:.4rem 0 .1rem}.byok-out .a{color:var(--ink);font-size:.85em;margin:0 0 .5rem;white-space:pre-wrap}.panel .btn{display:inline-block;padding:.3rem .8rem;border:1px solid var(--edge);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer;font-size:.85em}.panel .btn:hover{border-color:var(--accent)}body{margin:0}.play{min-height:100vh}.play-stage{height:100vh}.colophon:empty{display:none}.play{--ink: #262420;--dim: #7a7261;--bg: #f9f7f1;--panel: #fffefb;--edge: #e4ded0;--accent: #d9480f;--teal: #0e9f8a;background:var(--bg);color:var(--ink)}.chip,.clockbar{background:var(--edge)}.saves textarea,.byok input,.byok select,.byok textarea,.carry-foot select,.settings select{background:var(--bg)}.play-landing{max-width:700px;padding:4rem 1.5rem 4.5rem}.play-hero.promo{margin-bottom:2rem}.play-hero.promo h1{font-size:3.1rem;letter-spacing:-.03em;line-height:1.05;background:linear-gradient(100deg,var(--ink) 40%,var(--accent) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.play-hero.promo .tag{font-size:1.12em;max-width:32em;margin-left:auto;margin-right:auto}.play-hero.promo .dim{max-width:38em;margin-left:auto;margin-right:auto;text-align:center}.shelf-head{color:var(--accent)}.shelf-note{margin:.5rem 0 1rem}.book-card{gap:1.1rem;padding:1.1rem 1.3rem;box-shadow:0 1px 2px #2624200d;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.book-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 22px #2624201f}.book-card .book-cover{flex-basis:64px;min-height:92px;background:var(--bg);box-shadow:1px 2px 6px #26242026}.book-card .book-cover i{color:var(--accent);font-size:1.8em}.book-card .book-info{align-self:center}.book-card .book-info strong{font-size:1.1em}.dropzone-inline{margin-top:2.2rem}.linklike{color:var(--accent)}
