:root{--bg:#f5f7f4;--bg-soft:#e9efe9;--surface:#fff;--surface-soft:#f2f7f3;--ink:#1a2e28;--ink-soft:#33463f;--muted:#6b7d74;--line:#dde7e0;--line-soft:#eaf1ec;--accent:#1a2e28;--accent-ink:#f2f7f3;--gold:#0e7c5b;--gold-soft:#0e7c5b1f;--success:#0e7c5b;--danger:#b42318;--radius-lg:22px;--radius-md:14px;--radius-sm:10px;--shadow-card:0 18px 45px #1a2e2814;--shadow-soft:0 8px 24px #1a2e280f;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{background:radial-gradient(900px 420px at 12% -6%, #0e7c5b24, transparent 60%), radial-gradient(800px 380px at 95% 8%, #1a2e280d, transparent 60%), linear-gradient(180deg, #fbfdfb 0%, var(--bg) 55%, var(--bg-soft) 100%);min-width:320px;min-height:100vh;color:var(--ink);margin:0}#app{min-height:100vh;padding:36px 24px 64px}button,input,select{font:inherit}a{color:inherit}.brand-mark{border-radius:18px;flex:none;width:64px;height:64px;box-shadow:0 12px 28px #1a2e2847}.brand-mark.sm{border-radius:12px;width:44px;height:44px;box-shadow:0 6px 16px #1a2e2833}.admin-brand .brand-mark{border-radius:17px;width:60px;height:60px}.admin-id{align-items:center;gap:14px;display:flex}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.btn{font:inherit;cursor:pointer;letter-spacing:.02em;border:0;border-radius:999px;padding:11px 22px;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 12px 28px #1a2e2838}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.admin-page,.admin-login{max-width:1180px;color:var(--ink);margin:0 auto;padding:32px 28px 48px}.admin-login{place-items:center;min-height:82vh;display:grid}.admin-shell{text-align:center;justify-items:center;gap:18px;width:min(440px,100%);display:grid}.admin-brand{justify-items:center;gap:8px;display:grid}.admin-brand .eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.78rem;font-weight:700}.admin-brand h1{letter-spacing:-.02em;margin:0;font-size:2rem}.admin-brand p{color:var(--muted);margin:0;font-size:.95rem}.admin-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-card);text-align:left;gap:14px;padding:30px 28px;display:grid}.admin-card h1{letter-spacing:-.01em;margin:0;font-size:1.4rem}.admin-card .sub{color:var(--muted);margin:0;font-size:.92rem}.admin-card label{color:var(--ink-soft);gap:8px;font-size:.9rem;font-weight:600;display:grid}.admin-page input,.admin-page select,.admin-login input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--ink);outline:none;width:100%;padding:11px 14px}.admin-page input:focus,.admin-login input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.admin-page input[type=radio]{width:16px;height:16px;accent-color:var(--gold);box-shadow:none;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;margin:0;padding:0}.admin-page button,.admin-login button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;padding:10px 16px;font-weight:600}.admin-page button:disabled{opacity:.5;cursor:not-allowed}.admin-page button.danger{background:var(--danger)}.admin-header{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.admin-header h1{letter-spacing:-.01em;margin:0;font-size:1.35rem}.admin-header .who{color:var(--muted);margin-top:4px;font-size:.9rem}.admin-header .eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 4px;font-size:.72rem;font-weight:700}.admin-section{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);gap:16px;margin-top:20px;padding:24px;display:grid}.admin-section h2{margin:0;font-size:1.08rem}.stats{flex-wrap:wrap;gap:14px;display:flex}.stats div{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius-md);flex:1;gap:4px;min-width:180px;padding:18px;display:grid}.stats b{letter-spacing:-.02em;font-size:1.7rem}.stats span{color:var(--muted);font-size:.82rem}.table-wrap{border:1px solid var(--line-soft);border-radius:var(--radius-md);max-width:100%;overflow:auto}.table-wrap table{border-collapse:separate;border-spacing:0}.table-wrap table th.col-actions,.table-wrap table td.col-actions{z-index:2;white-space:nowrap;position:sticky;right:0;box-shadow:-12px 0 16px -14px #1a2e2859}.table-wrap table th.col-actions{background:var(--surface-soft)}.table-wrap table td.col-actions{background:var(--surface)}.table-wrap table tr:last-child td{border-bottom:0}.table-wrap table tr:last-child td.col-actions{border-bottom-right-radius:var(--radius-md)}.admin-page table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-page th,.admin-page td{border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap;padding:12px 14px}.admin-page th{background:var(--surface-soft);color:var(--muted);letter-spacing:.04em;font-size:.82rem;font-weight:600}.admin-page td button{margin-right:6px;padding:7px 12px;font-size:.85rem}.inline-form,.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-form input,.filters input,.filters select{flex:160px;width:auto}.pager{color:var(--muted);align-items:center;gap:12px;margin-top:4px;display:flex}.notice{border-radius:var(--radius-sm);color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:12px 16px}.error{color:var(--danger);margin:0;font-size:.9rem}.section-head{gap:4px;display:grid}.section-head .desc{color:var(--muted);margin:0;font-size:.9rem}.setting-row{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.setting-info{flex:auto;gap:2px;min-width:0;display:grid}.setting-info strong{font-size:.95rem}.setting-info span{color:var(--muted);font-size:.82rem}.setting-row .num-input{text-align:center;flex:none;width:120px}.setting-row .text-input{text-align:left;flex:none;width:280px;max-width:100%}.channel-select{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px;display:flex}.channel-option{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:10px 18px 10px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.channel-option:hover{border-color:var(--gold)}.channel-option.active{border-color:var(--gold);background:var(--gold-soft);box-shadow:0 0 0 3px var(--gold-soft)}.channel-option .channel-text{gap:0;line-height:1.35;display:grid}.channel-option .channel-text b{font-size:.92rem}.channel-option .channel-text i{color:var(--muted);white-space:nowrap;font-size:.76rem;font-style:normal}.setting-actions{gap:10px;display:flex}.settings-layout{align-items:flex-start;gap:20px;display:flex}.settings-tabs{flex:none;align-content:start;gap:8px;width:220px;display:grid;position:sticky;top:16px}.settings-tabs .settings-tab{text-align:left;border-radius:var(--radius-md);border:1px solid var(--line-soft);background:var(--surface-soft);color:var(--ink-soft);cursor:pointer;gap:2px;padding:12px 14px;line-height:1.4;display:grid}.settings-tabs .settings-tab:hover{border-color:var(--gold)}.settings-tabs .settings-tab b{color:var(--ink);font-size:.95rem;font-weight:700}.settings-tabs .settings-tab i{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-style:normal;overflow:hidden}.settings-tabs .settings-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-soft)}.settings-tabs .settings-tab.active b{color:var(--accent-ink)}.settings-tabs .settings-tab.active i{color:#f2f7f3b8}.settings-panels{flex:auto;gap:0;min-width:0;display:grid}.settings-panel{gap:16px;min-width:0;display:grid}.settings-panel textarea.text-input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);width:100%;color:var(--ink);font:inherit;outline:none;flex:auto;padding:11px 14px}.settings-panel textarea.text-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);background:#fff}@media (width<=720px){.settings-layout{flex-direction:column;align-items:stretch}.settings-tabs{grid-auto-columns:max-content;grid-auto-flow:column;width:100%;padding-bottom:4px;position:static;overflow-x:auto}.settings-tabs .settings-tab{min-width:148px}.settings-tabs .settings-tab i{display:none}}.qr-uploader{flex:none;align-items:flex-start;gap:14px;display:flex}.qr-preview{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:120px;height:120px;padding:6px}.qr-actions{justify-items:start;gap:8px;display:grid}.qr-btns{gap:8px;display:flex}.admin-page td.mail-content{white-space:normal;word-break:break-all;min-width:220px;max-width:340px}.mail-subject{font-weight:600}.mail-body{color:var(--ink-soft);margin-top:2px;font-size:.85rem}.mail-code{color:var(--gold);margin-top:2px;font-weight:700}.ip-region{color:var(--ink-soft);white-space:nowrap;margin-top:2px;font-size:.8rem;display:block}.user-remark{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line-soft);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:999px;max-width:180px;margin-left:6px;padding:1px 8px;font-size:.78rem;display:inline-block;overflow:hidden}.col-ip{max-width:170px}.ip-addr{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;cursor:pointer;border-bottom:1px dashed var(--line);max-width:150px;display:inline-block;overflow:hidden}.ip-addr:hover{color:var(--gold);border-bottom-color:var(--gold)}.switch{cursor:pointer;flex:none;width:46px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.switch .knob{background:#cfd8d1;border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch .knob:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.switch input:checked+.knob{background:var(--gold)}.switch input:checked+.knob:after{transform:translate(20px)}.admin-nav{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.admin-nav a{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:10px 18px;font-size:.92rem;font-weight:600;text-decoration:none}.admin-nav a.router-link-exact-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.version-row{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.88rem;display:flex}.version-row .dot{vertical-align:baseline;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.version-row .dot.ok{background:var(--success)}.version-row .dot.bad{background:var(--danger)}.version-row button{white-space:nowrap;padding:7px 14px;font-size:.85rem}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);background:#1a2e2873;place-items:center;padding:20px;animation:.18s modal-fade;display:grid;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:20px;gap:14px;width:min(440px,100%);max-height:calc(100vh - 60px);padding:24px;animation:.22s cubic-bezier(.2,.9,.3,1.2) modal-pop;display:grid;overflow:auto;box-shadow:0 24px 64px #1a2e2847}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-titles{gap:6px;min-width:0;display:grid}.modal-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.78rem;font-weight:700}.modal-user{letter-spacing:-.01em;word-break:break-all;align-items:center;gap:8px;margin:0;font-size:1.25rem;display:flex}.modal-user .user-dot{background:var(--gold);width:10px;height:10px;box-shadow:0 0 0 4px var(--gold-soft);border-radius:50%;flex:none}.modal-close{flex:none;place-items:center;width:32px;height:32px;font-size:.85rem;display:grid;background:var(--surface-soft)!important;color:var(--muted)!important;border:1px solid var(--line-soft)!important;border-radius:50%!important;padding:0!important}.modal-close:hover{color:var(--ink)!important;border-color:var(--line)!important}.modal-desc{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:.9rem;line-height:1.6}.modal-form{gap:12px;display:grid}.modal-field{color:var(--ink-soft);gap:6px;font-size:.9rem;font-weight:600;display:grid}.modal-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--ink);width:100%;font:inherit;outline:none;padding:11px 14px;font-weight:400}.modal-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);background:#fff}.modal-field .field-label .req{color:var(--danger);margin-left:2px;font-style:normal}.modal-field .field-hint{color:var(--muted);font-size:.78rem;font-weight:400}.modal-error{border-radius:var(--radius-sm);color:var(--danger);background:#fef2f2;border:1px solid #fecaca;margin:0;padding:10px 12px;font-size:.88rem}.modal-actions{justify-content:flex-end;gap:10px;margin-top:2px;display:flex}.modal-btn{font-weight:600;border-radius:999px!important;padding:10px 22px!important}.modal-btn.ghost{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){#app{padding:20px 14px 40px}.admin-page,.admin-login{padding:20px 14px 32px}.admin-header{flex-direction:column;align-items:flex-start}.admin-section{padding:18px 16px}.setting-row{flex-direction:column;align-items:stretch}.setting-row .text-input,.setting-row .num-input{width:100%}.channel-select{justify-content:stretch;width:100%}.channel-option{flex:140px;justify-content:center}.modal-card{padding:20px 18px}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-btn{width:100%}}.cookie-bar[data-v-9d055fed]{z-index:100;color:#faf8f2;background:#1a2e28;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;width:min(860px,100vw - 28px);padding:14px 18px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 18px 45px #0000004d}.cookie-bar p[data-v-9d055fed]{flex:260px;margin:0;font-size:.85rem}.cookie-bar a[data-v-9d055fed]{color:#7fe3bd}.actions[data-v-9d055fed]{gap:10px;display:flex}.actions button[data-v-9d055fed]{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:8px 20px;font-weight:600}.actions .ok[data-v-9d055fed]{color:#1a2e28;background:#faf8f2}.actions .no[data-v-9d055fed]{color:#faf8f2;background:0 0;border-color:#faf8f266}.tile[data-v-879538a3]{aspect-ratio:1;letter-spacing:-.02em;border-radius:12px;place-items:center;width:100%;font-weight:800;transition:transform .12s,background .12s;display:grid}.board[data-v-33be854b]{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:linear-gradient(#27453b 0%,#1a2e28 100%);border:1px solid #ffffff80;border-radius:22px;gap:12px;width:100%;max-width:480px;padding:14px;display:grid;box-shadow:0 24px 55px #1a2e2838}.board.editable[data-v-33be854b]{outline-offset:5px;touch-action:pan-x pan-y;overscroll-behavior:auto;outline:2px dashed #e9b77ebf}.row[data-v-33be854b]{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.cell-btn[data-v-33be854b]{cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0}.cell-btn[data-v-33be854b]:hover{outline-offset:2px;outline:2px solid #fff}.cell-btn.selected[data-v-33be854b]{outline-offset:2px;outline:3px solid #e9b77e}@media (width<=600px){.board[data-v-33be854b]{border-radius:18px;gap:10px;padding:10px}.row[data-v-33be854b]{gap:10px}}.panel[data-v-0805a1b8]{background:#fff;border:1px solid #eaf1ec;border-radius:22px;gap:12px;padding:20px 22px;display:grid;box-shadow:0 8px 24px #1a2e280f}.panel-head[data-v-0805a1b8]{justify-content:space-between;align-items:center;display:flex}h2[data-v-0805a1b8]{letter-spacing:-.01em;margin:0;font-size:1.05rem}.pill[data-v-0805a1b8]{letter-spacing:.08em;color:#0e7c5b;background:#2f7d4f1a;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:700}.pill.busy[data-v-0805a1b8]{color:#0b5c43;background:#0e7c5b24}.select-group[data-v-0805a1b8]{color:#44403c;gap:8px;font-size:.9rem;font-weight:600;display:grid}select[data-v-0805a1b8]{font:inherit;color:#1a2e28;cursor:pointer;background:#f2f7f3;border:1px solid #dde7e0;border-radius:12px;padding:10px 14px;font-weight:500}.status[data-v-0805a1b8]{color:#6b7d74;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;overflow:hidden}@media (width<=600px){.panel[data-v-0805a1b8]{border-radius:18px;gap:10px;padding:16px}}.app-strip[data-v-585c3692]{color:#faf8f2;background:#1a2e28;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:12px 12px 12px 24px;display:flex;box-shadow:0 8px 24px #1a2e282e}.msg[data-v-585c3692]{letter-spacing:.02em;flex:auto;margin:0;font-size:.92rem}.dl-btn[data-v-585c3692]{font:inherit;color:#1a2e28;background:#faf8f2;border-radius:999px;flex:none;padding:9px 26px;font-size:.9rem;font-weight:700;text-decoration:none}@media (width<=600px){.app-strip[data-v-585c3692]{border-radius:14px;gap:8px;padding:8px 12px}.msg[data-v-585c3692]{flex:160px;font-size:.78rem}.dl-btn[data-v-585c3692]{padding:7px 16px;font-size:.8rem}}.panel[data-v-e216ce9e]{background:#fff;border:1px solid #eaf1ec;border-radius:22px;gap:16px;padding:24px;display:grid;box-shadow:0 8px 24px #1a2e280f}.panel-head h2[data-v-e216ce9e]{margin:0;font-size:1.12rem}.hint[data-v-e216ce9e]{color:#6b7d74;margin:0;font-size:.9rem}.upload[data-v-e216ce9e]{cursor:pointer;color:#42564d;background:#f2f7f3;border:1.5px dashed #cbd8cf;border-radius:14px;place-items:center;padding:20px;font-weight:600;display:grid;position:relative}.upload input[data-v-e216ce9e]{opacity:0;cursor:pointer;position:absolute;inset:0}.preview img[data-v-e216ce9e]{border:1px solid #dde7e0;border-radius:14px;width:min(280px,100%);display:block}.result[data-v-e216ce9e]{gap:10px;display:grid}.hud[data-v-e216ce9e]{color:#44403c;flex-wrap:wrap;gap:12px;font-weight:700;display:flex}.row[data-v-e216ce9e]{grid-template-columns:repeat(4,44px);gap:6px;display:grid}.row span[data-v-e216ce9e]{text-align:center;color:#42564d;background:#e6eee6;border-radius:8px;padding:9px 0;font-weight:700}.btn[data-v-e216ce9e]{font:inherit;cursor:pointer;border-radius:999px;width:fit-content;padding:10px 22px;font-weight:600}.btn-primary[data-v-e216ce9e]{color:#faf8f2;background:#1a2e28;border:1px solid #1a2e28}@media (width<=600px){.panel[data-v-e216ce9e]{border-radius:18px;gap:12px;padding:16px}.upload[data-v-e216ce9e]{padding:14px}}.page[data-v-fa3d685e]{gap:28px;width:min(1160px,100%);margin:0 auto;display:grid}.hero[data-v-fa3d685e]{background:#fff;border:1px solid #eaf1ec;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;padding:32px 36px;display:flex;box-shadow:0 8px 24px #1a2e280f}.brand[data-v-fa3d685e]{align-items:center;gap:18px;display:flex}.eyebrow[data-v-fa3d685e]{letter-spacing:.28em;text-transform:uppercase;color:#0e7c5b;margin:0 0 8px;font-size:.76rem;font-weight:700}h1[data-v-fa3d685e]{letter-spacing:-.04em;color:#1a2e28;margin:0;font-size:clamp(3rem,8vw,4.6rem);font-weight:800;line-height:.95}.lead[data-v-fa3d685e]{color:#6b7d74;letter-spacing:.02em;margin:12px 0 0;font-size:1rem}.scores[data-v-fa3d685e]{gap:12px;display:flex}.score-box[data-v-fa3d685e]{color:#faf8f2;text-align:center;background:#1a2e28;border-radius:16px;gap:2px;min-width:92px;padding:14px 18px;display:grid;box-shadow:0 12px 28px #1a2e2833}.score-box span[data-v-fa3d685e]{letter-spacing:.14em;opacity:.65;text-transform:uppercase;font-size:.72rem}.score-box strong[data-v-fa3d685e]{letter-spacing:-.02em;font-size:1.45rem}.toolbar[data-v-fa3d685e]{background:#fff;border:1px solid #eaf1ec;border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex;box-shadow:0 8px 24px #1a2e280f}.toolbar>.board-reset[data-v-fa3d685e]{font:inherit;text-align:center;cursor:pointer;color:#faf8f2;background:#1a2e28;border:1px solid #1a2e28;border-radius:999px;min-width:96px;padding:10px 22px;font-weight:600}.toolbar button[data-v-fa3d685e]:disabled{opacity:.45;cursor:not-allowed}.mode-switch[data-v-fa3d685e]{background:#e9efe9;border-radius:999px;gap:4px;padding:4px;display:flex}.mode-switch button[data-v-fa3d685e]{color:#6b7d74;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 18px;font-size:.9rem;font-weight:600}.mode-switch button.active[data-v-fa3d685e]{color:#faf8f2;background:#1a2e28;box-shadow:0 6px 16px #1a2e2840}.backend[data-v-fa3d685e]{color:#6b7d74;background:#f2f7f3;border:1px solid #eaf1ec;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:8px 16px;font-size:.88rem;display:inline-flex}.backend .dot[data-v-fa3d685e]{background:#b42318;border-radius:50%;width:8px;height:8px}.backend.ok[data-v-fa3d685e]{color:#0e7c5b}.backend.ok .dot[data-v-fa3d685e]{background:#0e7c5b}.play[data-v-fa3d685e]{align-content:start;justify-items:center;gap:20px;display:grid}.board-swipe[data-v-fa3d685e]{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:min(480px,100%)}.board-swipe.no-swipe[data-v-fa3d685e]{touch-action:pan-x pan-y;overscroll-behavior:auto}.board-swipe[data-v-fa3d685e] .board{width:100%}.panel.mirror[data-v-fa3d685e]{background:#fff;border:1px solid #eaf1ec;border-radius:22px;gap:12px;width:min(480px,100%);padding:20px 22px;display:grid;box-shadow:0 8px 24px #1a2e280f}.mirror-top[data-v-fa3d685e]{align-items:center;gap:12px;display:flex}.panel.mirror h2[data-v-fa3d685e]{margin:0;font-size:1.08rem}.steps-wrap[data-v-fa3d685e]{background:#f8faf8;border:1px dashed #d5e0d6;border-radius:14px;gap:6px;padding:10px 14px;display:grid}.steps-label[data-v-fa3d685e]{letter-spacing:.14em;color:#9db0a6;font-size:.7rem;font-weight:700}.steps[data-v-fa3d685e]{pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.steps li[data-v-fa3d685e]{box-shadow:none;color:#6b7d74;white-space:nowrap;cursor:default;background:0 0;border:0;border-radius:0;flex:1 1 0;align-items:center;gap:6px;padding:0;font-size:.8rem;font-weight:600;display:flex}.steps li[data-v-fa3d685e]:not(:first-child):before{content:"›";color:#c3d2c6;margin-right:6px;font-weight:400}.steps li i[data-v-fa3d685e]{color:#42564d;background:#dde7e0;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:.7rem;font-style:normal;font-weight:800;display:grid}.steps li.now[data-v-fa3d685e]{color:#1a2e28;background:0 0;border-color:#0000;font-weight:800}.steps li.now i[data-v-fa3d685e]{color:#fff;background:#0e7c5b}.panel.mirror .hint[data-v-fa3d685e]{color:#6b7d74;margin:0;font-size:.86rem}.tile-modal[data-v-fa3d685e]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#1a2e2873;place-items:center;display:grid;position:fixed;inset:0}.tile-card[data-v-fa3d685e]{background:#fff;border-radius:22px;gap:16px;width:min(340px,100vw - 48px);padding:26px;display:grid;box-shadow:0 30px 70px #0000004d}.tile-card p[data-v-fa3d685e]{color:#1a2e28;margin:0;font-weight:700}.tile-grid[data-v-fa3d685e]{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.tile-grid button[data-v-fa3d685e]{font:inherit;aspect-ratio:1;color:#42564d;cursor:pointer;background:#fff;border:1px solid #dde7e0;border-radius:12px;font-weight:700}.tile-grid button[data-v-fa3d685e]:hover{color:#faf8f2;background:#1a2e28;border-color:#1a2e28}.tile-card .cancel[data-v-fa3d685e]{font:inherit;color:#6b7d74;cursor:pointer;background:0 0;border:1px solid #dde7e0;border-radius:999px;padding:9px 12px}.layout[data-v-fa3d685e]{grid-template-columns:minmax(320px,480px) minmax(360px,1fr);align-items:start;gap:28px;display:grid}.side[data-v-fa3d685e]{align-content:start;gap:20px;min-width:0;display:grid}@media (width>=861px){.play[data-v-fa3d685e]{align-self:start;position:sticky;top:16px}}.tips[data-v-fa3d685e]{color:#6b7d74;margin:4px 0 0;font-size:.9rem}.action-bar[data-v-fa3d685e]{box-sizing:border-box;background:#fff;border:1px solid #eaf1ec;border-radius:16px;align-items:stretch;gap:8px;width:min(480px,100%);max-width:100%;padding:8px;display:flex;overflow:hidden;box-shadow:0 8px 24px #1a2e280f}.action-bar--side[data-v-fa3d685e]{width:100%}@media (width>=861px){.action-bar--play[data-v-fa3d685e]{display:none}}@media (width<=860px){.action-bar--side[data-v-fa3d685e]{display:none}}.ma-primary[data-v-fa3d685e],.ma-undo[data-v-fa3d685e],.ma-ghost[data-v-fa3d685e]{font:inherit;cursor:pointer;white-space:nowrap;color:#1a2e28;background:#fff;border:1px solid #dde7e0;border-radius:999px;min-width:0;padding:12px 6px;font-size:.9rem;font-weight:700}.ma-primary[data-v-fa3d685e]{color:#faf8f2;background:#1a2e28;border-color:#1a2e28;flex:1.2 1 0}.ma-undo[data-v-fa3d685e],.ma-ghost[data-v-fa3d685e]{flex:.8 1 0}.ma-primary[data-v-fa3d685e]:disabled,.ma-undo[data-v-fa3d685e]:disabled,.ma-ghost[data-v-fa3d685e]:disabled{opacity:.45;cursor:not-allowed}.ma-pred[data-v-fa3d685e]{color:#faf8f2;background:#1a2e28;border-radius:12px;flex:0 0 86px;align-content:center;justify-items:center;padding:6px 8px;line-height:1.2;display:grid}.ma-pred span[data-v-fa3d685e]{letter-spacing:.08em;opacity:.7;font-size:.68rem}.ma-pred strong[data-v-fa3d685e]{letter-spacing:-.02em;font-size:1.25rem}.guides[data-v-fa3d685e]{background:#fff;border:1px solid #eaf1ec;border-radius:22px;gap:16px;padding:24px;display:grid;box-shadow:0 8px 24px #1a2e280f}.guides-head[data-v-fa3d685e]{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.guides-head h2[data-v-fa3d685e]{color:#1a2e28;margin:0;font-size:1.15rem}.guides-head .more[data-v-fa3d685e]{color:#0e7c5b;white-space:nowrap;font-size:.9rem;font-weight:600;text-decoration:none}.guides-grid[data-v-fa3d685e]{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.guide-card[data-v-fa3d685e]{color:#1a2e28;background:#f2f7f3;border:1px solid #eaf1ec;border-radius:16px;gap:6px;padding:16px 18px;text-decoration:none;display:grid}.guide-card strong[data-v-fa3d685e]{font-size:.95rem}.guide-card span[data-v-fa3d685e]{color:#6b7d74;font-size:.85rem}.guide-card[data-v-fa3d685e]:hover{border-color:#0e7c5b}.foot[data-v-fa3d685e]{color:#9db0a6;letter-spacing:.12em;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 0 4px;font-size:.82rem;display:flex}.foot .sep[data-v-fa3d685e]{opacity:.5}.foot-nav[data-v-fa3d685e]{display:contents}.foot-nav a[data-v-fa3d685e]{color:#6b7d74;text-decoration:none}.foot-nav a[data-v-fa3d685e]:hover{color:#0e7c5b}@media (width<=1100px){.page[data-v-fa3d685e]{gap:22px}.hero[data-v-fa3d685e]{padding:28px 30px}.layout[data-v-fa3d685e]{grid-template-columns:minmax(300px,420px) minmax(300px,1fr);gap:20px}.board-swipe[data-v-fa3d685e],.panel.mirror[data-v-fa3d685e]{width:min(420px,100%)}}@media (width<=860px){.layout[data-v-fa3d685e]{grid-template-columns:1fr}.hero[data-v-fa3d685e]{padding:26px 24px}.play[data-v-fa3d685e],.side[data-v-fa3d685e]{width:min(560px,100%);margin-inline:auto}.action-bar--play[data-v-fa3d685e]{-webkit-backdrop-filter:blur(10px);z-index:30;background:#fffffff0;width:min(440px,100%);position:sticky;bottom:10px;box-shadow:0 12px 32px #1a2e2829}}@media (width>=601px) and (width<=860px){.play[data-v-fa3d685e]{width:min(480px,100%)}.side[data-v-fa3d685e]{grid-template-columns:1fr 1fr;align-items:start;width:100%}.panel.mirror[data-v-fa3d685e]{width:min(480px,100%)}}@media (width<=600px){.page[data-v-fa3d685e]{gap:10px}.hero[data-v-fa3d685e]{border-radius:16px;flex-wrap:nowrap;align-items:center;gap:10px;padding:10px 14px}.brand[data-v-fa3d685e]{gap:10px;min-width:0}.brand-mark[data-v-fa3d685e]{border-radius:11px;width:38px;height:38px}.eyebrow[data-v-fa3d685e]{display:none}h1[data-v-fa3d685e]{font-size:1.7rem;line-height:1}.lead[data-v-fa3d685e]{display:none}.scores[data-v-fa3d685e]{flex:auto;justify-content:flex-end;gap:6px;margin-left:auto}.score-box[data-v-fa3d685e]{border-radius:11px;flex:0 auto;gap:0;min-width:0;padding:5px 10px}.score-box span[data-v-fa3d685e]{font-size:.62rem}.score-box strong[data-v-fa3d685e]{font-size:.98rem}.toolbar[data-v-fa3d685e]{border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.toolbar>.board-reset[data-v-fa3d685e]{flex:none;min-width:76px;padding:7px 13px;font-size:.82rem}.toolbar .mode-switch[data-v-fa3d685e]{flex:100%;order:3;padding:3px;display:flex}.toolbar .mode-switch button[data-v-fa3d685e]{text-align:center;flex:1 1 0;padding:6px 11px;font-size:.78rem}.backend[data-v-fa3d685e]{flex:none;justify-content:center;margin-left:auto;padding:6px 10px;font-size:.72rem}.layout[data-v-fa3d685e]{gap:10px}.play[data-v-fa3d685e]{gap:8px}.board-swipe[data-v-fa3d685e]{width:min(100%,clamp(272px,100dvh - 372px,440px))}.tips[data-v-fa3d685e]{text-align:center;margin:0;font-size:.76rem}.action-bar--play[data-v-fa3d685e]{padding:7px;bottom:8px}.ma-primary[data-v-fa3d685e],.ma-undo[data-v-fa3d685e],.ma-ghost[data-v-fa3d685e]{padding:10px 4px;font-size:.84rem}.ma-pred[data-v-fa3d685e]{flex-basis:78px}.panel.mirror[data-v-fa3d685e]{gap:10px;padding:14px}.panel.mirror h2[data-v-fa3d685e]{font-size:.95rem}.steps li[data-v-fa3d685e]{font-size:.74rem}.panel.mirror .hint[data-v-fa3d685e]{font-size:.78rem}.guides-grid[data-v-fa3d685e]{grid-template-columns:1fr}.guides[data-v-fa3d685e]{padding:18px}}@media (width<=600px) and (height<=740px){.hero[data-v-fa3d685e]{padding:8px 12px}.brand-mark[data-v-fa3d685e]{width:32px;height:32px}h1[data-v-fa3d685e]{font-size:1.45rem}.score-box[data-v-fa3d685e]{padding:4px 8px}.board-swipe[data-v-fa3d685e]{width:min(100%,clamp(240px,100dvh - 348px,440px))}}.doc-page[data-v-86ab5c8a]{gap:20px;width:min(860px,100%);margin:0 auto;display:grid}.doc-top[data-v-86ab5c8a]{background:#fff;border:1px solid #eaf1ec;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex;box-shadow:0 8px 24px #1a2e280f}.brand[data-v-86ab5c8a]{color:#1a2e28;font-weight:800;text-decoration:none}.doc-nav[data-v-86ab5c8a]{gap:16px;display:flex}.doc-nav a[data-v-86ab5c8a]{color:#42564d;font-size:.92rem;font-weight:600;text-decoration:none}.doc-nav a.router-link-exact-active[data-v-86ab5c8a]{color:#0e7c5b}.doc-card[data-v-86ab5c8a]{background:#fff;border:1px solid #eaf1ec;border-radius:22px;padding:clamp(22px,4vw,40px);box-shadow:0 8px 24px #1a2e280f}.crumb[data-v-86ab5c8a]{color:#9db0a6;margin:0 0 6px;font-size:.85rem}.crumb a[data-v-86ab5c8a]{color:#0e7c5b;text-decoration:none}h1[data-v-86ab5c8a]{letter-spacing:-.02em;color:#1a2e28;margin:0 0 8px;font-size:clamp(1.5rem,4vw,2.1rem)}.meta[data-v-86ab5c8a]{color:#9db0a6;font-size:.85rem}.desc[data-v-86ab5c8a]{color:#6b7d74}.prose[data-v-86ab5c8a]{color:#33463f;gap:6px;line-height:1.9;display:grid}.prose[data-v-86ab5c8a] h2{color:#1a2e28;margin:22px 0 4px;font-size:1.2rem}.prose[data-v-86ab5c8a] a{color:#0e7c5b}.prose[data-v-86ab5c8a] code{background:#f2f7f3;border:1px solid #eaf1ec;border-radius:6px;padding:1px 6px;font-size:.85em}.related[data-v-86ab5c8a]{border-top:1px solid #eaf1ec;margin-top:28px;padding-top:18px}.related h2[data-v-86ab5c8a]{margin:0 0 10px;font-size:1.05rem}.related ul[data-v-86ab5c8a],.guide-list[data-v-86ab5c8a]{gap:14px;margin:0;padding:0;list-style:none;display:grid}.related li[data-v-86ab5c8a],.guide-list li[data-v-86ab5c8a]{background:#f2f7f3;border:1px solid #eaf1ec;border-radius:14px;padding:14px 18px}.related a[data-v-86ab5c8a],.guide-list a[data-v-86ab5c8a]{color:#1a2e28;font-weight:700;text-decoration:none}.related a[data-v-86ab5c8a]:hover,.guide-list a[data-v-86ab5c8a]:hover{color:#0e7c5b}.related p[data-v-86ab5c8a],.guide-list p[data-v-86ab5c8a]{color:#6b7d74;margin:6px 0 0;font-size:.92rem}.doc-foot[data-v-86ab5c8a]{color:#9db0a6;justify-items:center;gap:6px;padding-bottom:8px;font-size:.85rem;display:grid}.doc-foot nav[data-v-86ab5c8a]{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.doc-foot a[data-v-86ab5c8a]{color:#6b7d74;text-decoration:none}.doc-foot a[data-v-86ab5c8a]:hover{color:#0e7c5b}.doc-foot p[data-v-86ab5c8a]{margin:0}.slider-captcha[data-v-fcc251b2]{width:100%}.slider-track[data-v-fcc251b2]{touch-action:none;-webkit-user-select:none;user-select:none;background:#eef3ee;border:1px solid #d5e0d5;border-radius:12px;height:44px;position:relative;overflow:hidden}.slider-track.ok[data-v-fcc251b2]{background:#e3f3ea;border-color:#0e7c5b}.slider-fill[data-v-fcc251b2]{background:#cde8d8;position:absolute;top:0;bottom:0;left:0}.slider-hint[data-v-fcc251b2]{color:#5c6f60;pointer-events:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.slider-knob[data-v-fcc251b2]{cursor:grab;touch-action:none;background:#fff;border:1px solid #d5e0d5;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex;position:absolute;top:0}.slider-track.ok .slider-knob[data-v-fcc251b2]{color:#fff;background:#0e7c5b;border-color:#0e7c5b}
