.gx-dotcounter{max-width:800px;margin:20px auto;color:#2b4538;font:600 15px/1.5 system-ui,sans-serif;isolation:isolate}.gx-dotcounter *{box-sizing:border-box}.gx-dotcounter [hidden]{display:none!important}.gx-dotcounter button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #78917c;border-radius:9px;background:#f6e9c9;color:#345444;min-width:44px;min-height:44px;padding:8px 10px}.gx-dotcounter button:disabled{opacity:.4;cursor:default}.gx-dotcounter button:focus-visible,.gx-dotcounter summary:focus-visible{outline:3px solid #b7573d;outline-offset:2px}.dc-shell{--dc-safe-top:env(safe-area-inset-top,0px);--dc-safe-right:env(safe-area-inset-right,0px);--dc-safe-bottom:env(safe-area-inset-bottom,0px);--dc-safe-left:env(safe-area-inset-left,0px);position:relative;display:flex;flex-direction:column;overflow:hidden;border:3px solid #789578;border-radius:17px;background:#e7e9ca;box-shadow:0 15px 34px #3d5d3d2a}.dc-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;background:#3c6651;color:#fff3d2}.dc-brand strong{display:block;font-size:23px;line-height:1.3;color:#fff2ce}.dc-brand small{display:block;font-size:9px;letter-spacing:.1em;color:#d5dec2}.dc-top{display:flex;gap:5px}.dc-top button{font-size:12px;padding:6px 9px;white-space:nowrap;background:#f4dfb2}.dc-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#a7b48f}.dc-hud>div{text-align:center;background:#e6ebd2;padding:4px}.dc-hud span{font-size:10px;display:block}.dc-hud strong{font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums;color:#345944}.dc-stage{position:relative;display:flex;flex-direction:column;min-height:520px}.dc-scene{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.dc-display{position:relative;flex:1;min-height:255px;pointer-events:none}.dc-work{position:relative;z-index:1;width:100%;display:flex;align-items:center;gap:16px;padding:10px 18px 15px;background:#edf0d9e8;border-top:1px solid #aac097}.dc-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:1;max-width:300px;min-width:0}.gx-dotcounter .dc-cell{padding:7px 4px;min-height:60px;min-width:44px;border:2px solid #9fb38a;font-size:23px;font-weight:900;background:linear-gradient(#fff7dd,#e7d9ae);box-shadow:0 3px 0 #c3ac7d;opacity:1}.gx-dotcounter .dc-cell.selected{border-color:#438667;background:#c3e3bd;box-shadow:inset 0 0 0 2px #edf4cf,0 3px 0 #72a582}.gx-dotcounter .dc-cell.lit{border-color:#538452;background:#c9e9b8}.gx-dotcounter .dc-cell.wrong{border-color:#b56a4c;background:#f2c1a0}.dc-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;flex:1;min-width:0}.dc-label,.dc-hint,.dc-progress,.dc-tools{grid-column:1/-1}.dc-label{font-size:17px;color:#325b44;line-height:1.4}.dc-hint{margin:0!important;font-size:12px;min-height:20px;line-height:1.5;color:#46644c}.dc-progress{height:4px;background:#b4c2a0}.dc-progress i{display:block;height:100%;background:#be7751}.dc-tools{display:flex;gap:6px}.dc-tools button{flex:1;font-size:12px;padding:5px 4px}.dc-controls>button{font-size:13px;padding:6px;white-space:nowrap}.gx-dotcounter .dc-primary{background:linear-gradient(#b86443,#925039);border-color:#784e36;color:#fff1d0}.dc-bottom{display:flex;justify-content:space-between;gap:7px;padding:6px 12px 2px;font-size:11px;color:#48664d}.dc-status{margin:0!important;padding:1px 12px 7px;min-height:28px;font-size:11px;line-height:1.5;color:#46644c}.dc-panel{position:absolute;inset:0;z-index:3;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;justify-content:center;gap:11px;padding:24px;background:linear-gradient(135deg,#e3edcdef,#f5e8cceF)}.dc-panel h2{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font-size:25px!important;line-height:1.3!important;color:#345b44!important;letter-spacing:0!important}.dc-panel h2:before,.dc-panel h2:after{display:none!important}.dc-panel p{margin:0!important;font-size:13px;line-height:1.6;color:#4e674d}.dc-modes,.dc-levels,.dc-actions{display:flex;gap:6px;flex-wrap:wrap}.dc-modes button,.dc-levels button{flex:1;font-size:13px;white-space:nowrap;padding:7px 4px}.dc-modes [aria-pressed=true],.dc-levels [aria-pressed=true]{background:#557e5a;border-color:#3d6445;color:#fff6d5}.dc-panel>.dc-primary{min-height:48px;font-size:18px}.dc-history{font-size:11px}.dc-history summary{cursor:pointer}.dc-history p{font-size:11px}.dc-note{font-size:11px!important}.dc-score{font-size:47px;font-weight:900;line-height:1.2;color:#9c533a}.dc-result-stats{display:flex;gap:16px;flex-wrap:wrap}.dc-actions button{flex:1}.dc-supply{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;padding:12px!important}.dc-supply small{grid-column:1;font-size:11px;font-weight:400}.dc-supply span{grid-column:2;grid-row:1/3;align-self:center;font-size:12px;color:#92643b}.dc-shell:fullscreen,.dc-shell.dc-expanded{width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:var(--dc-safe-top) var(--dc-safe-right) var(--dc-safe-bottom) var(--dc-safe-left)}.dc-expanded{position:fixed;inset:0;z-index:2147483000}.gx-dotcounter.dc-portal{position:relative;max-width:none!important;margin:0!important;z-index:2147483000}.dc-shell:is(:fullscreen,.dc-expanded) .dc-stage{flex:1;min-height:0}.dc-shell:is(:fullscreen,.dc-expanded) .dc-display{min-height:0}.dc-shell:is(:fullscreen,.dc-expanded) .dc-brand small{display:none}.dc-shell:is(:fullscreen,.dc-expanded)[data-panel]:not([data-panel='']) :is(.dc-hud,.dc-bottom){display:none}.dc-shell:is(:fullscreen,.dc-expanded) .dc-work{flex-shrink:0;justify-content:center}.dc-shell:is(:fullscreen,.dc-expanded) .dc-controls{max-width:380px}
@media(max-width:580px){.gx-dotcounter{margin:14px auto;font-size:13px}.dc-head{display:block;padding:8px 10px}.dc-brand strong{font-size:20px}.dc-brand small{display:none}.dc-top{margin-top:6px;justify-content:flex-end}.dc-top button{font-size:11px;padding:5px 9px}.dc-hud strong{font-size:20px}.dc-stage{min-height:520px}.dc-display{min-height:255px}.dc-work{flex-direction:column;padding:9px 10px 12px;gap:9px}.dc-board{width:100%;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;flex:0 0 auto}.gx-dotcounter .dc-cell{min-height:52px;font-size:20px}.dc-controls{width:100%;gap:6px;flex:0 0 auto}.dc-label{font-size:15px}.dc-hint{font-size:12px}.dc-panel{padding:18px 12px;gap:10px}.dc-panel h2{font-size:22px!important}.dc-modes button,.dc-levels button{font-size:12px}.dc-bottom{padding:5px 10px 2px}.dc-status{padding:1px 10px 6px}.dc-score{font-size:40px}}
@media(max-height:700px) and (max-width:559px){.dc-shell:is(:fullscreen,.dc-expanded) .dc-head{display:flex;min-height:52px;padding:4px 7px;gap:4px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-brand strong{font-size:13px;max-width:86px;line-height:1.25}.dc-shell:is(:fullscreen,.dc-expanded) .dc-top{margin:0;gap:3px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-top button{font-size:10px;padding:4px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hud>div{display:flex;align-items:center;justify-content:center;gap:4px;padding:3px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hud strong{font-size:17px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-work{padding:5px 7px;gap:5px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-board{gap:4px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-cell{min-height:44px;font-size:17px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-label{display:none}.dc-shell:is(:fullscreen,.dc-expanded) .dc-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-tools{display:contents}.dc-shell:is(:fullscreen,.dc-expanded) .dc-controls>button,.dc-shell:is(:fullscreen,.dc-expanded) .dc-tools button{padding:4px;font-size:10px;white-space:normal}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hint{font-size:10px;min-height:16px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-bottom{padding:2px 7px;font-size:10px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-status{min-height:20px;padding:1px 7px 3px;font-size:10px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-panel{padding:12px 10px;gap:8px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-panel h2{font-size:20px!important}}
@media(max-height:520px) and (min-width:560px){.dc-shell:is(:fullscreen,.dc-expanded) .dc-head{display:flex;flex-shrink:0;height:50px;min-height:50px;padding:3px 8px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-brand strong{font-size:17px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-top{margin:0}.dc-shell:is(:fullscreen,.dc-expanded) .dc-stage{flex-direction:row}.dc-shell:is(:fullscreen,.dc-expanded) .dc-display{width:55%;flex:none;height:100%}.dc-shell:is(:fullscreen,.dc-expanded) .dc-work{width:45%;flex:none;flex-direction:column;gap:5px;padding:38px 8px 7px;justify-content:center;border-top:0;border-left:1px solid #aac097}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hud{position:absolute;top:calc(50px + var(--dc-safe-top));right:var(--dc-safe-right);width:calc(45% - (var(--dc-safe-left) + var(--dc-safe-right)) * .45);z-index:2}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hud>div{padding:2px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hud span{font-size:9px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hud strong{font-size:16px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px;flex:none}.dc-shell:is(:fullscreen,.dc-expanded) .dc-cell{font-size:18px;min-height:44px;padding:4px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-controls{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;flex:none}.dc-shell:is(:fullscreen,.dc-expanded) .dc-label{display:none}.dc-shell:is(:fullscreen,.dc-expanded) .dc-hint{font-size:10px;line-height:1.4;min-height:28px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-tools{display:contents}.dc-shell:is(:fullscreen,.dc-expanded) .dc-controls>button,.dc-shell:is(:fullscreen,.dc-expanded) .dc-tools button{padding:3px;font-size:10px;white-space:normal}.dc-shell:is(:fullscreen,.dc-expanded) .dc-bottom{display:none}.dc-shell:is(:fullscreen,.dc-expanded) .dc-status{position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%)}.dc-shell:is(:fullscreen,.dc-expanded) .dc-panel{padding:8px 12px;gap:5px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-panel h2{font-size:19px!important}.dc-shell:is(:fullscreen,.dc-expanded) .dc-panel p{font-size:11px;line-height:1.4}.dc-shell:is(:fullscreen,.dc-expanded) .dc-panel>.dc-primary{min-height:44px;font-size:15px}.dc-shell:is(:fullscreen,.dc-expanded) .dc-history{font-size:10px}.dc-shell:is(:fullscreen,.dc-expanded)[data-panel=supply] .dc-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:8px}.dc-shell:is(:fullscreen,.dc-expanded)[data-panel=supply] .dc-panel :is(h2,p),.dc-shell:is(:fullscreen,.dc-expanded)[data-panel=supply] .dc-panel>[data-tool=skip]{grid-column:1/-1}.dc-shell:is(:fullscreen,.dc-expanded) .dc-supply{display:flex;flex-direction:column;padding:7px!important}.dc-shell:is(:fullscreen,.dc-expanded) .dc-score{font-size:34px}}
@media(prefers-reduced-motion:reduce){.gx-dotcounter *{animation:none!important;transition:none!important}}
