:root{font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#242423;background:#fff;font-synthesis:none;--ink: #242423;--muted: #6e6e69;--line: #deded8;--paper: #fff;--radius: 14px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #777;outline-offset:5px}h1:focus{outline:none}button,input{font-size:1rem}.app-shell{max-width:900px;margin:auto;padding:0 24px}.home{min-height:100svh;display:flex;align-items:center;justify-content:center}.primary,.game-choice{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border:1px solid var(--ink);border-radius:4px;background:#fff;font-size:16px}.primary:hover,.game-choice:hover{background:#eee}.start{min-width:180px}.selection,.play-section{padding:40px 0}h1{font-size:24px;font-weight:600;margin:28px 0}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}.game-list{display:flex;flex-wrap:wrap;gap:12px}.game-choice{min-width:180px}.play-table{background:var(--field-bg);color:var(--field-ink);padding:24px;border:1px solid var(--field-border);border-radius:4px}.field-dots{background-image:radial-gradient(#bcbcb6 .7px,transparent .7px);background-size:12px 12px}.game-stats{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;margin-bottom:24px;font-size:14px}.game-stats strong{font-size:18px}.text-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;min-height:44px;font-size:14px}.playing-card{aspect-ratio:5/7;width:100%;min-width:0;border:1px solid #aaa;border-radius:5px;background:#fff;position:relative;display:flex;align-items:center;justify-content:center;padding:8px;color:#292929}.card-corner{position:absolute;top:9px;left:10px;font-family:Georgia,serif;font-size:20px;line-height:1;text-align:center}.card-corner small{display:block;font-size:14px;margin-top:3px}.card-corner.bottom{inset:auto 10px 9px auto;transform:rotate(180deg)}.card-suit{font-size:42px}.card-back-inner{border:1px solid #96968e;display:flex;align-items:center;justify-content:center;border-radius:2px;height:100%;width:100%;background:#edede8}.card-back-inner>span{font-size:26px}.lines .card-back-inner{background:repeating-linear-gradient(45deg,#eee,#eee 3px,#c8c8c1 3px,#c8c8c1 4px)}.round-status{min-height:48px;margin-top:20px;display:flex;gap:12px;align-items:center;justify-content:center;font-size:14px;flex-wrap:wrap}@media(max-width:560px){.app-shell{padding:0 16px}.selection,.play-section{padding:20px 0}.play-table{padding:16px 10px}.game-stats{gap:12px}.card-corner{left:6px;top:6px;font-size:16px}.card-corner.bottom{inset:auto 6px 6px auto}.card-corner small{font-size:11px}.card-suit{font-size:28px}.playing-card{padding:5px}.round-status{text-align:center}}.playing-card{container-type:inline-size;box-shadow:0 1px 3px #00000012}.playing-card.red{color:#b51e2d}.playing-card.black{color:#171c26}.card-corner{font-size:clamp(14px,21cqw,23px);left:6%;top:5%}.card-corner small{font-size:.7em}.card-corner.bottom{inset:auto 6% 5% auto}.card-suit{font-size:54cqw}.card-pips{position:absolute;top:13%;right:18%;bottom:13%;left:18%}.card-pips>span{position:absolute;font-size:25cqw;line-height:1}.court-art{position:absolute;top:12%;right:24%;bottom:12%;left:24%;width:52%;height:76%;border:1px solid currentColor}.joker-art{display:flex;flex-direction:column;align-items:center}.joker-art>span{font-size:45cqw}.joker-art small{font:700 13cqw Georgia,serif}.card-back-inner{background-color:#273b67;background-image:repeating-linear-gradient(45deg,transparent 0 5px,#ffffff30 5px 6px),repeating-linear-gradient(-45deg,transparent 0 5px,#ffffff30 5px 6px);border:2px solid white;outline:1px solid #273b67}.card-back-inner>span{background:#273b67;color:#fff;border:1px solid #ffffffa0;width:45%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font-size:25cqw}.lines .card-back-inner{background-color:#273b67;background-image:repeating-linear-gradient(45deg,#273b67 0,#273b67 3px,#64769a 3px,#64769a 4px)}.versus-game{max-width:760px;margin:auto}.hand-heading{display:flex;align-items:center;gap:16px;margin:10px 0 12px}.hand-heading h2{font-size:16px;font-weight:600;margin:0}.hand-heading>span{font-size:16px}.hand{display:flex;flex-wrap:wrap;gap:10px;min-height:48px;margin-bottom:24px}.hand>.playing-card{flex:0 0 100px;width:100px}.compact-hand{gap:8px}.compact-hand>.playing-card{flex-basis:80px;width:80px}.hand button.playing-card:not(:disabled):hover{outline:2px solid #333;outline-offset:2px}.game-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0}.primary:disabled{opacity:.45;background:#fff}.game-rules{margin-top:24px;font-size:14px}.game-rules summary{cursor:pointer;padding:10px 0}.game-rules p{line-height:1.8;margin:8px 0}@media(max-width:560px){.hand{gap:8px}.hand>.playing-card{flex-basis:78px;width:78px}.compact-hand{gap:6px}.compact-hand>.playing-card{flex-basis:60px;width:60px}}.generated-card-art{position:absolute;display:block;background-repeat:no-repeat;pointer-events:none}.generated-face{top:9%;right:20%;bottom:9%;left:20%}.generated-back{top:5%;right:5%;bottom:5%;left:5%;border-radius:3px}.playing-card.monochrome-card{background:#fff;color:#151515;border-color:#9c9c9c}.monochrome-card .card-corner{z-index:1;font-family:Georgia,Times New Roman,serif}.monochrome-card .card-pips{top:15%;right:20%;bottom:15%;left:20%}.playing-card.full-image-card{display:block;aspect-ratio:5 / 7;height:auto;padding:0;border:0;border-radius:7%/5%;overflow:hidden;background:transparent;box-shadow:none;container-type:normal;object-fit:contain}.full-image-card>img{display:block;width:100%;height:auto;aspect-ratio:5 / 7;object-fit:contain;border-radius:7%/5%}img.unframed-court-card,.unframed-court-card>img{object-view-box:inset(2.6% 4%);object-fit:fill}@supports not (object-view-box: inset(2.6% 4%)){img.unframed-court-card,.unframed-court-card>img{clip-path:inset(2.6% 4% round 5%)}}.hand button.full-image-card:not(:disabled):hover{outline:none;filter:brightness(.94)}.hand button.full-image-card:focus-visible{outline:3px solid #777;outline-offset:4px}body:has(.game-screen){background:#fff;color:#26344d}.game-screen{max-width:1240px;padding:0 40px}.play-section{position:relative;min-height:100svh;padding:34px 0 24px}.play-back{position:absolute;top:30px;left:0;display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:38px;padding:8px 20px;border:1px solid #d5dce7;border-radius:24px;color:#354664;font-size:14px;z-index:2}.play-back:hover{background:#eaf0f8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-screen .play-table{padding:0;border:0;border-radius:0;background:transparent;color:inherit}.game-screen .versus-game{max-width:1040px}.game-screen .hand-heading{justify-content:center;gap:10px;margin:0 0 20px}.game-screen .hand-heading h2{font-size:14px;font-weight:600;letter-spacing:.04em}.game-screen .opponent-heading{min-height:38px;padding:0 95px}.cpu-badge{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:#e4effe;border:1px solid #cdddf1;color:#426799;font-size:10px;font-weight:700;letter-spacing:.02em}.game-screen .hand-count,.game-screen .hand-heading>span:not(.cpu-badge){color:#8793a7;font-size:12px}.game-screen .hand{justify-content:center;flex-wrap:wrap;gap:8px;margin:0;align-items:flex-start}.game-screen .opponent-hand>.playing-card{width:76px;flex:0 0 76px}.game-screen .player-hand>.playing-card{width:106px;flex:0 0 106px}.game-screen .playing-card.full-image-card{filter:none;box-shadow:0 1px 2px #26344d14,0 4px 9px #26344d1c;transition:transform .16s ease,box-shadow .16s ease}.game-screen .hand button.full-image-card:not(:disabled):hover{transform:translateY(-5px);filter:none;box-shadow:0 2px 3px #26344d14,0 7px 14px #26344d24}.table-center{min-height:clamp(105px,23vh,210px);display:flex;align-items:center;justify-content:center;padding:22px 0}.table-center p{color:#8b95a5;font-size:14px;margin:0;text-align:center}.game-screen .player-heading{margin-bottom:14px}.game-screen .player-heading h2{font-size:12px;font-weight:400;color:#8793a7}.turn-dock{display:flex;align-items:center;justify-content:center;gap:24px;margin:26px 0 0}.turn-dock:before,.turn-dock:after{content:"";height:1px;width:74px;background:#c1d6ee}.turn-label{min-width:168px;padding:12px 24px;text-align:center;border-radius:28px;background:#c1e2ff;color:#284d73;box-shadow:0 3px 8px #6c96bd16;font-size:14px;font-weight:600}.game-screen .game-actions{gap:12px;margin:15px 0 0}.game-screen .primary{border:0;border-radius:26px;background:#c1e2ff;color:#284d73;padding:12px 28px;min-height:44px;font-size:14px}.game-screen .primary:hover{background:#a9d6fc}.game-screen .text-button{color:#8490a2;font-size:12px;text-decoration:none}.game-screen .text-button:hover{color:#355d87}.game-screen .game-rules{position:absolute;top:30px;right:0;margin:0;z-index:3}.game-screen .game-rules summary{list-style:none;min-width:82px;min-height:38px;display:flex;align-items:center;justify-content:center;padding:8px 20px;border:1px solid #d5dce7;border-radius:24px;color:#354664;font-size:14px}.game-screen .game-rules summary::-webkit-details-marker{display:none}.game-screen .game-rules summary:hover{background:#eaf0f8}.game-screen .game-rules p{position:absolute;right:0;top:44px;width:min(320px,calc(100vw - 40px));margin:0;padding:20px;background:#fff;box-shadow:0 8px 30px #24345020;border-radius:12px;line-height:1.9;color:#43536a}.game-screen .game-stats{padding:65px 0 15px;color:#65768d}@media(max-width:650px){.game-screen{padding:0 16px}.play-section{padding-top:24px}.play-back,.game-screen .game-rules{top:20px}.play-back,.game-screen .game-rules summary{min-width:62px;min-height:36px;padding:8px 14px;font-size:12px}.game-screen .opponent-heading{padding:0 66px;gap:6px;margin-bottom:24px}.game-screen .hand-heading h2{font-size:12px}.cpu-badge{width:28px;height:28px;font-size:8px}.game-screen .hand-count{display:none}.game-screen .hand{gap:5px}.game-screen .opponent-hand>.playing-card{flex-basis:48px;width:48px}.game-screen .player-hand>.playing-card{flex-basis:64px;width:64px}.table-center{min-height:130px}.table-center p{font-size:12px}.turn-dock{gap:18px;margin-top:24px}.turn-dock:before,.turn-dock:after{width:36px}}@media(prefers-reduced-motion:reduce){.game-screen .playing-card{transition:none}}.game-screen .playing-card.design-preview-card{border-radius:0;overflow:visible;box-shadow:none;filter:drop-shadow(0 2px 3px #26344d20)}.design-preview-note{margin:14px 0 0;color:#8793a7;text-align:center;font-size:12px}.game-screen .playing-card.natural-image-card{border-radius:0;overflow:visible;box-shadow:none;filter:drop-shadow(0 2px 3px #26344d20)}.natural-image-card>img{border-radius:0}.game-screen .hand button.natural-image-card:not(:disabled):hover{box-shadow:none;filter:drop-shadow(0 5px 6px #26344d28)}.playing-card.friends-card{background:#fffdf8;border:1px solid #c4a779;border-radius:7%/5%;box-shadow:inset 0 0 0 3px #fffdf8,inset 0 0 0 4px #e4d6bd;overflow:hidden}.friends-card.red{color:#df3554}.friends-card.black{color:#202842}.friends-card .card-corner{z-index:2;font-family:Georgia,serif}.friends-card .generated-face{top:15%;right:7%;bottom:15%;left:7%;background-size:500% 140%!important}.friends-card .generated-back{top:3%;right:3%;bottom:3%;left:3%;border-radius:5%;background-size:500% 140%!important}.friends-card .card-pips{top:17%;right:22%;bottom:17%;left:22%}.friends-card .card-pips>span{font-size:21cqw}:root[data-background=white]{--site-paper: #fff;background:#fff}:root[data-background=white] body{background:#fff}:root[data-background=white] :is(.app-shell,.standalone-game-screen,.home-lobby,.game-selection,.game-selection.selection-mobile.selection-friends){background:#fff}:root[data-background=white] :is(.settings-dialog,.site-header,.selection-tabs,.selection-empty,.strategy-card,.friends-tile,.mobile-game-tile){background:#fff}:root[data-background=white] .app-shell[data-accent]>.settings-trigger,:root[data-background=white] .app-shell.card-table-screen .play-back{background:#fff}:root[data-background=white] .setting-choices>button:not([aria-pressed=true]){background:#fff}:root[data-background=white] .strategy-paper,:root[data-background=white] .mobile-game-tile[data-category=board] .mobile-tile-hit{background:#fff}:root[data-background=white] .friends-tile-image{-webkit-mask-image:linear-gradient(to right,transparent 42%,#000 72%);mask-image:linear-gradient(to right,transparent 42%,#000 72%)}:root[data-background=white] .strategy-card.is-selected:has(.friends-tile),:root[data-background=white] .mobile-game-tile.is-selected:has(.friends-tile){box-shadow:0 0 0 2px #fff,0 0 0 3px #e7baa8,0 5px 14px #8c65551c}:root[data-background=white] .selection-artwork{-webkit-mask-image:linear-gradient(to right,transparent,#000 28%);mask-image:linear-gradient(to right,transparent,#000 28%)}:root[data-background=white] .ticket-scene-art{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent)}:root[data-background=white] :is(.orbit-medallion,.orbit-choice.is-selected .orbit-select,.orbit-select:hover,.orbit-unavailable,.strategy-unavailable,.selection-navigation button){background:#fff}:root[data-background=white] .orbit-medallion{outline-color:#fff;box-shadow:inset 0 0 0 4px #f1f1f1,0 3px 6px #946a4524}:root[data-background=white] :is(.game-dialog,.board-dialog,.table-player-portrait,.classic-result,.classic-rules p){background:#fff}:root[data-background=white] .game-toolbar-actions>:is(button,label),:root[data-background=white] .game-dialog .game-choices button:not([aria-pressed=true]),:root[data-background=white] .board-dialog-actions button:not([aria-pressed=true]):not(.primary-choice){background:#fff}.friend-waiting{display:none}@media(min-width:701px){.online-room.online-room--guest-waiting{background:#edf4fc;box-sizing:border-box}.online-room--guest-waiting>.online-room-header{position:relative;z-index:2}.online-room--guest-waiting>.online-room-header>div,.online-room--guest-waiting>.online-lobby{display:none}.online-room--guest-waiting>.online-connection{position:relative;z-index:2}.online-room--guest-waiting>.online-error{position:relative;z-index:2}.online-room--guest-waiting>.online-connection:not(:has(button)){visibility:hidden}.online-room--guest-waiting>.friend-waiting{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.friend-waiting-content{width:min(640px,48vw);padding:24px 0;text-align:center}.friend-waiting-art{width:100%;aspect-ratio:1365 / 601;margin-bottom:32px}.friend-waiting-art img{display:block;width:100%;height:100%;object-fit:contain;animation:friend-waiting-breathe 3s ease-in-out infinite}.friend-waiting-label{margin:0 0 20px;color:#58749b;font-family:Selection Maru,Yu Gothic,sans-serif;font-size:18px;line-height:1.6;font-weight:600;letter-spacing:.1em}.friend-waiting-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.friend-waiting-dots i{width:5px;height:5px;border-radius:50%;background:#8da9ce;animation:friend-waiting-dot 1.2s ease-in-out infinite}.friend-waiting-dots i:nth-child(2){animation-delay:.18s}.friend-waiting-dots i:nth-child(3){animation-delay:.36s}}@keyframes friend-waiting-breathe{0%,to{transform:translateY(2px)}50%{transform:translateY(-5px)}}@keyframes friend-waiting-dot{0%,65%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.friend-waiting *{animation:none}}.asset-loading{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#edf4fc;color:#58749b;z-index:10000}.asset-loading .friend-waiting-content{width:min(640px,70vw);text-align:center}.asset-loading .friend-waiting-art{aspect-ratio:1365 / 601;margin-bottom:24px}.asset-loading .friend-waiting-art img{width:100%;height:100%;object-fit:contain}.asset-loading .friend-waiting-label{font-size:18px}.asset-loading button{border:1px solid #b6cbe0;border-radius:12px;background:#fff;color:#58749b;padding:12px 24px;cursor:pointer}.asset-loading-count{font-size:13px;opacity:.7;font-variant-numeric:tabular-nums}@media(max-width:700px)and (orientation:portrait){.bootstrap-loading .asset-loading{inset:auto;left:50%;top:50%;width:100dvh;height:100dvw;transform:translate(-50%,-50%) rotate(90deg)}.bootstrap-loading .friend-waiting-content{width:min(480px,60dvh)}}.screen-asset-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#edf4fc}.screen-asset-dialog::backdrop{background:#edf4fc}html[data-screen-loading] body>:not(.screen-asset-dialog){opacity:0}html[data-screen-loading] body>:not(.screen-asset-dialog) *,html[data-screen-loading] body>:not(.screen-asset-dialog) *:before,html[data-screen-loading] body>:not(.screen-asset-dialog) *:after{animation-play-state:paused!important}
