:root{--ink: #16120d;--paper: #e9dfc6;--paper-dim: #c6b795;--brass: #d6a640;--brass-deep: #8d6a24;--alert: #d75a30;--lead: #9a958c;--panel: rgba(22, 18, 13, .9);--panel-edge: rgba(214, 166, 64, .34);--text: #ece2cd;--text-dim: #b6a98d;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--ink);color:var(--text);font-family:var(--serif);overscroll-behavior:none}#app{position:relative;min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,21rem);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"hud hud" "desk forme" "case case";gap:.7rem;padding:.7rem}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}#vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(130% 100% at 50% 26%,#140f0a00 52%,#0a080580),linear-gradient(180deg,#0a080557,#0a080500 18%)}#hud,#desk,#forme-panel,#case,#proof-panel{position:relative;z-index:2}#hud{grid-area:hud;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.5rem .8rem;background:var(--panel);border:1px solid var(--panel-edge);border-radius:.5rem}.crest{display:flex;flex-direction:column;line-height:1.1}.crest b{font-size:.72rem;letter-spacing:.3em;color:var(--brass)}.crest span{font-size:1.02rem;letter-spacing:.02em}.views{display:flex;gap:.3rem}.view{font:inherit;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;padding:.32rem .7rem;color:var(--text-dim);background:transparent;border:1px solid rgba(214,166,64,.28);border-radius:999px;cursor:pointer}.view.is-on{color:var(--ink);background:var(--brass);border-color:var(--brass)}.meters{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.meter{margin:0;display:flex;flex-direction:column;line-height:1.1}.meter span{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.meter b{font-size:.98rem;font-variant-numeric:tabular-nums}.meter b.warn{color:var(--alert)}.icon{font:inherit;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.34rem .6rem;color:var(--text);background:#e9dfc60f;border:1px solid rgba(214,166,64,.3);border-radius:.3rem;cursor:pointer}#desk{grid-area:desk;align-self:start;padding:.8rem .9rem 1rem;background:var(--panel);border:1px solid var(--panel-edge);border-radius:.5rem;max-width:32rem}.title-buttons{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.client{margin:0 0 .15rem;font-size:.66rem;letter-spacing:.2em;color:var(--brass)}.brief{margin:0 0 .8rem;font-size:.86rem;color:var(--text-dim);max-width:34ch}.copy-label{margin:.5rem 0 .15rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.copy,.set{margin:0;font-size:1.32rem;line-height:1.25;letter-spacing:.01em;word-break:break-word}.set{color:var(--paper)}.copy .done,.set .done{color:var(--text-dim)}.copy .now,.set .now{color:var(--brass);border-bottom:2px solid var(--brass)}.copy .rest,.set .rest{opacity:.55}.next{margin:.7rem 0 0;font-size:.78rem;color:var(--text-dim)}.next b{color:var(--paper)}#forme-panel,#proof-panel{align-self:start;padding:.8rem .9rem .9rem;background:var(--panel);border:1px solid var(--panel-edge);border-radius:.5rem}#forme-panel h2,#proof-panel h2{margin:0 0 .6rem;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}.gauge-label{margin:0 0 .25rem;font-size:.76rem;color:var(--text-dim);display:flex;justify-content:space-between}.gauge-label b{color:var(--text);font-variant-numeric:tabular-nums}.gauge{position:relative;height:.6rem;margin:0 0 .7rem;background:#00000073;border:1px solid rgba(214,166,64,.24);border-radius:.3rem;overflow:hidden}.gauge i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--brass-deep),var(--brass));transition:width .14s linear}.gauge.depth i{background:linear-gradient(90deg,#5c6f52,#9dbb7c)}.gauge.over i{background:linear-gradient(90deg,#8a2c17,var(--alert))}.gauge u{position:absolute;top:0;bottom:0;right:0;width:2px;background:var(--text)}.note{margin:0 0 .6rem;font-size:.76rem;color:var(--text-dim)}.note.bad{color:var(--alert)}.note.good{color:#a9c98d}.leading-row{display:flex;align-items:center;gap:.4rem;margin:0 0 .3rem}.leading-row span{font-size:.72rem;color:var(--text-dim);flex:1 1 auto}.leading-row button{font:inherit;width:1.9rem;padding:.2rem 0;color:var(--text-dim);background:transparent;border:1px solid rgba(214,166,64,.28);border-radius:.25rem;cursor:pointer}.leading-row button.is-on{color:var(--ink);background:var(--brass);border-color:var(--brass)}.needle{position:relative;height:.9rem;margin:.2rem 0 .4rem;background:#00000080;border:1px solid rgba(214,166,64,.3);border-radius:.45rem;overflow:hidden}.needle i{position:absolute;left:34%;width:28%;top:0;bottom:0;background:#8dbe6c57}.needle u{position:absolute;top:0;bottom:0;width:3px;background:var(--paper);left:0}.needle.bad i{background:#d75a3066}#case{grid-area:case;padding:.6rem .8rem .7rem;background:var(--panel);border:1px solid var(--panel-edge);border-radius:.5rem}.case-label{margin:0 0 .4rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.case-label b{color:var(--brass);font-size:.9rem}.tray{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem}.sort{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .2rem .3rem;background:linear-gradient(180deg,#3a352d,#262219);border:1px solid rgba(214,166,64,.24);border-radius:.3rem;color:var(--text);font:inherit;cursor:pointer;min-height:4.6rem}.sort:hover{border-color:var(--brass)}.sort-face{display:flex;align-items:flex-end;justify-content:space-between;width:100%;padding:0 .1rem;flex:1 1 auto}.sort-face span{font-size:1.5rem;line-height:1;color:var(--paper);transform:scaleX(-1);transition:transform .18s ease}.glass .sort-face span{transform:scaleX(1)}.sort-glyph{flex:1 1 auto;display:flex;align-items:flex-end;justify-content:center}.sort-body{font-size:.6rem;letter-spacing:.12em;color:var(--text-dim)}.sort-key{font-size:.58rem;color:var(--brass-deep)}.sort.nick-r .sort-glyph{transform:rotate(180deg)}.sort.nick-l .sort-glyph{transform:none}.sort.hi .sort-body{color:var(--alert)}.sort.lo .sort-body{color:#7f96b8}.tools{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.55rem}.tool,.act{font:inherit;font-size:.78rem;letter-spacing:.04em;padding:.4rem .7rem;color:var(--text);background:#e9dfc612;border:1px solid rgba(214,166,64,.3);border-radius:.3rem;cursor:pointer}.tool:disabled,.act:disabled{opacity:.4;cursor:default}.tool kbd{font:inherit;font-size:.66rem;padding:0 .25rem;border:1px solid rgba(214,166,64,.3);border-radius:.2rem;color:var(--text-dim)}.tool em{font-style:normal;color:var(--brass)}.tool.small{width:2rem;text-align:center;padding:.4rem 0}.act{color:var(--ink);background:var(--brass);border-color:var(--brass);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1rem}.gap-read{font-size:.74rem;color:var(--text-dim);min-width:4.2rem;text-align:center}#proof-panel{grid-area:forme}#proof-canvas{display:block;width:100%;height:auto;border:1px solid rgba(214,166,64,.28);border-radius:.25rem}.proof-note{margin:.5rem 0 0;font-size:.78rem;color:var(--text-dim)}#status{position:fixed;left:50%;bottom:.4rem;transform:translate(-50%);z-index:3;margin:0;padding:.3rem .9rem;font-size:.8rem;color:var(--text);background:#100c08eb;border:1px solid var(--panel-edge);border-radius:999px;max-width:min(92vw,46rem);text-align:center}#status:empty{display:none}#flash{position:fixed;inset:0;z-index:4;margin:0;pointer-events:none;opacity:0}#flash.bad{animation:bad .42s ease-out}#flash.good{animation:good .42s ease-out}@keyframes bad{0%{opacity:.4;background:#be3c1e80}to{opacity:0}}@keyframes good{0%{opacity:.28;background:#a0c8784d}to{opacity:0}}.screen{position:fixed;inset:0;z-index:6;display:grid;place-content:center;justify-items:center;gap:.7rem;padding:1.6rem 1.2rem;text-align:center;background:radial-gradient(ellipse at center,#14100bdb,#0a0805f7);overflow-y:auto}.eyebrow{margin:0;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}.screen h1{margin:0;font-size:clamp(2.6rem,10vw,5.4rem);line-height:.94;letter-spacing:-.02em}.screen h2{margin:0;font-size:clamp(1.6rem,5vw,2.6rem);line-height:1.05}.lede{margin:0;max-width:40rem;color:var(--text-dim);font-size:.98rem;line-height:1.5}.rules{margin:.2rem 0;padding:0;list-style:none;max-width:42rem;color:var(--text-dim);font-size:.84rem;line-height:1.5}.rules li{margin:.22rem 0}.rules b{color:var(--paper)}.spec{margin:0;font-size:.8rem;letter-spacing:.1em;color:var(--brass)}.primary{font:inherit;font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.7rem;color:var(--ink);background:var(--brass);border:1px solid var(--brass);border-radius:999px;cursor:pointer}.ghost{font:inherit;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1rem;color:var(--text-dim);background:transparent;border:1px solid rgba(214,166,64,.3);border-radius:999px;cursor:pointer}.hint{margin:0;font-size:.74rem;color:#8c8270}.tally{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;margin:.4rem 0}.tally div{display:flex;flex-direction:column}.tally span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.tally b{font-size:1.5rem;font-variant-numeric:tabular-nums}button:focus-visible,.sort:focus-visible{outline:2px solid var(--paper);outline-offset:2px}@media(max-width:900px){#app{grid-template-columns:minmax(0,1fr);grid-template-areas:"hud" "desk" "forme" "case";padding:.5rem;gap:.5rem}#desk,#forme-panel,#case,#proof-panel{max-width:none}#desk{align-self:start}.copy,.set{font-size:1.15rem}.tray{grid-template-columns:repeat(3,minmax(0,1fr))}.sort{min-height:4rem}.sort-face span{font-size:1.3rem}#hud{padding:.4rem .6rem;gap:.5rem}.crest b{font-size:.64rem}.crest span{font-size:.9rem}.meter b{font-size:.86rem}#status{position:static;transform:none;max-width:none;grid-column:1}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
