:root{--sa-t: var(--safe-top, env(safe-area-inset-top, 0px));--sa-r: var(--safe-right, env(safe-area-inset-right, 0px));--sa-b: var(--safe-bottom, env(safe-area-inset-bottom, 0px));--sa-l: var(--safe-left, env(safe-area-inset-left, 0px));--target: 48px;--bg: #f4f1ea;--surface: #fffdf8;--ink: #1e2430;--ink-soft: #565f6d;--line: #d4cec0;--accent: #1f4f9e;--accent-ink: #ffffff;--key: #ebe6da;--shadow: rgba(30, 36, 48, .22);--scrim: rgba(20, 24, 32, .55);--ring: #1b4aa8;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14171d;--surface: #1c2129;--ink: #e9edf3;--ink-soft: #a5afbf;--line: #2f3744;--accent: #7aa7ff;--accent-ink: #0e1420;--key: #262d38;--shadow: rgba(0, 0, 0, .6);--scrim: rgba(0, 0, 0, .65);--ring: #bcd3ff;color-scheme:dark}}:root[data-theme=dark]{--bg: #14171d;--surface: #1c2129;--ink: #e9edf3;--ink-soft: #a5afbf;--line: #2f3744;--accent: #7aa7ff;--accent-ink: #0e1420;--key: #262d38;--shadow: rgba(0, 0, 0, .6);--scrim: rgba(0, 0, 0, .65);--ring: #bcd3ff;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}h1,h2,p{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button:disabled{cursor:default;opacity:.7}button:focus-visible,select:focus-visible,:root[data-device=keyboard] button:focus,:root[data-device=gamepad] button:focus{outline:3px solid var(--ring);outline-offset:2px}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}.icon{width:24px;height:24px;flex:none}[dir=rtl] .icon-back{transform:scaleX(-1)}.glyph{height:24px;width:auto;flex:none}.glyph-text{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:700}.hint-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;padding-block-start:10px;color:var(--ink-soft);font-size:.8125rem}.hint-bar[hidden],:root[data-device=touch] .hint-bar,:root[data-device=mouse] .hint-bar{display:none}.hint-item{display:inline-flex;align-items:center;gap:6px}dialog.panel{width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;margin:auto;padding:18px 16px max(16px,var(--sa-b));border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 12px 40px var(--shadow)}dialog.panel::backdrop{background:var(--scrim)}@media(max-width:600px)and (orientation:portrait){dialog.panel{margin-block:auto max(12px,var(--sa-b))}}dialog.panel h2{font-size:1.25rem;line-height:1.25;text-align:center;padding-block-end:12px}.dlg-list{display:flex;flex-direction:column;gap:8px}.dlg-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:10px 16px;border-radius:14px;background:var(--key);color:var(--ink);font-size:1.0625rem;line-height:1.25;text-align:center}.dlg-btn.dlg-choice{justify-content:space-between}.dlg-btn.dlg-choice .dlg-label{text-align:start}.dlg-value{flex:none;color:var(--ink-soft);font-weight:600;text-align:end;white-space:nowrap}.dlg-keep{white-space:nowrap}.dlg-label[data-wrapped] .dlg-mark{display:none}.dlg-label[data-wrapped] .dlg-keep{display:block}.dlg-btn[lang] .dlg-label{line-height:1.8}.dlg-btn.dlg-current{box-shadow:inset 0 0 0 2px var(--accent);font-weight:700}.dlg-btn.dlg-current:before{content:"✓";content:"✓" / ""}.dlg-close{margin-block-start:12px;background:var(--accent);color:var(--accent-ink);font-weight:600}.menu-more{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:3px;margin-block-start:4px;color:var(--ink-soft);font-size:.8125rem;line-height:1.4;text-align:center}.menu-more a{display:inline-flex;align-items:center;min-height:48px;padding-inline:4px;color:inherit;text-decoration:underline;text-underline-offset:2px}.menu-more .sep{padding-inline:1px}.menu-more .more-item{display:inline-flex;align-items:center;white-space:nowrap;unicode-bidi:isolate}.menu-more .more-label{unicode-bidi:isolate}.menu-more[data-stacked]{column-gap:12px}.menu-more[data-stacked] .sep{display:none}@media(max-width:480px){.menu-more>.more-label{flex-basis:100%}}.menu-more a:focus-visible,:root[data-device=keyboard] .menu-more a:focus,:root[data-device=gamepad] .menu-more a:focus{outline:3px solid var(--ring);outline-offset:-2px;border-radius:8px}@media(max-height:420px){dialog.panel{max-height:calc(100dvh - 12px);padding:10px 16px max(10px,var(--sa-b))}dialog.panel h2{font-size:1.125rem;padding-block-end:6px}.dlg-list{gap:6px}.dlg-btn{min-height:48px;padding-block:6px}.dlg-close{margin-block-start:8px}}.action-bar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px max(4px,var(--sa-r)) max(4px,var(--sa-b)) max(4px,var(--sa-l));background:var(--surface);border-block-start:1px solid var(--line)}.bar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:var(--target);min-height:56px;padding:6px 4px;border-radius:12px;font-size:.75rem;line-height:1.15;color:var(--ink)}.bar-label{max-width:100%;overflow-wrap:anywhere;hyphens:auto;text-align:center}@media(max-width:420px){.bar-btn{padding-inline:1px;font-size:.6875rem}}:is(:lang(ja),:lang(ko)) :is(button,.dlg-btn,.bar-label,h2){word-break:keep-all;overflow-wrap:anywhere}:lang(ja){line-break:strict}:lang(ko){word-break:keep-all;overflow-wrap:break-word}.toast{position:fixed;inset-inline:12px;bottom:calc(76px + var(--sa-b));margin-inline:auto;width:fit-content;max-width:min(420px,calc(100% - 24px));padding:10px 16px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:.9375rem;line-height:1.3;text-align:center;box-shadow:0 6px 18px var(--shadow);opacity:0;pointer-events:none;transition:opacity .15s ease}.toast.show{opacity:1}.toast:empty{display:none}@media(prefers-reduced-motion:reduce){.toast{transition:none}}.update-bar{position:fixed;top:max(8px,var(--sa-t));inset-inline:8px;margin-inline:auto;z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;box-sizing:border-box;max-width:460px;padding-block:4px;padding-inline:12px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 2px 10px var(--shadow);font:inherit}.update-bar p{margin:0;flex:1 1 8em;padding-block:4px;font-size:.95rem;overflow-wrap:break-word}.update-bar button{min-width:var(--target);min-height:var(--target);padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--key);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;overflow-wrap:break-word}.update-bar .update-reload{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.update-bar button:focus-visible{outline:3px solid var(--ring);outline-offset:2px}@font-face{font-family:Card Index;src:url(./card-index-CJEptFsD.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--card-face: #ffffff;--card-edge: #6b6b78;--card-black: #15151b;--card-red: #b3141c;--card-blue: #1646b4;--card-green: #0c6b2b;--card-back: #274a8f;--card-back-line: #7f9fe0;--card-back-edge: #ffffff;--slot-fill: rgb(0 0 0 / 6%);--slot-line: #6b6b78;--card-focus: #0a5bd6;--card-select: #c25a00;--card-hint: #0a7a3a;--card-tint: .12}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--card-face: #ececf2;--card-edge: #7a7a88;--card-black: #15151b;--card-red: #b3141c;--card-blue: #1646b4;--card-green: #0c6b2b;--card-back: #1d3566;--card-back-line: #6485cc;--card-back-edge: #ececf2;--slot-fill: rgb(255 255 255 / 7%);--slot-line: #a4a4b2;--card-focus: #5477ab;--card-select: #a36831;--card-hint: #388454}}:root[data-theme=dark]{--card-face: #ececf2;--card-edge: #7a7a88;--card-black: #15151b;--card-red: #b3141c;--card-blue: #1646b4;--card-green: #0c6b2b;--card-back: #1d3566;--card-back-line: #6485cc;--card-back-edge: #ececf2;--slot-fill: rgb(255 255 255 / 7%);--slot-line: #a4a4b2;--card-focus: #5477ab;--card-select: #a36831;--card-hint: #388454}.cards-sprite{position:absolute;width:0;height:0;overflow:hidden}.card{display:block;overflow:visible;--ink-0: var(--card-black);--ink-1: var(--card-red);--ink-2: var(--card-red);--ink-3: var(--card-black)}.card-4c,.four-colour .card{--ink-2: var(--card-blue);--ink-3: var(--card-green)}.card-face{fill:var(--card-face);stroke:var(--card-edge);stroke-width:1}.card-edge{fill:var(--card-back-edge);stroke:var(--card-edge);stroke-width:1}.ink-0{--ink: var(--ink-0)}.ink-1{--ink: var(--ink-1)}.ink-2{--ink: var(--ink-2)}.ink-3{--ink: var(--ink-3)}.card-rank,.card-court-letter{fill:var(--ink);font-family:Card Index,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:700}.card-suit{fill:var(--ink)}.card-frame{fill:none;stroke:var(--ink);stroke-width:1.2}.back-fill{fill:var(--card-back)}.back-lattice{fill:none;stroke:var(--card-back-line);stroke-width:1;opacity:.55}.card-lattice{fill:none}.back-frame{fill:none;stroke:var(--card-back-line);stroke-width:1.5}.slot-box{fill:var(--slot-fill);stroke:var(--slot-line);stroke-width:1.2;stroke-dasharray:4 3}.slot-marker,.slot-marker-text{fill:var(--slot-line);opacity:.9}.slot-marker-text{font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:700}.is-covered .card-centre{display:none}.card-hl{display:none;fill:none;stroke-width:3}.is-focus>.card-hl{display:inline;stroke:var(--card-focus)}.is-selected>.card-hl{display:inline;stroke:var(--card-select);stroke-width:4.5;fill:var(--card-select);fill-opacity:var(--card-tint)}.is-hint>.card-hl{display:inline;stroke:var(--card-hint);stroke-dasharray:5 3}html,body{height:100%;overflow:hidden;overscroll-behavior:none}#app{position:fixed;inset:0}.game{position:absolute;inset:0;overflow:hidden;user-select:none;-webkit-user-select:none}.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.probe{position:absolute;width:0;height:0;visibility:hidden;pointer-events:none;padding:var(--sa-t) var(--sa-r) var(--sa-b) var(--sa-l)}.dock{position:absolute;z-index:2000}.game[data-bar=bottom] .dock{inset-inline:0;bottom:0}.status-row{display:flex;align-items:center;justify-content:center;gap:12px;min-height:28px;padding-inline:12px;color:var(--ink-soft);font-size:.8125rem}.status-row .hint-bar{padding-block:4px;min-width:0;gap:4px 14px}.hint-item{white-space:nowrap}:root[data-device=keyboard] .status,:root[data-device=gamepad] .status{display:none}.game{--sa-end: var(--sa-r)}[dir=rtl] .game{--sa-end: var(--sa-l)}.game[data-bar=side] .dock{top:0;inset-inline-end:0;bottom:0;display:flex;flex-direction:column;width:calc(104px + var(--sa-end));padding-block-start:var(--sa-t);background:var(--surface);border-inline-start:1px solid var(--line)}.game[data-bar=side] .status-row{flex-shrink:0;min-height:0;padding:4px;line-height:1.125rem;text-align:center}.game[data-bar=side] .status>span{display:block}.game[data-bar=side] .status-win{display:none}.game[data-bar=side] .status>.status-sep{display:none}.game[data-bar=side] .status-row{flex-direction:column;gap:8px}.game[data-bar=side] .hint-bar{display:none;flex-direction:column;align-items:center;gap:8px}@media(min-height:560px){:root[data-device=keyboard] .game[data-bar=side] .hint-bar,:root[data-device=gamepad] .game[data-bar=side] .hint-bar{display:flex}.game[data-bar=side] .hint-item{flex-direction:column;gap:2px;font-size:.75rem;white-space:normal;text-align:center}}:root[data-device=keyboard] .game[data-bar=side] .status,:root[data-device=gamepad] .game[data-bar=side] .status{display:block}.game[data-bar=side] .action-bar{flex:1;gap:2px;min-height:0;grid-auto-flow:row;grid-auto-columns:auto;align-content:center;padding:4px 4px max(4px,var(--sa-b)) 4px;border:0;background:none}.game[data-bar=side] .bar-btn{min-height:var(--target);padding-block:3px}.win-moves{padding-block-end:12px;color:var(--ink-soft);text-align:center}.game .toast{z-index:2001;bottom:calc(var(--dock-h, 76px) + 8px)}.game[data-bar=side] .toast{bottom:max(12px,var(--sa-b));inset-inline:12px calc(var(--dock-w, 104px) + 12px)}.clock{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}:root[data-device=keyboard] .clock,:root[data-device=gamepad] .clock{display:none}.win-stats{padding-block-end:12px;color:var(--ink-soft);text-align:center}.win-stats .win-moves{padding-block-end:0}.win-note{min-height:1.25em;font-size:.8125rem}@media(max-height:480px){dialog.panel:has(>.win-stats) .dlg-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}dialog.panel[data-dialog=menu]{width:min(720px,calc(100% - 24px))}dialog.panel[data-dialog=menu] .dlg-list{display:grid;grid-template-columns:1fr 1fr}dialog.panel[data-dialog=menu][open]:has(>.dlg-list>:last-child:nth-child(odd)){display:grid;grid-template-columns:1fr 1fr;gap:8px}dialog.panel[data-dialog=menu]:has(>.dlg-list>:last-child:nth-child(odd))>*{grid-column:1 / -1}dialog.panel[data-dialog=menu]:has(>.dlg-list>:last-child:nth-child(odd))>.dlg-list{display:contents}dialog.panel[data-dialog=menu]:has(>.dlg-list>:last-child:nth-child(odd))>.dlg-close{grid-column:auto;margin-block-start:0}}dialog.panel[open]:has(>.info){display:flex;flex-direction:column;overflow:hidden}dialog.panel[open][data-dialog=languages]{display:flex;flex-direction:column;overflow:hidden}dialog.panel[data-dialog=languages]>*{flex-shrink:0}dialog.panel[data-dialog=languages]>.dlg-list{flex-shrink:1;min-height:0;overflow-y:auto;padding:6px;scroll-padding-block:6px}dialog.panel:has(>.info)>*{flex-shrink:0}dialog.panel:has(>.info)>.info{flex-shrink:1;min-height:0;overflow:auto}.info{display:flex;flex-direction:column;gap:14px;padding:4px 6px 12px;font-size:.9375rem;line-height:1.4;background:linear-gradient(var(--surface) 50%,transparent) top / 100% 24px no-repeat local,linear-gradient(transparent,var(--surface) 70%) bottom / 100% 24px no-repeat local,radial-gradient(farthest-side at 50% 0,var(--shadow),transparent) center 1px / 100% 10px no-repeat scroll,radial-gradient(farthest-side at 50% 100%,var(--shadow),transparent) center bottom 1px / 100% 10px no-repeat scroll;background-color:var(--surface)}.info h3,.info ul{margin:0}.info h3{padding-block-end:4px;font-size:.9375rem;font-weight:700}.info ul{display:flex;flex-direction:column;gap:4px;padding-inline-start:1.1em;list-style:disc}.stats-table{width:100%;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}.stats-table th,.stats-table td{padding:6px 2px;border-block-end:1px solid var(--line);text-align:center}.stats-table thead th{overflow-wrap:normal;hyphens:manual;font-size:.625rem;font-weight:700;line-height:1.2;vertical-align:bottom}dialog.panel:has(.stats-table){padding-inline:4px}.stats-table thead th[scope=col]{padding-inline:2px}.stats-table tbody th{overflow-wrap:normal;hyphens:manual;text-align:start;font-weight:500}.stats-caption{padding-block:10px 2px;font-weight:700;text-align:start}.stats-daily{text-align:center;color:var(--ink-soft)}.info:focus-visible,:root[data-device=keyboard] .info:focus,:root[data-device=gamepad] .info:focus{outline:3px solid var(--ring);outline-offset:-3px;border-radius:8px}.privacy-link{display:flex;align-items:center;justify-content:center;min-height:48px;color:var(--accent);font-weight:600;scroll-margin-block:8px}.privacy-link:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:8px}.board{position:absolute;inset:0;direction:ltr;touch-action:none;-webkit-touch-callout:none}.game:not([data-dealing=false]) .board{visibility:hidden}.board:focus{outline:none}.pc{position:absolute;left:0;top:0;transition:transform .15s ease-out,translate .1s ease-out}.pc-slot{z-index:0}.board.no-anim .pc{transition:none}.pc.dragging{transition:none;filter:drop-shadow(0 5px 7px rgb(0 0 0 / 40%))}.pc.is-selected{translate:0 -6px}.pile{position:absolute;left:0;top:0;pointer-events:none}:root[data-device=touch] .is-focus:not(.is-selected,.is-hint)>.card-hl,:root[data-device=mouse] .is-focus:not(.is-selected,.is-hint)>.card-hl{display:none}:root:has(.dock button:focus) .is-focus:not(.is-selected,.is-hint)>.card-hl{display:none}:root:has(dialog[open]) .is-focus:not(.is-selected,.is-hint)>.card-hl{display:none}@keyframes shake{25%{translate:-5px 0}75%{translate:5px 0}}.pc.shake{animation:shake .28s ease-in-out}@keyframes hop{40%{translate:0 14px}}.board.celebrate .pc:not(.pc-slot,.is-covered){animation:hop .7s ease-in-out 2}@media(prefers-reduced-motion:reduce){.pc{transition:none}.pc.shake,.board.celebrate .pc:not(.pc-slot,.is-covered){animation:none}}.dealing{position:absolute;inset:0;display:none;align-items:center;justify-content:center;color:var(--ink-soft);font-size:1.125rem;pointer-events:none}.game[data-dealing=true] .dealing{display:flex}.pc.is-hint-from>.card-hl{stroke-dasharray:none;stroke-width:4.5;fill:var(--card-hint);fill-opacity:var(--card-tint)}.cant-note{position:absolute;bottom:100%;left:8px;right:8px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;margin-block-end:6px;padding:6px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 4px 14px var(--shadow);color:var(--ink);font-size:.875rem}.cant-note[hidden],.game:not([data-dealing=false]) .cant-note{display:none}.game[data-bar=side] .cant-note{bottom:8px;inset-inline-start:auto;inset-inline-end:100%;width:max-content;max-width:min(360px,70vw);margin-block-end:0;margin-inline-end:8px}.cant-btn{min-width:var(--target);min-height:var(--target);padding:6px 16px;border:1px solid var(--line);border-radius:12px;background:var(--key);color:var(--ink);font-weight:600}.stock-count{position:absolute;left:0;top:0;z-index:60;display:flex;align-items:flex-end;justify-content:flex-end;padding:3px;pointer-events:none;font:700 max(10px,.75rem) / 1 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink)}.stock-count>span{min-width:1.6em;padding:2px 4px;border-radius:6px;background:var(--surface);box-shadow:0 1px 3px var(--shadow);text-align:center}.recycle-mark{position:absolute;left:0;top:0;z-index:1;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);pointer-events:none}.recycle-mark>svg{width:50%;height:auto;max-width:40px}.stock-count[hidden],.recycle-mark[hidden]{display:none}@media(max-height:480px){dialog.panel[data-dialog=settings]{width:min(720px,calc(100% - 24px))}dialog.panel[data-dialog=settings] .dlg-list{display:grid;grid-template-columns:1fr 1fr}}.board.auto-fly .pc{transition:transform .23s ease-out,translate .1s ease-out}.pc.is-arrived>.card-hl{display:inline;stroke:var(--card-hint);stroke-width:4.5;fill:var(--card-hint);fill-opacity:var(--card-tint)}
