#tp-game-root{--tpgi-bg:var(--tpg-bg,#ffffff);--tpgi-ink:var(--tpg-ink,#1d2433);--tpgi-muted:var(--tpg-muted,#5b6577);--tpgi-accent:var(--tpg-accent,#2F5BEA);--tpgi-accent-2:var(--tpg-accent-2,#FFC93C);--tpgi-red:var(--tpg-red,#FF5A4E);--tpgi-green:var(--tpg-green,#2BB673);--tpgi-lilac:var(--tpg-lilac,#9B7BFF);--tpgi-radius:var(--tpg-radius,14px);--tpgi-line:rgba(29,36,51,.14);display:block;box-sizing:border-box;width:100%;margin:0 auto;padding:0;font-family:inherit;line-height:1.4;color:var(--tpgi-ink);background:var(--tpgi-bg);-webkit-tap-highlight-color:transparent}#tp-game-root *,#tp-game-root *:before,#tp-game-root *:after{box-sizing:border-box}#tp-game-root p{margin:0}#tp-game-root .tpg-btn{font:inherit;font-weight:700;font-size:1rem;line-height:1.2;min-height:44px;min-width:44px;padding:.6rem 1.1rem;border:0;border-radius:999px;background:var(--tpgi-accent);color:#fff;cursor:pointer;touch-action:manipulation;transition:transform .2s ease,box-shadow .2s ease}#tp-game-root .tpg-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1d243329}#tp-game-root .tpg-btn-alt{background:var(--tpgi-accent-2);color:var(--tpgi-ink)}#tp-game-root .tpg-btn-ghost{background:var(--tpgi-bg);color:var(--tpgi-ink);box-shadow:inset 0 0 0 2px var(--tpgi-muted)}#tp-game-root .tpg-btn-ghost[aria-pressed=true]{background:var(--tpgi-ink);color:var(--tpgi-bg);box-shadow:none}#tp-game-root .tpg-select{font:inherit;font-weight:600;font-size:1rem;min-height:44px;padding:.5rem 2rem .5rem .9rem;border:2px solid var(--tpgi-muted);border-radius:999px;background:var(--tpgi-bg);color:var(--tpgi-ink);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}#tp-game-root .tpg-btn:focus-visible,#tp-game-root .tpg-select:focus-visible,#tp-game-root [tabindex]:focus-visible,#tp-game-root button:focus-visible{outline:3px solid var(--tpgi-ink);outline-offset:2px}#tp-game-root .tpg-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin-bottom:.9rem}#tp-game-root .tpg-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}#tp-game-root .tpg-stats{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-weight:700;color:var(--tpgi-muted)}#tp-game-root .tpg-stats b{color:var(--tpgi-ink)}#tp-game-root .tpg-status{min-height:1.5em;margin-top:.75rem;text-align:center;font-weight:700;color:var(--tpgi-ink)}#tp-game-root noscript{display:block;padding:1rem;text-align:center;color:var(--tpgi-ink)}@media (prefers-reduced-motion:reduce){#tp-game-root *,#tp-game-root *:before,#tp-game-root *:after{animation:none!important;transition:none!important}}#tp-game-root{--tpg-s-paper:#fbf8f1;--tpg-s-ink:#1f2228;--tpg-s-graphite:#454a53;--tpg-s-red:#c0392b;--tpg-s-hand:"Segoe Print","Ink Free","Bradley Hand","Noteworthy","Chalkboard SE","Comic Sans MS","Comic Neue",cursive;--tpg-s-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","Times New Roman","Liberation Serif","DejaVu Serif",Georgia,serif;max-width:520px;font-size:16px;min-height:calc(min(100vw - 32px,520px) + 474px)}@media (min-width:480px){#tp-game-root{min-height:calc(min(100vw - 32px,520px) + 444px)}}@media (min-width:560px){#tp-game-root{min-height:calc(min(100vw - 32px,520px) + 390px)}}@media (min-width:620px){#tp-game-root{min-height:calc(min(100vw - 32px,520px) + 338px)}}@media (min-width:900px){#tp-game-root{max-width:728px;min-height:566px}}#tp-game-root .tpg-s-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:12px}#tp-game-root .tpg-s-stats{flex-wrap:nowrap;white-space:nowrap;line-height:1.4}#tp-game-root .tpg-s-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;flex-wrap:nowrap;gap:8px}#tp-game-root .tpg-s-controls .tpg-select{width:100%;min-width:0}#tp-game-root .tpg-s-controls .tpg-btn{white-space:nowrap}@media (min-width:480px){#tp-game-root .tpg-s-bar{grid-template-columns:auto minmax(0,1fr);align-items:center}#tp-game-root .tpg-s-stats{flex-direction:column;gap:0;line-height:1.25}#tp-game-root .tpg-s-controls{justify-self:end;grid-template-columns:auto auto}}#tp-game-root .tpg-s-desk{position:relative;margin:2px 6px 18px;transform:rotate(-.6deg);transform-origin:50% 40%}#tp-game-root .tpg-s-desk:before,#tp-game-root .tpg-s-desk:after{content:"";position:absolute;z-index:0;bottom:12px;width:46%;height:20%;box-shadow:0 15px 11px #46371e52}#tp-game-root .tpg-s-desk:before{left:10px;transform:rotate(-2.4deg)}#tp-game-root .tpg-s-desk:after{right:10px;transform:rotate(2.4deg)}#tp-game-root .tpg-s-paper{position:relative;z-index:1;padding:10px 12px 14px;border-radius:3px 3px 6px;background-color:var(--tpg-s-paper);background-image:radial-gradient(120% 55% at 100% 100%,#785f321c,#785f3200 42%),radial-gradient(80% 60% at 0 0,#ffffffbf,#fff0 60%),linear-gradient(90deg,#785f3209,#785f3200 8% 92%,#785f320d);box-shadow:0 0 0 1px #50412812,0 1px 2px #3c2d1424,0 12px 22px -12px #3c2d1466}#tp-game-root .tpg-s-grain{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.55;border-radius:inherit;will-change:transform}#tp-game-root .tpg-s-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:8px;height:24px;margin-bottom:8px;border-bottom:3px double #2a2d34;font-family:var(--tpg-s-serif);font-size:11.5px;line-height:20px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#363940;white-space:nowrap;overflow:hidden}#tp-game-root .tpg-s-head-r{letter-spacing:.06em;font-weight:400;font-style:italic;text-transform:none;font-size:12.5px}#tp-game-root .tpg-s-warm{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;font-family:var(--tpg-s-hand);font-size:12px;line-height:1}#tp-game-root .tpg-s-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);aspect-ratio:1;container-type:inline-size;touch-action:manipulation;user-select:none;-webkit-user-select:none;cursor:pointer}#tp-game-root .tpg-s-grid:focus-visible{outline:2px dashed var(--tpgi-accent);outline-offset:5px}#tp-game-root .tpg-s-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}#tp-game-root .tpg-s-l1{stroke:#2a2d34;stroke-opacity:.55;fill:none}#tp-game-root .tpg-s-l3{stroke:#23262c;fill:none}#tp-game-root .tpg-s-sq{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;line-height:1}#tp-game-root .tpg-s-sq.tpg-is-peer{background-color:#2f5bea0b}#tp-game-root .tpg-s-sq.tpg-is-same{background-color:#ffc93c66}#tp-game-root .tpg-s-sq.tpg-is-sel{background-color:#2f5bea2b;box-shadow:inset 0 0 0 2px #2f5beab3}#tp-game-root .tpg-s-sq.tpg-is-rubbed{background-image:radial-gradient(ellipse 58% 40% at 50% 56%,#69697324,#6969730d 62%,#69697300 78%)}#tp-game-root .tpg-s-print{font-family:var(--tpg-s-serif);font-weight:700;font-size:6.9cqi;color:var(--tpg-s-ink);font-variant-numeric:lining-nums;text-shadow:0 0 .6px rgba(31,34,40,.6)}#tp-game-root .tpg-s-hand,#tp-game-root .tpg-s-ghost:before{display:inline-block;font-family:var(--tpg-s-hand);font-weight:400;font-size:7.6cqi;color:var(--tpg-s-graphite);text-shadow:.35px .3px 0 rgba(69,74,83,.4),0 0 1px rgba(69,74,83,.3);transform:translate(var(--tpg-x,0),var(--tpg-y,0)) rotate(var(--tpg-r,0deg))}#tp-game-root .tpg-s-notes{position:absolute;inset:4% 5%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none}#tp-game-root .tpg-s-note{display:flex;align-items:center;justify-content:center;font-family:var(--tpg-s-hand);font-size:max(8px,3.3cqi);line-height:1;color:#4a4f59;transform:rotate(var(--tpg-r,0deg))}#tp-game-root .tpg-s-n1{grid-area:1/1}#tp-game-root .tpg-s-n2{grid-area:1/2}#tp-game-root .tpg-s-n3{grid-area:1/3}#tp-game-root .tpg-s-n4{grid-area:2/1}#tp-game-root .tpg-s-n5{grid-area:2/2}#tp-game-root .tpg-s-n6{grid-area:2/3}#tp-game-root .tpg-s-n7{grid-area:3/1}#tp-game-root .tpg-s-n8{grid-area:3/2}#tp-game-root .tpg-s-n9{grid-area:3/3}#tp-game-root .tpg-is-fresh{animation:tpg-s-write .2s steps(5,end) both}@keyframes tpg-s-write{0%{clip-path:inset(-25% 100% -25% -25%)}to{clip-path:inset(-25% -25% -25% -25%)}}#tp-game-root .tpg-s-ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:tpg-s-rub .42s steps(6,end) forwards}#tp-game-root .tpg-s-ghost:before{content:attr(data-d)}@keyframes tpg-s-rub{0%{opacity:.95;filter:blur(0);transform:none}35%{opacity:.7;filter:blur(.8px);transform:translate(2px) scaleX(1.1)}70%{opacity:.35;filter:blur(1.8px);transform:translate(-2px) scaleX(1.25)}to{opacity:0;filter:blur(3px);transform:translate(1px) scaleX(1.35)}}#tp-game-root .tpg-s-ring{position:absolute;inset:3%;width:94%;height:94%;overflow:visible;pointer-events:none;transform:rotate(var(--tpg-r,0deg));z-index:1}#tp-game-root .tpg-s-ring path{fill:none;stroke:var(--tpg-s-red);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;opacity:.88;stroke-dasharray:100;stroke-dashoffset:0;animation:tpg-s-ring .3s steps(7,end) both}@keyframes tpg-s-ring{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}#tp-game-root .tpg-s-stamp{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);padding:.2em .7em .25em;border:3px solid #b3261e;border-radius:10px;background-color:#fbf8f199;color:#b3261e;font-family:var(--tpg-s-serif);font-weight:700;font-size:clamp(1.5rem,7vw,2.3rem);line-height:1.1;letter-spacing:.06em;text-transform:uppercase;text-align:center;pointer-events:none;box-shadow:inset 0 0 0 2px #b3261e40;animation:tpg-s-stamp .34s cubic-bezier(.3,1.5,.5,1) .12s both}#tp-game-root .tpg-s-stamp small{display:block;font-size:.5em;letter-spacing:.12em}@keyframes tpg-s-stamp{0%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(1.9)}to{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}}#tp-game-root .tpg-s-desk.tpg-is-swap{animation:tpg-s-swap .45s cubic-bezier(.2,.8,.3,1)}@keyframes tpg-s-swap{0%{opacity:.15;transform:translateY(18px) rotate(1.4deg)}to{opacity:1;transform:rotate(-.6deg)}}#tp-game-root .tpg-s-side{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}#tp-game-root .tpg-s-status{margin:0;min-height:2.8em;font-size:.94rem;line-height:1.4;display:flex;align-items:center;justify-content:center}#tp-game-root .tpg-s-tray{display:flex;justify-content:center;gap:4px;padding:6px 6px 4px;border-radius:14px;background-color:#ece5d6;background-image:linear-gradient(180deg,#fff6,#fff0 40%,#3c2d140a);box-shadow:inset 0 2px 5px #3c2d1433,inset 0 -1px #ffffffb3}#tp-game-root .tpg-s-tool{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;width:70px;height:64px;padding:0 0 2px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:.82rem;font-weight:700;line-height:1.2;color:var(--tpgi-ink);cursor:pointer;touch-action:manipulation}#tp-game-root .tpg-s-tool svg{display:block;width:62px;height:22px;flex:none;transform:translateY(4px) rotate(-3deg);filter:drop-shadow(0 1.5px .6px rgba(50,40,20,.4));transition:transform .22s cubic-bezier(.3,1.5,.5,1),filter .22s ease}#tp-game-root .tpg-s-tool:hover svg{transform:translateY(1px) rotate(-5deg)}#tp-game-root .tpg-s-tool[aria-pressed=true] svg{transform:translateY(-9px) rotate(-16deg) scale(1.07);filter:drop-shadow(1px 9px 4px rgba(50,40,20,.28))}#tp-game-root .tpg-s-tool[aria-pressed=true] .tpg-s-tool-name{text-decoration:underline;text-decoration-color:var(--tpgi-accent);text-decoration-thickness:2px;text-underline-offset:3px}#tp-game-root .tpg-s-pad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}#tp-game-root .tpg-s-key{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;min-width:44px;padding:0;border:0;border-radius:10px;background-color:var(--tpg-s-paper);box-shadow:inset 0 0 0 1.5px #22252c61,0 1px #3c2d141f;color:var(--tpg-s-ink);font-family:var(--tpg-s-serif);font-size:1.4rem;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation}#tp-game-root .tpg-s-key:hover{background-color:#fff1c9}#tp-game-root .tpg-s-pad.tpg-is-notes .tpg-s-key{align-items:flex-start;justify-content:flex-start;padding:6px 9px}#tp-game-root .tpg-s-pad.tpg-is-notes .tpg-s-num{font-family:var(--tpg-s-hand);font-weight:400;font-size:.98rem;color:var(--tpg-s-graphite)}#tp-game-root .tpg-s-key.tpg-is-full:after{content:"";position:absolute;left:24%;right:24%;top:50%;height:2px;border-radius:2px;background:var(--tpg-s-graphite);transform:rotate(-28deg);opacity:.85}#tp-game-root .tpg-s-row{display:flex;justify-content:center;gap:8px}#tp-game-root .tpg-s-row .tpg-btn{padding:.6rem 1rem;white-space:nowrap}#tp-game-root .tpg-s-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:.92rem;font-weight:700;color:var(--tpgi-ink);white-space:nowrap;cursor:pointer;touch-action:manipulation}#tp-game-root .tpg-s-toggle svg{width:20px;height:20px;flex:none}#tp-game-root .tpg-s-box{fill:var(--tpg-s-paper);stroke:#3b3f47;stroke-width:1.5}#tp-game-root .tpg-s-tick{fill:none;stroke:var(--tpgi-accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}#tp-game-root .tpg-s-toggle[aria-pressed=true] .tpg-s-tick{opacity:1}@media (min-width:560px){#tp-game-root .tpg-s-pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}}@media (min-width:620px){#tp-game-root .tpg-s-side{grid-template-columns:auto auto;justify-content:center;column-gap:8px}#tp-game-root .tpg-s-status,#tp-game-root .tpg-s-tray,#tp-game-root .tpg-s-pad{grid-column:1/-1}}@media (min-width:900px){#tp-game-root .tpg-s-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:start}#tp-game-root .tpg-s-side{grid-template-columns:minmax(0,1fr);justify-content:stretch}#tp-game-root .tpg-s-status{min-height:4.2em}#tp-game-root .tpg-s-pad{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#tp-game-root .tpg-s-key{min-height:52px}#tp-game-root .tpg-s-opts{flex-direction:column;align-items:flex-start;gap:4px}}
