.board-map .map-pawn{transition:left .54s cubic-bezier(.35,0,.25,1),top .54s cubic-bezier(.35,0,.25,1),margin-left .54s cubic-bezier(.35,0,.25,1)}.board-map .map-pawn.journey-pawn{z-index:25!important}.board-map .journey-hopping .pawn-medallion,.board-map .journey-hopping>svg{animation:pawn-platform-hop .6s ease both}.board-map .pawn-journey-score{position:absolute;left:50%;bottom:calc(100% + 10px + var(--pawn-label-tier) * 26px);transform:translateX(-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;padding:4px 7px;color:#fff0c2;background:#182536f2;border:1px solid #f1ce8b;border-radius:7px;box-shadow:0 3px 10px #0008}.board-map .pawn-journey-score strong{font:700 17px/1.2 Georgia,serif}.board-map .pawn-journey-score>span{font:9px/1.2 sans-serif;color:#d7cdaa}.board-map .journey-high-platform .pawn-journey-score{bottom:auto;top:calc(100% + 20px + var(--pawn-label-tier) * 26px)}.board-map .board-motion-caption{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:30;margin:0;padding:7px 13px;color:#f5deb0;background:#172536e8;border:1px solid #dabb7959;border-radius:20px;font-size:11px;letter-spacing:.03em;white-space:nowrap;pointer-events:none}@keyframes pawn-platform-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-14px) rotate(-4deg)}72%{transform:translateY(-5px) rotate(3deg)}}@media(max-width:760px){.board-map .pawn-journey-score{padding:3px 5px;gap:4px;bottom:calc(100% + 8px + var(--pawn-label-tier) * 23px)}.board-map .journey-high-platform .pawn-journey-score{bottom:auto;top:calc(100% + 18px + var(--pawn-label-tier) * 23px)}.board-map .pawn-journey-score strong{font-size:13px}.board-map .pawn-journey-score>span{font-size:8px}.board-map .board-motion-caption{top:6px;padding:4px 9px;font-size:9px}}@media(prefers-reduced-motion:reduce){.board-map .map-pawn{transition:none}.board-map .journey-hopping .pawn-medallion,.board-map .journey-hopping>svg{animation:none}}.salon-game .salon-track{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:18px;margin:0;padding:12px 20px;min-width:0;color:#f2e9d8;background:linear-gradient(105deg,#15212c,#101a25);border:1px solid #bba57530;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff05}.salon-game .salon-track.phase-current{padding-left:20px!important}.salon-game .salon-record{display:grid;place-items:center;width:54px;height:54px;border:1px solid #48505a;border-radius:50%;background:repeating-radial-gradient(circle,#14191f 0 2px,#272d34 2.5px 3px,#14191f 3.5px 5px);box-shadow:0 3px 9px #0006;animation:salon-record-turn 9s linear infinite;animation-play-state:paused}.salon-game .audio-playing .salon-record{animation-play-state:running}.salon-game .salon-record>span{display:flex;flex-direction:column;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;color:#f3dca7;background:#765542;font:14px/1 Georgia,serif}.salon-game .salon-record>span>span{margin-top:2px;font:5px/1 sans-serif;letter-spacing:1px}.salon-game .salon-track-body{min-width:0}.salon-game .salon-track .music-heading{gap:8px;margin:0 0 5px;flex-wrap:nowrap}.salon-game .salon-track .music-heading>svg{width:15px;color:#d1b576}.salon-game .salon-track .music-heading h2{margin:0;font-size:17px;line-height:1.3;color:#f2e9d8}.salon-game .salon-track .audio-ready{width:auto;padding:0;margin:0 0 0 auto;color:#9faeac;font-size:10px}.salon-game .salon-track .audio-ready.failed{color:#f0b49f}.salon-game .salon-track-timeline{display:flex;align-items:center;gap:12px}.salon-game .salon-track .track-bar{display:block;position:relative;flex:1;min-width:25px;min-height:4px;height:4px;padding:0;overflow:hidden;background:#ffffff16;border:0;border-radius:20px}.salon-game .salon-track .track-progress{height:100%;border-radius:inherit;background:linear-gradient(90deg,#8d744b,#e4c58e)}.salon-game .salon-track-time{flex-shrink:0;color:#d9c59e;font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums}.salon-game .salon-track-time>span{color:#8b999f}.salon-game .salon-track .playback-status{min-height:0;margin:3px 0 0;color:#aab7bc;font-size:10px;line-height:1.4}.salon-game .salon-track .playback-status.needs-attention{color:#f0c995}.salon-game .salon-track .playback-row{grid-column:auto;grid-row:auto;display:flex;gap:7px;margin:0;flex-wrap:nowrap;padding-left:16px;border-left:1px solid #c8b08424}.salon-game .salon-track .button{min-height:36px;padding:6px 10px;border:1px solid #bba57535;border-radius:7px;color:#e8dcc4;font-size:11px;letter-spacing:0;background:#ffffff03}.salon-game .salon-track .button:hover:not(:disabled){color:#fff6df;border-color:#cab28088;background:#c8b08414}.salon-game .salon-track .button:focus-visible,.salon-game .salon-track input:focus-visible{outline-color:#f0cd8d}.salon-game .salon-track .volume{margin:0 0 0 7px;gap:7px;color:#aeb9bd}.salon-game .salon-track .volume input{width:62px;min-height:30px;border:0;accent-color:#d4b57a;background:transparent}@keyframes salon-record-turn{to{transform:rotate(1turn)}}@media (max-width:720px){.salon-game .salon-track{grid-template-columns:44px minmax(0,1fr);gap:10px 13px;padding:12px 15px}.salon-game .salon-track.phase-current{padding-left:15px!important}.salon-game .salon-record{width:44px;height:44px}.salon-game .salon-track .playback-row{grid-column:1/-1;border:0;border-top:1px solid #c8b08424;padding:9px 0 0;width:100%}.salon-game .salon-track .volume{margin-left:auto}.salon-game .salon-track .volume input{width:75px}.salon-game .salon-track .music-heading h2{font-size:16px}}@media (prefers-reduced-motion:reduce){.salon-game .salon-record{animation:none}.salon-game .salon-track .track-progress{transition:none}}.voice-input{min-width:0;margin:8px 0 2px}.voice-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.voice-button,.voice-cancel{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:12px;cursor:pointer}.voice-button{min-height:38px;border:1px solid var(--line,#c9c2b3);border-radius:9px;background:var(--paper,#fbf8ee);padding:8px 12px;color:inherit}.voice-button:disabled{opacity:.5;cursor:not-allowed}.voice-button.is-recording{border-color:#b24037;background:#fbe8e3;color:#8e2d27}.voice-button span{font:11px monospace;margin-left:5px}.voice-cancel{border:none;padding:7px 2px;background:none;color:inherit;opacity:.7}.voice-note{margin:6px 0 0;color:var(--muted,#726e65);font-size:11px;line-height:1.5}.voice-note.voice-error{color:#a02e27}.voice-live{height:22px;display:inline-flex;align-items:center;gap:3px}.voice-live i{width:3px;height:8px;border-radius:3px;background:#b24037;animation:voice-pulse .8s ease-in-out infinite alternate}.voice-live i:nth-child(2n){height:17px;animation-delay:.2s}.voice-live i:nth-child(3){height:22px;animation-delay:.4s}@keyframes voice-pulse{to{transform:scaleY(.4);opacity:.6}}@media (prefers-reduced-motion:reduce){.voice-live i{animation:none}}.salon-game .discussion-panel.salon-dialogue{--dialogue-ivory:#f1e8d5;--dialogue-muted:#b4b5b6;--dialogue-gold:#d6b778;--dialogue-line:#d6b77830;position:relative;min-width:0;margin:0;padding:22px;border:1px solid var(--dialogue-line);border-radius:14px;background:linear-gradient(155deg,#1e2c37f5,#111c27f5);color:var(--dialogue-ivory);box-shadow:0 16px 35px #00000020}.salon-game .discussion-panel.salon-dialogue.your-speaking-turn{border-color:#d6b77880;box-shadow:0 0 0 1px #d6b77815,0 16px 35px #00000020}.salon-game .salon-dialogue-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.salon-game .salon-dialogue-heading .eyebrow{color:var(--dialogue-gold);font-size:9px;letter-spacing:.15em;gap:7px}.salon-game .salon-dialogue-heading .speech-count{border:0;border-radius:0;padding:0;font:13px/1.4 var(--sans);color:var(--dialogue-ivory)}.salon-game .salon-dialogue-heading .speech-count span{color:#9ca3aa;font-size:11px}.salon-game .salon-turns{display:flex;list-style:none;padding:18px 0 20px;margin:0;gap:8px;justify-content:space-between;border-bottom:1px solid var(--dialogue-line)}.salon-game .salon-turns li{flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;gap:7px;color:#a7afb5}.salon-game .salon-turn-portrait{display:inline-flex;position:relative}.salon-game .salon-turns .composer-avatar{width:30px;height:30px;border-color:#b1a48170;filter:saturate(.55);opacity:.8}.salon-game .salon-turn-number{position:absolute;bottom:-3px;right:-5px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;font:8px/1 var(--sans);background:#202c37;color:#c4c7c9;border:1px solid #6a7077}.salon-game .salon-turn-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px/1.4 var(--sans)}.salon-game .salon-turns li.current{color:var(--dialogue-gold)}.salon-game .salon-turns li.current .composer-avatar{border-color:var(--dialogue-gold);box-shadow:0 0 0 3px #d6b77820;filter:none;opacity:1}.salon-game .salon-turns li.current .salon-turn-number{background:var(--dialogue-gold);color:#19222a;border-color:var(--dialogue-gold)}.salon-game .salon-turns li.finished .salon-turn-number{color:#bdd0bb;border-color:#6e8470}.salon-game .salon-turn-help{color:var(--dialogue-muted);font:10px/1.7 var(--sans)}.salon-game .salon-turn-help summary{cursor:pointer;min-height:24px;padding-top:7px;font-size:9px}.salon-game .salon-turn-help p{padding:5px 0;color:var(--dialogue-muted)}.salon-game .salon-turn-help summary:focus-visible{outline:2px solid var(--dialogue-gold);outline-offset:3px}.salon-game .salon-speech-spotlight{padding:22px 0 18px}.salon-game .salon-speaker{display:flex;gap:12px;align-items:center}.salon-game .salon-speaker>.composer-avatar{width:54px;height:54px;border:1px solid #d6b77890;box-shadow:0 0 0 4px #d6b7780b}.salon-game .salon-speaker>div{min-width:0}.salon-game .salon-speech-label{display:block;font:8px/1.5 var(--sans);letter-spacing:.16em;color:var(--dialogue-gold);margin-bottom:4px}.salon-game .salon-speaker h2{font:23px/1.2 var(--serif);color:var(--dialogue-ivory);overflow-wrap:anywhere;margin:0}.salon-game .salon-speaker-you{display:inline-block;margin-top:3px;font-size:10px;color:var(--dialogue-muted)}.salon-game .salon-latest-speech{margin-top:18px;animation:salon-speech-enter .22s ease-out both}.salon-game .salon-latest-speech blockquote{margin:0;padding:0;border:0;font:17px/1.7 var(--serif);color:var(--dialogue-ivory);overflow-wrap:anywhere;white-space:pre-wrap}.salon-game .salon-reply-to{display:block;font:10px/1.5 var(--sans);color:var(--dialogue-muted);margin-bottom:7px}.salon-game .salon-no-speech{margin:18px 0 0;font:13px/1.8 var(--sans);color:var(--dialogue-muted)}.salon-game .salon-floor-status{display:flex;align-items:center;gap:8px;margin:0;padding:11px 0;border-top:1px solid var(--dialogue-line);color:var(--dialogue-muted);font:11px/1.6 var(--sans)}.salon-game .salon-floor-status svg{flex:0 0 auto;color:#b3c8b5}.salon-game .salon-floor-status.is-yours{color:var(--dialogue-gold)}.salon-game .salon-floor-light{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#a3b5b2;box-shadow:0 0 0 3px #a3b5b20b}.salon-game .salon-floor-status.is-yours .salon-floor-light{background:var(--dialogue-gold);box-shadow:0 0 0 3px #d6b77818}.salon-game .salon-speech-history{border-top:1px solid var(--dialogue-line)}.salon-game .salon-speech-history summary{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:12px;color:#c4c8ca;font-size:11px;cursor:pointer;list-style:none}.salon-game .salon-speech-history summary::-webkit-details-marker{display:none}.salon-game .salon-speech-history summary>span{display:flex;gap:9px;align-items:center}.salon-game .salon-speech-history summary small{font-size:9px;color:#b4b5b6;padding:1px 5px;border:1px solid #d6b77830;border-radius:8px}.salon-game .salon-speech-history summary svg{transition:transform .2s ease}.salon-game .salon-speech-history[open] summary svg{transform:rotate(180deg)}.salon-game .salon-speech-history summary:focus-visible{outline:2px solid var(--dialogue-gold);outline-offset:3px;border-radius:2px}.salon-game .salon-dialogue .discussion-messages{max-height:360px;padding-right:6px;scrollbar-color:#d6b77850 transparent}.salon-game .salon-dialogue .discussion-messages li{border-color:var(--dialogue-line);padding:15px 0}.salon-game .salon-dialogue .discussion-messages li.own-message{background:#d6b7780b;padding:13px 10px;margin:0;border-radius:6px}.salon-game .salon-dialogue .discussion-byline strong{color:var(--dialogue-ivory)}.salon-game .salon-dialogue .discussion-byline time{color:#9ca3aa;margin-left:auto}.salon-game .salon-dialogue .discussion-messages li p{color:#d7d9d8;font:13px/1.8 var(--sans);white-space:pre-wrap}.salon-game .salon-dialogue .discussion-reply-to{color:#b4b5b6;margin-left:0}.salon-game .salon-dialogue .discussion-sent{color:#b4c9b4;font-size:11px;padding-top:12px;margin:0;border-top:1px solid var(--dialogue-line)}.salon-game .salon-dialogue .discussion-compose{border-color:var(--dialogue-line);margin-top:4px;padding-top:15px;gap:10px}.salon-game .salon-draft-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.salon-game .salon-draft-heading label{font-weight:500;color:var(--dialogue-ivory);font-size:12px}.salon-game .salon-dialogue .discussion-count{color:#a1abb1;font-size:9px}.salon-game .salon-dialogue .discussion-compose textarea{min-height:92px;padding:11px 12px;background:#0b1520a6;border:1px solid #b6bcb238;border-radius:7px;color:var(--dialogue-ivory);font:13px/1.7 var(--sans)}.salon-game .salon-dialogue .discussion-compose textarea::placeholder{color:#95a0a7}.salon-game .salon-dialogue .discussion-compose textarea:focus-visible{outline:2px solid var(--dialogue-gold);outline-offset:2px}.salon-game .salon-dialogue .discussion-compose .fine{color:#aeb8be;font-size:10px;line-height:1.6}.salon-game .salon-dialogue .discussion-compose-footer{flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;gap:12px}.salon-game .salon-dialogue .discussion-compose-footer .text-button{margin-right:auto;color:#bbc0c0;font-size:11px}.salon-game .salon-dialogue .discussion-compose-footer .button{min-height:39px;padding:9px 15px;color:#19212a;border-color:#d6b778;background:#d6b778;border-radius:5px;font-size:11px}.salon-game .salon-dialogue .discussion-compose-footer .button:hover:not(:disabled){background:#e7c98b;border-color:#e7c98b}.salon-game .salon-dialogue .discussion-compose-footer .button:disabled{opacity:.4}.salon-game .salon-dialogue .voice-input{color:var(--dialogue-muted)}.salon-game .salon-dialogue .voice-input .voice-button{color:var(--dialogue-ivory);border-color:#c4b58a50;background:transparent;border-radius:5px}.salon-game .salon-dialogue .voice-input .voice-button:hover:not(:disabled){background:#d6b77814}.salon-game .salon-dialogue .voice-input .voice-button.is-recording{background:#622f32;color:#ffe0d5;border-color:#bb7270}.salon-game .salon-dialogue .voice-note{color:#aeb8be}.salon-game .salon-dialogue .voice-note.voice-error{color:#ffbdb0}.salon-game .salon-dialogue .form-error{color:#ffbdb0;font-size:11px}@keyframes salon-speech-enter{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.salon-game .discussion-panel.salon-dialogue{padding:19px}.salon-game .salon-turns{justify-content:flex-start;gap:16px}.salon-game .salon-turns li{flex:0 1 64px}.salon-game .salon-speech-spotlight{padding-top:18px}}@media (max-width:420px){.salon-game .discussion-panel.salon-dialogue{padding:16px}.salon-game .salon-turns{gap:8px}.salon-game .salon-turns li{flex:1}.salon-game .salon-speaker h2{font-size:22px}.salon-game .salon-latest-speech blockquote{font-size:16px}}@media (prefers-reduced-motion:reduce){.salon-game .salon-latest-speech{animation:none}.salon-game .salon-speech-history summary svg{transition:none}}body:has(.salon-game){--paper:#111c29;--surface:#192735;--ink:#f3ecdd;--muted:#acaeaa;--line:rgba(216,194,149,.2);--blue:#ddbc7d;--blue-light:#2b3b48;--ochre:#ddbc7d;--red:#e49c89;--green:#9dc4ac;background:#101925;color:var(--ink);color-scheme:dark;background-image:radial-gradient(ellipse at 25% 8%,#32404460,transparent 60%)}body:has(.salon-game) .jukebox-header.in-room{height:58px;max-width:none;padding:0 max(28px,calc((100vw - 1512px)/2));border-color:#ddbc7d1c;background:#101925d9;gap:22px}body:has(.salon-game) .in-room .wordmark{font-size:29px;color:#f3ecdd}body:has(.salon-game) .in-room .header-description{font-size:9px;letter-spacing:.16em;padding-left:20px}body:has(.salon-game) .in-room nav{gap:22px}body:has(.salon-game) .in-room .home-link,body:has(.salon-game) .in-room nav button{font-size:11px;color:#b8b8af}body:has(.salon-game) .in-room nav .lang-switch button[aria-pressed=true]{color:#efce8e}body:has(.salon-game) .dialog{background:#192735;color:#f3ecdd;border:1px solid #8b7956;box-shadow:0 30px 100px #0009;border-radius:16px}body:has(.salon-game) .dialog::backdrop{background:#050c16bd;backdrop-filter:blur(7px)}body:has(.salon-game) .dialog .button.primary{background:#dfbf82;color:#192432;border-color:#dfbf82}body:has(.salon-game) .dialog .composer-option.selected{background:#36413f;color:#f5e4bd}body:has(.salon-game) .dialog .composer-option:hover:not(:disabled){background:#2c3d4b}body:has(.salon-game) .dialog .icon-button:hover{background:#ffffff12}.salon-game{max-width:1568px;padding:24px 28px 0;--salon-gold:#ddbc7d;--salon-panel:#1a2936}.salon-game :is(button,a,input,textarea,select,summary):focus-visible{outline:2px solid #f0d297;outline-offset:4px}.salon-game :is(button,.button):disabled{opacity:.46}.salon-game .button{border-radius:7px;border-color:#ddbc7d40;background:#ffffff04;color:#e2ddcf;font-size:12px;letter-spacing:.02em}.salon-game .button:hover:not(:disabled){background:#ffffff0e;border-color:#ddbc7d85}.salon-game .button.primary{background:#e0bf80;color:#192530;border-color:#e0bf80;box-shadow:0 3px 0 #8a6e3f}.salon-game .button.primary:hover:not(:disabled){background:#f1d497;transform:translateY(-1px)}.salon-game .button.primary:active:not(:disabled){transform:translateY(2px);box-shadow:none}.salon-game .text-button{color:#e1c48c}.salon-game .fine,.salon-game .text-button.muted{color:#aeb6b6}.salon-game .eyebrow{color:#baa987;font-size:9px;letter-spacing:.18em}.salon-game .phase-current{box-shadow:none;margin-left:0;padding-left:0!important;border-top:0}.salon-game .salon-hud{margin:0 0 16px;align-items:center;flex-direction:row;gap:20px}.salon-round-title{display:flex;align-items:center;gap:15px;min-width:0}.salon-round-medal{width:47px;height:52px;display:grid;place-items:center;border:1px solid #b39a6759;border-radius:24px 24px 7px 7px;color:#e1bf7e;font:25px Georgia,serif;background:#d7bb7810;flex-shrink:0}.salon-game .room-heading h1{font-size:27px;line-height:1.2;margin:5px 0 0;letter-spacing:.01em}.salon-game .room-tools{gap:10px;width:auto;flex-shrink:0}.salon-game .room-code{gap:8px;padding:0 12px;border-right:1px solid var(--line);margin-right:3px}.salon-game .room-code strong{font:13px var(--sans);letter-spacing:.13em;color:#e6ddca}.salon-game .room-code>span{font-size:9px;text-transform:uppercase}.salon-game .salon-phase-rail{border:0;border-bottom:1px solid #ddbc7d24;padding:0 0 14px;margin:0 0 14px;justify-content:flex-start;gap:0}.salon-game .salon-phase-rail li{font-size:11px;gap:8px;flex-direction:row;color:#7f8b91;flex:1;white-space:normal}.salon-game .salon-phase-rail li:not(:last-child):after{content:"";height:1px;background:#6b726b45;flex:1;margin:0 18px}.salon-game .salon-phase-rail li:last-child{flex:0 1 auto}.salon-game .salon-phase-rail li>span{width:23px;height:23px;display:grid;place-items:center;border:1px solid #74808750;border-radius:50%;font:10px var(--sans);flex-shrink:0}.salon-game .salon-phase-rail .current{color:#f0d39b}.salon-game .salon-phase-rail .current>span{color:#142231;background:#e0bf80;border-color:#e0bf80;box-shadow:0 0 18px #dfbb6530}.salon-game .salon-phase-rail .passed{color:#abb3ac}.salon-game .salon-phase-rail .passed>span{color:#bfcbaa;border-color:#a9b99655}.salon-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-areas:"table side" "table route";gap:16px 20px;align-items:start;margin-top:18px}.salon-table-zone{grid-area:table;min-width:0}.salon-side-zone{grid-area:side;min-width:0;display:flex;flex-direction:column;gap:14px}.salon-route-zone{grid-area:route;min-width:0}.salon-workspace.route-focused{grid-template-areas:"route side" "table side"}.salon-table{position:relative;padding:20px 20px 16px;border:1px solid #b6a4773d;border-radius:18px;background:radial-gradient(ellipse at 50% 15%,#3a595657,transparent 80%),linear-gradient(150deg,#24393e,#182d35);box-shadow:inset 0 0 70px #07152330,0 14px 35px #040b121f;isolation:isolate}.salon-table:before{content:"";position:absolute;inset:12px;border:1px solid #bca8781c;border-radius:10px;pointer-events:none;z-index:-1}.salon-table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 24px}.salon-table-heading>span:last-child{font:italic 12px var(--serif);color:#a9b3ab;text-align:right}.salon-places{display:grid;grid-template-columns:repeat(var(--seat-count),minmax(0,1fr));gap:14px;align-items:start}.salon-place{min-width:0;text-align:center;position:relative}.salon-person{display:flex;align-items:center;flex-direction:column;margin-bottom:15px;min-width:0}.salon-portrait{position:relative;margin:0 0 8px}.salon-game .salon-portrait>.composer-avatar{width:60px;height:60px;border-radius:50%;border:2px solid #8e8b725e;background:#35454a;box-shadow:0 5px 12px #0004;transition:box-shadow .25s,border-color .25s}.salon-game .salon-portrait>.composer-avatar img{border-radius:50%}.salon-person>strong{font:16px/1.3 var(--serif);color:#f2e6cf;overflow-wrap:anywhere;max-width:100%}.salon-seat-kind{color:#a3afa9;font-size:9px;letter-spacing:.1em;min-height:16px;margin-top:3px;text-transform:uppercase}.salon-place.is-me .salon-seat-kind{color:#ecd398}.salon-crown,.salon-speaking-mark{position:absolute;border-radius:50%;background:#d8b576;color:#1a2832;display:grid;place-items:center;width:20px;height:20px;border:2px solid #24383b;right:-3px;bottom:0}.salon-crown{width:18px;height:18px;right:auto;left:-3px;top:0;bottom:auto}.salon-place.speaking .salon-portrait>.composer-avatar{border-color:#f0cc87;box-shadow:0 0 0 5px #e3c78913,0 0 28px #e7c07728}.salon-place.speaking .salon-person>strong{color:#ffdc97}.salon-card-slot{position:relative;transform:rotate(var(--card-tilt));transition:transform .25s;perspective:900px;margin:0 0 7px}.salon-place:focus-within .salon-card-slot,.salon-place:hover .salon-card-slot{transform:rotate(0) translateY(-5px);z-index:2}.salon-played-card{display:block;width:100%;position:relative;padding:5px 5px 0;border-radius:7px;background:#eee5ce;border:1px solid #e9d7ad;box-shadow:0 8px 14px #04101670;overflow:hidden;animation:salon-card-reveal .42s ease both;animation-delay:calc(var(--seat-index)*55ms);color:#3b423e}.salon-played-card img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:3px}.salon-card-number{display:flex;align-items:center;justify-content:space-between;padding:5px 3px;font:9px/1.2 var(--sans);letter-spacing:.06em}.salon-card-back{aspect-ratio:3/4;border:5px solid #d7c7a4;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;background:repeating-linear-gradient(45deg,#34515c22 0 2px,transparent 2px 8px),#213840;box-shadow:0 6px 12px #0004;outline:1px solid #a69775}.salon-card-back:before{content:"";position:absolute;inset:7px;border:1px solid #bba67c65;border-radius:3px}.salon-card-back>span{font:48px/.9 Georgia,serif;color:#cbb78d;position:relative}.salon-card-back>span>span{color:#c6a96e}.salon-card-back small{font-size:6px;letter-spacing:.23em;margin-top:12px;color:#b2a78b}.salon-table.concealed .salon-card-slot{max-width:88px;margin:0 auto 8px}.salon-table.concealed .salon-person{margin-bottom:11px}.salon-table.concealed .salon-card-back{aspect-ratio:1.25;max-height:70px;border-width:3px}.salon-table.concealed .salon-card-back>span{font-size:25px}.salon-table.concealed .salon-card-back small{display:none}.salon-seat-status{min-height:28px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px;color:#a9bab4;line-height:1.4;margin-top:9px;overflow-wrap:anywhere}.salon-seat-status.error{color:#f1a98c}.salon-thinking-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#c9b37e;animation:salon-thinking 1.6s ease-in-out infinite}.salon-table-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#b1bbb3;margin-top:8px}.salon-role-reveal{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);padding:3px 8px;background:#203632eF;border:1px solid #bac9ac80;color:#eff1d9;border-radius:4px;font-size:10px;white-space:nowrap;max-width:calc(100% - 8px)}.salon-role-reveal.improviser{background:#734737ef;border-color:#e4b286;color:#ffe5be}.salon-place.is-improviser .salon-played-card{outline:2px solid #e5af6a;outline-offset:3px}.salon-ballots{min-height:30px;display:flex;align-items:center;justify-content:center;gap:2px;flex-wrap:wrap}.salon-ballots .composer-avatar.small{width:23px;height:23px;border-radius:50%;border:1px solid #d4b67a}.salon-ballots small{font-size:9px;color:#a0aca5}.salon-game .round-action-guide{margin:0;padding:15px 17px;border:1px solid #d6be7d2b;border-radius:10px;background:#dac08608;gap:7px;display:block}.salon-game .round-action-guide p{font:14px/1.7 var(--serif);color:#dfdfcf;margin-top:7px}.salon-game .round-action-guide.my-turn{background:#bba66d13;border-color:#dbbd7b7f;box-shadow:0 0 24px #d1b97a09}.salon-game .hand-stage{margin:16px 0 0;padding:16px 18px;border:1px solid #d3bb8526;border-radius:12px;background:linear-gradient(140deg,#24323df0,#182632);min-width:0}.salon-game .hand-stage.phase-current{padding-left:18px!important;border-top:1px solid #d3bb8547}.salon-game .hand-stage-header{padding-bottom:8px;border:0;gap:12px}.salon-game .hand-stage-header .section-caption{padding:0;font-size:9px;color:#b9b9ab}.salon-game .hand-stage-header .text-button{font-size:10px;min-height:28px}.salon-game .role-strip{display:flex;align-items:center;padding:0 0 10px;margin:0;gap:18px;border:0}.salon-game .role-name{display:flex;align-items:baseline;gap:8px;flex-shrink:0}.salon-game .role-name>span{font-size:9px;color:#afbabd}.salon-game .role-name h2{font-size:20px;color:#e7d2a5}.salon-game .role-strip>p{font-size:11px;line-height:1.6;max-width:52em;color:#aeb9bb}.salon-game .secret-target{padding:5px 8px;border-radius:4px;background:#57483055;margin:0;font-size:9px;gap:5px}.salon-game .secret-target strong{font-size:18px}.salon-game .hand-tools{margin:0 0 13px;align-items:center;gap:10px}.salon-game .hand-tools h2{font-size:17px}.salon-game .hand-tools h2 span{font:10px var(--sans);margin-left:8px;color:#9caeb2}.salon-game .hand-tools p{font-size:10px;line-height:1.6;color:#aeb9bb;margin:3px 0 0}.salon-game .hand-tools .text-button{font-size:10px;white-space:nowrap}.salon-game .hand-gallery{display:grid;grid-template-columns:repeat(var(--hand-count),minmax(0,1fr));gap:12px;padding:7px 2px 9px;overflow:visible}.salon-game .large-hand-card{background:#e8ddc5;border:1px solid #e9d8b3;border-radius:7px;padding:4px;box-shadow:0 5px 10px #0004;transform:rotate(var(--hand-tilt));transition:transform .2s,box-shadow .2s;position:relative;min-width:0}.salon-game .large-hand-card:focus-within,.salon-game .large-hand-card:hover{transform:translateY(-9px) rotate(0);z-index:2;box-shadow:0 12px 22px #0005}.salon-game .large-hand-card.selected{transform:translateY(-10px) rotate(0);border-color:#f2cf7e;outline:2px solid #e9bf67;outline-offset:3px;box-shadow:0 7px 24px #eac27924}.salon-game .hand-art{border-radius:3px;background:#dacfb8;overflow:hidden;display:block}.salon-game .hand-art:disabled{opacity:1}.salon-game .hand-art img{aspect-ratio:3/4;width:100%;object-fit:cover}.salon-game .hand-card-caption{font-size:9px;color:#53584e;padding:4px 2px 0;align-items:center;gap:3px}.salon-game .hand-card-caption button{min-height:24px;color:#3e4b4c;font-size:9px;gap:4px}.salon-game .assigned-badge,.salon-game .selection-badge{background:#314e4aef;color:#ffefcc;border-radius:0 0 5px 0;font-size:9px;padding:5px 7px;gap:4px}.salon-game .selection-badge{background:#d8b772;color:#1c2b31}.salon-game .hand-submit{padding:14px 0 0;border:0;margin:0;gap:12px}.salon-game .hand-submit strong{font:14px var(--serif);color:#efdab1}.salon-game .hand-submit>div>span{font-size:10px;color:#aab7b8}.salon-game .private-hidden{padding:12px 0;color:#b5bdba}.salon-game .skill-hand{margin-top:12px;padding-top:10px}.salon-game .skill-card{border-radius:7px;background:#20313d;color:#eee7d8}.salon-game .skill-card.selected,.salon-game button.skill-card:hover:not(:disabled){background:#39433f;border-color:#ddbc7d}.salon-game .table-skill .skill-card{flex-direction:column;align-items:center;padding:7px}.salon-game .table-skill .skill-card img{width:32px;height:32px}.salon-game .table-skill .skill-card p{font-size:10px}.salon-game .vote-panel{display:block;margin:16px 0 0;padding:18px!important;border:1px solid #c3a76e55;border-radius:12px;background:linear-gradient(120deg,#303d3e,#1b2a37)}.salon-game .vote-panel h2{font-size:24px;margin:4px 0}.salon-game .vote-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.salon-game .vote-options button{border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:14px 8px;position:relative;background:#09162330;min-width:0;min-height:110px;justify-content:center;text-align:center;color:#ede3ce;font:14px var(--serif);overflow-wrap:anywhere}.salon-game .vote-options .color-dot{display:none}.salon-game .vote-options .composer-avatar.small{width:49px;height:49px;border-radius:50%;border-color:#d9bc7e66}.salon-game .vote-options button.selected{background:#ddbc7d18;border-color:#e2c283;color:#f6d694;box-shadow:inset 0 0 0 1px #e2c283}.salon-game .vote-options button>svg{position:absolute;top:7px;right:7px}.salon-game .vote-submit{margin-top:9px;justify-content:flex-end}.salon-game .saved-choice{color:#c6d3b4;background:#89977518;padding:10px 15px;border:1px solid #89977535;border-radius:7px;font-size:12px}.salon-game .board-section{margin:0;padding:0;border:1px solid #baa4743b!important;border-radius:12px;overflow:hidden;background:#1b2935;scroll-margin-top:20px}.salon-route-heading{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:16px 18px;color:#cfba8e;gap:12px;min-height:70px}.salon-route-heading>span>strong{font:19px var(--serif);color:#e6ddc9;display:block;margin-top:5px}.salon-game .salon-route-heading:disabled{opacity:1;cursor:default}.salon-route-progress{padding:0 18px 15px;display:flex;flex-direction:column;gap:7px}.salon-route-progress>div{display:flex;align-items:center;gap:8px;font-size:11px;min-width:0}.salon-route-progress .composer-avatar.small{width:25px;height:25px;border-radius:50%}.salon-route-progress>div>span:not(.composer-avatar){overflow-wrap:anywhere}.salon-route-progress small{margin-left:auto;color:#9caeb2;font-size:10px;text-align:right;flex-shrink:0}.salon-route-content>p{padding:0 18px 12px;font-size:10px}.salon-game .board-map{border:0;width:100%;margin:0;aspect-ratio:2000/1415}.salon-game .piece-legend{padding:12px 16px;gap:5px 12px;color:#b7c0bc;font-size:10px}.salon-game .move-prompt{margin:0 14px 14px;padding:14px;background:#2d3f4380;border:1px solid #a3ad803d;border-radius:8px;grid-template-columns:1fr;gap:12px}.salon-game .move-options button{background:#172c38;border-radius:6px;font-size:11px;color:#e0d6bc;min-height:48px}.salon-game .move-options button.selected{background:#56604c66;border-color:#dcc17e;box-shadow:none}.salon-game .move-options button small{color:#b5bdb3}.salon-game .move-wait{padding:0 18px}.salon-game .ballot-results.settlement{margin:0;padding:19px;border:1px solid #bba46f55;border-radius:12px;background:radial-gradient(ellipse at top,#56483144,transparent),#1c2b35;animation:salon-rise .4s ease both}.salon-game .settlement .section-caption{padding-bottom:8px;font-size:9px;color:#d8c08d}.salon-game .settlement h2{font-size:23px;line-height:1.4;color:#f0ddaf;margin-bottom:8px}.salon-game .settlement>p{font-size:11px;color:#b8bdb4}.salon-score-tokens{display:flex;flex-direction:column;gap:9px;margin-top:20px}.salon-score-tokens>div{display:flex;align-items:center;gap:9px;font-size:12px;min-width:0}.salon-score-tokens .composer-avatar.small{width:30px;height:30px;border-radius:50%}.salon-score-tokens>div>strong{margin-left:auto;font:22px var(--serif);color:#e4c686}.salon-score-tokens>div>span:not(.composer-avatar){overflow-wrap:anywhere}.salon-game .salon-score-details{border-top:1px solid #ddbc7d26;margin-top:17px;padding-top:8px}.salon-game :is(.salon-score-details,.salon-dialogue-recap,.salon-round-recap)>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;min-height:40px;color:#cfc6ae}.salon-game :is(.salon-score-details,.salon-dialogue-recap,.salon-round-recap)>summary::-webkit-details-marker{display:none}.salon-game :is(.salon-score-details,.salon-dialogue-recap,.salon-round-recap)[open]>summary>svg{transform:rotate(180deg)}.salon-game .settle-grid{margin-top:8px}.salon-game .settle-row{grid-template-columns:1fr 44px;gap:6px;padding:12px 0}.salon-game .settle-reasons{grid-column:1/-1;color:#b1bdb7;font-size:10px;gap:4px}.salon-game .settle-reasons .settle-move{color:#d8d1b9}.salon-game .settle-who>i{display:none}.salon-game .settle-who span{font-size:10px}.salon-game .settle-steps strong{font-size:22px}.salon-game .salon-dialogue-recap,.salon-game .salon-round-recap{border:1px solid #baa4742f;border-radius:9px;padding:4px 14px;background:#18263466}.salon-round-recap .salon-table{margin:6px -8px;border:0}.salon-game .host-next{display:flex;flex-direction:column;align-items:stretch;border:0;margin:0;padding:15px 17px;background:#192734;border-radius:10px;gap:12px}.salon-game .host-next p{margin-top:5px;font-size:10px;color:#abb7b8}.salon-game .host-next .eyebrow{font-size:8px}.salon-game .host-actions{display:flex;gap:9px;justify-content:flex-start}.salon-game .host-actions>.button.primary{width:100%;min-height:45px}.salon-game .host-actions>.button:not(.primary){font-size:10px;padding:5px 8px;min-height:30px;border:0;color:#9eafb2}.salon-game .waiting-host{margin:0;padding:14px;border:1px dashed #b6a06a30;border-radius:9px}.salon-game .salon-winner{margin:4px 0 20px;border-radius:16px;border:1px solid #cfa75c75;background:radial-gradient(ellipse at 20% 70%,#5d4b2e60,transparent 70%),#233039;padding:26px 30px;display:flex;align-items:center;gap:26px;animation:salon-rise .5s ease both}.salon-winner-portraits{display:flex;align-items:center;position:relative;flex-shrink:0}.salon-game .salon-winner-portraits>.composer-avatar{width:88px;height:88px;border:2px solid #eac887;border-radius:50%;box-shadow:0 0 0 6px #cda85b17,0 0 40px #e6c17625}.salon-winner-portraits>svg{position:absolute;bottom:-9px;right:-4px;color:#f5da95;filter:drop-shadow(0 2px 3px #0008)}.salon-game .salon-winner h2{font-size:36px;color:#f8dfab;margin:7px 0}.salon-game .salon-winner .fine{font-size:11px;color:#babfaf}.salon-lobby-stage{position:relative;border-radius:16px;border:1px solid #bba46f40;padding:28px;background:linear-gradient(#11202bde,#182c35f2),url(/map/board-1200.jpg) 50%/cover;overflow:hidden}.salon-lobby-stage>h2{font-size:37px;line-height:1.2;max-width:17em;margin:15px 0 12px;color:#eedaba}.salon-lobby-stage>p{font-size:12px;color:#b7c1b9;margin-bottom:30px}.salon-game .composer-table.is-lobby{margin:0;padding:0;border:0}.salon-game .composer-table.is-lobby>.section-caption{padding:0 0 15px;font-size:9px;color:#b9b8a8}.salon-game .composer-lobby-intro{display:none}.salon-game .composer-seats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;overflow:visible}.salon-game .composer-seat{display:flex;flex-direction:column;min-width:0;align-items:center;text-align:center;padding:18px 8px 12px;background:#192c369c;border:1px solid #c9b17526;border-radius:12px}.salon-game .composer-seat.is-me{background:#d3b46e0c;border-color:#cdb07670}.salon-game .composer-seat .composer-avatar{width:70px;height:70px;border-radius:50%;border:1px solid #d5bb7c66}.salon-game .composer-seat-copy{width:100%;text-align:center;margin-top:12px}.salon-game .composer-seat-copy strong{font:17px var(--serif);display:flex;flex-direction:column;gap:4px}.salon-game .composer-seat-copy strong small{font:9px var(--sans);color:#d4bd89}.salon-game .composer-seat-copy>span{font-size:9px;color:#95aaa9}.salon-game .composer-seat-copy p{font-size:10px;color:#b1c0af}.salon-game .composer-host{background:#c9a96a;color:#172c34;box-shadow:none;border-color:#1c3039}.salon-game .composer-lobby-actions{padding-top:24px;margin-top:18px;border-top:1px solid #d8b77524;gap:12px;justify-content:flex-start}.salon-lobby-note{border:1px solid #bba46f33;border-radius:12px;padding:22px;background:#1c2b35}.salon-lobby-note ol{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:22px}.salon-lobby-note li{display:flex;gap:14px;font:15px var(--serif);color:#dfd5bd}.salon-lobby-note b{font:12px var(--sans);color:#bca577;line-height:1.6}.salon-game .room-journal{margin-top:24px;font-size:10px;border-color:#ddbc7d20}.salon-game .room-journal p{border-color:#ddbc7d15;color:#afbab9}.salon-game .room-footer{margin-top:12px;font-size:9px;color:#849596;letter-spacing:.13em;padding:12px 0 22px;border-color:#ddbc7d15}.salon-game .ai-status,.salon-game .notice{border:1px solid #bb945653;border-radius:8px;background:#563e252e;color:#e5c5a1;margin:0 0 12px}@keyframes salon-card-reveal{0%{opacity:0;transform:rotateY(-65deg) translateY(8px)}to{opacity:1;transform:rotateY(0) translateY(0)}}@keyframes salon-rise{0%{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes salon-thinking{0%,to{opacity:.35}50%{opacity:1}}@media(min-width:1600px){.salon-game{padding-top:28px}.salon-workspace{grid-template-columns:minmax(0,1fr) 360px}.salon-places{gap:22px}.salon-game .salon-portrait>.composer-avatar{width:70px;height:70px}.salon-table{padding:24px 28px}.salon-table.concealed .salon-card-back{max-height:80px}}@media(max-width:1150px){.salon-game{padding:20px 22px 0}.salon-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.salon-table{padding:18px 14px 12px}.salon-places{gap:10px}.salon-game .salon-portrait>.composer-avatar{width:49px;height:49px}.salon-person>strong{font-size:13px}.salon-table-heading>span:last-child{display:none}.salon-game .role-strip{align-items:flex-start;flex-wrap:wrap;gap:6px 12px}.salon-game .hand-gallery{gap:8px}.salon-game .large-hand-card{padding:3px}.salon-game .hand-card-caption button{font-size:0;gap:0}.salon-game .vote-options{gap:7px}.salon-game .composer-seats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:950px){.salon-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"table" "side" "route"}.salon-workspace.route-focused{grid-template-areas:"route" "side" "table"}.salon-side-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr);align-items:start;gap:14px}.salon-side-zone>.discussion-panel,.salon-side-zone>.settlement{grid-row:1/4;grid-column:1}.salon-side-zone>.host-next,.salon-side-zone>.round-action-guide,.salon-side-zone>.salon-dialogue-recap,.salon-side-zone>.waiting-host{grid-column:2}.salon-table{padding:20px 22px 14px}.salon-places{gap:18px}.salon-game .salon-portrait>.composer-avatar{width:60px;height:60px}.salon-person>strong{font-size:16px}.salon-game .hand-gallery{max-width:760px;margin:auto;gap:13px}.salon-game .hand-card-caption button{font-size:9px;gap:3px}.salon-game .role-strip{flex-wrap:nowrap;align-items:center}.salon-route-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.salon-route-progress>div{flex-wrap:wrap}.salon-route-progress small{width:100%;margin:0 0 0 33px;text-align:left}.salon-game .composer-seats{grid-template-columns:repeat(5,minmax(0,1fr))}.salon-lobby-note{grid-column:1}.salon-lobby-note ol{gap:15px}}@media(max-width:660px){body:has(.salon-game) .jukebox-header.in-room{padding:0 16px;height:54px;gap:15px}body:has(.salon-game) .in-room .wordmark{font-size:26px}body:has(.salon-game) .in-room .header-description{display:none}body:has(.salon-game) .in-room nav{gap:14px}body:has(.salon-game) .in-room .home-link{display:none}body:has(.salon-game) .in-room nav button{font-size:10px;min-height:36px}.salon-game{padding:16px 12px 0}.salon-game .salon-hud{gap:14px;flex-wrap:wrap;margin-bottom:13px}.salon-game .room-heading h1{font-size:25px}.salon-round-title{gap:11px}.salon-round-medal{width:38px;height:44px;font-size:22px}.salon-game .room-tools{width:100%;justify-content:flex-end;gap:8px}.salon-game .room-code{margin-right:auto;padding:0;border:0;min-height:34px}.salon-game .room-tools .button{min-height:34px;padding:5px 9px;font-size:10px}.salon-game .salon-phase-rail{margin-bottom:10px;padding-bottom:11px;gap:3px;justify-content:space-between}.salon-game .salon-phase-rail li{font-size:9px;flex-direction:column;gap:5px;text-align:center;flex:1;line-height:1.35}.salon-game .salon-phase-rail li:not(:last-child):after{display:none}.salon-game .salon-phase-rail li:last-child{flex:1}.salon-workspace{margin-top:13px;gap:13px}.salon-table{padding:16px 10px 12px;border-radius:12px}.salon-table-heading{margin:0 5px 18px}.salon-table-heading>.eyebrow{font-size:8px}.salon-places{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:14px;padding:5px 7px 10px;scrollbar-color:#bb9f6c55 transparent;scrollbar-width:thin}.salon-place{flex:0 0 124px;scroll-snap-align:center}.salon-table.concealed .salon-places{gap:7px;justify-content:space-between;overflow:visible}.salon-table.concealed .salon-place{flex:1;min-width:0}.salon-table.concealed .salon-person>strong{font-size:11px}.salon-table.concealed .salon-portrait>.composer-avatar{width:42px;height:42px}.salon-game .salon-portrait>.composer-avatar{width:52px;height:52px}.salon-person>strong{font-size:14px}.salon-seat-kind{font-size:8px;letter-spacing:.02em}.salon-seat-status{font-size:9px;min-height:25px}.salon-table.concealed .salon-card-back{max-width:55px;margin:auto;height:43px}.salon-table.concealed .salon-card-back>span{font-size:20px}.salon-table-note{font-size:9px;padding:0 8px;line-height:1.5}.salon-game .hand-stage{padding:14px 12px;margin-top:13px}.salon-game .hand-stage.phase-current{padding-left:12px!important}.salon-game .role-strip{align-items:flex-start;flex-wrap:wrap;gap:7px}.salon-game .role-strip>p{font-size:10px}.salon-game .role-name h2{font-size:20px}.salon-game .hand-gallery{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:12px;padding:16px 5px 12px;margin:0 -3px}.salon-game .large-hand-card{flex:0 0 126px;scroll-snap-align:center;transform:none}.salon-game .large-hand-card.selected{transform:translateY(-6px)}.salon-game .hand-tools h2{font-size:16px}.salon-game .hand-submit{align-items:center;flex-wrap:wrap;gap:10px}.salon-game .hand-submit .button{min-height:44px;white-space:normal}.salon-side-zone{display:flex;gap:12px}.salon-game .round-action-guide{padding:12px 14px}.salon-game .round-action-guide p{font-size:13px}.salon-game .vote-panel{padding:16px 12px!important}.salon-game .vote-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.salon-game .vote-options button{flex-direction:row;min-height:74px;padding:12px 8px;font-size:14px;gap:8px}.salon-game .vote-options .composer-avatar.small{width:40px;height:40px}.salon-game .vote-submit .button{width:100%}.salon-route-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.salon-game .salon-winner{padding:22px 18px;gap:18px}.salon-game .salon-winner-portraits>.composer-avatar{width:63px;height:63px}.salon-game .salon-winner h2{font-size:27px}.salon-game .salon-winner .fine{font-size:10px}.salon-lobby-stage{padding:23px 15px}.salon-lobby-stage>h2{font-size:30px}.salon-game .composer-seats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.salon-game .composer-seat{padding:15px 6px 10px}.salon-game .composer-seat .composer-avatar{width:55px;height:55px}.salon-game .composer-seat-copy strong{font-size:15px}.salon-game .composer-lobby-actions .button{font-size:11px;padding:9px 12px}.salon-game .host-next{padding:13px 14px}.salon-game .room-footer>span:last-child{width:auto;font-size:8px}.salon-game .salon-round-recap{padding:4px 8px}.salon-game .settlement h2{font-size:26px}}@media(prefers-reduced-motion:reduce){.salon-game *,.salon-game :after,.salon-game :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.salon-game .salon-winner{flex-wrap:wrap}.salon-winner-portraits{flex-wrap:wrap;gap:10px;max-width:100%}@media(max-width:660px){.salon-table.concealed .salon-places.many-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.salon-game .salon-winner-portraits>.composer-avatar{width:55px;height:55px}.salon-game .salon-winner>div:last-child{min-width:0;max-width:100%;overflow-wrap:anywhere}}.salon-table.concealed{padding:14px 20px 10px}.salon-table.concealed .salon-table-heading{margin-bottom:12px}.salon-table.concealed .salon-card-slot{display:none}.salon-table.concealed .salon-person{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:0 9px;margin:0}.salon-table.concealed .salon-portrait{margin:0;grid-row:1/3}.salon-game .salon-table.concealed .salon-portrait>.composer-avatar{width:42px;height:42px}.salon-table.concealed .salon-person>strong{font-size:13px}.salon-table.concealed .salon-seat-kind{width:100%;font-size:8px;margin-top:6px}.salon-table.concealed .salon-seat-status{min-height:15px;margin-top:3px;font-size:9px}.salon-table.concealed .salon-table-note{margin-top:4px;font-size:9px}body:has(.salon-game) .dialog .confirm-box{background:#40382e;border:1px solid #bba16c80;color:#f4e5c3;border-radius:8px}body:has(.salon-game) .dialog .notice{background:#3c3829;color:#e3cca2;border-color:#bba16c}body:has(.salon-game) .dialog .button:hover:not(:disabled){background:#34464d;border-color:#a99972}body:has(.salon-game) .dialog .button.primary:hover:not(:disabled){background:#efcd8d;color:#192432}body:has(.salon-game) .dialog .text-button:hover{color:#f5d99b}body:has(.salon-game) ::selection{background:#baa16a55;color:#fff0ce}@media(min-width:951px){.salon-game .salon-hand .hand-art img{max-height:225px}.salon-game .salon-hand .hand-gallery{max-width:790px}.salon-game .salon-hand .hand-submit{position:sticky;bottom:12px;z-index:4;background:#1d2d38f2;border:1px solid #cab17328;border-radius:8px;padding:10px 12px;margin-top:8px;backdrop-filter:blur(8px)}}@media(max-width:660px){.salon-table.concealed{padding:13px 10px 9px}.salon-table.concealed .salon-person{flex-direction:column;gap:5px}.salon-table.concealed .salon-person>strong{font-size:10px}.salon-table.concealed .salon-seat-kind{margin:0;font-size:7px}.salon-table.concealed .salon-seat-status,.salon-table.concealed .salon-table-note{font-size:8px}}.salon-workspace{grid-template-rows:auto 1fr}.salon-workspace.route-focused{grid-template-rows:auto auto}@media(max-width:950px){.salon-workspace,.salon-workspace.route-focused{grid-template-rows:auto}}.salon-host-controls{border:1px solid #bba46f24;border-radius:8px;background:#15232e}.salon-host-controls>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:36px;padding:6px 13px;font-size:10px;color:#94a7aa}.salon-host-controls>summary::-webkit-details-marker{display:none}.salon-game .salon-host-controls .host-next{background:transparent}@media(max-width:950px) and (min-width:661px){.salon-side-zone>.salon-host-controls{grid-column:2}}.salon-person{position:relative}.salon-person.vote-eligible{border-radius:10px;cursor:pointer}.salon-person.vote-eligible:hover{background:#e0bf8010}.salon-seat-vote{position:absolute;inset:-7px -5px;border-radius:11px;z-index:2;border:1px solid #ccb06c40;background:transparent}.salon-seat-vote:hover:not(:disabled){border-color:#e8c77e;background:#e3be7809}.salon-person.vote-picked .salon-seat-vote{border:2px solid #e4c184;background:#ddbc7d0b}.salon-person.vote-picked .salon-portrait>.composer-avatar{border-color:#f2d799}.salon-vote-selected{position:absolute;top:-16px;left:50%;transform:translateX(-50%);font:8px var(--sans);background:#ddbd7e;color:#1a2a33;border-radius:4px;padding:3px 6px;display:flex;gap:3px;align-items:center;white-space:nowrap;z-index:3;pointer-events:none}.salon-game .vote-panel:not(.skill-panel){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px!important}.salon-game .vote-panel:not(.skill-panel) h2{font-size:22px;margin:3px 0}.salon-game .vote-panel:not(.skill-panel) .eyebrow{font-size:8px}.salon-game .vote-panel:not(.skill-panel)>div:last-child{max-width:285px}.salon-game .vote-panel:not(.skill-panel) .fine{font-size:10px}.salon-vote-hint{font-size:11px;color:#b8c0b7;line-height:1.6}.salon-game .salon-hand:not(.phase-current) .role-strip>p{display:none}.salon-game .salon-hand:not(.phase-current) .role-strip{padding-bottom:3px}.salon-game .salon-hand:not(.phase-current) .hand-tools{margin-bottom:0}@media(max-width:660px){.salon-game .vote-panel:not(.skill-panel){grid-template-columns:1fr;gap:9px}.salon-game .vote-panel:not(.skill-panel)>div:last-child{max-width:none}.salon-seat-vote{inset:-7px -4px}.salon-place:has(.salon-seat-vote){padding-top:10px}}.salon-pocket{margin-top:14px;border:1px solid #c2ac7829;border-radius:9px;background:#172632}.salon-pocket>summary{min-height:44px;padding:10px 14px;display:flex;align-items:center;gap:9px;font-size:11px;color:#acb8b8;list-style:none}.salon-pocket>summary>svg:last-child{margin-left:auto}.salon-pocket>summary::-webkit-details-marker{display:none}.salon-pocket[open]>summary>svg:last-child{transform:rotate(180deg)}.salon-game .salon-pocket .hand-stage,.salon-pocket[data-selecting=true]{border:0;margin:0;background:transparent}.salon-pocket[data-selecting=true]>summary{display:none}.salon-game .salon-pocket[data-selecting=true] .hand-stage{border:1px solid #d3bb8547;background:linear-gradient(140deg,#24323df0,#182632);margin-top:16px}.salon-swipe-note{display:none}@media(max-width:660px){.salon-route-progress{display:none}.salon-swipe-note{display:block;text-align:center;font-size:9px;color:#b7b99c;padding:5px 0 0}.salon-game .salon-pocket[data-selecting=true] .hand-stage{margin-top:13px}}.salon-music-drawer>summary{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 0;color:#9aafae;font-size:10px;list-style:none;border-bottom:1px solid #d0b87a20}.salon-music-drawer>summary>svg:last-child{margin-left:auto}.salon-music-drawer>summary::-webkit-details-marker{display:none}.salon-music-drawer[data-settled=false]>summary{display:none}.salon-music-drawer[data-settled=true][open]>.salon-track{margin-top:10px}@media(min-width:951px){.salon-workspace.route-focused .board-map{max-width:calc((100dvh - 310px)*1.4134);margin-left:auto;margin-right:auto;min-width:min(460px,100%)}.salon-workspace.route-focused .salon-route-content{background:#111c29}.salon-workspace.route-focused .salon-route-content>p{background:#1b2935;padding-bottom:8px}.salon-workspace.route-focused .piece-legend{background:#1b2935}}.salon-workspace.route-focused .salon-side-zone>.salon-host-controls[open]{order:-1}body:has(.classical-game){--paper:#f3e4c5;--surface:#fff1d2;--ink:#422b1d;--muted:#78614a;--line:#9f7d4540;--blue:#7e352b;--blue-light:#e3cda4;--ochre:#9b7137;--green:#4c613e;--red:#963c29;color-scheme:light;background:#8d582f url(/ui/classical-table-v1.jpg) top/cover fixed;color:#422b1d}body:has(.classical-game):before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#341d1220,transparent 15%,transparent 85%,#341d1220);z-index:-1}body:has(.classical-game) .jukebox-header.in-room{height:48px;padding:0 30px;border:0;background:transparent;position:relative;z-index:20;max-width:1536px;margin:auto}body:has(.classical-game) .in-room .wordmark{font-size:30px;color:#fff0cd;text-shadow:0 2px 3px #361b1280;letter-spacing:-1.5px}body:has(.classical-game) .wordmark-dot{color:#ead09a}.salon-menu{margin-left:auto;position:relative;color:#f8e7c4}.salon-menu>summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;min-height:34px;padding:4px 10px;font:12px var(--serif);background:#4d2b1abf;border:1px solid #d9b36a70;border-radius:3px;box-shadow:0 2px 3px #381a1238}.salon-menu>summary::-webkit-details-marker{display:none}body:has(.classical-game) .in-room nav.salon-menu-panel{position:absolute;z-index:50;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:180px;margin:0;padding:10px 14px;background:#f7e8c9;border:1px solid #ad8853;border-radius:3px;box-shadow:0 8px 25px #29140860;color:#503321}body:has(.classical-game) .in-room nav.salon-menu-panel :is(button,.home-link){color:#583a29;font:13px var(--serif);min-height:36px;display:flex;gap:8px}body:has(.classical-game) .in-room nav.salon-menu-panel .lang-switch button[aria-pressed=true]{color:#8c3729;text-decoration:underline}body:has(.classical-game) .in-room nav.salon-menu-panel .home-link{display:flex}.classical-game{--salon-gold:#9b7137;--salon-panel:#edddba;max-width:1536px;padding:10px 30px 0;min-height:calc(100dvh - 48px)}.classical-game :is(button,a,input,textarea,select,summary):focus-visible{outline-color:#93412b}.classical-game .eyebrow{color:#8b633b;font-size:9px;letter-spacing:.17em}.classical-game .fine,.classical-game .text-button.muted{color:#75634d}.classical-game .text-button{color:#80372b}.classical-game .button{font-family:var(--serif);font-size:13px;background:linear-gradient(#f4e1b7,#dabe85);border:1px solid #8a622d;border-radius:3px;color:#493220;box-shadow:inset 0 1px #fff6d0,0 2px 2px #38180f30;letter-spacing:.01em}.classical-game .button:hover:not(:disabled){background:#f5dfad;border-color:#603e24;color:#42271a}.classical-game .button.primary{background:linear-gradient(#9d4939,#763328);border-color:#592b22;color:#fff0cf;box-shadow:inset 0 1px #e5b28a66,0 3px 0 #4b241b,0 5px 8px #321a1435}.classical-game .button.primary:hover:not(:disabled){background:linear-gradient(#af5844,#8a3d2b);color:#fff5d9}.classical-game .button.primary:active:not(:disabled){box-shadow:inset 0 1px 4px #2a120e66;transform:translateY(2px)}.classical-game .salon-hud{margin:0 0 13px;min-height:67px;gap:15px}.classical-game .salon-round-title{gap:13px}.classical-game .salon-round-medal{border:2px solid #ba9456;background:radial-gradient(circle at 35% 25%,#a35b46,#743c2d);color:#f9e3ad;border-radius:50%;width:50px;height:50px;box-shadow:0 0 0 3px #592b1b80,inset 0 0 0 3px #6c3828,0 4px 8px #361d1255;font-size:24px}.classical-game .salon-round-title .eyebrow{color:#f1d7aa;text-shadow:0 1px 3px #3c231b;letter-spacing:.22em}.classical-game .room-heading h1{font-size:32px;color:#fff1d3;text-shadow:0 2px 4px #36170e99;line-height:1.2;margin-top:4px}.classical-game .room-tools .button{min-height:33px;font-size:11px;padding:6px 10px;background:#f0deba;color:#5a3b22;border-radius:2px;border-color:#bd9659}.classical-game .room-code{background:#492a1da8;color:#f1dab1;border:1px solid #c8a66f66;border-radius:3px;padding:0 10px;min-height:34px}.classical-game .room-code strong{color:#f6e1bd;font:12px var(--sans);letter-spacing:.13em}.classical-game .salon-controls-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:22px;margin-bottom:14px}.classical-game .salon-controls-row:empty{display:none}.classical-game .salon-controls-row:not(:has(.salon-phase-rail)){grid-template-columns:1fr}.classical-game .salon-phase-rail{border:0;margin:0;padding:13px 14px;background:linear-gradient(90deg,#efd8aacf,#efd8aae8,#efd8aacf);box-shadow:0 3px 8px #32180b30,inset 0 0 0 1px #865d3044;clip-path:polygon(0 0,98.5% 0,100% 50%,98.5% 100%,0 100%,1.5% 50%);gap:4px}.classical-game .salon-phase-rail li{font:11px var(--serif);color:#7b6344;gap:6px}.classical-game .salon-phase-rail li>span{border-color:#967a4b60;color:#82603a;font-size:9px;width:21px;height:21px}.classical-game .salon-phase-rail li:not(:last-child):after{background:#b3925f66;margin:0 6px}.classical-game .salon-phase-rail li.current{color:#7d3124;font-weight:700}.classical-game .salon-phase-rail li.current>span{color:#fff2d8;background:#8a3f2e;border-color:#8a3f2e;box-shadow:none}.classical-game .salon-phase-rail li.passed,.classical-game .salon-phase-rail li.passed>span{color:#4d5b3c;border-color:#77815c70}.classical-game .salon-track{background:#f4e2bd;border:1px solid #b18b4d;border-radius:4px;box-shadow:0 4px 8px #351b1033,inset 0 0 0 3px #d7bd8950;grid-template-columns:40px minmax(0,1fr);gap:6px 11px;padding:9px 13px;position:relative;transform:rotate(.35deg)}.classical-game .salon-track.phase-current{padding-left:13px!important}.classical-game .salon-record{width:40px;height:40px;border:2px solid #8b6336;background:repeating-radial-gradient(#5b3823 0 1px,#9e7549 1.5px 2px,#5b3823 3px 4px);box-shadow:0 2px 3px #4d271d40}.classical-game .salon-record>span{background:#853d30;color:#ead5a5;width:20px;height:20px;font-size:12px}.classical-game .salon-record>span>span{font-size:4px}.classical-game .salon-track .music-heading{margin:0 0 2px;gap:5px}.classical-game .salon-track .music-heading h2{font-size:14px;color:#543923}.classical-game .salon-track .music-heading>svg{width:12px;color:#926b39}.classical-game .salon-track .audio-ready{font-size:10px;color:#735332}.classical-game .salon-track .track-bar{background:#8d683d30;min-height:3px;height:3px}.classical-game .salon-track .track-progress{background:#854735}.classical-game .salon-track-time{font-size:9px;color:#735332}.classical-game .salon-track-time>span{color:#9c855d}.classical-game .salon-track .playback-status{font-size:10px;color:#735332}.classical-game .salon-track .playback-row{grid-column:1/-1;border:0;border-top:1px solid #b5945c50;padding:5px 0 0;gap:7px;justify-content:flex-end}.classical-game .salon-track .button{border:0;box-shadow:none;background:transparent;color:#67482e;min-height:25px;font-size:10px;padding:3px 7px;border-radius:2px}.classical-game .salon-track .button:hover:not(:disabled){background:#d8bc8455;color:#84392a}.classical-game .salon-track .volume{color:#84633e;margin-left:auto}.classical-game .salon-track .volume input{accent-color:#8a4831;min-height:20px;width:60px}.classical-game .salon-workspace{grid-template-columns:minmax(0,1fr) 304px;gap:18px 30px;margin-top:12px}.classical-game .salon-table{border:0;border-radius:0;background:transparent;box-shadow:none;padding:8px 10px 12px;min-height:0}.classical-game .salon-table:before{display:none}.classical-game .salon-table-heading{margin:0 2px 22px}.classical-game .salon-table-heading .eyebrow{color:#f5dfb4;text-shadow:0 1px 2px #3c2016;font-size:8px;letter-spacing:.22em}.classical-game .salon-table-heading>span:last-child{color:#f5d9a8;text-shadow:0 1px 2px #3c2016;font-size:12px}.classical-game .salon-places{gap:20px;align-items:start;padding:8px 0 10px}.classical-game .salon-place{padding-top:calc(var(--seat-index)*0px)}.classical-game .salon-person{margin-bottom:17px;gap:0;position:relative;z-index:3}.classical-game .salon-portrait{margin-bottom:8px}.classical-game .salon-portrait>.composer-avatar{width:73px;height:82px;border-radius:48% 48% 43% 43%;border:3px solid #b38b4d;background:#d7c399;box-shadow:0 0 0 2px #5f3d22,inset 0 0 0 2px #eedba9,0 5px 7px #35190870;filter:sepia(.08)}.classical-game .salon-portrait>.composer-avatar img{border-radius:44%}.classical-game .salon-person>strong{font:16px/1.35 var(--serif);color:#4b2b19;background:linear-gradient(#f6e5c2,#e2c89b);border:1px solid #ac8250;padding:3px 9px;min-width:75%;box-shadow:0 2px 3px #31180950;white-space:normal;max-width:110%;transform:rotate(calc(var(--card-tilt)*-.25))}.classical-game .salon-seat-kind{font-size:8px;color:#f6dfb5;letter-spacing:.14em;text-shadow:0 1px 2px #402011;margin-top:5px}.classical-game .salon-crown,.classical-game .salon-speaking-mark{background:#f4dc9e;color:#6b4227;border:1px solid #82562b;box-shadow:0 2px 3px #321a1440}.classical-game .salon-place.speaking .salon-portrait>.composer-avatar{border-color:#ffdf87;box-shadow:0 0 0 3px #7f4f26,0 0 0 6px #f5d79766,0 4px 16px #4f220d77}.classical-game .salon-place.speaking .salon-person>strong{color:#7c3125;background:#ffe7b3;border-color:#b9863c}.classical-game .salon-card-slot{transform:rotate(calc(var(--card-tilt)*1.8));margin-bottom:4px}.classical-game .salon-played-card{padding:5px 5px 0;background:#f7e9cc;border:1px solid #ae8f61;border-radius:4px;box-shadow:1px 3px 0 #b29569,1px 5px 0 #8b673d,0 10px 14px #3b1e1670;color:#5d492f}.classical-game .salon-played-card img{border-radius:1px;box-shadow:inset 0 0 6px #51301c20}.classical-game .salon-card-number{font-size:9px;padding:5px 3px;min-height:21px}.classical-game .salon-card-back{background:repeating-linear-gradient(45deg,#d5bd8615 0 2px,transparent 2px 8px),#6d3d2c;border-color:#e8cfa3;color:#e1be86}.classical-game .salon-seat-status{color:#f9e4bc;text-shadow:0 1px 3px #3a1a13;font:10px var(--serif);margin-top:12px}.classical-game .salon-seat-status.error{color:#ffe3a8;background:#78362d;padding:4px;border-radius:3px}.classical-game .salon-thinking-dot{background:#ffe09a;box-shadow:0 0 6px #fbc35d}.classical-game .salon-swipe-note,.classical-game .salon-table-note{color:#f5dcaf;text-shadow:0 1px 2px #452212}.classical-game .salon-table.concealed{padding:7px 8px 8px}.classical-game .salon-table.concealed .salon-person{gap:5px 8px}.classical-game .salon-table.concealed .salon-portrait>.composer-avatar{width:44px;height:49px;border-width:2px}.classical-game .salon-table.concealed .salon-person>strong{background:transparent;color:#ffe9c1;padding:0;border:0;box-shadow:none;min-width:0;font-size:13px;text-shadow:0 1px 2px #381b14}.classical-game .salon-table.concealed .salon-seat-kind{color:#e6cba2;font-size:8px}.classical-game .salon-role-reveal{background:#e5d3a9f5;border-color:#9a7a45;color:#4b4c32;box-shadow:0 2px 3px #38221240;font:10px var(--serif)}.classical-game .salon-role-reveal.improviser{background:#854131;color:#fff0c7;border-color:#e4bd7d}.classical-game .salon-place.is-improviser .salon-played-card{outline-color:#efc76e}.classical-game .salon-ballots small{color:#ecd3ac}.classical-game .salon-ballots .composer-avatar.small{border:2px solid #d4b16d;box-shadow:0 2px 3px #321d1255}.classical-game .salon-person.vote-eligible:hover{background:transparent}.classical-game .salon-seat-vote{border:1px dashed #eace9360;border-radius:40% 40% 6px 6px;inset:-7px -5px;box-shadow:0 0 10px #e8c6800c}.classical-game .salon-seat-vote:hover:not(:disabled){border-color:#f8dda5;background:#ffe6ab0d}.classical-game .salon-person.vote-picked .salon-seat-vote{border:2px solid #ffe0a1;background:#ffdc8612;box-shadow:0 0 0 2px #764722}.classical-game .salon-vote-selected{background:#833a2c;border:1px solid #e1b779;color:#fff0c6;box-shadow:0 2px 3px #361a1244;font-size:9px}.classical-game :is(.discussion-panel.salon-dialogue,.round-action-guide,.salon-lobby-note,.ballot-results.settlement,.salon-winner){background-color:#f3e4c5;background-image:radial-gradient(ellipse at 30% 10%,#fff6ddaa,transparent 75%),repeating-linear-gradient(110deg,#a7771e06 0 1px,transparent 1px 4px);border:1px solid #b28c54;border-radius:2px;color:#4b3321;box-shadow:1px 3px 0 #c3a577,2px 5px 0 #88603a,0 9px 15px #30170f4a}.classical-game .discussion-panel.salon-dialogue{--dialogue-ivory:#4d3323;--dialogue-muted:#7b654d;--dialogue-gold:#8d412f;--dialogue-line:#a9865140;padding:20px;transform:rotate(.6deg)}.classical-game .discussion-panel.salon-dialogue:before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid #ba975430}.classical-game .discussion-panel.salon-dialogue.your-speaking-turn{border-color:#9b673d;box-shadow:1px 3px 0 #c3a577,2px 5px 0 #88603a,0 9px 15px #30170f4a}.classical-game .salon-dialogue-heading .speech-count,.classical-game .salon-dialogue-heading .speech-count span{color:#806448}.classical-game .salon-turns{padding:14px 0;gap:7px}.classical-game .salon-turns li{color:#7b664e}.classical-game .salon-turns .composer-avatar{border-color:#a98148;filter:sepia(.15);opacity:1}.classical-game .salon-turn-number{background:#e1c694;color:#5e492e;border-color:#a88c5c}.classical-game .salon-turns li.current{color:#8d3529}.classical-game .salon-turns li.current .salon-turn-number{background:#8d3529;color:#ffe4b5;border-color:#8d3529}.classical-game .salon-turns li.finished .salon-turn-number{color:#405b35;border-color:#8c9864;background:#e4d7ad}.classical-game .salon-speech-spotlight{padding:18px 0 15px}.classical-game .salon-speaker>.composer-avatar{border:2px solid #a47c42;box-shadow:0 0 0 2px #dec492,0 3px 5px #5e3b242c;border-radius:45%}.classical-game .salon-speaker h2{color:#69402a;font-size:25px}.classical-game .salon-speech-label{color:#96683c}.classical-game .salon-latest-speech{margin-top:13px}.classical-game .salon-latest-speech blockquote{font:18px/1.65 var(--serif);color:#523523}.classical-game .salon-latest-speech blockquote:before{content:"“";color:#b18b4c;font:36px/.2 var(--serif);vertical-align:-6px;margin-right:3px}.classical-game .salon-floor-status{color:#7f684c;font-family:var(--serif)}.classical-game .salon-floor-status svg{color:#5d7044}.classical-game .salon-floor-light{background:#7d8655;box-shadow:none}.classical-game .salon-floor-status.is-yours,.classical-game .salon-turn-help{color:#87432f}.classical-game .salon-floor-status.is-yours .salon-floor-light{background:#97462d;box-shadow:0 0 0 3px #9c68241a}.classical-game .salon-speech-history summary{color:#775b3a}.classical-game .salon-speech-history summary small{color:#7b664c;border-color:#9f7e4e50}.classical-game .salon-dialogue .discussion-byline time,.classical-game .salon-dialogue .discussion-count{color:#947955}.classical-game .salon-dialogue .discussion-messages li p,.classical-game .salon-dialogue .discussion-reply-to{color:#5f4933}.classical-game .salon-dialogue .discussion-messages li.own-message{background:#c4a36915;border-radius:0}.classical-game .salon-dialogue .discussion-sent{color:#62713e}.classical-game .salon-dialogue .discussion-compose textarea{background:repeating-linear-gradient(transparent 0 25px,#a17a3530 25px 26px),#fff5dc;color:#4b3322;border:1px solid #b79764;border-radius:1px;font:14px/26px var(--serif);padding:8px 11px;box-shadow:inset 0 2px 5px #81532e15}.classical-game .salon-dialogue .discussion-compose textarea::placeholder{color:#80684b}.classical-game .salon-dialogue .discussion-compose :is(.fine,.text-button),.classical-game .salon-dialogue .voice-note{color:#80684b}.classical-game .salon-dialogue .discussion-compose-footer .button{background:linear-gradient(#9b4d3c,#7b362a);border-color:#663226;border-radius:3px;color:#fff1d1;box-shadow:0 2px 0 #542b20;font-family:var(--serif)}.classical-game .salon-dialogue .discussion-compose-footer .button:hover:not(:disabled){background:#a4553d;border-color:#663226}.classical-game .salon-dialogue .voice-input .voice-button{color:#795533;border-color:#a47c4055;border-radius:2px;background:#f4e7c9}.classical-game .salon-dialogue .voice-input .voice-button:hover:not(:disabled){background:#ecd7ad}.classical-game .salon-dialogue .voice-input .voice-button.is-recording{background:#9b4b39;color:#ffebc3}.classical-game .salon-dialogue .form-error,.classical-game .salon-dialogue .voice-note.voice-error{color:#943928}.classical-game .round-action-guide{padding:15px 17px;transform:rotate(-.6deg)}.classical-game .round-action-guide p{color:#63412b;font:15px/1.65 var(--serif)}.classical-game .round-action-guide.my-turn{background:#f4e3bc;border-color:#ac7b42}.classical-game .salon-pocket{border:0;border-radius:2px;background:#f3dfbbed;box-shadow:0 3px 5px #351c1433;margin-top:18px}.classical-game .salon-pocket>summary{color:#6a492b;font:12px var(--serif)}.classical-game .salon-pocket[data-selecting=true]{background:transparent;box-shadow:none;margin-top:0}.classical-game .hand-stage,.classical-game .salon-pocket[data-selecting=true] .hand-stage{background:transparent;border:0;box-shadow:none;border-radius:0;margin-top:5px;padding:12px 10px}.classical-game .salon-pocket[data-selecting=true] .hand-stage.phase-current{border:0;padding-left:10px!important}.classical-game .salon-pocket:not([data-selecting=true]) .hand-stage{background:#f4e4c4}.classical-game .hand-stage-header{padding-bottom:8px}.classical-game .hand-stage-header .section-caption,.classical-game .hand-stage-header .text-button{color:#f5d8a9;text-shadow:0 1px 2px #3a1c14}.classical-game .role-strip{background:#f4e1bceF;border:1px solid #b48b4e;border-radius:1px;padding:8px 12px;margin-bottom:14px;box-shadow:0 3px 5px #301b1530;gap:12px}.classical-game .role-name>span{color:#8c6d45;font-size:9px}.classical-game .role-name h2{color:#793d2c;font:20px var(--serif)}.classical-game .role-strip>p{color:#735b3c;font:11px/1.5 var(--serif)}.classical-game .secret-target{background:#e2c29170;color:#8c432f}.classical-game .hand-tools h2{color:#ffe7ba;font:20px var(--serif);text-shadow:0 1px 3px #391d13}.classical-game .hand-tools .text-button,.classical-game .hand-tools h2 span,.classical-game .hand-tools p{color:#f0d6a8;text-shadow:0 1px 3px #391d13}.classical-game .salon-pocket:not([data-selecting=true]) .hand-stage-header :is(.section-caption,.text-button),.classical-game .salon-pocket:not([data-selecting=true]) .hand-tools :is(h2,h2 span,p,.text-button){color:#765735;text-shadow:none}.classical-game .hand-gallery{gap:11px;padding:12px 8px 17px;max-width:820px;margin:auto;perspective:1100px}.classical-game .large-hand-card{background:#f8eacc;border:1px solid #af8a50;border-radius:4px;padding:5px;box-shadow:1px 3px 0 #b89c71,0 8px 12px #3e211360;transform:rotate(calc(var(--hand-tilt)*2))}.classical-game .large-hand-card:focus-within,.classical-game .large-hand-card:hover{box-shadow:0 12px 18px #3e211360}.classical-game .large-hand-card.selected{outline:2px solid #ffdfa0;outline-offset:4px;border-color:#88542e;box-shadow:0 8px 22px #391c1366}.classical-game .hand-art{border-radius:1px;background:#e0c69a}.classical-game .hand-card-caption{color:#695435;font-size:9px;padding-top:5px}.classical-game .hand-card-caption button{color:#705336}.classical-game .assigned-badge,.classical-game .selection-badge{background:#813c2c;color:#fff0c7;border-radius:0;font-family:var(--serif)}.classical-game .hand-submit,.classical-game .salon-hand .hand-submit{background:#f0dcb6f5;border:1px solid #b9955b;border-radius:2px;padding:11px 14px;box-shadow:0 4px 7px #34190d40;backdrop-filter:none}.classical-game .hand-submit strong{color:#813c2b;font:16px var(--serif)}.classical-game .hand-submit>div>span{color:#7e6140;font-size:10px}.classical-game .private-hidden{color:#7a6140}.classical-game .skill-hand{border-top-color:#edce9670}.classical-game .skill-hand .section-caption{color:#f4d9a9;text-shadow:0 1px 2px #34190d}.classical-game .salon-pocket:not([data-selecting=true]) .skill-hand .section-caption{color:#89663d;text-shadow:none}.classical-game .skill-card{background:#f1dfb8;border:1px solid #b38c50;color:#604026;border-radius:2px;box-shadow:0 2px 4px #371c1226}.classical-game .skill-card.selected,.classical-game button.skill-card:hover:not(:disabled){background:#fbe8bc;border-color:#914d30;box-shadow:inset 0 0 0 1px #914d30}.classical-game .skill-card.back{background:#774334;color:#f5deb1}.classical-game .vote-panel{background:#f2dfb8;border:1px solid #b08b4e;border-radius:2px;box-shadow:0 4px 7px #381c1640;transform:rotate(-.25deg)}.classical-game .vote-panel h2{color:#6b3b26}.classical-game .salon-vote-hint{color:#795e3c;font-family:var(--serif)}.classical-game .saved-choice{color:#4c6037;background:#d9d1a870;border:1px solid #8a945c65;border-radius:2px}.classical-game .salon-route-zone{background:#f2e1bfee;border:1px solid #a47c43!important;border-radius:2px;box-shadow:0 4px 8px #32170d40}.classical-game .salon-route-heading{padding:13px 16px;color:#977440;min-height:65px}.classical-game .salon-route-heading>span>strong{color:#694728;font-size:20px}.classical-game .salon-route-progress{gap:7px;padding:0 16px 15px}.classical-game .salon-route-progress>div{font-family:var(--serif);color:#684b2e;font-size:12px}.classical-game .salon-route-progress small{color:#967a51;font-size:10px}.classical-game .salon-route-progress .composer-avatar.small{border:1px solid #a17c45;background:#dcc395}.classical-game .salon-workspace.route-focused .salon-route-content{background:#7b5030}.classical-game .salon-workspace.route-focused .piece-legend,.classical-game .salon-workspace.route-focused .salon-route-content>p{background:#f0ddba;color:#856444}.classical-game .piece-legend{color:#7f603e;background:#efdbb5}.classical-game .board-map{border:3px solid #96713d;box-shadow:0 0 0 1px #dac18b}.classical-game .move-prompt{background:#f4e5c6;border:1px solid #b38c54;border-radius:2px;color:#5c3c25}.classical-game .move-options button{background:#e8d0a3;border:1px solid #b18c51;color:#6e4a2a;border-radius:2px}.classical-game .move-options button.selected{background:#924c34;color:#fff2d3;border-color:#713724}.classical-game .move-options button small{color:inherit;opacity:.8}.classical-game .ballot-results.settlement{padding:20px;transform:rotate(-.5deg)}.classical-game .settlement .section-caption{color:#946c3e}.classical-game .settlement h2{color:#7c3c29;font-size:25px}.classical-game .settlement>p{color:#876847;font:12px/1.7 var(--serif)}.classical-game .salon-score-tokens>div{color:#6e5134;font-family:var(--serif);font-size:13px}.classical-game .salon-score-tokens>div>strong{color:#8c4330;font-size:25px}.classical-game .salon-score-details{border-top-color:#a7854d44}.classical-game :is(.salon-score-details,.salon-dialogue-recap,.salon-round-recap)>summary{color:#85633d;font-family:var(--serif)}.classical-game .salon-dialogue-recap,.classical-game .salon-round-recap{background:#f4dfb9dd;border:1px solid #b38d5144;border-radius:2px;box-shadow:0 2px 4px #38201426}.classical-game .salon-round-recap[open]{background:#70462c40;border-color:#d9b97d}.classical-game .salon-round-recap[open]>summary{color:#ffebc0}.classical-game .settle-reasons,.classical-game .settle-reasons .settle-move{color:#7c603f}.classical-game .salon-host-controls{border:1px solid #ac834d66;border-radius:2px;background:#f2dfb9e8;box-shadow:0 2px 4px #38201426}.classical-game .salon-host-controls>summary{color:#87653d;min-height:30px;font:10px var(--serif)}.classical-game .host-next{background:transparent;color:#795935;padding:12px 15px;gap:10px}.classical-game .host-next p{color:#816644;font:11px/1.6 var(--serif)}.classical-game .host-actions>.button:not(.primary){color:#8b643a}.classical-game .waiting-host{border:0;color:#816644}.classical-game .salon-winner{border-color:#b18849;transform:rotate(-.2deg);padding:25px 30px}.classical-game .salon-winner h2{color:#7f3f28;font-size:38px}.classical-game .salon-winner .fine{color:#92724b}.classical-game .salon-winner-portraits>.composer-avatar{border-color:#af8548;box-shadow:0 0 0 4px #e1c693,0 4px 8px #38201355}.classical-game .salon-winner-portraits>svg{color:#9e7434;filter:drop-shadow(0 1px 0 #f8e6b4)}.classical-game .salon-lobby-stage{border:0;background:transparent;box-shadow:none;border-radius:0;padding:35px 8px 20px;overflow:visible}.classical-game .salon-lobby-stage>.eyebrow{color:#f6dda9;letter-spacing:.24em;text-shadow:0 1px 3px #3d2116}.classical-game .salon-lobby-stage>h2{font:52px/1.14 var(--serif);color:#fff0ce;text-shadow:0 2px 4px #3f201599;max-width:14em;margin:16px 0}.classical-game .salon-lobby-stage>p{font:16px var(--serif);color:#f7ddb0;text-shadow:0 1px 3px #3d2116;margin-bottom:40px}.classical-game .composer-table.is-lobby>.section-caption{color:#f3d6a6;text-shadow:0 1px 3px #3d2116;padding-bottom:20px}.classical-game .composer-seat{background:transparent;border:0;border-radius:0;box-shadow:none;padding:10px 5px 15px;position:relative}.classical-game .composer-seat.is-me{background:transparent;border:0}.classical-game .composer-seat .composer-avatar{width:100px;height:116px;border-radius:47% 47% 42% 42%;border:4px solid #b28c4f;box-shadow:0 0 0 2px #71461f,0 0 0 4px #e0bb7755,0 9px 12px #3c20156b}.classical-game .composer-seat.is-me .composer-avatar{border-color:#f0cf8c;box-shadow:0 0 0 2px #855323,0 0 0 5px #e9c58355,0 9px 12px #3c20156b}.classical-game .composer-seat-copy{margin-top:16px;color:#f2d5a7}.classical-game .composer-seat-copy strong{font:19px var(--serif);color:#fff0ca;text-shadow:0 2px 3px #341b13}.classical-game .composer-seat-copy strong small{color:#ffdfa0;font-size:9px}.classical-game .composer-seat-copy p,.classical-game .composer-seat-copy>span{color:#f2d5a7;text-shadow:0 1px 3px #341b13}.classical-game .composer-host{background:#e2c385;color:#724a24;border-color:#815727}.classical-game .composer-lobby-actions{border-top-color:#dcb47755;justify-content:center}.classical-game .salon-lobby-note{padding:24px 23px;transform:rotate(1deg);position:relative}.classical-game .salon-lobby-note:before{content:"";position:absolute;inset:6px;border:1px solid #bd9c643d;pointer-events:none}.classical-game .salon-lobby-note ol{gap:24px;margin-top:24px}.classical-game .salon-lobby-note li{color:#72502e;font-size:17px}.classical-game .salon-lobby-note b{color:#a7834c;font-family:var(--serif)}.classical-game .room-journal{border-color:#f0d39a33;color:#f1d5aa;margin-top:23px;text-shadow:0 1px 2px #381d14}.classical-game .room-journal p{color:#f4ddb6;border-color:#e5be7c25;background:#50301f70;padding:8px 12px}.classical-game .room-journal time{color:#d6b986}.classical-game .room-footer{color:#eacb97;border-color:#e8c89133;text-shadow:0 1px 2px #381d14;font-size:9px;margin-top:8px;padding-bottom:14px}.classical-game .ai-status,.classical-game .notice{background:#f2ddb8;border:1px solid #a57943;color:#7c4f2d;border-radius:2px}body:has(.classical-game) .dialog{background:#f4e4c5;color:#543824;border:2px solid #a68149;border-radius:4px;box-shadow:0 0 0 4px #e3ca96,0 20px 70px #30170f88}body:has(.classical-game) .dialog::backdrop{background:#2b1c11a6;backdrop-filter:blur(4px)}body:has(.classical-game) .dialog .button.primary{background:#8c4432;color:#fff0d0;border-color:#723421}body:has(.classical-game) .dialog .button.primary:hover:not(:disabled){background:#a3563c;color:#fff0d0}body:has(.classical-game) .dialog .button:hover:not(:disabled),body:has(.classical-game) .dialog .icon-button:hover{background:#dfc69b;color:#6d4527}body:has(.classical-game) .dialog .composer-option.selected,body:has(.classical-game) .dialog .composer-option:hover:not(:disabled){background:#e6cea2;color:#6f3d26}body:has(.classical-game) .dialog .confirm-box{background:#e4c998;color:#713c25;border-color:#ad7841;border-radius:2px}body:has(.classical-game) .dialog .notice{background:#ead5ae;color:#7d5732}body:has(.classical-game) ::selection{background:#9b5d354d;color:#422719}@media(min-width:1600px){.classical-game{padding:12px 40px 0}.classical-game .salon-workspace{grid-template-columns:minmax(0,1fr) 340px;gap:22px 40px}.classical-game .salon-places{gap:26px}.classical-game .salon-portrait>.composer-avatar{width:82px;height:92px}.classical-game .salon-played-card img{max-height:310px;object-fit:cover}}@media(max-width:1150px){.classical-game{padding:9px 24px 0}.classical-game .salon-workspace{grid-template-columns:minmax(0,1fr) 280px;gap:15px 23px}.classical-game .salon-places{gap:14px}.classical-game .salon-portrait>.composer-avatar{width:58px;height:67px}.classical-game .salon-person>strong{font-size:14px;padding:3px 6px}.classical-game .salon-controls-row{gap:18px;grid-template-columns:minmax(0,1fr) 340px}.classical-game .salon-phase-rail li{font-size:10px;flex-direction:column;gap:5px}.classical-game .salon-phase-rail li:not(:last-child):after{display:none}.classical-game .salon-lobby-stage>h2{font-size:43px}.classical-game .composer-seat .composer-avatar{width:76px;height:90px}.classical-game .composer-seat-copy strong{font-size:17px}.classical-game .hand-gallery{gap:10px}}@media(max-width:950px){.classical-game .salon-workspace{grid-template-columns:1fr;gap:17px}.classical-game .salon-controls-row{grid-template-columns:1fr 350px;gap:16px}.classical-game .salon-places{gap:20px}.classical-game .salon-portrait>.composer-avatar{width:65px;height:74px}.classical-game .salon-person>strong{font-size:16px}.classical-game .salon-side-zone{grid-template-columns:minmax(0,1fr) minmax(200px,.6fr)}.classical-game .salon-lobby-stage{padding-top:25px}.classical-game .salon-lobby-stage>h2{font-size:45px}.classical-game .composer-seat .composer-avatar{width:90px;height:104px}}@media(max-width:660px){body:has(.classical-game){background-size:auto 100dvh;background-position:48% top}body:has(.classical-game) .jukebox-header.in-room{padding:0 14px;height:43px}body:has(.classical-game) .in-room .wordmark{font-size:27px}.classical-game{padding:7px 14px 0}.classical-game .salon-hud{margin-bottom:10px;gap:9px;min-height:0}.classical-game .room-heading h1{font-size:26px}.classical-game .salon-round-medal{width:42px;height:42px;font-size:21px}.classical-game .room-tools{gap:7px}.classical-game .room-code{padding:0 8px;min-height:30px}.classical-game .room-tools .button{min-height:30px;padding:5px 8px;font-size:10px}.classical-game .salon-controls-row{grid-template-columns:1fr;gap:10px;margin-bottom:7px}.classical-game .salon-phase-rail{padding:9px 10px;gap:4px}.classical-game .salon-phase-rail li{font-size:9px;gap:5px}.classical-game .salon-track{padding:8px 11px;grid-template-columns:35px minmax(0,1fr);gap:5px 9px;transform:none}.classical-game .salon-track.phase-current{padding-left:11px!important}.classical-game .salon-record{width:35px;height:35px}.classical-game .salon-track .playback-row{padding-top:4px}.classical-game .salon-workspace{margin-top:11px;gap:14px}.classical-game .salon-table{padding:7px 0 11px}.classical-game .salon-table-heading{margin:0 6px 14px}.classical-game .salon-places{padding:8px 8px 12px;gap:17px;scrollbar-color:#efcc8870 transparent}.classical-game .salon-place{flex-basis:128px}.classical-game .salon-portrait>.composer-avatar{width:59px;height:68px}.classical-game .salon-person>strong{font-size:15px;min-width:80%}.classical-game .salon-table.concealed{padding:8px 0 5px}.classical-game .salon-table.concealed .salon-person>strong{font-size:10px}.classical-game .salon-table.concealed .salon-portrait>.composer-avatar{width:36px;height:43px}.classical-game .salon-table.concealed .salon-seat-status{font-size:8px;min-height:13px}.classical-game .salon-table.concealed .salon-seat-kind{font-size:7px}.classical-game .salon-table.concealed .salon-table-note{font-size:8px}.classical-game .salon-pocket[data-selecting=true] .hand-stage.phase-current{padding-left:0!important;padding-right:0}.classical-game .salon-pocket[data-selecting=true] .hand-stage{padding:9px 0}.classical-game .hand-stage-header{padding:0 4px 7px}.classical-game .role-strip{padding:8px 10px;margin-bottom:11px}.classical-game .role-name h2{font-size:20px}.classical-game .hand-tools{padding:0 5px}.classical-game .hand-tools h2{font-size:18px}.classical-game .hand-gallery{padding:16px 6px 14px;gap:15px}.classical-game .large-hand-card{flex-basis:126px;transform:rotate(calc(var(--hand-tilt)*.8))}.classical-game .hand-submit,.classical-game .salon-hand .hand-submit{padding:10px 11px}.classical-game .hand-submit .button{min-height:43px}.classical-game .salon-side-zone{display:flex;align-items:stretch}.classical-game .discussion-panel.salon-dialogue{transform:none;padding:18px}.classical-game .salon-latest-speech blockquote{font-size:17px}.classical-game .round-action-guide{transform:none}.classical-game .salon-route-heading{min-height:61px}.classical-game .salon-lobby-stage{padding:25px 5px 10px}.classical-game .salon-lobby-stage>h2{font-size:38px;max-width:10em}.classical-game .salon-lobby-stage>p{font-size:14px;line-height:1.6;margin-bottom:27px}.classical-game .composer-seats{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 9px}.classical-game .composer-seat .composer-avatar{width:72px;height:83px;border-width:3px}.classical-game .composer-seat-copy{margin-top:12px}.classical-game .composer-seat-copy strong{font-size:16px}.classical-game .composer-seat-copy>span{font-size:8px}.classical-game .salon-lobby-note{padding:22px;transform:none}.classical-game .salon-lobby-note li{font-size:16px}.classical-game .salon-winner{padding:22px 19px;transform:none}.classical-game .salon-winner h2{font-size:29px}.classical-game .room-footer{font-size:8px}.classical-game .salon-round-recap{padding:4px 9px}}@media(prefers-reduced-motion:reduce){.classical-game *{scroll-behavior:auto!important}}.classical-game .board-map .pawn-journey-score{background:#f2dfb8;color:#7d3527;border-color:#926d36;border-radius:3px;box-shadow:0 3px 7px #30170b66}.classical-game .board-map .pawn-journey-score>span{color:#6b5030}.classical-game .board-map .board-motion-caption{background:#f1dfbcef;color:#69432c;border-color:#aa8147;border-radius:3px;font-family:var(--serif)}