/* © 2026 18 Cores, LLC. All rights reserved. */
.app{display:flex;flex-direction:column}:root{--tw: 60px}.table{position:relative;flex:1 1 0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"north north north" "west trick east";gap:8px 6px;padding:10px 8px 4px}.north{grid-area:north;justify-self:center}.west{grid-area:west;justify-self:start;align-self:center}.east{grid-area:east;justify-self:end;align-self:center}.seat{width:clamp(88px,24vw,210px);padding:6px 6px 7px;border-radius:14px;background:var(--felt-dark);border:2px solid var(--line);text-align:center;transition:border-color .2s}.seat.turn{border-color:var(--amber)}.seat .nm{font-size:17px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.seat .tag{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:10px;font-size:13px;font-weight:700;color:var(--muted);border:1px solid var(--line-strong)}.seat .sc{margin-top:3px;font-size:15px;color:var(--muted);line-height:1.3}.seat .sc b{color:var(--ink);font-size:17px}.north{width:auto;min-width:200px;padding:6px 14px 7px}.north .who{display:flex;align-items:center;justify-content:center;gap:8px}.north .tag{margin-top:0}.seat .took{animation:took .5s ease-out}@keyframes took{40%{color:var(--amber);scale:1.15}}.trick{grid-area:trick;align-self:center;position:relative;--cw: var(--tw);--ch: calc(var(--tw) * 1.4);width:calc(var(--tw) * 3.2);height:calc(var(--tw) * 1.4 * 2.24)}.slot{position:absolute;width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .1);border:2px dashed var(--line)}.slot.filled{border-color:transparent}.trick.passing .slot{visibility:hidden}.slot .card{position:absolute;left:-2px;top:-2px}.slot[data-seat="2"]{left:calc(50% - var(--cw) / 2);top:0}.slot[data-seat="0"]{left:calc(50% - var(--cw) / 2);bottom:0}.slot[data-seat="1"]{left:0;top:calc(50% - var(--ch) / 2)}.slot[data-seat="3"]{right:0;top:calc(50% - var(--ch) / 2)}.slot.won .card{box-shadow:0 0 0 3px var(--amber),0 4px 10px #0006}.passbox{position:absolute;inset:0 -4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;z-index:3}.passbox p{margin:0;font-size:18px;font-weight:700;line-height:1.3}.passbox .arrow{width:34px;height:58px;fill:none;stroke:var(--amber);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transition:rotate .2s}.passbox[data-dir=left] .arrow{rotate:-90deg}.passbox[data-dir=right] .arrow{rotate:90deg}.pass-go{min-height:52px;padding:0 16px;border:2px solid var(--amber);border-radius:26px;background:var(--amber);color:var(--amber-ink);font-size:18px;font-weight:700;cursor:pointer;white-space:nowrap}.pass-go:disabled{background:transparent;color:var(--muted);border-color:var(--line-strong);cursor:default}.hint{min-height:calc(2.8em + 6px);padding:2px 14px 4px;font-size:16px}.mine{display:flex;align-items:baseline;justify-content:center;gap:12px;padding:0 12px 6px;font-size:15px;color:var(--muted)}.mine b{color:var(--ink);font-size:17px}.mine .you{color:var(--amber);font-weight:700;font-size:17px}.mine .tag-inline{font-size:15px;color:var(--muted)}.hand{position:relative;flex:none;margin-bottom:max(10px,env(safe-area-inset-bottom,0px))}.hand .card{position:absolute;transition:translate .15s ease-out,filter .15s}.hand .card.dim{filter:brightness(.72)}.hand .card.chosen{translate:0 -14px;outline:3px solid var(--amber);outline-offset:-1px;z-index:2}.hand .card.new{outline:3px solid var(--amber);outline-offset:-1px}.banner{top:46%}.upright{display:none;position:fixed;inset:0;z-index:90;align-items:center;justify-content:center;padding:24px;background:var(--felt);text-align:center}.upright p{margin:0;font-size:20px;font-weight:700;line-height:1.5}@media(orientation:landscape)and (max-height:459px){.upright{display:flex}}.way{min-height:56px;border:2px solid var(--line-strong);border-radius:28px;background:transparent;color:var(--ink);font-size:20px;font-weight:700;cursor:pointer}.way:hover{border-color:var(--ink)}.score-table td b{font-size:18px}@media(min-width:900px)and (min-height:600px){.table{padding:16px 24px 6px;gap:12px 24px}.seat{width:220px;padding:10px 12px}.north{width:auto;min-width:300px}.seat .nm{font-size:19px}.hint{min-height:calc(1.4em + 8px);font-size:18px}.scorebar{gap:48px}}.table-tag{border:1px solid var(--line-strong);border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:700;letter-spacing:.06em;padding:2px 10px;min-height:44px;margin:-8px 0;cursor:pointer}.table-tag b{color:var(--amber)}@media(max-width:400px){.scorebar{padding-left:10px;padding-right:10px;letter-spacing:.03em}.table-tag .tag-word{display:none}}.seat .took-tag{color:var(--amber-ink);background:var(--amber);border-color:var(--amber)}.seat.took{border-color:var(--amber);border-style:dashed}.name-field{display:grid;gap:6px;font-size:15px;font-weight:700;color:var(--muted)}.name-field input{min-height:48px;padding:0 14px;border-radius:10px;border:2px solid var(--line-strong);background:var(--felt);color:var(--ink);font:inherit;font-size:18px}.game-code{margin:0;font-size:17px;color:var(--muted)}.game-code b{font-size:26px;letter-spacing:.12em;color:var(--amber)}.invite-link{margin:0!important;font-size:15px!important;overflow-wrap:anywhere;color:var(--ink)!important;user-select:all}.invite-buttons{display:grid;gap:10px}.note-box{padding:10px 12px;border-radius:10px;border:1px solid var(--amber);font-size:16px!important}
