:root{--sol-felt-hi: #2a8a62;--sol-felt-mid: #14573d;--sol-felt-lo: #0a2f21;--sol-felt-bar: #0d3b2a}:root[data-theme=light]{--sol-felt-hi: #49ad7f;--sol-felt-mid: #2d8559;--sol-felt-lo: #1d6444;--sol-felt-bar: #2a7d55}.sol-board{--paper: #fbf9f2;--paper2: #ece6d3;--ink: #14171c;--red: #c0121e;--slot: rgba(255, 255, 255, .2);--slot-ink: rgba(255, 255, 255, .26);--sel: #bef264;--target: #facc15;--spring: cubic-bezier(.2, .9, .3, 1.15);position:absolute;inset:0;overflow:hidden;background:radial-gradient(120% 70% at 22% -8%,rgba(255,255,255,.16),transparent 58%),radial-gradient(130% 105% at 50% 46%,transparent 52%,rgba(0,0,0,.5) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"),repeating-linear-gradient(45deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),linear-gradient(165deg,var(--sol-felt-hi),var(--sol-felt-mid) 42%,var(--sol-felt-lo));background-blend-mode:normal,normal,soft-light,normal,normal,normal;box-shadow:inset 0 0 0 1px #ffffff12,inset 0 14px 28px -12px #0000008c,inset 0 -14px 28px -12px #00000080;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}:root[data-contrast=high] .sol-board{--red: #a00010;--ink: #000;--slot: rgba(255, 255, 255, .8);--slot-ink: #fff}.tg-status{height:28px;line-height:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(180deg,color-mix(in srgb,var(--sol-felt-bar) 85%,#000),var(--sol-felt-bar));color:#ecf6f0d1;font-size:.86rem;letter-spacing:.01em;border-bottom:1px solid rgba(0,0,0,.25)}.sol-slot{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);border:2px solid var(--slot);border-radius:calc(var(--cw) * .11);background:#00000029;box-shadow:inset 0 2px 7px #00000080,0 1px #ffffff17;display:flex;align-items:center;justify-content:center;color:var(--slot-ink)}.sol-ghost{width:44%;height:44%;fill:currentColor;pointer-events:none;filter:drop-shadow(0 1px 0 rgba(255,255,255,.1))}.sol-recycle{width:46%;opacity:0;pointer-events:none;display:flex}.sol-recycle svg{width:100%;height:auto;stroke-width:2.2}.sol-slot.can-recycle .sol-recycle{opacity:.85}.sol-slot:after,.sol-card:after{content:"";position:absolute;inset:-4px;border-radius:calc(var(--cw) * .15);border:3px solid transparent;opacity:0;pointer-events:none}.sol-slot.can-recycle{border-color:color-mix(in srgb,var(--target) 80%,transparent)}.sol-count{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);display:flex;align-items:flex-end;justify-content:flex-end;pointer-events:none;z-index:900}.sol-count span{margin:4px;padding:1px calc(var(--cw) * .12);border-radius:999px;background:#06120cc7;border:1px solid rgba(255,255,255,.2);color:#f3f7f4;font-size:max(12px,calc(var(--cw) * .27));font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3;box-shadow:0 1px 3px #00000073}.sol-card{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .11);transition:transform .34s var(--spring);will-change:transform}.sol-instant .sol-card,.sol-instant .sol-slot{transition:none!important}.sol-flip{position:absolute;inset:0;border-radius:inherit;transition:translate .18s var(--spring),scale .18s var(--spring)}.sol-front,.sol-back{position:absolute;inset:0;border-radius:inherit;box-shadow:0 1px 1px #0006,1px 3px 5px #0000004d}.sol-front{background:radial-gradient(120% 90% at 18% 8%,#fff,var(--paper) 55%,var(--paper2));color:var(--ink);border:1px solid rgba(60,45,15,.5)}.sol-front:before{content:"";position:absolute;inset:2px;border-radius:calc(var(--cw) * .08);box-shadow:inset 0 0 0 1px #ffffffd9,inset 0 -2px 3px #3c2d0f14;pointer-events:none}.sol-card.red .sol-front{color:var(--red)}.sol-back{visibility:hidden;border:calc(var(--cw) * .045) solid var(--paper);background:var(--sol-back) center / 100% 100% no-repeat,#1b2f78}.sol-back:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 1px 1px 2px #ffffff47,inset -1px -2px 3px #00000059}.sol-card.down .sol-front{visibility:hidden}.sol-card.down .sol-back{visibility:visible}.sol-idx{position:absolute;left:calc(var(--cw) * .07);top:calc(var(--cw) * .03);display:flex;align-items:center;gap:calc(var(--cw) * .02);font-size:calc(var(--cw) * .33);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.sol-idx.ten{letter-spacing:-.09em}.sol-isuit{width:calc(var(--cw) * .28);height:calc(var(--cw) * .28);fill:currentColor}.sol-pip{position:absolute;fill:currentColor;filter:drop-shadow(0 .5px 0 rgba(255,255,255,.7))}.sol-p{left:calc(var(--cw) * var(--x));top:calc(var(--cw) * var(--y));width:calc(var(--cw) * var(--s));height:calc(var(--cw) * var(--s));transform:translate(-50%,-50%)}.sol-p.flipv{transform:translate(-50%,-50%) rotate(180deg)}.sol-pip.ace{left:50%;top:64%;width:calc(var(--cw) * .62);height:calc(var(--cw) * .62);transform:translate(-50%,-50%)}.sol-court{position:absolute;left:50%;top:65%;width:calc(var(--cw) * .7);height:calc(var(--cw) * .805);transform:translate(-50%,-50%);overflow:visible}.sol-cframe{fill:color-mix(in srgb,currentColor 7%,#fffdf5);stroke:currentColor;stroke-width:.9;stroke-opacity:.75}.sol-cdiag{stroke:currentColor;stroke-opacity:.2;stroke-width:.5;fill:none}.sol-cmed{fill:#fffdf5;stroke:currentColor;stroke-width:.7;stroke-opacity:.8}.sol-cmsuit{fill:currentColor}.sol-card.sol-sel:after{border-color:var(--sel);opacity:1;box-shadow:0 0 10px 1px #bef264b3}.sol-card.sol-sel .sol-flip{translate:0 -4px;scale:1.04}.sol-card.sol-sel .sol-front{box-shadow:0 2px 2px #00000059,3px 9px 14px #00000073}.sol-card.sol-valid:after,.sol-slot.sol-valid:after{border-color:var(--target);box-shadow:0 0 14px 2px #facc15a6;animation:sol-glow .95s ease-in-out infinite alternate}.sol-slot.sol-valid{border-color:color-mix(in srgb,var(--target) 70%,transparent)}.sol-card.sol-over:after,.sol-slot.sol-over:after{border-color:#fff;box-shadow:0 0 18px 4px #ffffffb3;opacity:1;animation:none}.sol-card.sol-dragging{transition:none!important;pointer-events:none}.sol-card.sol-dragging .sol-flip{scale:1.06;translate:0 -3px}.sol-card.sol-dragging .sol-front{box-shadow:0 3px 3px #00000059,4px 14px 20px #00000080}.sol-card.sol-hint:after,.sol-slot.sol-hint:after{border-color:var(--sel);box-shadow:0 0 18px 3px #bef264cc;animation:sol-glow .55s ease-in-out 6 alternate}@keyframes sol-glow{0%{opacity:.35}to{opacity:1}}.sol-card.sol-flipping .sol-flip{animation:sol-flip .3s var(--spring)}@keyframes sol-flip{0%{transform:scaleX(.05)}to{transform:scaleX(1)}}.sol-card.sol-shake{animation:sol-shake .34s ease-in-out}@keyframes sol-shake{0%,to{translate:0 0}25%{translate:-5px 0}75%{translate:5px 0}}.sol-cascade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:700}.tg-controls{flex-wrap:nowrap}.sol-btn{padding:0 10px;min-height:44px;min-width:0;font-size:.92rem;flex:0 1 auto;gap:6px}.sol-btn[disabled]{opacity:.35}.sol-btn .tg-ico{width:18px;height:18px}.sol-auto{animation:sol-auto 1.2s ease-in-out infinite}.sol-auto[hidden]{display:none}@keyframes sol-auto{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 45%,transparent)}}.sol-moves{font-variant-numeric:tabular-nums;background:#ffffff12;border:1px solid rgba(255,255,255,.1);padding:2px 10px;border-radius:999px;font-size:.86rem;font-weight:700}:root[data-theme=light] .sol-moves{background:#0000000d;border-color:#0000001a}.sol-deal{width:9em;text-align:right;font-size:16px;font-variant-numeric:tabular-nums}.sol-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.sol-opt{flex-direction:column;min-height:124px;padding:12px 8px;border-radius:16px;gap:4px;text-align:center}.sol-opt svg{width:76px;height:54px;display:block;margin-bottom:2px}.sol-opt b{font-size:1.02rem}.sol-opt small{color:var(--muted);font-weight:500;font-size:.8rem}.sol-opt.on small{color:var(--text)}.tg-modal.sol-win h2{text-align:center;font-size:1.9rem;background:linear-gradient(90deg,#ecfccb,#a3e635 55%,#65a30d);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}.sol-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.sol-tile{background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:10px 4px 8px;text-align:center;box-shadow:0 1px #ffffff0d inset}.sol-tile b{display:block;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}.sol-tile span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.sol-badge{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0;padding:8px 12px;border-radius:999px;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,var(--surface2));color:var(--accent)}.sol-line{text-align:center;color:var(--muted);font-size:.95rem;margin:6px 0}@media(max-width:380px){.sol-btn{padding:0 6px;font-size:.85rem}.tg-controls{gap:6px}}@media(max-width:420px)and (orientation:portrait){.sol-name{display:none}}.tg-title{overflow:visible}.sol-moves{display:inline-block;line-height:1.45;margin:0 4px 0 0}.sol-env,.sol-tex,.sol-veil{position:absolute;inset:0;pointer-events:none}.sol-env{--sol-dim: .36;inset:-12px;opacity:0;transition:opacity .9s ease;filter:blur(5px);background-image:linear-gradient(rgba(3,20,13,var(--sol-dim)),rgba(3,20,13,var(--sol-dim))),var(--sol-art, none),linear-gradient(165deg,var(--sol-felt-hi),var(--sol-felt-mid) 42%,var(--sol-felt-lo));background-size:auto,cover,auto;background-position:0 0,0% 0%,0 0;background-repeat:no-repeat}.sol-tex{opacity:0;transition:opacity .9s ease;mix-blend-mode:soft-light;background:var(--sol-tex, none) 0 0 / 256px 256px repeat}.sol-env.on{opacity:1}.sol-tex.on{opacity:.85}:root[data-theme=light] .sol-env{--sol-dim: .12}.sol-veil{background:radial-gradient(120% 60% at 18% -6%,rgba(255,233,170,.15),transparent 60%),radial-gradient(130% 100% at 50% 46%,transparent 46%,rgba(0,0,0,.55) 100%)}.sol-veil:before,.sol-veil:after{content:"";position:absolute;left:0;right:0;height:5px;background:linear-gradient(180deg,#f3d98a,#b88a2a 45%,#7a5410);box-shadow:0 0 8px #00000080}.sol-veil:before{top:0;border-radius:0 0 3px 3px}.sol-veil:after{bottom:0;border-radius:3px 3px 0 0;transform:scaleY(-1)}.sol-plate{position:absolute;left:50%;bottom:14px;transform:translate(-50%) translateY(6px);opacity:0;pointer-events:none;white-space:nowrap;height:34px;line-height:32px;padding:0 18px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:#ecd28a;background:linear-gradient(180deg,#2b1f12,#150f08);border:1px solid #b88a2a;box-shadow:inset 0 1px #ffe6a040,inset 0 -2px 4px #00000080,0 3px 8px #00000080;text-shadow:0 -1px 0 rgba(0,0,0,.7);transition:opacity .4s ease,transform .4s var(--spring, ease)}.sol-plate.show{opacity:.92;transform:translate(-50%)}.sol-focus{position:absolute;left:0;top:0;z-index:1700;display:none;pointer-events:none;border-radius:calc(var(--cw) * .13);border:2px solid #fff;box-shadow:0 0 0 2px #06160f,0 0 0 5px #7dd3fc,0 0 16px 4px #7dd3fc99}.sol-board:focus-visible .sol-focus{display:block}.sol-board:focus-visible{outline:none}.tg-toast{top:auto;bottom:calc(138px + var(--sab));transform:translate(-50%,8px)}.tg-toast.show{transform:translate(-50%)}
