@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:600;src:url(/fonts/noto-serif-sc-600.woff2) format("woff2");font-display:swap}:root{--canvas: oklch(.16 .018 155);--felt: oklch(.22 .03 152);--panel: oklch(.25 .028 152);--panel-2: oklch(.3 .03 152);--line: oklch(.36 .025 152);--line-2: oklch(.3 .022 152);--text: oklch(.95 .015 92);--text-2: oklch(.76 .025 155);--text-3: oklch(.7 .02 155);--gold: oklch(.83 .14 90);--gold-soft: oklch(.72 .12 90);--gold-dim: oklch(.52 .07 90);--duke: oklch(.74 .09 70);--assassin: oklch(.66 .19 22);--captain: oklch(.72 .12 245);--ambassador: oklch(.74 .13 152);--contessa: oklch(.66 .16 315);--err: oklch(.68 .19 25);--warn: oklch(.8 .14 85);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Roboto,sans-serif;background:radial-gradient(120% 70% at 50% 0%,oklch(.3 .045 150 / .5),var(--canvas) 72%) no-repeat fixed,var(--canvas);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--gold);color:var(--canvas)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}.app{max-width:920px;margin:0 auto;padding:var(--sp-6) var(--sp-4) var(--sp-10)}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-4);margin-bottom:var(--sp-6);border-bottom:1px solid var(--line-2)}.header-actions{display:flex;align-items:center;gap:var(--sp-2)}h1{font-family:"Noto Serif SC","Noto Serif",Georgia,serif;font-size:28px;font-weight:600;letter-spacing:.02em;color:var(--gold);margin:0}h2{font-family:"Noto Serif SC","Noto Serif",Georgia,serif;font-size:22px;font-weight:600;color:var(--gold);margin:0 0 var(--sp-3)}h3{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--text-2);margin:0 0 var(--sp-3)}button{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 18px;font-size:15px;line-height:1.2;font-family:inherit;cursor:pointer;min-height:44px;min-width:44px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .06s ease}button:hover:not(:disabled){background:var(--felt);border-color:var(--gold-dim)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--gold);border-color:var(--gold);color:var(--canvas);font-weight:700}button.primary:hover:not(:disabled){background:var(--gold-soft);border-color:var(--gold-soft)}button.ghost{background:transparent;border-color:var(--line);color:var(--text-2)}button.ghost:hover:not(:disabled){background:var(--panel-2);color:var(--text)}button.active{outline:2px solid var(--gold);outline-offset:2px}.role-btn{border-color:currentColor;background:color-mix(in srgb,currentColor 12%,transparent);font-weight:600}.role-btn:hover:not(:disabled){background:color-mix(in srgb,currentColor 22%,transparent)}.role--duke{color:var(--duke)}.role--assassin{color:var(--assassin)}.role--captain{color:var(--captain)}.role--ambassador{color:var(--ambassador)}.role--contessa{color:var(--contessa)}label{display:block;font-size:14px;color:var(--text-2)}input{display:block;width:100%;min-height:44px;padding:11px 14px;margin-top:var(--sp-2);border-radius:var(--r-md);border:1px solid var(--line);background:var(--canvas);color:var(--text);font-size:16px;font-family:inherit}input::placeholder{color:var(--text-3)}input:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 28%,transparent)}.divider{display:flex;align-items:center;gap:var(--sp-3);color:var(--text-3);font-size:13px;margin:0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line-2)}.error{padding:var(--sp-3) var(--sp-4);border:1px solid var(--err);border-radius:var(--r-md);background:color-mix(in srgb,var(--err) 55%,var(--panel));color:var(--text);text-align:center;font-size:15px}.left-room-notice{color:var(--err);margin:var(--sp-3) 0;font-size:14px}.notice{--surface: color-mix(in srgb, var(--gold) 13%, var(--panel));background:var(--surface);color:var(--gold);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--gold-dim);text-align:center;font-size:15px}.notice.big{font-size:20px;font-weight:700;font-family:"Noto Serif SC","Noto Serif",Georgia,serif}.entry-form{max-width:400px;margin:var(--sp-8) auto;padding:var(--sp-6);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);display:flex;flex-direction:column;gap:var(--sp-3)}.entry-form button{width:100%}.filing{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-1) var(--sp-4);font-size:12px}.filing a{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--text-3);text-decoration:none}.filing a:hover{color:var(--text-2);text-decoration:underline}.room{max-width:520px;margin:0 auto}.roomcode{font-size:15px;color:var(--text-2);margin:0 0 var(--sp-4)}.roomcode b{font-size:24px;letter-spacing:.12em;color:var(--gold);font-variant-numeric:tabular-nums;margin:0 var(--sp-1)}.invite{margin:0 0 var(--sp-4)}.invite-label{font-size:14px;color:var(--text-2)}.invite-input{flex:1;min-width:220px;margin-top:0}.playerlist{list-style:none;padding:0;margin:0 0 var(--sp-4);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.playerlist li{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-2)}.playerlist li:last-child{border-bottom:none}.playerlist li.host{color:var(--gold);font-weight:600}.board{--notice-exit-duration: .18s;display:flex;flex-direction:column;gap:var(--sp-4);transition:gap var(--notice-exit-duration) cubic-bezier(.4,0,.2,1)}.board:has(>.notice-region.exiting){gap:0}.board-content{display:flex;flex-direction:column;gap:var(--sp-4)}.notice-region{--notice-exit-duration: .18s;display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--notice-exit-duration) cubic-bezier(.4,0,.2,1)}.error-region{margin-block:var(--sp-3);transition:grid-template-rows var(--notice-exit-duration) cubic-bezier(.4,0,.2,1),margin var(--notice-exit-duration) cubic-bezier(.4,0,.2,1)}.notice-region-inner{min-height:0;overflow:hidden}.notice-region .transient-message{transition:opacity .14s ease,transform var(--notice-exit-duration) cubic-bezier(.4,0,.2,1)}.notice-region.exiting{grid-template-rows:0fr}.error-region.exiting{margin-block:0}.notice-region.exiting .transient-message{opacity:0;transform:translateY(-4px)}.table{--rx: calc(50% - 90px) ;--cy: calc(100% - 80px) ;--ry: calc(100% - 170px) ;position:relative;height:440px}.table[data-seats="1"]{height:320px}.table[data-seats="2"]{height:240px}.rail{display:contents}.seat{--surface: var(--felt);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;align-items:center;transition:border-color .3s ease,box-shadow .3s ease,opacity .2s ease,filter .2s ease}.seat.opponent{position:absolute;left:calc(50% + cos(var(--seat-angle)) * var(--rx));top:calc(var(--cy) - sin(var(--seat-angle)) * var(--ry));transform:translate(-50%,-50%);flex-direction:column;gap:var(--sp-2);max-width:168px;padding:var(--sp-3)}.seat.self{justify-content:center;gap:var(--sp-5);width:max-content;max-width:100%;margin:0 auto;padding:var(--sp-4) var(--sp-6)}.seat.current{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-dim)}.seat.dead{opacity:.4;filter:saturate(.4)}.seat-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:var(--sp-2);row-gap:var(--sp-1);min-width:0;max-width:100%}.seat.self .seat-head{flex-direction:column;align-items:flex-start}.seat .name{font-weight:600;font-size:15px;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat .coins{color:var(--gold);font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.cards-row{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);perspective:600px}.card,.card-back{width:72px;height:102px}.seat.opponent .card,.seat.opponent .card-back{width:58px;height:82px}.card{display:flex;align-items:center;justify-content:center;--surface: color-mix(in srgb, currentColor 10%, var(--canvas));background:var(--surface);border:2px solid;border-radius:var(--r-md)}.glyph{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.glyph .f{fill:currentColor}.glyph .d{stroke:var(--surface, var(--canvas));stroke-width:1.4}.card .glyph{width:64%;transition:opacity .15s ease}.card{position:relative;container-type:size}.card-name{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:"Noto Serif SC","Noto Serif",Georgia,serif;font-weight:600;line-height:1.1;white-space:nowrap;opacity:0;transition:opacity .15s ease;pointer-events:none}.card-name>span{font-size:min(17px,calc(150cqi / var(--len)))}.card-name .short,.card-name[data-fit=never] .full{display:none}.card-name[data-fit=never] .short{display:inline}.card-tip-anchor{position:relative;display:inline-flex}.card-tip,.action-tip{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:10;transform:translate(-50%);translate:0 4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease,translate .15s ease}.card-tip:after,.action-tip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--surface)}.card-tip{--surface: var(--tip);padding:4px 10px;border-radius:var(--r-sm);background:var(--surface);color:var(--canvas);font-size:13px;font-weight:600;box-shadow:0 4px 12px #00000059}@media(hover:hover){.card:has(.card-name):hover .glyph{opacity:0}.card:hover .card-name{opacity:1}.card-tip-anchor:hover .card-tip,.action-tip-anchor:hover .action-tip{opacity:1;translate:0 0}}.card--duke{border-color:var(--duke);color:var(--duke)}.card--assassin{border-color:var(--assassin);color:var(--assassin)}.card--captain{border-color:var(--captain);color:var(--captain)}.card--ambassador{border-color:var(--ambassador);color:var(--ambassador)}.card--contessa{border-color:var(--contessa);color:var(--contessa)}.card-back{display:block;border-radius:var(--r-md);border:1px solid var(--gold-dim);background:repeating-linear-gradient(45deg,#2c3d30,#2c3d30 5px,#1e2d22 5px,#1e2d22 10px)}.inline-icon{display:inline-block;vertical-align:-2px}.controls{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4)}.actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-2)}.action-tip-anchor{position:relative;display:grid}.action-tip{--surface: oklch(.12 .01 155);display:flex;align-items:center;gap:var(--sp-3);padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:0 6px 16px #0006}.action-tip-anchor:has(:focus-visible) .action-tip{opacity:1;translate:0 0}.action-tip-coins{display:inline-flex;align-items:center;gap:4px;color:var(--gold);font-weight:600;font-variant-numeric:tabular-nums}.action-tip .glyph{display:block;width:22px;height:22px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3)}.row p{flex-basis:100%;margin:0;color:var(--text-2);font-size:14px}.waiting{color:var(--text-3);text-align:center;padding:var(--sp-5);font-size:15px}.narration{position:absolute;left:50%;top:calc(var(--cy) - var(--ry) * .35);transform:translate(-50%,-50%);width:min(320px,60%);display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);text-align:center}.narration-text{font-weight:600;font-size:17px;line-height:1.4;color:var(--gold)}.narration-line{display:block;animation:fade-in .24s ease}.narration-timer{flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:700;color:var(--gold)}.log{padding:var(--sp-3);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);max-height:260px;overflow-y:auto;font-size:14px}.log-sep{height:1px;background:var(--line-2);margin:var(--sp-2) 0}.log-group{padding:2px 0}.log-header{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:none;border:none;border-radius:0;padding:var(--sp-1) 0;margin:0;color:var(--text);font-size:14px;text-align:left;cursor:pointer;min-height:44px}.log-header:hover{color:var(--gold)}.log-chevron{display:inline-block;width:14px;color:var(--gold);transition:transform .15s ease}.log-chevron.open{transform:rotate(90deg)}.log-entries{margin-left:20px;padding-left:var(--sp-3);border-left:1px solid var(--line-2)}.log-entry{padding:2px 0;color:var(--text-2)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020402b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:10}.panel{--surface: var(--felt);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-6);max-width:min(600px,100%);max-height:85vh;overflow-y:auto}.panel.rules{display:flex;flex-direction:column;gap:var(--sp-5);width:min(720px,100%);max-height:calc(100dvh - var(--sp-8));overflow:hidden}.settings-panel{display:flex;flex-direction:column;gap:var(--sp-6);width:min(440px,100%)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.panel-heading h2{margin:0;color:var(--text);font-family:inherit}.panel-heading button{flex-shrink:0}.rules-heading-actions{display:flex;align-items:center;gap:var(--sp-2)}.rules-heading-actions select{min-height:44px;padding-inline:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--text);font:inherit}.language-settings{display:grid;gap:var(--sp-4);min-width:0;margin:0;padding:0;border:0}.language-settings legend{padding:0 0 var(--sp-3);color:var(--text);font-size:15px;font-weight:600}.language-options{display:grid;gap:var(--sp-2)}.language-option{display:flex;align-items:center;gap:var(--sp-3);min-height:52px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.language-option:hover{background:var(--panel-2);border-color:var(--gold-dim)}.language-option:has(input:checked){border-color:var(--text-2);background:var(--panel-2)}.language-option input{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--gold)}.language-option span{font-size:16px;font-weight:600}.panel button+button{margin-left:var(--sp-2)}.rules-level-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}.rules-level-switch button{min-height:44px;margin:0;border-color:transparent;background:transparent;color:var(--text-2)}.rules-level-switch button+button{margin-left:0}.rules-level-switch button:hover{border-color:var(--line);background:var(--panel-2);color:var(--text)}.rules-level-switch button.selected{border-color:var(--text-2);background:var(--panel-2);color:var(--text)}.rules-body{min-height:0;padding-inline:var(--sp-1) var(--sp-3);overflow-y:auto;overscroll-behavior:contain}.rule-section{display:grid;gap:var(--sp-2);padding-block:0 var(--sp-5)}.rule-section+.rule-section{padding-block-start:var(--sp-5);border-top:1px solid var(--line-2)}.rule-section h3,.rule-section p,.rule-section ul{margin:0}.rule-section h3{color:var(--text);font-family:inherit;font-size:16px;line-height:1.4}.rule-section p,.rule-section li{color:var(--text-2);font-size:15px;line-height:1.65}.rule-section ul{display:grid;gap:var(--sp-2);padding-inline-start:var(--sp-5)}.role-reference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-6)}.role-reference-item{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:var(--sp-3);align-items:start;min-width:0;padding-block:var(--sp-3);border-top:1px solid var(--line-2)}.role-reference-item .glyph{width:32px;height:auto}.coin-legend{color:var(--gold)}.role-reference-item>div{display:grid;gap:var(--sp-1)}.role-reference-item b{color:var(--text)}.online-rules{border-block-color:var(--line);background:color-mix(in srgb,var(--panel) 45%,transparent);padding-inline:var(--sp-3)}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cards-row .card:not(.unavailable){animation:card-in .18s cubic-bezier(.16,1,.3,1)}@keyframes count-pop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.card-back{animation:count-pop .24s ease}.cards-row .card.unavailable{animation:card-flip .4s cubic-bezier(.16,1,.3,1) backwards}@keyframes card-flip{0%{opacity:0;transform:rotateY(90deg);filter:saturate(1)}55%{opacity:1;box-shadow:0 0 18px color-mix(in srgb,currentColor 55%,transparent)}to{opacity:.4;transform:rotateY(0);filter:saturate(.4);box-shadow:0 0 0 transparent}}@keyframes reveal-fade{0%{opacity:0}to{opacity:.4}}.card.unavailable{opacity:.4;filter:saturate(.4)}@keyframes rise-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.notice{animation:rise-in .2s cubic-bezier(.16,1,.3,1)}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.controls{animation:slide-in .22s cubic-bezier(.16,1,.3,1)}.log{animation:slide-in .2s cubic-bezier(.16,1,.3,1)}@keyframes urgent-pulse{0%,to{color:var(--gold)}50%{color:var(--warn)}}.narration-timer.urgent{animation:urgent-pulse 1s ease-in-out infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.overlay{animation:fade-in .2s ease}@keyframes panel-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.panel{animation:panel-in .26s cubic-bezier(.16,1,.3,1)}.role-btn{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease,background-color .15s ease,border-color .15s ease,color .15s ease}.role-btn.active{outline:none;transform:translateY(-3px);box-shadow:0 0 0 2px color-mix(in srgb,currentColor 60%,transparent),0 6px 16px color-mix(in srgb,currentColor 30%,transparent)}@keyframes discard-out{to{opacity:0;transform:translateY(12px)}}.role-btn.discard{animation:discard-out .2s ease forwards}@media(prefers-reduced-motion:reduce){.card-tip,.action-tip{translate:none}.cards-row .card,.card-back,.notice,.controls,.log,.overlay,.panel,.role-btn.discard{animation:none}.notice,.controls,.log,.overlay,.panel{animation:fade-in .12s linear}.cards-row .card.unavailable{animation:reveal-fade .2s linear}.narration-timer.urgent{animation:none;color:var(--warn)}.role-btn{transition:none}.role-btn.active{transform:none;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 60%,transparent)}.notice-region{transition:grid-template-rows 1ms linear 119ms}.board{transition:gap 1ms linear 119ms}.notice-region .transient-message{transition:opacity .12s linear}.notice-region.exiting .transient-message{transform:none}}@media(max-width:768px){.card-name[data-fit=desktop] .full{display:none}.card-name[data-fit=desktop] .short{display:inline}.app{padding:var(--sp-4) var(--sp-4) 220px}h1{font-size:24px}.header{align-items:flex-start;flex-wrap:wrap}.header-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));width:100%}.header-actions button{padding-inline:var(--sp-3)}.settings-overlay{align-items:flex-end;padding:0}.rules-overlay{padding:0}.panel.rules{width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:calc(var(--sp-4) + env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));border:0;border-radius:0}.rules-heading{align-items:flex-start;flex-wrap:wrap}.rules-heading-actions{max-width:100%}.rules-body{padding-inline:0 var(--sp-2)}.rule-section p,.rule-section li{font-size:16px}.role-reference-list{grid-template-columns:1fr}.settings-panel{width:100%;max-width:none;max-height:min(85vh,640px);padding:var(--sp-5) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:var(--r-xl) var(--r-xl) 0 0}.table,.table[data-seats="1"],.table[data-seats="2"]{display:grid;grid-template-columns:minmax(0,100px) minmax(0,1fr) minmax(0,100px);grid-template-areas:"left top right" "left center right";grid-template-rows:auto 1fr;gap:var(--sp-2);height:auto}.rail{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-2);min-width:0}.rail--left{grid-area:left;flex-direction:column-reverse}.rail--top{grid-area:top;align-items:center}.rail--right{grid-area:right}.seat.opponent{position:static;transform:none;width:100%;max-width:100px;padding:var(--sp-2) var(--sp-1);gap:var(--sp-1)}.seat.opponent .seat-head{flex-direction:column;align-items:center}.seat.opponent .name{font-size:13px}.seat.opponent .coins{font-size:12px}.seat.opponent .cards-row{gap:var(--sp-1)}.seat.opponent .card,.seat.opponent .card-back{width:40px;height:56px}.seat.opponent .card{border-width:1.5px;border-radius:var(--r-sm)}.seat.opponent .card-back{border-radius:var(--r-sm)}.card,.card-back{width:58px;height:82px}.seat.self{width:100%;padding:var(--sp-3) var(--sp-4)}.narration{grid-area:center;position:static;transform:none;width:auto;align-self:center;padding:var(--sp-3);background:color-mix(in srgb,var(--gold) 8%,var(--felt));border:1px solid var(--gold-dim);border-radius:var(--r-md);transition:opacity .2s ease}.narration.is-empty{opacity:0}.narration-text{font-size:14px}.controls{position:fixed;left:0;right:0;bottom:0;margin:0;border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));z-index:5;max-height:45vh;overflow-y:auto;box-shadow:0 -8px 24px #0102018c}}
