/* Reserve narration space so the tabletop never moves between cup placements. */
.game-shell[data-view="table"]{background:radial-gradient(ellipse at 50% 45%,#8a5038,#4a2a20)}
.table-screen{position:absolute;inset:0;z-index:4;display:grid;grid-template-rows:auto minmax(0,1fr) 132px;gap:16px;padding:90px max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom));color:#f7e4c3}
.table-intro{text-align:center}.table-chapter{font-size:10px;letter-spacing:2px;color:#e8c79a}.table-intro h1{font:normal 30px/1.45 var(--serif);margin:8px 0 6px}.table-intro p{font-size:12px;line-height:1.8;margin:0;color:#eed6b4}
.table-stage{min-width:0;min-height:0;display:grid;place-items:center;container-type:size}
.table-scene{position:relative;align-self:center;justify-self:center;width:min(100%,calc((100dvh - 280px)*1.243243),860px);aspect-ratio:46/37;isolation:isolate}
.table-scene canvas{display:block;width:100%;height:100%;image-rendering:pixelated;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}
.table-targets{position:absolute;inset:0;pointer-events:none}
.table-source{position:absolute;transform:translate(-50%,-50%);min-width:48px;min-height:48px;pointer-events:auto;touch-action:none;user-select:none;cursor:grab;border:1px dashed #fff1c48c;border-radius:50%;background:transparent;box-shadow:0 0 0 3px #6b45351a}
.table-source:hover,.table-source.is-selected{border-color:#fff1c4;background:#fff1c415}.table-source:focus-visible{outline:3px solid #fff1c4;outline-offset:5px}.table-source.is-dragging{opacity:0;cursor:grabbing}.table-target.is-ready{background:#e6ebcb99;border-color:#637849}
.game-shell[data-view="table"] .table-intro{animation:table-arrive .4s ease-out both}
@keyframes table-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.table-target{position:absolute;transform:translate(-50%,-50%);width:54px;height:54px;min-width:44px;min-height:44px;display:grid;place-items:center;pointer-events:auto;border:2px dashed #735540;border-radius:50%;color:#5f483c;background:#fff7dfc9;box-shadow:0 0 0 5px #fff1c344;font-size:27px;line-height:1}
.table-target:hover{background:#fff7df}.table-target:focus-visible{outline:3px solid #f7e5b4;outline-offset:6px}.table-target.is-letter{border:1px dashed #fff1c4;background:transparent;color:#ffedb8;box-shadow:0 0 0 3px #54392326;font-size:22px}.table-target.is-letter>span{position:absolute;top:-10px;right:-8px;text-shadow:0 1px #6a4534}
.table-words{grid-row:3;align-self:center;justify-self:center;width:min(760px,100%);padding:0;text-align:center;background:none;border:0;box-shadow:none}
.table-status{margin:0;font:normal 25px/1.55 var(--serif);color:#fae5c0;text-wrap:balance;text-shadow:0 2px 8px #28160d66}
.table-status.is-quote{animation:table-line-arrive .28s ease-out both}.table-status.is-hint{font:13px/1.8 var(--body);color:#efd4ad}
.table-continue{display:block;width:min(280px,100%);min-height:44px;margin:8px auto 0;padding:8px 12px;border:0;border-radius:0;background:none;box-shadow:none;color:#e1bd91;font:11px/1.7 var(--body);letter-spacing:.6px;cursor:pointer}
.table-continue:hover{color:#fff0cf}.table-continue:focus-visible{outline:0;color:#fff1d5;text-decoration:underline;text-underline-offset:6px}
@keyframes table-line-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.table-screen{grid-template-rows:auto minmax(0,1fr) 132px;padding:86px 16px max(28px,env(safe-area-inset-bottom));gap:14px}.table-chapter{font-size:8px;letter-spacing:1.4px}.table-intro h1{font-size:25px;margin:6px 0}.table-intro p{font-size:11px;max-width:290px;margin:auto}.table-scene{width:min(100%,calc((100dvh - 260px)*1.243243))}.table-target{width:44px;height:44px;font-size:23px}.table-status{font-size:21px;line-height:1.55}.table-continue{margin-top:6px}}
@media(max-width:650px) and (max-height:650px){.table-screen{padding-top:76px;padding-bottom:24px;gap:10px}.table-intro h1{font-size:20px;margin:4px 0}.table-intro p{font-size:10px}.table-status{font-size:19px}}
@media(max-height:650px) and (min-aspect-ratio:1/1){.table-screen{padding:60px 24px 18px;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);grid-template-rows:auto minmax(0,1fr);gap:10px 32px;align-items:center}.table-intro{grid-column:1/-1}.table-chapter{font-size:8px}.table-intro h1{font-size:21px;margin:2px 0}.table-intro p{display:none}.table-stage{grid-column:1;grid-row:2;align-self:stretch}.table-scene{width:min(100%,calc((100dvh - 142px)*1.243243))}.table-words{grid-column:2;grid-row:2;align-self:center;max-width:390px}.table-status{font-size:22px;line-height:1.6}.table-target{width:44px;height:44px}}
@supports(width:1cqw){.table-scene{width:min(100cqw,calc(100cqh * 46 / 37),860px)}}
