:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error)}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0;transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0;transform:translate(0)}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:4px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);overflow:hidden;font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.7s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--board-width: min(60vh, 60vw, 600px);--control-panel-width: calc(var(--board-width) * 2/3);--block-gap: 15px;--border-radius: 8px;--nav-block-height: 72px;--coop-bar-height: var(--nav-block-height)}html,body,*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Arial,Microsoft YaHei,sans-serif;background-color:#f0f2f5;color:#333;overflow-x:hidden;width:100%;height:100%;margin:0;padding:0}.sudoku-game-container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;display:flex;flex-direction:column;gap:var(--block-gap);width:100%;margin-top:20px;align-items:center}.coop-status-shell{width:100%;max-width:1100px;margin:0 auto 16px;padding:8px 16px;border-radius:18px;background:linear-gradient(120deg,#0f172a,#1d4ed8);color:#f8fafc;box-shadow:0 20px 40px #0f172a59;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;min-height:var(--coop-bar-height);box-sizing:border-box;position:sticky;top:12px;z-index:2050}.coop-status-shell.state-share{background:linear-gradient(120deg,#fef3c7,#fde68a);color:#1f2937;border-color:#0f172a14;box-shadow:0 16px 30px #facc1559}.coop-floating-bar{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.coop-floating-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1 auto}.coop-avatar-strip{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex:0 1 auto;justify-content:flex-end;overflow-x:auto;padding:4px 0;max-width:55%}.coop-avatar-strip::-webkit-scrollbar{display:none}.coop-avatar-chip{border:none;border-radius:999px;background:rgba(255,255,255,.18);color:inherit;width:calc(var(--coop-bar-height) - 12px);height:calc(var(--coop-bar-height) - 12px);padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;flex:0 0 auto;box-shadow:0 10px 18px #00000040}.coop-avatar-chip:hover{transform:translateY(-2px)}.coop-avatar-symbol{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;background:rgba(15,23,42,.2);border:1px solid rgba(255,255,255,.3);color:inherit}.coop-avatar-label{font-size:10px;text-align:center;max-width:calc(var(--coop-bar-height) - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.coop-avatar-chip.is-controller .coop-avatar-symbol{background:#fbbf24;border-color:#00000026;color:#1f2937}.coop-avatar-chip.is-self{box-shadow:0 12px 20px #0ea5e973}.coop-avatar-chip.exit{background:#ef4444;color:#fff;width:calc(var(--coop-bar-height) - 8px)}.coop-avatar-chip.exit .coop-avatar-symbol{background:rgba(255,255,255,.2);border-color:#ffffff59}.coop-avatar-placeholder{font-size:11px;opacity:.9;padding:0 6px;white-space:nowrap}.imodal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;padding:16px}.imodal-card{width:min(92vw,420px);background:#ffffff;color:#111827;border-radius:16px;box-shadow:0 18px 40px #0f172a59;border:1px solid rgba(148,163,184,.4);padding:16px}.imodal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.imodal-title{margin:0;font-size:16px;font-weight:600}.imodal-close{border:none;background:transparent;font-size:18px;cursor:pointer;color:#64748b}.imodal-body{font-size:14px;color:#475569}.imodal-body p{margin:0}.imodal-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px}.imodal-secondary{border:1px solid #cbd5f5;background:#ffffff;color:#334155;border-radius:10px;padding:8px 14px;font-size:13px;cursor:pointer}.imodal-primary{border:none;background:#2563eb;color:#fff;border-radius:10px;padding:8px 14px;font-size:13px;cursor:pointer;box-shadow:0 10px 18px #2563eb4d}.coop-status-shell.state-share .coop-avatar-chip{background:rgba(15,23,42,.08);color:#1f2937;box-shadow:none}.coop-status-shell.state-share .coop-avatar-chip.exit{background:#dc2626;color:#fff}.coop-status-headline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.coop-status-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.coop-status-badge{font-size:13px;font-weight:600;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.22);color:inherit;text-transform:uppercase;letter-spacing:.05em}.coop-status-shell.state-share .coop-status-badge{background:rgba(15,23,42,.08)}.coop-connection-indicator{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12)}.coop-status-shell.state-share .coop-connection-indicator{background:rgba(15,23,42,.08)}.coop-connection-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981b3}.coop-connection-indicator.state-error .coop-connection-dot{background:#ef4444;box-shadow:0 0 6px #ef4444b3}.coop-connection-indicator.state-syncing .coop-connection-dot{background:#f97316;box-shadow:0 0 6px #f97316b3}.coop-controller-label{font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px}.coop-status-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.coop-action{border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:rgba(255,255,255,.18);color:inherit}.coop-action:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0003}.coop-action.primary{background:#fbbf24;color:#1f2937;box-shadow:0 10px 20px #fbbf2473}.coop-action.subtle{background:rgba(15,23,42,.25);color:inherit}.coop-action.ghost{background:transparent;border:1px solid rgba(255,255,255,.35)}.coop-status-shell.state-share .coop-action.ghost{border-color:#0f172a33}.coop-action.alert{background:#ef4444;color:#fff;box-shadow:0 10px 22px #ef444466}.coop-action:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.coop-participant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.coop-participant-card{border:none;border-radius:14px;padding:10px 12px;background:rgba(15,23,42,.25);color:inherit;display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:left}.coop-status-shell.state-share .coop-participant-card{background:rgba(255,255,255,.6);color:#1f2937}.coop-participant-card:hover{transform:translateY(-2px);box-shadow:0 12px 20px #0000002e}.coop-participant-avatar{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.15);display:grid;place-items:center;font-weight:700;letter-spacing:.04em}.coop-status-shell.state-share .coop-participant-avatar{background:rgba(15,23,42,.08)}.coop-participant-meta{flex:1;display:flex;flex-direction:column;line-height:1.2}.coop-participant-name{font-size:14px;font-weight:600}.coop-participant-role{font-size:12px;opacity:.8}.coop-participant-card.is-controller{border:1px solid rgba(251,191,36,.6)}.coop-participant-card.is-self{border:1px solid rgba(96,165,250,.7)}.coop-chip{font-size:11px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.25);font-weight:600}.coop-chip.self{background:rgba(59,130,246,.85)}.coop-chip.controller{background:rgba(251,191,36,.85);color:#1f2937}.coop-empty{padding:20px;border-radius:14px;background:rgba(255,255,255,.12);text-align:center;font-size:14px}.coop-status-shell.state-share .coop-empty{background:rgba(15,23,42,.05)}.top-row{display:flex;gap:var(--block-gap);width:100%;justify-content:center;align-items:center;flex-wrap:wrap}.bottom-row{display:flex;gap:var(--block-gap);width:100%;justify-content:center;align-items:flex-start;flex-wrap:wrap}.display-block{background-color:#fff;border-radius:var(--border-radius);padding:10px 20px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;width:var(--control-panel-width);height:auto;min-height:0;line-height:1.2}.display-block div{display:flex;flex-direction:row;align-items:center;justify-content:center;margin:0;gap:4px;line-height:1.2;font-size:14px}.display-block .value{font-size:16px;font-weight:700;color:#34495e;margin-top:0;padding:0}.display-block .error-count{color:#e74c3c;font-size:18px;font-weight:700;padding:0}.board-container{background-color:#fff;border-radius:var(--border-radius);padding:0!important;box-shadow:0 6px 20px #0003;display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--board-width);height:var(--board-width);position:relative;box-sizing:border-box;overflow:hidden;transition:box-shadow .2s ease}.board-container:hover{box-shadow:0 8px 20px #0000002e}.sudoku-board{width:100%!important;height:100%!important;position:relative;box-sizing:border-box;margin:0!important;padding:0!important;border-radius:inherit}.control-panel{background-color:#fff;border-radius:var(--border-radius);padding:10px;box-shadow:0 2px 8px #0000001a;width:var(--control-panel-width);height:var(--board-width);position:relative;box-sizing:border-box;transition:box-shadow .2s ease}.control-panel:hover{box-shadow:0 6px 16px #00000026}@media (max-width: 991px){:root{--board-width:calc(100vw - 16px);--control-panel-width:calc(100vw - 16px);--block-gap: 2px;--nav-block-height: 64px;--coop-bar-height: var(--nav-block-height)}html{height:100%;overflow-x:hidden}body{height:auto;min-height:100vh;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;-webkit-overflow-scrolling:touch;position:relative}.sudoku-game-container{max-width:none;padding:0!important;margin:0!important;min-height:100vh;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.main-content{margin-top:4px;gap:var(--block-gap);display:flex;flex-direction:column;width:100%;overflow:visible;padding:0 8px 6px}.is-portrait .main-content{flex-direction:column;align-items:center;gap:4px!important;padding:8px;--block-gap: 4px !important}.top-row,.bottom-row{flex-direction:column;align-items:stretch;gap:4px;margin:0;padding:0;width:100%}.nav-block{width:min(100%,var(--board-width));max-width:var(--board-width);align-self:center;height:auto;min-height:var(--nav-block-height);padding:0;margin:0;position:relative;scroll-snap-align:end;scroll-margin-bottom:5px}.nav-block:after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:2px;background:transparent;scroll-snap-align:start;scroll-margin-top:5px;z-index:-1}nav{display:block;padding:4px 0;margin-bottom:4px;scroll-snap-align:start;scroll-margin-top:5px}.board-container{width:100%;height:var(--board-width);margin:0!important;padding:0!important;border-radius:8px;overflow:hidden;box-sizing:border-box;box-shadow:0 6px 20px #0003}.controls-container{width:100%;max-width:var(--board-width);margin:0 auto}.control-panel{width:100%;height:auto;min-height:auto;padding:15px;box-sizing:border-box;border-radius:var(--border-radius);align-self:auto}.display-block{background-color:#fff;padding:8px 15px;box-shadow:0 2px 6px #0000001a;height:auto;min-height:52px;gap:12px;margin:4px 0!important;display:flex;flex-wrap:nowrap;justify-content:space-around;width:100%;border-radius:var(--border-radius);position:relative;scroll-snap-align:end;scroll-margin-bottom:5px}.display-block:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:#0000001a}.display-block div{font-size:16px;gap:6px;margin:0;flex:1;display:flex;justify-content:center;align-items:center}.display-block .value{font-size:18px;font-weight:700;margin:0}.display-block .error-count{font-size:20px;font-weight:700;margin:0}.coop-status-shell{border-radius:14px;margin:6px 8px 12px;padding:8px 12px;top:6px;width:min(100%,var(--board-width));max-width:var(--board-width);align-self:center}.coop-floating-bar{flex-direction:column;align-items:flex-start}.coop-floating-info{width:100%;justify-content:flex-start}.coop-avatar-strip{width:100%;justify-content:flex-start;max-width:100%}.coop-avatar-chip{width:calc(var(--coop-bar-height) - 10px);height:calc(var(--coop-bar-height) - 10px)}.coop-application-panel{width:calc(100% - 24px);right:12px;left:12px;bottom:12px}}.coop-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:3100;padding:20px}.coop-modal-card{width:min(520px,92vw);background:#ffffff;border-radius:20px;padding:20px;box-shadow:0 25px 45px #0f172a40;position:relative;display:flex;flex-direction:column;gap:16px}.coop-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.coop-modal-close{border:none;background:rgba(148,163,184,.18);width:32px;height:32px;border-radius:10px;cursor:pointer;font-size:18px;color:#0f172a;display:flex;align-items:center;justify-content:center}.coop-modal-body{display:flex;flex-direction:column;gap:12px;font-size:14px;color:#475569}.coop-share-label{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.coop-share-field{display:flex;gap:8px}.coop-share-field input{flex:1;border-radius:12px;border:1px solid #cbd5f5;padding:8px 12px;font-size:13px}.coop-share-field button{border:none;border-radius:12px;padding:8px 14px;background:#1d4ed8;color:#fff;font-weight:600;cursor:pointer}.coop-share-token{font-size:12px;color:#94a3b8;letter-spacing:.08em}.coop-modal-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#b91c1c;padding:8px 12px;border-radius:12px}.coop-modal-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.coop-modal-primary,.coop-modal-secondary,.coop-modal-danger{border:none;border-radius:12px;padding:8px 16px;cursor:pointer;font-weight:600}.coop-modal-primary{background:#1d4ed8;color:#fff}.coop-modal-secondary{background:#e2e8f0;color:#0f172a}.coop-modal-danger{background:#ef4444;color:#fff}.coop-application-panel{position:fixed;bottom:24px;right:24px;width:320px;background:#0f172a;color:#e2e8f0;border-radius:18px;box-shadow:0 25px 40px #0f172a59;border:1px solid rgba(255,255,255,.12);z-index:3200;display:flex;flex-direction:column}.coop-application-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0}.coop-application-body{padding:12px 16px 16px;display:flex;flex-direction:column;gap:12px;max-height:320px;overflow-y:auto}.coop-application-item{background:rgba(255,255,255,.08);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:10px}.coop-application-meta strong{font-size:14px}.coop-application-meta span{font-size:12px;color:#cbd5f5}.coop-application-actions{display:flex;gap:8px;justify-content:flex-end}.coop-application-btn{flex:1;border:none;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer}.coop-application-btn.accept{background:#10b981;color:#032b1c}.coop-application-btn.reject{background:rgba(248,250,252,.12);color:#f8fafc;border:1px solid rgba(248,250,252,.2)}@media (max-width: 480px){:root{--board-width:calc(100vw - 12px);--block-gap: 6px}.sudoku-game-container{padding:0!important;margin:0!important;width:100%}.main-content{padding:0 6px calc(var(--block-gap) / 2) 6px}.control-panel button{min-height:40px!important;font-size:18px!important}}@media (min-width: 992px){.main-content{flex-direction:column;gap:var(--block-gap);width:100%;margin-top:20px;align-items:center}.top-row,.bottom-row{display:flex;flex-direction:row;gap:var(--block-gap);width:100%;max-width:calc(var(--board-width) + var(--control-panel-width) + var(--block-gap));justify-content:center;align-items:flex-start;flex-wrap:nowrap;margin:0 auto}.top-row{justify-content:center;align-items:stretch}.nav-block{width:var(--board-width);height:auto;min-height:var(--nav-block-height)}.board-container{width:var(--board-width);height:var(--board-width)}.display-block{width:var(--control-panel-width);height:auto;min-height:60px}.control-panel{width:var(--control-panel-width);height:var(--board-width)}.control-panel button{min-height:45px!important;font-size:16px!important}.control-panel .number-pad button.number-button{min-height:60px!important;font-size:18px!important}.control-panel .tab-buttons button{min-height:42px!important;font-size:15px!important}}.pause-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:auto;cursor:pointer}.pause-message{background-color:#fff;padding:30px 40px;border-radius:12px;text-align:center;box-shadow:0 4px 20px #0000004d;animation:fadeIn .3s ease-in-out;cursor:pointer}.pause-message h2{color:#2c3e50;font-size:28px;margin-bottom:10px}.pause-message p{color:#7f8c8d;font-size:16px;margin-top:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.completion-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1600;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}.completion-modal{position:relative;width:min(92vw,420px);background:#ffffff;border-radius:16px;padding:24px 20px 18px;text-align:center;box-shadow:0 22px 60px #00000047;overflow:hidden;animation:completionModalIn .32s ease-out}.completion-modal-close{position:absolute;top:10px;right:12px;border:none;background:transparent;color:#475569;font-size:24px;line-height:1;cursor:pointer}.completion-trophy{font-size:44px;margin:8px 0 10px;animation:trophyBounce 1.2s ease-in-out infinite}.completion-modal h2{margin:0;font-size:24px;color:#0f172a}.completion-modal p{margin:10px 0 0;color:#334155;font-size:15px}.completion-reward-card{margin-top:16px;padding:14px 16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;text-align:left}.completion-reward-title{margin:0 0 8px;font-size:14px;font-weight:600;color:#0f172a}.completion-reward-stats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.completion-reward-stats li{display:flex;justify-content:space-between;font-size:14px;color:#475569}.completion-reward-value{font-size:18px;font-weight:700;color:#047857}.completion-reward-total{color:#0f172a}.completion-reward-message{font-size:14px;color:#475569;margin:0}.completion-reward-error{color:#b91c1c}.completion-modal-actions{margin-top:18px;display:flex;justify-content:center}.completion-modal-primary{margin-top:0;border:none;border-radius:10px;padding:10px 18px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.completion-confetti-layer{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.completion-confetti-layer span{position:absolute;top:-12px;font-size:18px;animation:confettiDrop 1.9s linear infinite}.completion-confetti-layer span:nth-child(1){left:10%;animation-delay:0s}.completion-confetti-layer span:nth-child(2){left:25%;animation-delay:.22s}.completion-confetti-layer span:nth-child(3){left:40%;animation-delay:.44s}.completion-confetti-layer span:nth-child(4){left:58%;animation-delay:.66s}.completion-confetti-layer span:nth-child(5){left:74%;animation-delay:.88s}.completion-confetti-layer span:nth-child(6){left:88%;animation-delay:1.1s}@keyframes completionModalIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes confettiDrop{0%{transform:translateY(-10px) rotate(0);opacity:0}15%{opacity:1}to{transform:translateY(420px) rotate(320deg);opacity:0}}@keyframes trophyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overscroll-behavior:none;touch-action:manipulation}#root{height:100%;display:flex;flex-direction:column}:root{--primary: #3498db;--primary-dark: #2980b9;--primary-light: #5dade2;--secondary: #2ecc71;--secondary-dark: #27ae60;--success: #2ecc71;--warning: #f39c12;--error: #e74c3c;--info: #3498db;--text: #34495e;--text-secondary: #7f8c8d;--text-light: #bdc3c7;--background: #f8f9fa;--surface: #ffffff;--surface-highlight: #f5f5f5;--border: #e0e0e0;--border-light: #f0f0f0;--shadow: 0 2px 4px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 8px rgba(0, 0, 0, .15);--shadow-dark: 0 8px 16px rgba(0, 0, 0, .2);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}@media (prefers-color-scheme: dark){:root{--primary: #3498db;--primary-dark: #2980b9;--primary-light: #5dade2;--secondary: #2ecc71;--secondary-dark: #27ae60;--success: #2ecc71;--warning: #f39c12;--error: #e74c3c;--info: #3498db;--text: #ecf0f1;--text-secondary: #bdc3c7;--text-light: #95a5a6;--background: #1a1a1a;--surface: #2c3e50;--surface-highlight: #34495e;--border: #34495e;--border-light: #4a5f7a;--shadow: 0 2px 4px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 8px rgba(0, 0, 0, .4);--shadow-dark: 0 8px 16px rgba(0, 0, 0, .5)}}button{cursor:pointer;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:14px;font-weight:500;transition:all var(--transition-normal);font-family:inherit;user-select:none;-webkit-user-select:none;touch-action:manipulation}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-medium)}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow)}button:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}input{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-sm) calc(var(--spacing-sm) + 4px);font-size:14px;outline:none;transition:all var(--transition-normal);font-family:inherit;background-color:var(--surface);color:var(--text)}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light) 33}input::placeholder{color:var(--text-light)}.loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:18px;color:var(--text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);width:100%}@media (max-width: 1200px){.container{max-width:100%}}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--spacing-lg);border:1px solid var(--border);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-medium)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--primary: #0066cc;--primary-dark: #004c99;--text: #ffffff;--background: #000000;--surface: #333333;--border: #666666}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}@media (hover: none) and (pointer: coarse){button,input{padding:calc(var(--spacing-sm) + 4px) calc(var(--spacing-md) + 4px);min-height:44px}}
