.go-board-container{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px}.go-board-canvas{display:block;border-radius:4px}.coord-hint{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#111827e6;color:#fff;padding:3px 10px;border-radius:4px;font-size:13px;font-weight:600;pointer-events:none;z-index:10}@media (max-width: 480px){.go-board-container{padding:4px}}.go-board-container{background:linear-gradient(135deg,#ffedc2,#ffdf99);border:3px solid #e0a96d;border-radius:18px;box-shadow:0 4px #e0a96d4d,0 10px 22px #e0a96d2e}.go-board-canvas{border-radius:10px}.coord-hint{background:#4a3b2aeb;border-radius:10px}.go-board-container,.go-board-canvas{-webkit-tap-highlight-color:transparent}.go-board-canvas{-webkit-user-select:none;user-select:none;touch-action:manipulation;outline:none}.review{height:100%;width:100%;display:flex;flex-direction:column;min-height:0}.review-list-panel,.review-board-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem .95rem;max-width:1400px;width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.review-list-head,.review-board-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem;flex:0 0 auto}.review-list-head h2,.review-board-head .review-title{color:#1a202c;font-size:1.12rem;font-weight:700}.review-title{text-align:center;flex:1;font-size:1.05rem}.review-btn{padding:.4rem .78rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;background:#fff;color:#334155;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.review-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e0}.review-btn:disabled{opacity:.45;cursor:not-allowed}.review-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.review-btn.primary:hover:not(:disabled){background:#1d4ed8}.review-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.review-btn.ghost{background:transparent;border:1px dashed #cbd5e0;color:#64748b}.review-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.6rem .8rem;border-radius:7px;font-size:.9rem;margin-bottom:1rem}.review-error.small{padding:.45rem .65rem;font-size:.85rem;margin:.5rem 0 0}.review-loading{text-align:center;color:#64748b;padding:2rem}.review-empty{text-align:center;color:#94a3b8;padding:2.5rem}.review-table-wrap{overflow:auto;flex:1;min-height:0}.review-table{width:100%;border-collapse:collapse}.review-table th,.review-table td{padding:.55rem .7rem;text-align:left;border-bottom:1px solid #f1f5f9}.review-table th{color:#64748b;font-weight:600;font-size:.82rem}.review-table tbody tr{cursor:pointer}.review-table tbody tr:hover{background:#f8fafc}.review-table td{color:#1a202c;font-weight:500;font-size:.9rem}.rv-result{font-weight:700!important;color:#2563eb!important}.rv-black-dot,.rv-white-dot{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:middle;margin:0 .2rem}.rv-black-dot{background:#111827}.rv-white-dot{background:#fff;border:1px solid #cbd5e0}.review-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:.85rem;align-items:start;flex:1;min-height:0}.review-board-side{display:flex;flex-direction:column;gap:.5rem;min-height:0;height:100%}.review-mode-bar{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #e5e7eb;padding:.34rem .7rem;border-radius:8px}.mode-chip{background:#2563eb;color:#fff;padding:.25rem .7rem;border-radius:4px;font-size:.8rem;font-weight:700}.move-indicator{color:#475569;font-weight:600;font-size:.9rem}.review-nav{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.move-slider{display:flex;align-items:center;gap:.5rem;flex:1;min-width:160px}.move-slider input[type=range]{flex:1;accent-color:#2563eb}.move-num{color:#1a202c;font-weight:700;white-space:nowrap;font-size:.9rem}.review-tools{display:flex;flex-direction:column;gap:.8rem;overflow:auto;min-height:0;height:100%}.tool-group{background:#f8fafc;border:1px solid #e5e7eb;padding:1rem;border-radius:8px}.tool-group h3{color:#1a202c;margin:0 0 .4rem;font-size:1rem}.tool-hint{color:#64748b;font-size:.85rem;margin-bottom:.7rem;line-height:1.5}.mark-type-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem}.mark-btn{padding:.32rem .58rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:.8rem;color:#475569;transition:background .15s ease,border-color .15s ease,color .15s ease}.mark-btn.active{border-color:#2563eb;background:#2563eb;color:#fff}.letter-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem}.letter-row label{color:#475569;font-weight:600;font-size:.9rem}.letter-row input{width:44px;padding:.35rem .4rem;border:1px solid #e5e7eb;border-radius:6px;text-align:center;font-size:1rem;font-weight:700;outline:none}.letter-row input:focus{border-color:#2563eb}.mark-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.mark-count{color:#64748b;font-size:.82rem;margin-top:.5rem}.score-result{margin-top:.7rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.9rem}.score-row{display:flex;align-items:center;gap:.5rem;color:#1a202c;font-weight:500;padding:.25rem 0}.score-row b{font-size:1.15rem}.score-lead{font-weight:700;color:#2563eb;margin-top:.35rem}.score-note{color:#64748b;font-size:.82rem;margin-top:.35rem;border-top:1px dashed #e5e7eb;padding-top:.35rem}@media (max-width: 900px){.review-body{grid-template-columns:1fr}}.review-list-panel,.review-board-panel{background:#fff;border:3px solid var(--k-orange);border-radius:20px;box-shadow:0 6px #ff9f1c2e,0 14px 30px #ff9f1c1f}.review-list-head h2,.review-board-head .review-title{color:var(--k-brown)}.review-btn{border:2px solid var(--k-line);border-bottom-width:4px;border-radius:999px;background:#fff;color:var(--k-brown-mid);font-weight:700;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.review-btn:hover:not(:disabled){background:#fff3d6;border-color:var(--k-lemon-deep);transform:scale(1.03)}.review-btn:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px;margin-bottom:2px}.review-btn.primary{background:var(--k-orange);border:2px solid var(--k-orange);border-bottom:4px solid var(--k-orange-deep);color:#fff}.review-btn.primary:hover:not(:disabled){background:#ffb23f;border-color:#ffb23f}.review-btn.danger{background:var(--k-red);border:2px solid var(--k-red);border-bottom:4px solid var(--k-red-deep);color:#fff}.review-btn.ghost{background:#ffffffa6;border:2px dashed #d8bf95;color:var(--k-brown-soft)}.review-error{background:#ffebec;border:2px solid #ffc2c2;color:var(--k-red-deep);border-radius:12px}.review-loading,.review-empty{color:var(--k-brown-soft)}.review-table th,.review-table td{border-bottom:2px solid var(--k-line)}.review-table th{color:var(--k-brown-soft)}.review-table td{color:var(--k-brown)}.review-table tbody tr:hover{background:#fff3d6}.rv-result{color:var(--k-orange-deep)!important}.rv-white-dot{border:1px solid #e3c795}.review-mode-bar{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:14px}.mode-chip{background:var(--k-orange);border-radius:999px;padding:.25rem .85rem;box-shadow:0 2px 0 var(--k-orange-deep)}.move-indicator{color:var(--k-brown-mid)}.move-slider input[type=range]{accent-color:var(--k-orange)}.move-num{color:var(--k-brown)}.tool-group{background:var(--k-cream-card);border:2.5px solid var(--k-lemon);border-radius:16px}.review-tools .tool-group:nth-child(1){border-color:#bfe8da}.review-tools .tool-group:nth-child(3){border-color:#ffc9de}.tool-group h3{color:var(--k-brown)}.tool-hint{color:var(--k-brown-soft)}.mark-btn{border:2px solid var(--k-line);border-bottom-width:3px;border-radius:999px;background:#fff;color:var(--k-brown-mid);transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.mark-btn:hover{border-color:var(--k-orange);color:var(--k-orange-dark);transform:scale(1.04)}.mark-btn.active{border-color:var(--k-orange);background:var(--k-orange);color:#fff}.letter-row label{color:var(--k-brown-mid)}.letter-row input{border:2px solid var(--k-line);border-radius:10px;background:#fff;color:var(--k-brown)}.letter-row input:focus{border-color:var(--k-orange)}.mark-count{color:var(--k-brown-soft)}.score-result{background:#fff;border:2.5px solid var(--k-mint);border-radius:16px}.score-row{color:var(--k-brown)}.score-lead{color:var(--k-orange-deep)}.score-note{color:var(--k-brown-soft);border-top:2px dashed var(--k-line)}.review-filters{display:flex;flex-direction:column;gap:.45rem;margin:.6rem 0 .4rem}.review-search{width:100%;box-sizing:border-box;padding:.5rem .7rem;border:2px solid #f0d9b5;border-radius:10px;background:#fffdf8;font-size:.82rem;color:#4a3b2a;outline:none}.review-search:focus{border-color:#ff9f43;box-shadow:0 0 0 3px #ff9f4326}.review-filter-row{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.review-filter-label{font-size:.72rem;color:#8a7355;min-width:2.2rem}.review-filter-chip{border:2px solid #f0c98a;background:#fff8ec;color:#8a7355;border-radius:999px;font-size:.72rem;padding:.15rem .55rem;cursor:pointer}.review-filter-chip.active{background:#ff9f43;border-color:#ff9f43;color:#fff;font-weight:700}.review-filter-count{margin-left:auto;font-size:.7rem;color:#94a3b8}@media (max-width: 900px){.review-board-panel{overflow-y:auto;padding-bottom:138px}.review-body{display:flex;flex-direction:column;flex:none;min-height:0}.review-board-side{height:auto;min-height:0;overflow:visible}.review-board-side .go-board-container{flex:none;height:auto}.review-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:3px solid var(--k-orange, #ff9f43);padding:.45rem .6rem calc(.5rem + env(safe-area-inset-bottom));box-shadow:0 -6px 18px #2e3b2a24;gap:.35rem;flex-wrap:wrap}.review-nav .move-slider{order:-1;flex:0 0 100%;min-width:0}.review-nav .review-btn{flex:1;padding:.45rem .25rem;font-size:.74rem}.review-tools{height:auto;overflow:visible;padding-bottom:138px}}.review-body{display:flex;flex-direction:column;flex:1;min-height:0}.review-board-side{flex:1;min-height:0;height:auto}.review-tools{display:none!important}.review-bottom{display:flex;flex-direction:column;gap:.35rem;padding-top:.15rem}.review-slider-row{display:flex;align-items:center;gap:.5rem}.review-slider-row input[type=range]{flex:1;accent-color:var(--k-orange, #ff9f43)}.review-quick-actions{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap}.review-btn.compact{padding:.28rem .48rem;font-size:.72rem;border-radius:9px}.review-score-chip{align-self:center;font-size:.72rem;font-weight:700;color:var(--k-brown, #4a3b2a);background:#fff8ec;border:1px solid #f0c98a;border-radius:999px;padding:.1rem .55rem}@media (max-width: 900px){.review-board-panel{overflow:hidden;padding-bottom:0}.review-tools{padding-bottom:0}}.review-board-side,.review{justify-content:center}.review-board-panel{height:auto;max-height:100%}.review-body{flex:0 0 auto}.review-board-side{flex:0 0 auto;justify-content:flex-start}@media (max-width: 900px){.review-title{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.review-board-panel{max-width:760px}.review-cards{display:flex;flex-direction:column;gap:.4rem;flex:1;min-height:0;overflow-y:auto;padding:.15rem}.review-card{display:flex;flex-direction:column;gap:.18rem;width:100%;text-align:left;background:#fff;border:2px solid #f0e2cc;border-radius:10px;padding:.48rem .62rem;cursor:pointer;color:#334155}.review-card:hover{background:#fff8ec}.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.review-card-players{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700}.review-card-players em{font-style:normal;color:#94a3b8;font-weight:500;margin:0 .18rem}.review-card-result{flex:none;font-size:.78rem;font-weight:800;color:#b45309}.review-card-meta{font-size:.7rem;color:#94a3b8}.auth-wrap{display:flex;justify-content:center;align-items:center;min-height:70vh;padding:1.5rem 0}.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.75rem;display:flex;flex-direction:column;gap:1rem}.auth-card h2{text-align:center;color:#1a202c;font-size:1.4rem;margin:0}.auth-sub{text-align:center;color:#64748b;font-size:.9rem;margin:-.5rem 0 0}.auth-tabs{display:flex;gap:.4rem}.auth-tabs button{flex:1;padding:.5rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-weight:600;color:#475569}.auth-tabs button.active{border-color:#2563eb;background:#2563eb;color:#fff}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field label{font-weight:600;color:#475569;font-size:.9rem}.auth-field input{padding:.6rem .8rem;border:1px solid #e5e7eb;border-radius:7px;font-size:1rem;outline:none;background:#fff;color:#1a202c}.auth-field input:focus{border-color:#2563eb}.auth-field select{padding:.6rem .8rem;border:1px solid #e5e7eb;border-radius:7px;font-size:1rem;outline:none;background:#fff;color:#1a202c}.auth-field select:focus{border-color:#2563eb}.auth-remember{display:flex;align-items:center;gap:.45rem;font-size:.88rem;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.auth-remember input[type=checkbox]{width:15px;height:15px;accent-color:#2563eb;cursor:pointer}.auth-error{padding:.6rem .8rem;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:7px;font-size:.9rem}.auth-submit{padding:.7rem;border:none;border-radius:7px;background:#2563eb;color:#fff;font-size:1rem;font-weight:700;cursor:pointer}.auth-submit:hover:not(:disabled){background:#1d4ed8}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-wrap{background-image:radial-gradient(circle at 6% 10%,rgba(255,112,166,.1) 0 12px,transparent 13px),radial-gradient(circle at 94% 88%,rgba(46,155,255,.1) 0 14px,transparent 15px)}.auth-card{background:#fff;border:3px solid var(--k-pink);border-radius:24px;box-shadow:0 7px #ff70a633,0 16px 34px #ff70a629}.auth-card h2{color:var(--k-brown)}.auth-sub{color:var(--k-brown-soft)}.auth-tabs button{border:2px solid var(--k-line);border-bottom-width:4px;border-radius:999px;background:#fff;color:var(--k-brown-mid);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.auth-tabs button:hover{transform:scale(1.03)}.auth-tabs button.active{border-color:var(--k-orange);background:var(--k-orange);color:#fff}.auth-field label{color:var(--k-brown-mid)}.auth-field input,.auth-field select{background:var(--k-cream-card);border:2px solid var(--k-line);border-bottom-width:3px;border-radius:14px;color:var(--k-brown)}.auth-field input:focus,.auth-field select:focus{border-color:var(--k-orange)}.auth-remember{color:var(--k-brown-mid)}.auth-remember input[type=checkbox]{accent-color:var(--k-orange)}.auth-error{background:#ffebec;border:2px solid #ffc2c2;color:var(--k-red-deep);border-radius:12px}.auth-submit{background:var(--k-orange);border:none;border-radius:999px;box-shadow:0 4px 0 var(--k-orange-deep);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.auth-submit:hover:not(:disabled){background:#ffb23f;transform:scale(1.02);box-shadow:0 5px 0 var(--k-orange-deep),0 10px 20px #ff9f1c59}.auth-submit:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--k-orange-deep)}.auth-hint{margin:.7rem 0 0;text-align:center;font-size:.72rem;line-height:1.45;color:#94a3b8}.auth-field-hint{margin:-.25rem 0 .15rem;font-size:.7rem;line-height:1.4;color:#94a3b8}.app{height:100vh;display:flex;flex-direction:column;background:#f5f6f8;overflow:hidden}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:.5rem 1rem;text-align:center}.app-header h1{font-size:1.6rem;color:#1a202c;margin:0 0 .25rem;font-weight:700;letter-spacing:.02em}.subtitle{font-size:.95rem;color:#64748b;margin:0}.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;max-width:1440px;margin:0 auto}.gt-players{display:flex;align-items:center;gap:.75rem;flex:1}.gt-player{display:flex;align-items:center;gap:.4rem;font-weight:600;color:#1a202c;font-size:.95rem}.gt-dot{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid #94a3b8}.gt-dot.black{background:#111827;border-color:#000}.gt-dot.white{background:#fff;border-color:#cbd5e0}.gt-status{color:#64748b;font-size:.9rem;font-weight:500}.gt-right{display:flex;align-items:center;gap:.6rem}.game-room{font-weight:600;color:#64748b;font-size:.85rem}.conn-badge{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#f1f5f9;color:#64748b}.conn-badge.online{background:#f0fdf4;color:#16a34a}.conn-badge.offline{background:#fef2f2;color:#dc2626}.conn-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.user-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.6rem;flex-wrap:wrap}.user-name{font-weight:600;color:#1a202c}.user-stats{color:#64748b;font-size:.85rem}.logout-btn{padding:.22rem .6rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:.78rem;color:#475569;transition:border-color .15s ease,color .15s ease}.logout-btn:hover{border-color:#dc2626;color:#dc2626}.header-nav{display:flex;justify-content:center;gap:.5rem;margin-top:.55rem}.nav-link{padding:.3rem .9rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem;color:#475569;transition:background .15s ease,border-color .15s ease,color .15s ease}.nav-link.active{border-color:#2563eb;background:#2563eb;color:#fff}.app-main{flex:1;padding:1rem;max-width:1440px;margin:0 auto;width:100%;overflow:auto}.app-main-game{padding:.5rem;overflow:hidden;display:flex}.app-main-review{overflow:hidden;display:flex;padding:.5rem}.game-container{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.85rem;flex:1;min-height:0;overflow:hidden}.board-section{display:flex;flex-direction:column;gap:.55rem;min-height:0}.game-status{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#f8fafc;border:1px solid #e5e7eb;padding:.42rem .8rem;border-radius:8px}.player-indicator{display:flex;align-items:center;gap:.6rem;padding:.5rem .9rem;border-radius:6px;background:#fff;border:1px solid #e5e7eb;color:#1a202c;font-weight:500}.player-indicator.active{border-color:#2563eb;background:#eff6ff;color:#1e3a8a}.stone-indicator{width:18px;height:18px;border-radius:50%;border:1px solid #94a3b8}.stone-indicator.black{background:#111827;border-color:#000}.stone-indicator.white{background:#fff;border-color:#cbd5e0}.turn-badge{background:#e2e8f0;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;color:#475569}.player-indicator.active .turn-badge{background:#bfdbfe;color:#1e40af}.status-center{text-align:center;flex:1}.status-text{font-size:1.1rem;font-weight:700;color:#1a202c}.move-count{font-size:.85rem;color:#64748b}.board-controls{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.board-controls .control-btn{padding:.34rem .4rem;font-size:.8rem;min-width:0}.control-btn{padding:.45rem .9rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;background:#fff;color:#334155;min-width:64px;transition:background .15s ease,border-color .15s ease,color .15s ease}.control-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e0}.control-btn:disabled{opacity:.45;cursor:not-allowed}.control-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.control-btn.primary:hover:not(:disabled){background:#1d4ed8}.control-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.control-btn.danger:hover:not(:disabled){background:#b91c1c}.control-btn.ghost{background:transparent;border:1px dashed #cbd5e0;color:#64748b}.info-section{display:flex;flex-direction:column;gap:1rem;min-height:0}.info-panel{background:#f8fafc;border:1px solid #e5e7eb;padding:1rem;border-radius:8px}.info-panel h3{color:#1a202c;margin:0 0 .75rem;font-size:1rem;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.info-label{color:#64748b;font-size:.85rem}.info-value{color:#1a202c;font-weight:600;font-size:.9rem}.spectator-list{display:flex;flex-wrap:wrap;gap:.4rem}.spectator-tag{padding:.3rem .7rem;background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#475569;font-size:.85rem}.empty-spectator{color:#94a3b8;font-size:.9rem}.result-panel .result-text{font-size:1.6rem;font-weight:700;text-align:center;color:#2563eb}.result-panel .result-reason{text-align:center;color:#64748b;margin-top:.25rem}.count-panel{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem;align-items:center}.count-title{font-weight:700;color:#92400e;font-size:1rem}.count-result{font-size:1.05rem;color:#1a202c;font-weight:500}.count-result b{font-size:1.3rem;color:#111827}.count-dead{font-size:.82rem;color:#dc2626;margin-left:.4rem}.count-legend{font-size:.8rem;color:#64748b}.count-actions{display:flex;gap:.6rem}.count-actions .control-btn{min-width:80px}.clock-bar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.clock-side{display:flex;justify-content:space-between;align-items:center;padding:.55rem .85rem;border-radius:8px;border:1px solid #e5e7eb;background:#f8fafc}.clock-side.active{border-color:#2563eb;background:#eff6ff}.clock-label{display:flex;align-items:center;gap:.4rem;font-weight:600;color:#1a202c;font-size:.95rem}.clock-time{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.15rem;color:#2563eb}.clock-side.active .clock-time{color:#1e3a8a}.game-rules{background:#f8fafc;border:1px solid #e5e7eb;padding:1rem;border-radius:8px}.game-rules h3{color:#1a202c;margin:0 0 .6rem;font-size:1rem;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.game-rules ul{list-style:none;padding:0;margin:0}.game-rules li{padding:.3rem 0;color:#475569;font-size:.9rem}.app-footer{background:#fff;border-top:1px solid #e5e7eb;padding:.55rem 1.5rem;text-align:center}.app-footer p{color:#64748b;font-size:.8rem;margin:0 0 .25rem}.footer-links a{color:#2563eb;text-decoration:none;margin:0 .5rem}.app-main-lobby{overflow:hidden;display:flex;align-items:center;justify-content:center}.lobby{width:100%;display:flex;justify-content:center;padding:0}@media (max-width: 900px){.app-main-lobby{display:block;overflow:auto}.lobby{padding:.5rem 0 1rem}.auth-wrap{min-height:auto;padding:.5rem 0 1rem}}.lobby-card{width:100%;max-width:460px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.95rem 1rem;display:flex;flex-direction:column;gap:.6rem}.lobby-card h2{text-align:center;color:#1a202c;font-size:1.4rem;margin:0}.lobby-field{display:flex;align-items:center;gap:.6rem}.lobby-field label{font-weight:600;color:#475569;font-size:.9rem;flex-shrink:0;min-width:52px}.lobby-hint{flex:1;color:#64748b;font-size:.85rem}.lobby-field .mode-tabs,.lobby-field .size-tabs{flex:1}.lobby-field input,.lobby-field select{flex:1;padding:.55rem .7rem;border:1px solid #e5e7eb;border-radius:7px;font-size:1rem;outline:none;background:#fff;color:#1a202c;min-width:0}.lobby-field input:focus,.lobby-field select:focus{border-color:#2563eb}.mode-tabs,.size-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.mode-tabs button,.size-tabs button{flex:1;min-width:0;white-space:nowrap;padding:.4rem .45rem;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:.82rem;color:#475569;transition:background .15s ease,border-color .15s ease,color .15s ease}.mode-tabs button.active,.size-tabs button.active{border-color:#2563eb;background:#2563eb;color:#fff}.lobby-error{padding:.6rem .8rem;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:7px;font-size:.9rem}.lobby-submit{padding:.55rem;border:none;border-radius:7px;background:#2563eb;color:#fff;font-size:.92rem;font-weight:700;cursor:pointer}.lobby-submit:hover:not(:disabled){background:#1d4ed8}.lobby-submit:disabled{opacity:.5;cursor:not-allowed}.me-badge{background:#2563eb;color:#fff;padding:.1rem .45rem;border-radius:4px;font-size:.7rem;font-weight:700}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.1rem;color:#64748b}@media (max-width: 900px){.app-main-game{overflow:hidden;padding:.2rem}.game-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:.3rem;gap:.4rem}.mode-tabs button,.size-tabs button{padding:.36rem .28rem;font-size:.76rem}.go-board-container{padding:3px}.board-section{flex:1;min-height:0;overflow:hidden;gap:.4rem}.game-topbar{gap:.35rem;flex-wrap:nowrap}.gt-players{gap:.4rem;min-width:0}.gt-player{font-size:.82rem;gap:.3rem;white-space:nowrap}.gt-dot{width:11px;height:11px}.gt-status{font-size:.78rem;white-space:nowrap}.gt-right{gap:.35rem;flex-shrink:0}.game-room{font-size:.75rem;white-space:nowrap}.gt-right .control-btn{min-width:0;padding:.28rem .5rem;font-size:.78rem}.gt-right .control-btn.ghost{border-style:solid}.info-section{order:2;flex:0 0 auto;gap:.4rem}.hide-mobile{display:none!important}.info-panel{padding:.55rem}.board-controls{grid-template-columns:repeat(4,1fr);gap:.35rem}.board-controls .control-btn{padding:.4rem .25rem;font-size:.78rem}}@media (max-width: 600px){.app-header{padding:.5rem .75rem}.app-header h1{font-size:1.25rem}.info-grid{grid-template-columns:1fr}}.result-score{font-size:.95rem;color:#334155;margin-top:.15rem;font-variant-numeric:tabular-nums}@media (max-height: 620px){.app-main-lobby{overflow:auto;align-items:flex-start}}.move-pad{flex:0 0 auto;display:flex;justify-content:center;padding:.15rem 0}.pad-row{display:flex;align-items:stretch;gap:.5rem}.pad-cross{display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(3,28px);gap:3px}.pad-btn{border:1px solid #cbd5e0;background:#f8fafc;border-radius:6px;color:#334155;font-size:.72rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pad-btn:active{background:#e2e8f0}.pad-btn.up{grid-area:1 / 2}.pad-btn.left{grid-area:2 / 1}.pad-btn.right{grid-area:2 / 3}.pad-btn.down{grid-area:3 / 2}.pad-confirm{width:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #2563eb;background:#2563eb;color:#fff;border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pad-confirm:disabled{background:#cbd5e0;border-color:#cbd5e0;color:#64748b;cursor:not-allowed}.pad-coord{font-size:.78rem;font-variant-numeric:tabular-nums;opacity:.95}.pad-confirm-label{font-size:.95rem;font-weight:700}.problems-card{max-width:520px}.problems-sub{text-align:center;color:#64748b;font-size:.9rem;margin:-.5rem 0 .5rem}.problems-loading{text-align:center;color:#94a3b8;padding:2rem 0}.problems-list{display:flex;flex-direction:column;gap:.4rem;max-height:60vh;overflow-y:auto;padding-right:.25rem}.problems-group{color:#2563eb;font-size:.85rem;font-weight:700;margin:.6rem 0 .2rem}.problem-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.44rem .68rem;border:1px solid #e5e7eb;background:#fff;border-radius:7px;cursor:pointer;text-align:left;font-size:.85rem;color:#1a202c}.problem-item:hover{border-color:#2563eb;background:#f8fafc}.problem-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-meta{color:#94a3b8;font-size:.78rem;flex-shrink:0}.problem-banner{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .8rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;margin-bottom:.5rem}.problem-banner-title{color:#1e40af;font-weight:700;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-banner-goal{color:#2563eb;font-size:.8rem;flex-shrink:0}.capture-banner{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .8rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:7px;margin-bottom:.5rem}.capture-banner-rule{color:#065f46;font-weight:700;font-size:.88rem}.capture-banner-count{color:#059669;font-size:.8rem;flex-shrink:0;font-variant-numeric:tabular-nums}@media (max-width: 900px){.app-header-game-mobile{padding:.4rem .5rem .35rem}.mg-topbar{display:flex;align-items:center;justify-content:space-between;gap:.4rem;flex-wrap:nowrap;max-width:1440px;margin:0 auto}.mg-player{display:flex;align-items:center;gap:.4rem;flex:1 1 0;min-width:0;padding:.22rem .35rem;border:1px solid transparent;border-radius:9px;background:#f8fafc}.mg-player.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb40}.mg-topbar>.mg-player:last-child{flex-direction:row-reverse}.mg-topbar>.mg-player:last-child .mg-pinfo{align-items:flex-end}.mg-avatar{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#fff;border:1px solid rgba(0,0,0,.12)}.mg-avatar.black{background:#111827}.mg-avatar.white{background:#fff;color:#334155;border-color:#cbd5e0}.mg-pinfo{display:flex;flex-direction:column;min-width:0;line-height:1.15}.mg-pname{display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}.mg-me{font-style:normal;margin-left:3px;font-size:.6rem;color:#2563eb;background:#dbeafe;border-radius:4px;padding:0 3px;font-weight:700}.mg-prank{font-size:.68rem;color:#64748b;white-space:nowrap}.mg-status{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:0 .2rem;white-space:nowrap}.mg-status-dot{width:6px;height:6px;border-radius:50%;background:#cbd5e0}.mg-status-dot.playing{background:#16a34a}.mg-status-dot.waiting{background:#f59e0b}.mg-status-dot.finished{background:#94a3b8}.mg-status-text{font-size:.72rem;font-weight:700;color:#334155}.mg-status-count{font-size:.68rem;color:#64748b;font-variant-numeric:tabular-nums}.mg-game{flex:1;min-height:0;display:flex;flex-direction:column;gap:.35rem;padding-bottom:62px}.mg-board-wrap{flex:0 0 auto;min-height:0;display:flex;margin-top:auto}.mg-pad{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:.3rem}.mg-pad-btn{width:40px;height:34px;border:1px solid #cbd5e0;background:#f8fafc;border-radius:8px;color:#334155;font-size:.8rem;line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mg-pad-btn:active{background:#e2e8f0}.mg-pad-confirm{display:inline-flex;align-items:center;gap:.35rem;height:34px;padding:0 .7rem;border:1px solid #2563eb;background:#2563eb;color:#fff;border-radius:8px;font-weight:700;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mg-pad-confirm:disabled{background:#cbd5e0;border-color:#cbd5e0;color:#64748b}.mg-pad-coord{font-size:.78rem;font-variant-numeric:tabular-nums}.mg-pad-tx{font-size:.82rem}.mg-collapse{flex:0 0 auto;margin-top:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.mg-collapse-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#f8fafc;border:none;font-size:.84rem;font-weight:700;color:#334155;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mg-collapse-title{display:flex;align-items:center;gap:.35rem}.mg-caret{transition:transform .2s ease;color:#94a3b8;font-size:.8rem}.mg-collapse.open .mg-caret{transform:rotate(180deg)}.mg-collapse-body{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;max-height:44vh;overflow-y:auto}.mg-collapse-body .info-grid{grid-template-columns:1fr 1fr}.mg-iconbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:stretch;justify-content:space-around;gap:.2rem;padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom,0px));background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid #e5e7eb}.mg-ib{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:.28rem .1rem;border:none;background:transparent;border-radius:10px;color:#334155;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mg-ib:active{background:#f1f5f9}.mg-ib:disabled{opacity:.4}.mg-ib-ic{font-size:1.05rem;line-height:1}.mg-ib-tx{font-size:.62rem;font-weight:600}.mg-ib.danger{color:#dc2626}.mg-sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center;animation:mgFade .15s ease}.mg-sheet{width:100%;max-width:560px;background:#fff;border-radius:16px 16px 0 0;padding:.4rem .75rem calc(.75rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:.3rem;animation:mgSlideUp .2s ease}.mg-sheet-bar{width:40px;height:4px;border-radius:999px;background:#e2e8f0;margin:.25rem auto .4rem}.mg-sheet-item{padding:.8rem .5rem;border:none;background:transparent;border-radius:10px;font-size:.98rem;font-weight:600;color:#1a202c;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mg-sheet-item:active{background:#f1f5f9}.mg-sheet-item:disabled{color:#94a3b8}.mg-sheet-item.danger{color:#dc2626}.mg-sheet-item.cancel{color:#64748b;font-weight:500}@keyframes mgFade{0%{opacity:0}to{opacity:1}}@keyframes mgSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mg-game .clock-bar{gap:.4rem}.mg-game .clock-side{padding:.3rem .55rem;border-radius:7px}.mg-game .clock-label{font-size:.78rem;gap:.3rem}.mg-game .clock-time{font-size:.95rem}.mg-game .clock-bar .gt-dot{width:10px;height:10px}}.app-header-game-desktop{padding:.4rem 1rem}.dg-game{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:.85rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;overflow:hidden}.dg-board-section{display:flex;flex-direction:column;gap:.55rem;min-height:0}.dg-panel{display:flex;flex-direction:column;gap:.6rem;min-height:0;overflow:hidden}.dg-players{flex:0 0 auto;display:flex;flex-direction:column;gap:.35rem}.dg-card{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.dg-card.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb40}.dg-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:700;color:#fff;border:1px solid rgba(0,0,0,.12)}.dg-avatar.black{background:#111827}.dg-avatar.white{background:#fff;color:#334155;border-color:#cbd5e0}.dg-pmeta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;line-height:1.25}.dg-pname{display:flex;align-items:center;gap:4px;font-size:.9rem;font-weight:700;color:#1a202c;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dg-me{font-style:normal;font-size:.62rem;font-weight:700;color:#2563eb;background:#dbeafe;border-radius:4px;padding:0 4px}.dg-prank{font-size:.74rem;color:#64748b}.dg-clock{flex:0 0 auto;min-width:64px;text-align:right;font-size:1.12rem;font-weight:700;color:#334155;font-variant-numeric:tabular-nums}.dg-card.active .dg-clock{color:#1d4ed8}.dg-clock.low{color:#dc2626}.dg-vs{display:flex;align-items:center;gap:.5rem}.dg-vs:before,.dg-vs:after{content:"";flex:1;height:1px;background:#e5e7eb}.dg-vs span{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:#2563eb}.dg-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding-right:2px}.dg-scroll .info-panel{padding:.7rem .75rem}.dg-scroll .info-panel h3{font-size:.92rem;margin-bottom:.55rem;padding-bottom:.4rem}.dg-scroll .info-item{padding:.4rem .5rem}.dg-scroll .info-label{font-size:.78rem}.dg-scroll .info-value{font-size:.84rem}.dg-actions{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;padding-top:.55rem;border-top:1px solid #e5e7eb}.dg-actions .control-btn{min-width:0;padding:.42rem .3rem;font-size:.82rem}.dg-actions .control-btn.span2{grid-column:span 2}.dg-actions .control-btn.wide{grid-column:1 / -1}.lobby-header{padding:.55rem 1rem;text-align:left}.lb-header-inner{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"brand nav conn user";align-items:center;gap:.6rem 1rem;max-width:1240px;margin:0 auto}.lb-brand{grid-area:brand;display:flex;align-items:center;gap:.6rem;min-width:0}.lb-logo{flex:0 0 auto;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#3b82f6,#1e40af);box-shadow:0 2px 6px #2563eb4d}.lb-brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.lb-brand-text h1{font-size:1.12rem;margin:0;font-weight:800;color:#1a202c;letter-spacing:.01em;white-space:nowrap}.lb-brand-sub{font-size:.72rem;color:#94a3b8;white-space:nowrap}.conn-badge-head{grid-area:conn;margin-top:0;justify-self:start;flex:0 0 auto}.conn-short{display:none}.lb-nav{grid-area:nav;display:flex;justify-content:center;gap:.4rem;margin-top:0}.lb-nav .nav-link{border-radius:999px;padding:.32rem 1rem;white-space:nowrap}@media (max-width: 1150px){.lb-brand-sub{display:none}.lb-header-inner{gap:.6rem .7rem}}.lb-user{grid-area:user;display:flex;align-items:center;gap:.55rem;margin-top:0;flex-wrap:nowrap;justify-content:flex-end}.lb-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#1e3a8a;background:#dbeafe;border:1px solid #bfdbfe}.lb-user-meta{display:flex;flex-direction:column;line-height:1.2;min-width:0}.lb-user-meta .user-name{font-size:.86rem;font-weight:700;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-user-meta .user-stats{font-size:.72rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-avatar-wrap{position:relative;display:inline-flex}.lb-avatar-btn{padding:0;cursor:pointer;font-family:inherit;transition:box-shadow .15s ease,transform .1s ease}.lb-avatar-btn:hover{box-shadow:0 0 0 3px #2563eb26}.lb-avatar-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:236px;padding:.6rem .7rem .7rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px #0f172a24}.lb-avatar-pop-title{font-size:.78rem;font-weight:700;color:#475569;margin-bottom:.45rem}.lb-avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem}.lb-avatar-cell{width:100%;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .1s ease}.lb-avatar-cell:hover{border-color:#93c5fd;background:#eff6ff;transform:translateY(-1px)}.lb-avatar-cell.active{border-color:#2563eb;background:#dbeafe;box-shadow:0 0 0 2px #2563eb40}.lb-user .logout-btn.pwd-btn:hover{border-color:#2563eb;color:#2563eb}.pwd-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem}.pwd-card{width:100%;max-width:340px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px #0f172a24;padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.75rem}.pwd-title{font-size:.85rem;font-weight:700;color:#475569}.pwd-ok{padding:.55rem .7rem;background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;border-radius:7px;font-size:.88rem}.pwd-actions{display:flex;gap:.5rem}.pwd-cancel,.pwd-confirm{flex:1;padding:.55rem .6rem;border-radius:7px;font-size:.92rem;cursor:pointer}.pwd-cancel{border:1px solid #e5e7eb;background:#fff;color:#475569}.pwd-cancel:hover:not(:disabled){border-color:#cbd5e0}.pwd-confirm{border:none;background:#2563eb;color:#fff;font-weight:700}.pwd-confirm:hover:not(:disabled){background:#1d4ed8}.pwd-cancel:disabled,.pwd-confirm:disabled{opacity:.5;cursor:not-allowed}.lb-card{max-width:520px;gap:.7rem;padding:1rem 1.05rem}.lb-card-head{text-align:center}.lb-card-head h2{font-size:1.25rem;margin:0;letter-spacing:.01em}.lb-card-sub{margin:.15rem 0 0;font-size:.78rem;color:#94a3b8}.lb-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.lb-mode{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;padding:.5rem .25rem;border:1px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;color:#334155;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .1s ease}.lb-mode:hover{border-color:#cbd5e0;background:#f8fafc}.lb-mode:active{transform:translateY(1px)}.lb-mode.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb inset}.lb-mode-ic{font-size:1.12rem;line-height:1}.lb-mode-tx{font-size:.8rem;font-weight:700;white-space:nowrap;color:#334155}.lb-mode.active .lb-mode-tx{color:#1d4ed8}.lb-mode-hint{font-size:.64rem;color:#94a3b8;white-space:nowrap}.lb-mode.active .lb-mode-hint{color:#60a5fa}.lb-fields{display:flex;flex-direction:column;gap:.6rem}.lb-field{display:flex;align-items:center;gap:.6rem}.lb-field-col{flex-direction:column;align-items:stretch;gap:.4rem}.lb-label{flex-shrink:0;min-width:56px;font-weight:600;color:#475569;font-size:.85rem}.lb-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.lb-level-current{font-size:.76rem;font-weight:700;color:#2563eb}.lb-hint{flex:1;color:#64748b;font-size:.82rem}.lb-input,.lb-select{flex:1;min-width:0;padding:.55rem .7rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.95rem;outline:none;background:#fff;color:#1a202c}.lb-input:focus,.lb-select:focus{border-color:#2563eb}.lb-seg{flex:1;display:flex;gap:.35rem;min-width:0}.lb-seg-btn{flex:1;min-width:0;padding:.5rem .4rem;border:1px solid #e5e7eb;background:#fff;border-radius:8px;font-size:.84rem;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease}.lb-seg-btn:hover{border-color:#cbd5e0}.lb-seg-btn.active{border-color:#2563eb;background:#2563eb;color:#fff}.lb-seg-sm .lb-seg-btn{flex:0 0 auto;padding:.28rem .95rem;font-size:.78rem;border-radius:999px}.lb-level{display:flex;flex-direction:column;gap:.5rem}.lb-auto{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border:1px solid #e5e7eb;background:#fff;border-radius:9px;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.lb-auto:hover{border-color:#cbd5e0}.lb-auto.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb inset}.lb-auto-ic{font-size:1rem;line-height:1}.lb-auto-tx{font-size:.86rem;font-weight:700;color:#1a202c}.lb-auto.active .lb-auto-tx{color:#1d4ed8}.lb-auto-sub{margin-left:auto;font-size:.74rem;color:#94a3b8}.lb-manual{display:flex;flex-direction:column;gap:.45rem;padding:.55rem .6rem;background:#f8fafc;border:1px solid #eef2f7;border-radius:9px}.lb-level-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.35rem;max-height:168px;overflow-y:auto;padding-right:2px}.lb-chip{padding:.35rem .15rem;border:1px solid #e5e7eb;background:#fff;border-radius:7px;font-size:.78rem;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease}.lb-chip:hover{border-color:#93c5fd;color:#1d4ed8}.lb-chip.active{border-color:#2563eb;background:#2563eb;color:#fff}.lb-submit{margin-top:.1rem;padding:.65rem;border-radius:9px;font-size:.95rem;box-shadow:0 2px 8px #2563eb38}.lobby-submit:active:not(:disabled){transform:translateY(1px)}@media (min-width: 901px){.app-main-lobby{overflow:auto}.lobby-view{margin:auto}}@media (max-width: 900px){.lobby-header{padding:.5rem .7rem .45rem}.lb-header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand conn" "user user" "nav nav";gap:.4rem .5rem}.lb-brand{gap:.45rem}.lb-brand-sub{display:none}.lb-logo{width:30px;height:30px;font-size:.95rem;border-radius:8px}.lb-brand-text h1{font-size:1rem}.conn-badge-head{justify-self:end;padding:.18rem .5rem;font-size:.7rem;gap:.35rem}.conn-full{display:none}.conn-short{display:inline}.lb-nav{justify-content:center}.lb-nav .nav-link{padding:.3rem .85rem;font-size:.8rem}.lb-user{gap:.45rem;justify-content:flex-start}.lb-user .logout-btn{margin-left:auto}.lb-avatar{width:30px;height:30px;font-size:.82rem}.lb-user-meta .user-name{font-size:.8rem}.lb-user-meta .user-stats{display:none}.lb-user .logout-btn{padding:.2rem .5rem;font-size:.74rem}.lb-user .logout-btn.pwd-btn{margin-left:auto}.lb-user .logout-btn:not(.pwd-btn){margin-left:0}.lb-card{padding:.8rem .75rem;gap:.5rem}.lb-card-head h2{font-size:1.15rem}.lb-card-sub{display:none}.lb-modes{gap:.4rem}.lb-mode{padding:.4rem .2rem}.lb-mode-ic{font-size:1.02rem}.lb-mode-tx{font-size:.74rem}.lb-mode-hint{font-size:.6rem}.lb-fields{gap:.5rem}.lb-label{min-width:50px;font-size:.82rem}.lb-field-col{gap:.35rem}.lb-level{gap:.4rem}.lb-auto{padding:.45rem .6rem}.lb-manual{gap:.4rem;padding:.45rem .5rem}.lb-chip{padding:.3rem .15rem}.lb-level-chips{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));max-height:190px}}@media (max-width: 380px){.lb-modes{grid-template-columns:repeat(2,1fr)}.lb-mode{padding:.5rem .3rem}}.app{background:linear-gradient(180deg,#eaf6ff 0%,var(--k-cream) 42%,var(--k-cream) 78%,#eafbee 100%);color:var(--k-brown)}.app-header{background:#ffffffd1;border-bottom:3px solid var(--k-lemon)}.app-header h1{color:var(--k-brown)}.subtitle{color:var(--k-brown-soft)}.app,.app button,.app input,.app select{font-family:ZCOOL KuaiLe,YouYuan,幼圆,Yuanti SC,Microsoft YaHei,sans-serif}.gt-player,.clock-label,.user-name,.lb-brand-text h1,.info-value,.status-text,.move-num,.pad-confirm-label{color:var(--k-brown)}.gt-status,.user-stats,.move-count,.empty-spectator,.count-legend{color:var(--k-brown-soft)}.gt-dot{border-color:#b99a68}.gt-dot.white{border-color:var(--k-line)}.conn-badge{background:#fffdf5;border:2px solid var(--k-line);color:var(--k-brown-soft)}.conn-badge.online{background:#e8fbf4;border-color:#a9ead3;color:var(--k-mint-deep)}.conn-badge.offline{background:#ffebec;border-color:#ffc2c2;color:var(--k-red-deep)}.control-btn{border:2px solid var(--k-line);border-bottom-width:4px;border-radius:999px;background:#fff;color:var(--k-brown-mid);font-weight:700;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.control-btn:hover:not(:disabled){background:#fff3d6;border-color:var(--k-lemon-deep);transform:scale(1.03)}.control-btn:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px;margin-bottom:2px}.control-btn.primary{background:var(--k-orange);border:2px solid var(--k-orange);border-bottom:4px solid var(--k-orange-deep);color:#fff}.control-btn.primary:hover:not(:disabled){background:#ffb23f;border-color:#ffb23f}.control-btn.secondary{background:#fff3d6;border:2px solid #f0d48a;border-bottom:4px solid var(--k-lemon-deep);color:var(--k-orange-dark)}.control-btn.secondary:hover:not(:disabled){background:#ffe9a8;border-color:var(--k-lemon-deep)}.control-btn.danger{background:var(--k-red);border:2px solid var(--k-red);border-bottom:4px solid var(--k-red-deep);color:#fff}.control-btn.danger:hover:not(:disabled){background:#ff7b7b;border-color:#ff7b7b}.control-btn.ghost{background:#ffffffa6;border:2px dashed #d8bf95;color:var(--k-brown-soft)}.gt-right .control-btn.ghost{border-style:solid;border-bottom-width:4px}.nav-link{border:2px solid var(--k-line);border-bottom-width:4px;border-radius:999px;background:#fff;color:var(--k-brown-mid);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.nav-link:hover{border-color:var(--k-lemon-deep);background:#fff3d6;transform:scale(1.03)}.nav-link.active{border-color:var(--k-orange);background:var(--k-orange);color:#fff;box-shadow:0 3px 0 var(--k-orange-deep)}.logout-btn{border:2px solid var(--k-line);border-radius:999px;color:var(--k-brown-mid);background:#fff}.logout-btn:hover{border-color:var(--k-red);color:var(--k-red-deep)}.lb-user .logout-btn.pwd-btn:hover{border-color:var(--k-blue);color:var(--k-blue-deep)}.lobby-card{background:#fff;border:3px solid var(--k-orange);border-radius:22px;box-shadow:0 6px #ff9f1c38,0 14px 30px #ff9f1c24}.info-panel{background:#fff;border:3px solid #bfe8da;border-radius:18px;box-shadow:0 4px #06d6a024,0 10px 22px #06d6a01a}.info-panel h3{color:var(--k-brown);border-bottom:2px dashed var(--k-line)}.info-item{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:12px}.info-label{color:var(--k-brown-soft)}.spectator-tag{background:#fff;border:2px solid var(--k-line);color:var(--k-brown-mid)}.result-panel{border:3px solid var(--k-pink);box-shadow:0 5px #ff70a62e,0 12px 24px #ff70a61f}.result-panel .result-text{color:var(--k-pink-deep)}.result-panel .result-reason{color:var(--k-brown-soft)}.result-score{color:var(--k-brown-mid)}.count-panel{background:#fff6de;border:3px solid var(--k-lemon);border-radius:18px;box-shadow:0 4px #eab23c40}.count-title{color:#9a6800}.count-result{color:var(--k-brown)}.count-result b{color:var(--k-orange-dark)}.count-dead{color:var(--k-red-deep)}.problem-banner{background:#eaf6ff;border:3px solid var(--k-blue);border-radius:16px}.problem-banner-title,.problem-banner-goal{color:var(--k-blue-deep)}.capture-banner{background:#e8fbf4;border:3px solid var(--k-mint);border-radius:16px}.capture-banner-rule{color:#04805f}.capture-banner-count{color:var(--k-mint-deep)}.clock-side{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:14px}.clock-side.active{border-color:var(--k-orange);background:#fff3d6;box-shadow:0 3px #ff9f1c40}.clock-time{color:var(--k-orange-deep)}.clock-side.active .clock-time{color:var(--k-orange-dark)}.lb-mode{background:#fff;border:2px solid var(--k-line);border-bottom-width:4px;border-radius:16px;color:var(--k-brown-mid)}.lb-mode:hover{border-color:var(--k-lemon-deep);background:#fffdf5;transform:translateY(-2px) scale(1.02)}.lb-mode:active{transform:translateY(2px);border-bottom-width:2px}.lb-mode.active{border-color:var(--k-orange);background:#fff3d6;box-shadow:0 4px #ff9f1c47}.lb-mode-ic{font-size:1.5rem;transition:transform .15s ease}.lb-mode:hover .lb-mode-ic{transform:rotate(-8deg) scale(1.15)}.lb-mode.active .lb-mode-ic{transform:none}.lb-mode-tx{color:var(--k-brown-mid);font-weight:700}.lb-mode.active .lb-mode-tx{color:var(--k-orange-dark)}.lb-mode-hint{color:var(--k-brown-soft)}.lb-mode.active .lb-mode-hint{color:#c58a3a}.lb-label{color:var(--k-brown-mid)}.lb-hint{color:var(--k-brown-soft)}.lb-card-sub{color:#b09878}.lb-card-head h2{color:var(--k-brown)}.lb-input,.lb-select{background:var(--k-cream-card);border:2px solid var(--k-line);border-bottom-width:3px;border-radius:12px;color:var(--k-brown)}.lb-input:focus,.lb-select:focus{border-color:var(--k-orange);outline:none}.lb-seg-btn{background:#fff;border:2px solid var(--k-line);border-bottom-width:3px;border-radius:999px;color:var(--k-brown-mid);transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.lb-seg-btn:hover{border-color:var(--k-lemon-deep);background:#fff3d6;transform:scale(1.03)}.lb-seg-btn.active{border-color:var(--k-orange);background:var(--k-orange);color:#fff}.lb-auto{background:#fff;border:2px solid var(--k-line);border-bottom-width:4px;border-radius:14px}.lb-auto:hover{border-color:var(--k-lemon-deep);transform:translateY(-1px)}.lb-auto.active{border-color:var(--k-orange);background:#fff3d6;box-shadow:0 3px #ff9f1c47}.lb-auto-tx{color:var(--k-brown)}.lb-auto.active .lb-auto-tx{color:var(--k-orange-dark)}.lb-auto-sub{color:var(--k-brown-soft)}.lb-manual{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:14px}.lb-chip{background:#fff;border:2px solid var(--k-line);border-radius:10px;color:var(--k-brown-mid);transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.lb-chip:hover{border-color:var(--k-orange);color:var(--k-orange-dark);transform:scale(1.06)}.lb-chip.active{border-color:var(--k-orange);background:var(--k-orange);color:#fff;box-shadow:0 2px 0 var(--k-orange-deep)}.lb-level-current{color:var(--k-orange-deep)}.lobby-error{background:#ffebec;border:2px solid #ffc2c2;color:var(--k-red-deep);border-radius:12px}.lobby-submit{background:var(--k-orange);border:none;border-radius:999px;font-size:1.02rem;letter-spacing:.04em;box-shadow:0 4px 0 var(--k-orange-deep);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.lobby-submit:hover:not(:disabled){background:#ffb23f;box-shadow:0 5px 0 var(--k-orange-deep),0 10px 20px #ff9f1c59;transform:scale(1.02)}.lobby-submit:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--k-orange-deep)}.lobby-submit:disabled{opacity:.55}.app-main-lobby{background-image:radial-gradient(circle at 4% 8%,rgba(46,155,255,.1) 0 14px,transparent 15px),radial-gradient(circle at 96% 12%,rgba(255,112,166,.1) 0 10px,transparent 11px),radial-gradient(circle at 7% 92%,rgba(6,214,160,.1) 0 12px,transparent 13px),radial-gradient(circle at 93% 88%,rgba(255,209,102,.16) 0 16px,transparent 17px)}.lb-logo{background:repeating-linear-gradient(0deg,rgba(74,59,42,.16) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,rgba(74,59,42,.16) 0 1px,transparent 1px 8px),linear-gradient(135deg,#ffe9a8,var(--k-lemon));border:2.5px solid #4a3b2a;border-radius:14px;box-shadow:0 3px #4a3b2a38;font-size:1.15rem}.lb-brand-text h1{color:var(--k-brown)}.lb-brand-sub{color:#b09878}.lb-avatar{background:#ffedc2;border:2px solid var(--k-lemon);color:var(--k-orange-dark)}.lb-avatar-btn:hover{box-shadow:0 0 0 3px #ff9f1c33}.lb-avatar-pop{background:#fff;border:3px solid var(--k-pink);border-radius:18px;box-shadow:0 5px #ff70a626,0 12px 28px #ff70a633}.lb-avatar-pop-title{color:var(--k-brown-mid)}.lb-avatar-cell{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:12px;transition:border-color .12s ease,background .12s ease,transform .1s ease}.lb-avatar-cell:hover{border-color:#ffb23f;background:#fff3d6;transform:translateY(-2px) scale(1.06)}.lb-avatar-cell.active{border-color:var(--k-orange);background:#ffe0a6;box-shadow:0 0 0 2px #ff9f1c4d}.pwd-mask{background:#4a3b2a73}.pwd-card{background:#fff;border:3px solid var(--k-blue);border-radius:20px;box-shadow:0 6px #2e9bff33,0 14px 32px #2e9bff2e}.pwd-title{color:var(--k-brown);font-size:1rem}.pwd-ok{background:#e8fbf4;border:2px solid #a9ead3;color:var(--k-mint-deep);border-radius:12px}.pwd-cancel,.pwd-confirm{border-radius:999px;font-weight:700;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.pwd-cancel{border:2px solid var(--k-line);border-bottom-width:4px;background:#fff;color:var(--k-brown-mid)}.pwd-cancel:hover:not(:disabled){border-color:var(--k-lemon-deep);background:#fff3d6;transform:scale(1.03)}.pwd-confirm{background:var(--k-orange);color:#fff;box-shadow:0 4px 0 var(--k-orange-deep)}.pwd-confirm:hover:not(:disabled){background:#ffb23f;transform:scale(1.03)}.pwd-confirm:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--k-orange-deep)}.mg-player{background:var(--k-cream-card);border:2px solid transparent;border-radius:12px}.mg-player.active{background:#fff3d6;border-color:var(--k-orange);box-shadow:0 0 0 2px #ff9f1c40}.mg-pname{color:var(--k-brown)}.mg-me{color:#fff;background:var(--k-orange);border-radius:6px}.mg-prank{color:var(--k-brown-soft)}.mg-avatar.white{color:var(--k-brown-mid);border-color:#e3c795}.mg-status-text{color:var(--k-brown)}.mg-status-dot{background:#e3c795}.mg-status-dot.playing{background:var(--k-mint)}.mg-status-dot.waiting{background:var(--k-lemon)}.mg-status-dot.finished{background:#c9b694}.mg-pad-btn{border:2px solid var(--k-line);border-bottom-width:4px;background:var(--k-cream-card);border-radius:12px;color:var(--k-brown-mid);transition:transform .1s ease}.mg-pad-btn:active{background:#ffe9a8;transform:translateY(2px);border-bottom-width:2px}.mg-pad-confirm{border:none;background:var(--k-orange);border-radius:999px;box-shadow:0 3px 0 var(--k-orange-deep);transition:transform .1s ease}.mg-pad-confirm:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--k-orange-deep)}.mg-pad-confirm:disabled{background:#eadfcf;color:#a89074;box-shadow:0 2px #d8c8ac}.mg-collapse{background:#fff;border:2px solid var(--k-line);border-radius:16px}.mg-collapse-head{background:#fff3d6;color:var(--k-brown)}.mg-caret{color:#b09878}.mg-iconbar{background:#fffcf0f7;border-top:3px solid var(--k-lemon)}.mg-ib{color:var(--k-brown-mid);transition:transform .1s ease}.mg-ib:active{background:#ffe9a8;transform:scale(1.06)}.mg-ib-ic{font-size:1.3rem}.mg-ib.danger{color:var(--k-red-deep)}.mg-sheet-mask{background:#4a3b2a73}.mg-sheet{background:#fffcf2;border-radius:22px 22px 0 0;border-top:3px solid var(--k-lemon)}.mg-sheet-bar{background:var(--k-line)}.mg-sheet-item{color:var(--k-brown)}.mg-sheet-item:active{background:#fff3d6}.mg-sheet-item:disabled{color:#c9b694}.mg-sheet-item.danger{color:var(--k-red-deep)}.mg-sheet-item.cancel{color:var(--k-brown-soft)}.mg-game .clock-side{border-radius:12px}.dg-game{background:#fff;border:3px solid var(--k-lemon);border-radius:20px;box-shadow:0 5px #ffd1664d,0 12px 28px #ffd16638}.dg-card{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:14px}.dg-card.active{background:#fff3d6;border-color:var(--k-orange);box-shadow:0 0 0 2px #ff9f1c40,0 3px #ff9f1c33}.dg-avatar.white{color:var(--k-brown-mid);border-color:#e3c795}.dg-pname{color:var(--k-brown)}.dg-me{color:#fff;background:var(--k-orange);border-radius:6px}.dg-prank{color:var(--k-brown-soft)}.dg-clock{color:var(--k-brown-mid)}.dg-card.active .dg-clock{color:var(--k-orange-dark)}.dg-clock.low{color:var(--k-red-deep)}.dg-vs:before,.dg-vs:after{background:var(--k-line)}.dg-vs span{color:var(--k-orange-deep);background:#fff3d6;border:2px solid var(--k-lemon);border-radius:999px;padding:.05rem .6rem}.dg-actions{border-top:2px dashed var(--k-line)}.game-container{background:#fff;border:3px solid var(--k-lemon);border-radius:20px}.game-status{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:16px}.player-indicator{background:#fff;border:2px solid var(--k-line);border-radius:14px;color:var(--k-brown)}.player-indicator.active{border-color:var(--k-orange);background:#fff3d6;color:var(--k-orange-dark)}.turn-badge{background:#ffe9a8;color:var(--k-orange-dark)}.player-indicator.active .turn-badge{background:var(--k-lemon);color:var(--k-orange-dark)}.stone-indicator{border-color:#b99a68}.stone-indicator.white{border-color:var(--k-line)}.pad-btn{border:2px solid var(--k-line);border-bottom-width:3px;background:var(--k-cream-card);border-radius:10px;color:var(--k-brown-mid)}.pad-btn:active{background:#ffe9a8}.pad-confirm{border:none;background:var(--k-orange);border-radius:999px;box-shadow:0 3px 0 var(--k-orange-deep)}.pad-confirm:disabled{background:#eadfcf;border:none;color:#a89074}.game-rules{background:var(--k-cream-card);border:2px solid var(--k-line);border-radius:16px}.game-rules h3{color:var(--k-brown);border-bottom:2px dashed var(--k-line)}.game-rules li{color:var(--k-brown-mid)}.problems-card{border:3px solid var(--k-mint);box-shadow:0 6px #06d6a029,0 14px 28px #06d6a01f}.problems-card h2{color:var(--k-brown)}.problems-sub,.problems-loading{color:var(--k-brown-soft)}.problems-group{color:var(--k-orange-deep)}.problem-item{background:#fff;border:2px solid var(--k-line);border-bottom-width:3px;border-radius:14px;color:var(--k-brown);transition:border-color .15s ease,background .15s ease,transform .12s ease}.problem-item:hover{border-color:var(--k-orange);background:#fff3d6;transform:translateY(-1px) scale(1.01)}.problem-meta{color:#b09878}.me-badge{background:var(--k-orange);border-radius:6px}.loading{color:var(--k-brown-soft);background:var(--k-cream);font-size:1.2rem}.app-footer{background:#ffffffbf;border-top:3px solid var(--k-lemon)}.app-footer p{color:var(--k-brown-soft)}.footer-links a{color:var(--k-orange-deep)}.footer-links a:hover{color:var(--k-pink-deep)}.lb-header-inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand conn user"}.conn-badge-head{justify-self:end}.lb-logo-img{flex:0 0 auto;width:auto;height:46px;display:block;object-fit:contain}.auth-brand-logo{display:block;height:64px;width:auto;margin:.1rem auto .45rem}.lb-train-card{max-width:560px}.lb-modes-3{grid-template-columns:repeat(3,1fr)}.lb-ai-setup{display:flex;flex-direction:column;gap:.6rem;border-top:1px dashed #e2e8f0;padding-top:.75rem;margin-top:.1rem}@media (max-width: 1150px){.lb-brand-sub{display:block;font-size:.66rem}}@media (max-width: 900px){.lb-header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand conn" "user user"}.lb-logo-img{height:36px;width:auto}.auth-brand-logo{height:52px}.lb-modes-3{grid-template-columns:repeat(3,1fr)}.lb-modes-3 .lb-mode{padding:.5rem .15rem}.lb-modes-3 .lb-mode-ic{font-size:1.15rem}.lb-ai-setup{gap:.5rem;padding-top:.6rem}}@media (max-width: 380px){.lb-modes-3{grid-template-columns:repeat(3,1fr)}.lb-mode-hint{display:none}}.lb-ai-note{font-size:.74rem;line-height:1.4;color:#8a7355;background:#fff8ec;border:1px dashed #f0c98a;border-radius:10px;padding:.42rem .6rem}.nick-sub{margin:-.15rem 0 .35rem;font-size:.78rem;line-height:1.4;text-align:center;color:#94a3b8}.count-dialog{max-width:380px;text-align:center}.count-dialog .pwd-title{text-align:center;font-size:1.1rem}.count-dialog-score{display:flex;justify-content:center;gap:1.4rem;font-size:.95rem;color:var(--k-brown, #4a3b2a)}.count-dialog-score b{font-size:1.45rem;color:var(--k-orange-dark, #b45309)}.count-dialog-margin{font-size:1rem;font-weight:800;color:var(--k-orange-dark, #b45309)}.count-dialog-tip{margin:0;font-size:.76rem;line-height:1.45;color:#94a3b8}.count-dialog-actions{display:flex;gap:.45rem;margin-top:.15rem}.count-dialog-actions button{flex:1;white-space:nowrap}.pwd-draw{background:#ffedd5;border:2px solid #fdba74;color:#b45309;border-radius:12px;padding:.55rem .7rem;font-weight:700;cursor:pointer}.pwd-draw:hover{background:#ffe0b8}.result-actions{display:flex;gap:.4rem;margin-top:.55rem}.result-actions button{flex:1;white-space:nowrap}.dg-hint{font-size:.72rem;color:#a16207;background:#fffbeb;border:1px dashed #fcd34d;border-radius:8px;padding:.3rem .5rem;text-align:center;margin-bottom:.35rem}.mg-hint{text-align:center;font-size:.7rem;color:#a16207;padding:.1rem 0 .25rem}.lb-guide{margin:0;text-align:center;font-size:.74rem;line-height:1.4;color:#94a3b8}@media (max-width: 900px){.lb-guide{font-size:.68rem}}@media (max-width: 420px){.count-dialog-actions{flex-direction:column}}.lb-level-split{grid-column:1 / -1;font-size:.66rem;font-weight:700;color:#8a7355;padding:.15rem .2rem .05rem}.dg-hint.ok{color:#15803d;background:#f0fdf4;border-color:#86efac}.mg-hint.ok{color:#15803d;font-weight:700}.conn-banner{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:60;background:#b45309;color:#fff;padding:.35rem .9rem;border-radius:0 0 10px 10px;font-size:.78rem;font-weight:700;box-shadow:0 4px 12px #b4530940}.clock-time.low{color:#dc2626}.problems-back{align-self:flex-start}.nick-edit-btn{border:none;background:none;cursor:pointer;padding:0 0 0 .2rem;font-size:.8rem;opacity:.55}.nick-edit-btn:hover{opacity:1}.user-rank-chip{display:none}@media (max-width: 900px){.user-rank-chip{display:inline-block;margin-left:.3rem;padding:0 .32rem;font-size:.66rem;line-height:1.4;color:#b45309;background:#fff3e0;border-radius:6px}}@media (min-width: 600px){.lb-level-chips.kyu{grid-template-columns:repeat(9,1fr)}}.problem-filters{display:flex;flex-direction:column;gap:.35rem;margin:.2rem 0 .3rem}.problem-filter-row{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.problem-filter-label{font-size:.72rem;color:#8a7355;min-width:2.2rem}.problem-filter-chip{border:2px solid #f0c98a;background:#fff8ec;color:#8a7355;border-radius:999px;font-size:.72rem;padding:.15rem .55rem;cursor:pointer}.problem-filter-chip.active{background:#ff9f43;border-color:#ff9f43;color:#fff;font-weight:700}.problem-filter-reset{margin-left:auto;border:none;background:none;color:#94a3b8;font-size:.7rem;cursor:pointer;text-decoration:underline}.problems-count{font-size:.7rem;color:#94a3b8;margin:0 0 .2rem}.problems-empty{padding:1rem;text-align:center;color:#94a3b8;font-size:.8rem}.result-actions{flex-wrap:wrap}.problem-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.problem-desc{font-size:.7rem;line-height:1.35;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-banner-title{min-width:0;flex:1}.problem-banner{box-sizing:border-box;width:100%;max-width:100%}.problem-banner-title{flex:1 1 0}@media (max-width: 900px){.problem-banner{flex-wrap:wrap;align-items:flex-start}.problem-banner-title{flex:1 1 100%;max-width:100%}.problem-banner-goal{flex:0 0 auto;margin-top:.15rem}}.lb-ai-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.lb-ai-back{border:none;background:none;color:#8a7355;font-weight:700;font-size:.8rem;cursor:pointer;padding:0}.lb-ai-head-title{font-weight:800;color:#4a3b2a;font-size:1rem}.lb-ai-setup{border-top:none;padding-top:0;margin-top:0;gap:.45rem}@media (max-width: 900px){.lb-level-chips{max-height:none;overflow:visible}.lb-ai-setup{gap:.4rem}}.problem-game{height:100%;width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.35rem;padding:.35rem .5rem .6rem;box-sizing:border-box;overflow:hidden}.problem-topline{display:flex;align-items:center;gap:.5rem;min-height:36px}.problem-back{border:none;background:none;color:#8a7355;font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap;padding:0}.problem-heading{flex:1;min-width:0;display:flex;flex-direction:column}.problem-heading-title{font-size:.9rem;font-weight:800;color:#4a3b2a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-heading-desc{font-size:.68rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-goal-chip{flex-shrink:0;font-size:.68rem;color:#b45309;background:#fff3e0;border:1px solid #f0c98a;border-radius:999px;padding:.1rem .45rem}.problem-board-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.problem-board-wrap .go-board-container{width:100%}.problem-status{display:flex;justify-content:space-between;font-size:.7rem;color:#8a7355;padding:0 .2rem}.problem-result-bar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;background:#f0fdf4;border:2px solid #86efac;border-radius:10px;padding:.35rem .5rem;font-size:.75rem;color:#15803d}.problem-result-bar .ok{font-weight:800}.problem-actions,.problem-result-bar{justify-content:center}.problem-actions button,.problem-result-bar button{border:2px solid #f0c98a;background:#fff8ec;color:#8a7355;border-radius:9px;padding:.32rem .6rem;font-size:.74rem;font-weight:700;cursor:pointer}.problem-actions button.primary{background:#ff9f43;border-color:#ff9f43;color:#fff}.problem-hint{font-size:.72rem;line-height:1.4;color:#8a7355;background:#fff8ec;border:1px dashed #f0c98a;border-radius:8px;padding:.3rem .5rem}.problem-actions .problem-color{min-width:54px}.problem-legend{flex-shrink:0;font-size:.66rem;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.1rem .4rem}.app-header-game-mobile,.app-header-game-desktop{display:none}.mg-pclock{margin-left:auto;font-size:.78rem;font-weight:800;color:#8a7355;font-variant-numeric:tabular-nums}.mg-pclock.low{color:#dc2626}.lb-seg-btn,.lb-auto,.lb-chip{min-height:44px}.lb-chip{padding-top:.42rem;padding-bottom:.42rem}@media (max-width: 900px){.mg-pad-btn{width:44px;height:44px}.mg-pad-confirm{height:44px}.problem-actions button{min-height:42px}}@media (min-width: 700px) and (max-width: 1100px){.mg-game{width:100%;max-width:920px;margin:0 auto}.mg-board-wrap{flex:1 1 auto;align-items:center;justify-content:center}.mg-board-wrap .go-board-container{width:min(100%,760px)}.mg-pad{justify-content:center}}.dg-actions .control-btn.danger{background:#fff;color:#dc2626;border-color:#fecaca}@media (min-width: 700px) and (max-width: 1100px){.mg-board-wrap{flex:0 0 auto}.mg-board-wrap .go-board-container{width:min(92vw,760px);height:min(92vw,760px);flex:none}}.dg-info{background:#fff;border:2px solid var(--k-line, #f0e2cc);border-radius:14px;overflow:hidden}.dg-info-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border:none;background:#fff8ec;color:var(--k-brown, #4a3b2a);font-weight:700;font-size:.86rem;cursor:pointer}.dg-caret{color:#b09878;transition:transform .18s ease}.dg-caret.open{transform:rotate(180deg)}.dg-info-body{padding:.45rem .6rem .55rem;border-top:1px solid var(--k-line, #f0e2cc)}.dg-info-body .info-panel{background:transparent;border:none;padding:0;box-shadow:none}.dg-info-body .info-panel h3{display:none}:root{--k-orange: #ff9f1c;--k-orange-deep: #e07b00;--k-orange-dark: #b45309;--k-blue: #2e9bff;--k-blue-deep: #1878d2;--k-mint: #06d6a0;--k-mint-deep: #04a57b;--k-lemon: #ffd166;--k-lemon-deep: #eab23c;--k-pink: #ff70a6;--k-pink-deep: #e4518a;--k-red: #ff5d5d;--k-red-deep: #d94040;--k-cream: #fff8e7;--k-cream-card: #fffdf5;--k-brown: #4a3b2a;--k-brown-mid: #6b5740;--k-brown-soft: #98826a;--k-line: #f0ddbe;font-family:ZCOOL KuaiLe,YouYuan,幼圆,Yuanti SC,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:var(--k-brown);background-color:var(--k-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;min-width:320px;background:linear-gradient(180deg,#eaf6ff 0%,var(--k-cream) 42%,var(--k-cream) 78%,#eafbee 100%) var(--k-cream);color:var(--k-brown)}#root{width:100%;height:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--k-lemon);border:2px solid var(--k-cream);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--k-orange)}::selection{background:var(--k-orange);color:#fff}:focus-visible{outline:3px solid var(--k-orange);outline-offset:2px}
