/* Rehearse single page: simulator widget, comparison tabs, tables */
.hero-sim{max-width:1240px;margin:auto;padding:44px 24px 72px}
.hero-sim .intro{max-width:760px}
.hero-sim h1{font-size:clamp(40px,6vw,68px);letter-spacing:-.05em;line-height:1.04;margin:14px 0 16px}
.hero-sim .lede{font-size:20px;margin-bottom:26px}

.sim{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.sim-stage{position:relative;border-radius:20px;overflow:hidden;background:#f5f5f7;min-height:260px}
#sim-view canvas{display:block;touch-action:none}
.sim-status{position:absolute;inset:45% 0 auto;text-align:center;color:var(--muted);margin:0}
.sim-hud{position:absolute;left:12px;top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sim-badge{position:absolute;right:12px;top:12px;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-radius:999px;padding:6px 12px}
.sim-badge .dot{width:8px;height:8px;border-radius:50%;background:#adb5bd}
.sim.running .sim-badge .dot{background:#2f9e44;box-shadow:0 0 0 4px rgba(47,158,68,.18)}
.sim-badge #sim-time{display:none;font-variant-numeric:tabular-nums}
.sim.running .sim-badge #sim-time{display:inline}
.sim-toast{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:calc(100% - 28px);background:rgba(29,29,31,.84);color:#fff;font-size:13px;line-height:1.35;padding:8px 14px;border-radius:999px;pointer-events:none;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.seg{display:inline-flex;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-radius:10px;padding:3px;gap:2px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.seg button{border:0;background:transparent;border-radius:7px;padding:5px 11px;font-size:13px;color:var(--ink)}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.seg .lbl{font-size:12px;color:var(--muted);padding:5px 6px 5px 8px}

.sim-panel{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:14px;font-size:14px}
.sim-panel h3{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 6px;font-weight:600}
.sim-actions{display:grid;grid-template-columns:1fr auto;gap:8px}
.btn{border:1px solid var(--hair);background:#fff;border-radius:11px;padding:9px 14px;font-size:14px;color:var(--ink)}
.btn:hover{background:#f5f5f7}
.btn-primary{border:0;background:var(--blue);color:#fff;border-radius:11px;padding:10px 14px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-primary:hover{background:#0077ed}
.btn-primary[aria-pressed=true]{background:#1d1d1f}
.btn-primary .ic{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}
.btn-primary[aria-pressed=true] .ic{width:9px;height:11px;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor}
.sim:not(.ready) .needs-physics{opacity:.45;pointer-events:none}
.sim-panel .seg{width:100%;background:#f5f5f7;box-shadow:none}
.sim-panel .seg button{flex:1;padding:7px 0}

.layers{width:100%;border-collapse:collapse}
.layers th{font-size:11px;font-weight:600;color:var(--muted);text-align:center;padding:0 0 6px;text-transform:uppercase;letter-spacing:.05em}
.layers th:first-child{text-align:left}
.layers td{padding:4px 0;text-align:center;border-top:1px solid #f0f0f2}
.layers td:first-child{text-align:left}
.layers tr.all td{border-top:0;padding-bottom:8px}
.layers tr.all td:first-child{font-weight:600}
.layers tr.joint td{border-top:0;padding:0 0 6px 22px}
.layers .name{border:0;background:none;padding:5px 6px;margin-left:-6px;border-radius:8px;font-size:14px;color:var(--ink);display:inline-flex;align-items:center;gap:8px;text-align:left}
.layers .name:hover{background:#f5f5f7}
.layers tr.on .name{background:#e8f1fd;color:var(--blue);font-weight:600}
.layers .name i{width:9px;height:9px;border-radius:50%;flex:none}
.layers .na{color:#c7c7cc}
.layers label{display:grid;grid-template-columns:78px 1fr 64px;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.layers output{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}
.layers input[type=range]{width:100%;accent-color:#e8590c}
.tg{width:34px;height:20px;border-radius:999px;border:0;background:#e5e5ea;position:relative;transition:background .15s;vertical-align:middle}
.tg:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.tg[aria-pressed=true]{background:var(--blue)}
.tg[aria-pressed=true]:after{transform:translateX(14px)}
.tg.mixed{background:#9ec5f8}
.sim-view-opts{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ink)}
.sim-view-opts label{display:flex;align-items:center;gap:6px}
.sim.polished .scan-only{display:none}
.sim.polished .sim-stage{background:#e9e7e3}
.sim.polished #sim-count{display:none}
.sim:not(.running).polished .sim-badge{display:none}
.sim-help{font-size:12px;color:var(--muted);line-height:1.45;margin:0}
.sim-help kbd{font:inherit;border:1px solid var(--hair);border-radius:4px;padding:0 4px}
.sim-legend{font-size:12px;color:var(--muted);margin:0}

/* comparison */
.tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:26px 0 16px}
.tabs button{border:1px solid var(--hair);background:#fff;border-radius:999px;padding:7px 15px;font-size:14px;color:var(--ink)}
.tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.compare-fig img{border-radius:14px;background:#fff}
.evidence-table{border-collapse:collapse;width:100%;font-size:14px;margin-top:20px}
.evidence-table td,.evidence-table th{padding:12px 10px;text-align:left;border-bottom:1px solid #ddd;vertical-align:top}
.evidence-table th{font-size:12px;color:var(--muted);font-weight:600}
.evidence-table td.num,.evidence-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.evidence-table td.used{background:#fff4e6}
.evidence-table td.best{font-weight:700}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fig3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}
.fig3 img{border-radius:10px}
.fig3 span{font-size:13px;color:var(--muted);text-align:center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.two img,.two video{width:100%;border-radius:16px;display:block;background:#eee}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:start;margin-top:10px}
.callouts{list-style:none;padding:0;margin:0}
.callouts li{padding:14px 0;border-bottom:1px solid var(--hair)}
.callouts li strong{display:block;font-size:17px;color:var(--ink)}
.callouts li span{color:var(--muted);font-size:15px}
.download-row{display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0 0;font-size:14px}
h3.sub{font-size:26px;margin:64px 0 6px;letter-spacing:-.03em}
h3.sub+p{color:var(--muted)}

@media(max-width:980px){.sim{grid-template-columns:1fr}.split{grid-template-columns:1fr}}
@media(max-width:760px){
  .hero-sim{padding:28px 16px 56px}.two{grid-template-columns:1fr}
  .evidence-table{font-size:12px}.evidence-table td,.evidence-table th{padding:9px 5px}
  .sim-toast{white-space:normal;border-radius:12px}
  .nav-links{gap:14px}.nav-links .opt{display:none}
  section{padding:72px 16px}
}

/* kitchen (work in progress) */

.k-sim{margin-top:20px}
.k-progress{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.k-progress li{display:grid;grid-template-columns:14px 1fr;column-gap:8px;font-size:13px;line-height:1.35}
.k-progress li::before{content:"";width:10px;height:10px;border-radius:50%;margin-top:4px;background:#ced4da}
.k-progress li.done::before{background:#2f9e44}
.k-progress li.running::before{background:#f08c00;box-shadow:0 0 0 3px rgba(240,140,0,.2)}
.k-progress li b{font-weight:600;grid-column:2}
.k-progress li span{grid-column:2;color:var(--muted)}
.k-assets{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;margin-top:16px;align-items:start}
.k-asset-stage{position:relative;border-radius:20px;overflow:hidden;background:#eceff3;height:420px}
#k-asset-view{width:100%;height:100%}#k-asset-view canvas{display:block;touch-action:none}
.k-asset-set{width:100%;margin-bottom:8px;border:1px solid var(--hair);border-radius:9px;padding:7px 10px;background:#fff;font-size:13px}
.k-asset-list{display:flex;flex-wrap:wrap;gap:4px;max-height:220px;overflow:auto}.k-asset-list button{border:1px solid var(--hair);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;color:var(--ink)}.k-asset-list button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.k-asset-info{font-size:13px;color:var(--muted);line-height:1.45}.k-asset-info b{color:var(--ink);font-weight:600}
@media(max-width:980px){.k-assets{grid-template-columns:1fr}.k-asset-stage{height:320px}}
.k-links{list-style:none;margin:0;padding:0;font-size:.86rem;line-height:1.45}
.k-links li{margin:0 0 .35rem}
.k-links a{font-weight:600}
