.dots-g-host{flex-direction:column;align-items:center;width:100%;display:flex}.dots-g-menu{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:560px;display:flex}.dots-g-card{background:var(--card);border:1px solid var(--edge);text-align:center;width:100%;padding:18px 20px;transform:rotate(-.4deg);box-shadow:3px 4px #2b2b4614}.dots-g-card+.dots-g-card{transform:rotate(.4deg)}.dots-g-h3{color:var(--soft);margin:0 0 12px;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:26px;font-weight:700;line-height:1.2}.dots-g-seg-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.dots-g-seg{background:var(--card);min-height:44px;color:var(--ink);cursor:pointer;border:3px solid #d8cfc0;border-radius:14px;padding:10px 16px;font-family:inherit;font-size:16px;transition:transform .15s,border-color .15s,background .15s}.dots-g-seg:hover{transform:translateY(-2px)}.dots-g-seg.is-sel{border-color:var(--blue);background:#e8f0ff;box-shadow:0 3px 10px #2f6df640}.dots-g-mode{color:#fff;letter-spacing:1px;cursor:pointer;background:0 0;border:0;border-radius:16px;width:100%;min-height:44px;margin-top:10px;padding:14px;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:26px;font-weight:700;transition:transform .15s,box-shadow .15s;display:block;box-shadow:0 5px #00000026}.dots-g-mode:hover{transform:translateY(-2px)}.dots-g-mode:active{transform:translateY(2px);box-shadow:0 2px #00000026}.dots-g-mode.is-pvp{background:linear-gradient(135deg,#38b24a,#2a9d3a)}.dots-g-mode.is-ai{background:linear-gradient(135deg,#8a63e8,#6f46d8)}.dots-g-diff{display:none}.dots-g-diff.is-on{display:block}.dots-g-level{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:14px;width:100%;min-height:44px;margin-top:10px;padding:12px;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:24px;font-weight:700;transition:transform .15s;display:block;box-shadow:0 4px #00000026}.dots-g-level:hover{transform:translateY(-2px)}.dots-g-level.is-d1{background:linear-gradient(135deg,#ffb648,#f59f22)}.dots-g-level.is-d2{background:linear-gradient(135deg,#ff8a5c,#f2683a)}.dots-g-level.is-d3{background:linear-gradient(135deg,#e85c8a,#d43a6f)}.dots-g-play{flex-direction:column;align-items:center;width:100%;display:none}.dots-g-play.is-on{display:flex}.dots-g-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:10px;display:flex}.dots-g-player{background:var(--card);border:3px solid #0000;border-radius:14px;align-items:center;gap:8px;padding:6px 16px;transition:transform .25s,border-color .25s;display:flex}.dots-g-player.is-active{border-color:currentColor;transform:scale(1.06);box-shadow:0 3px 12px #0000001f}.dots-g-p1{color:var(--blue)}.dots-g-p2{color:var(--red)}.dots-g-chip{border-radius:50%;width:16px;height:16px;display:inline-block}.dots-g-score{font-family:Courier New,ui-monospace,monospace;font-size:21px;font-weight:700}.dots-g-score.is-bumping{animation:.4s dots-bump}@keyframes dots-bump{0%{transform:scale(1)}40%{transform:scale(1.6)}to{transform:scale(1)}}.dots-g-boardwrap{max-width:100%;position:relative;box-shadow:4px 6px #2b2b461a,0 8px 30px #5a50322e}.dots-g-scroller{overscroll-behavior-x:contain;border-radius:8px;overflow-x:auto}.dots-g-canvas{cursor:crosshair;touch-action:manipulation;background:#fffdf6;display:block}.dots-g-canvas:focus-visible{outline:3px solid var(--stamp);outline-offset:2px}.dots-g-tape{background:var(--tape);pointer-events:none;z-index:2;border-left:1px dashed #b4a03c66;border-right:1px dashed #b4a03c66;width:118px;height:28px;position:absolute;top:-12px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 1px 4px #0000001a}.dots-g-controls{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.dots-g-ctl{background:var(--card);min-height:44px;color:var(--gr);cursor:pointer;border:2px dashed #b9b0a0;border-radius:8px;padding:9px 18px;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:21px;font-weight:700;transition:transform .15s;transform:rotate(-.6deg);box-shadow:2px 3px #2b2b461a}.dots-g-ctl:nth-child(2n){transform:rotate(.6deg)}.dots-g-ctl:hover{transform:translateY(-2px)}.dots-g-status{text-align:center;min-height:1.5em;color:var(--soft);margin:10px 0 0;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:22px;line-height:1.4}.dots-g-overlay{z-index:50;background:#281e3c73;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.dots-g-overlay.is-on{display:flex}.dots-g-ov-card{background:var(--card);border:1px solid var(--edge);text-align:center;border-radius:24px;max-width:100%;padding:30px 34px;animation:.45s cubic-bezier(.18,1.4,.4,1) dots-card-in;box-shadow:0 12px 48px #00000059}@keyframes dots-card-in{0%{opacity:0;transform:scale(.5)translateY(40px)}to{opacity:1;transform:scale(1)translateY(0)}}.dots-g-ov-emoji{margin-bottom:8px;font-size:54px;line-height:1}.dots-g-ov-text{margin-bottom:6px;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:32px;font-weight:700;line-height:1.2}.dots-g-ov-sub{color:var(--faint);margin-bottom:6px;font-family:Courier New,ui-monospace,monospace;font-size:16px}.dots-g-stamp{border:4px double var(--stamp);color:var(--stamp);letter-spacing:5px;text-transform:uppercase;opacity:.9;border-radius:6px;margin:4px 0 16px;padding:4px 20px;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:28px;font-weight:700;display:inline-block;transform:rotate(-8deg)}.dots-g-ov-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#38b24a,#2a9d3a);border:0;border-radius:14px;min-height:44px;margin:0 6px;padding:10px 22px;font-family:Caveat,Comic Sans MS,Segoe Print,cursive;font-size:24px;font-weight:700;transition:transform .15s;box-shadow:0 4px #00000026}.dots-g-ov-btn:hover{transform:translateY(-2px)}.dots-g-ov-btn.is-alt{background:linear-gradient(135deg,#8a92a5,#6c7484)}@media (prefers-reduced-motion:reduce){.dots-g-seg,.dots-g-mode,.dots-g-level,.dots-g-ctl,.dots-g-player,.dots-g-ov-btn{transition:none}.dots-g-seg:hover,.dots-g-mode:hover,.dots-g-level:hover,.dots-g-ov-btn:hover{transform:none}.dots-g-ctl:hover{transform:rotate(-.6deg)}.dots-g-ctl:nth-child(2n):hover{transform:rotate(.6deg)}.dots-g-score.is-bumping,.dots-g-ov-card{animation:none}}
