:root{
  --paper:#ebe5d8;--paper2:#f4efe4;--ink:#1b1a16;--muted:#6f695f;--rule:rgba(27,26,22,.34);
  --soft:rgba(27,26,22,.09);--accent:#725342;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace
}
*{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.48 var(--serif);min-width:18rem}
button,a{color:inherit}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ground{min-height:100vh;padding:0 0 5.2rem}
.bearing{height:2.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;border-bottom:1px solid var(--rule);padding:0 .8rem;font:.58rem/1 var(--mono);letter-spacing:.075em;text-transform:uppercase}
.bearing a{text-decoration:none}.bearing span:last-child{text-align:right}
.work-surface{width:min(77rem,calc(100% - 1.4rem));margin:0 auto;padding:clamp(1rem,4vw,3rem) 0 12rem}
.work-head{display:grid;grid-template-columns:1fr minmax(17rem,27rem);gap:2rem;align-items:end;margin-bottom:1.6rem}
.eyebrow{margin:0 0 .35rem;color:var(--muted);font:.58rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
h1{margin:0;font-weight:400;font-size:clamp(3.3rem,7vw,7.5rem);line-height:.84;letter-spacing:-.06em}
.lead{margin:0 0 .35rem;font-size:1.05rem;color:var(--muted)}
.document{max-width:51rem;margin:0 auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:0 0 1rem}
.doc-head{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule);padding:.65rem 0;font:.56rem/1.3 var(--mono)}
.doc-head>div{display:flex;gap:.7rem;flex-wrap:wrap}.doc-head>div:last-child{justify-content:flex-end;color:var(--muted)}
.exchange{padding:2rem 0 .5rem;width:min(42rem,100%);margin:auto;font-size:1.06rem}
.exchange>p{margin:.18rem 0 1.05rem}
.speaker{margin-top:1.5rem!important;margin-bottom:.1rem!important;color:var(--muted);font:.54rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.speaker.human{color:var(--ink)}
.record{margin:1.7rem 0;padding:.75rem .85rem;border-left:3px solid var(--ink);background:rgba(255,255,255,.18)}
.record b{font:.52rem/1.2 var(--mono);letter-spacing:.08em}.record p{margin:.38rem 0 0}
.table-note{max-width:33rem;margin:1.2rem auto 0;color:var(--muted);font-size:.84rem}.table-note b{font:.5rem/1 var(--mono);letter-spacing:.08em}.table-note p{margin:.25rem 0 0}
.tray{position:fixed;left:0;right:0;bottom:0;z-index:50;border-top:1px solid var(--ink);background:rgba(235,229,216,.97);backdrop-filter:blur(9px);transform:translateY(calc(100% - 3.3rem));transition:transform .28s ease}
.tray[data-open="true"]{transform:translateY(0)}
.tray-handle{width:100%;height:3.3rem;border:0;border-bottom:1px solid var(--rule);background:transparent;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:0 .8rem;cursor:pointer;font:.58rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.tray-handle em{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--muted);text-align:left}.tray[data-open="true"] .tray-handle b{transform:rotate(180deg)}
.tray-body{height:min(31vh,16rem);display:grid;grid-template-columns:13rem minmax(0,1fr) 18rem}
.pieces{border-right:1px solid var(--rule);padding:.55rem;overflow:auto}
.piece{width:100%;display:grid;grid-template-columns:.55rem 1fr;column-gap:.45rem;align-items:start;border:0;background:transparent;text-align:left;padding:.45rem .35rem;cursor:pointer}
.piece i{width:.45rem;height:.45rem;border:1px solid var(--ink);margin-top:.22rem}.piece span{font-size:.9rem;line-height:1.05}.piece small{grid-column:2;color:var(--muted);font:.47rem/1.2 var(--mono);margin-top:.15rem}
.piece.is-active{background:rgba(255,255,255,.28)}.piece.is-active i{background:var(--ink)}
.field{position:relative;overflow:hidden;padding:3rem .8rem 1rem}
.goalposts span{position:absolute;left:var(--x);top:.5rem;transform:translateX(-50%);display:grid;justify-items:center;gap:.08rem;color:var(--muted);white-space:nowrap}
.goalposts span:after{content:"";height:11rem;width:1px;background:var(--soft);position:absolute;top:1.75rem}
.goalposts b{font:500 .5rem/1 var(--mono);color:var(--ink)}.goalposts small{font:.42rem/1 var(--mono)}.goalposts .horizon{opacity:.58}
.carrier-row{height:3.5rem;display:grid;grid-template-columns:7.5rem minmax(0,1fr);align-items:center;position:relative}.carrier-row.is-hidden{display:none}
.name{font:.72rem/1 var(--mono)}.track{height:1.4rem;position:relative;border-bottom:1px solid rgba(27,26,22,.16)}
.track span{position:absolute;top:.65rem}
.earned{left:var(--left);width:var(--width);height:2px;background:var(--ink)}
.earned.case{height:1px;background:var(--accent)}
.ghost{left:var(--left);width:var(--width);height:1px;border-top:1px dotted rgba(27,26,22,.25)}
.gap{left:var(--left);width:var(--width);height:1px;border-top:1px dashed var(--accent)}
.gap em{position:absolute;left:50%;top:-.8rem;transform:translateX(-50%);font:.42rem/1 var(--mono);font-style:normal;color:var(--accent)}
.stop{left:var(--left);width:.45rem;height:.45rem;border:1px solid var(--ink);background:var(--paper2);transform:translate(-50%,-.2rem)}
.point{left:var(--left);width:.45rem;height:.45rem;border-radius:50%;background:var(--ink);transform:translate(-50%,-.2rem)}
.horizon-line{position:absolute;left:8.3rem;right:1rem;bottom:.55rem;border-top:1px solid var(--soft)}.horizon-line span{position:absolute;right:0;top:.2rem;color:var(--muted);font:.42rem/1 var(--mono)}
.properties{border-left:1px solid var(--rule);padding:.7rem;overflow:auto}.properties>b{font:.52rem/1 var(--mono);letter-spacing:.08em}.properties p{font-size:.76rem;line-height:1.35;margin:.55rem 0}.properties .brake{padding-top:.55rem;border-top:1px solid var(--rule);color:var(--muted)}
@media(max-width:800px){
  .bearing{grid-template-columns:1fr auto}.bearing span:nth-child(2){display:none}
  .work-head{grid-template-columns:1fr}.lead{max-width:28rem}
  .work-surface{padding-bottom:10rem}
  .tray-body{height:min(38vh,19rem);grid-template-columns:7.2rem minmax(0,1fr)}
  .properties{display:none}.pieces{padding:.35rem}.piece{padding:.4rem .25rem}.piece span{font-size:.78rem}.piece small{display:none}
  .carrier-row{grid-template-columns:4.4rem minmax(0,1fr)}.name{font-size:.58rem}
  .field{padding-left:.45rem;padding-right:.45rem}.goalposts small{display:none}.goalposts span:after{height:15rem}
  .horizon-line{left:4.9rem}
}
@media(max-width:520px){
  .ground{padding-bottom:4.3rem}.work-surface{width:calc(100% - 1rem);padding-top:1.2rem}
  h1{font-size:3.4rem}.document{max-width:none}.exchange{padding:1.3rem .2rem .2rem}
  .tray-body{grid-template-columns:5.7rem minmax(0,1fr)}.piece{grid-template-columns:.4rem 1fr;column-gap:.3rem}.piece i{width:.34rem;height:.34rem}.piece span{font-size:.68rem}
  .carrier-row{grid-template-columns:3.7rem minmax(0,1fr)}.name{font-size:.5rem}
}