html[data-bounding-boxes] .grid-table{outline:1px dashed rgba(90,100,120,.55);outline-offset:-1px}html[data-bounding-boxes] .grid-table .region{outline:1px solid rgba(20,140,105,.7);outline-offset:-1px;position:relative}html[data-bounding-boxes] .grid-table .region.occupied:after{content:attr(data-bounding-box-label);position:absolute;top:0;left:0;z-index:50;font:700 9px/1.35 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.01em;color:#fff;background:#115e47e6;padding:1px 4px;white-space:nowrap;pointer-events:none;border-bottom-right-radius:3px}html[data-bounding-boxes] .grid-table .region[data-overflow]{outline:2px solid rgba(200,0,0,.92)}html[data-bounding-boxes] .grid-table .region[data-overflow].occupied:after{background:#b40000f2}html[data-bounding-boxes] .grid-table.bidding-anchored .area-center{outline-color:#c87814d9;background:repeating-linear-gradient(45deg,transparent,transparent 7px,rgba(200,120,20,.09) 7px,rgba(200,120,20,.09) 14px)}html[data-bounding-boxes] .grid-table.bidding-anchored .area-center:after{background:#a05c0ceb}.grid-table .row-band{display:none}html[data-bounding-boxes] .grid-table .row-band{display:block;align-self:stretch;position:relative;pointer-events:none;outline:1px dotted rgba(120,80,150,.5);outline-offset:-1px;z-index:40}html[data-bounding-boxes] .grid-table .row-band.has-slack:not(.has-overflow){outline-color:#c8781499;background:repeating-linear-gradient(45deg,transparent,transparent 7px,rgba(200,120,20,.12) 7px,rgba(200,120,20,.12) 14px)}html[data-bounding-boxes] .grid-table .row-band.has-phantom:not(.has-slack):not(.has-overflow){outline-color:#c8282899;background:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(210,40,40,.1) 6px,rgba(210,40,40,.1) 12px)}html[data-bounding-boxes] .grid-table .row-band.has-overflow{outline-color:#c80000d9;background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(210,0,0,.2) 5px,rgba(210,0,0,.2) 10px)}html[data-bounding-boxes] .grid-table .row-band:before{content:attr(data-row-band-label);position:absolute;top:1px;right:1px;z-index:41;font:700 9px/1.35 ui-monospace,SF Mono,Menlo,monospace;color:#fff;background:#5c3878e6;padding:1px 4px;white-space:nowrap;border-bottom-left-radius:3px}html[data-bounding-boxes] .grid-table .row-band.has-slack:not(.has-overflow):before{background:#a05c0ceb}html[data-bounding-boxes] .grid-table .row-band.has-phantom:not(.has-slack):not(.has-overflow):before{background:#961e1eeb}html[data-bounding-boxes] .grid-table .row-band.has-overflow:before{background:#aa0000f2}.grid-table .stage-line{display:none}html[data-bounding-boxes] .grid-table .stage-line{display:block;position:fixed;left:10px;top:10px;z-index:60;pointer-events:none}html[data-bounding-boxes] .grid-table .stage-line:before{content:attr(data-stage-label);font:700 10px/1.3 ui-monospace,SF Mono,Menlo,monospace;color:#ffe1b0;background:#784810eb;padding:3px 7px;border-radius:5px;white-space:nowrap}.grid-table .bounding-box-legend{display:none}html[data-bounding-boxes] .grid-table .bounding-box-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px;position:fixed;left:10px;bottom:10px;z-index:60;max-width:40vw;padding:5px 8px;border-radius:6px;background:#141c18e6;font:600 10px/1.3 ui-monospace,SF Mono,Menlo,monospace;color:#cfe6da;pointer-events:none}html[data-bounding-boxes] .grid-table .bounding-box-legend .bbl-title{color:#7fd3aa;text-transform:uppercase;letter-spacing:.06em;margin-right:2px}html[data-bounding-boxes] .grid-table .bounding-box-legend .bbl-item{background:#ffffff1a;border-radius:3px;padding:1px 5px}html[data-bounding-boxes] .grid-table .bounding-box-legend .bbl-none{opacity:.6}.friend-toasts[data-v-a980664d]{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:3000;display:flex;flex-direction:column;gap:8px;max-width:92vw}.friend-toast[data-v-a980664d]{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#1f2937;color:#fff;border-radius:10px;box-shadow:0 6px 24px #00000047;font-family:var(--font-body, system-ui, sans-serif);font-size:14px}.ft-body[data-v-a980664d]{line-height:1.35}.ft-body strong[data-v-a980664d]{font-weight:600}.ft-actions[data-v-a980664d]{display:flex;gap:8px;flex-shrink:0}.ft-btn[data-v-a980664d]{padding:6px 12px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer}.ft-btn[data-v-a980664d]:disabled{opacity:.6;cursor:default}.ft-accept[data-v-a980664d]{background:#1d9e75;color:#fff}.ft-accept[data-v-a980664d]:hover:not(:disabled){background:#167a5a}.ft-dismiss[data-v-a980664d]{background:transparent;color:#cbd5e1}.ft-dismiss[data-v-a980664d]:hover{color:#fff}.app-toasts[data-v-a980664d]{position:fixed;left:50%;bottom:78px;transform:translate(-50%);z-index:3000;display:flex;flex-direction:column;gap:8px;align-items:center}.app-toast[data-v-a980664d]{padding:9px 16px;background:#1f2937;color:#fff;border-radius:8px;box-shadow:0 6px 24px #00000047;font-family:var(--font-body, system-ui, sans-serif);font-size:13px}.paw-icon[data-v-2d877e34]{display:inline-block;vertical-align:middle;width:1em;height:1em;fill:#16a34a;stroke:#fff;stroke-width:34;paint-order:stroke fill;overflow:visible}.paw-icon.gold[data-v-2d877e34]{fill:#eab308}.seat-indicator[data-v-5fc5b2f6]{display:flex;align-items:center;gap:calc(8px * var(--table-scale));width:100%;min-width:0}.seat-indicator.centered[data-v-5fc5b2f6]{justify-content:center}.si-badge[data-v-5fc5b2f6]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:calc(22px * var(--table-scale));height:calc(22px * var(--table-scale));border-radius:50%;background:#fff;color:#1a1a1a;font-weight:700;font-size:calc(13px * var(--table-scale));line-height:1;border:1.5px solid rgba(0,0,0,.15)}.seat-indicator.conn .si-badge[data-v-5fc5b2f6]{background:#1d9e75;color:#fff;border-color:#1d9e75}.seat-indicator.disc .si-badge[data-v-5fc5b2f6]{background:#c0c4c0;color:#fff;border-color:#c0c4c0}.si-name[data-v-5fc5b2f6]{flex:0 1 auto;min-width:0;font-weight:600;font-size:calc(14px * var(--table-scale));white-space:nowrap;overflow:hidden}.si-adorn[data-v-5fc5b2f6]{flex:0 0 auto;display:inline-flex;align-items:center;gap:calc(6px * var(--table-scale))}.si-adorn[data-v-5fc5b2f6]:empty{display:none}.si-bot[data-v-5fc5b2f6]{font-size:calc(13px * var(--table-scale));line-height:1;filter:grayscale(.2)}.seat-indicator.disc .si-name[data-v-5fc5b2f6]{color:#888}.seat-indicator.is-turn .si-badge[data-v-5fc5b2f6]{border-color:#1565c0;box-shadow:0 0 0 2px #1565c040}.seat-indicator.is-you .si-name[data-v-5fc5b2f6]{color:#1565c0}.seat-indicator.is-empty .si-name[data-v-5fc5b2f6]{color:#888;font-weight:500}.seat-chip[data-v-313d5ea7]{font-weight:700;font-size:calc(21px * var(--table-scale));color:#333;margin-bottom:calc(8px * var(--table-scale));text-align:center}.seat-chip.compact[data-v-313d5ea7]{font-size:calc(18px * var(--table-scale));margin-bottom:calc(4px * var(--table-scale))}.seat-count[data-v-313d5ea7]{font-size:calc(12px * var(--table-scale));font-weight:500;color:#666;line-height:1.2;margin-top:calc(2px * var(--table-scale))}.seat-count-named[data-v-313d5ea7]{text-align:left;padding-left:calc(30px * var(--table-scale))}.seat-dot[data-v-313d5ea7]{display:inline-block;width:calc(8px * var(--table-scale));height:calc(8px * var(--table-scale));border-radius:50%;margin-left:calc(6px * var(--table-scale));vertical-align:middle}.seat-dot-connected[data-v-313d5ea7]{background:#1d9e75}.seat-dot-disconnected[data-v-313d5ea7]{background:#c0c4c0}.seat-chip.is-turn .seat-name[data-v-313d5ea7]{color:#1565c0}.seat-chip.reserved[data-v-313d5ea7] .si-name,.seat-chip.reserved .seat-name[data-v-313d5ea7]{color:#b45309;font-style:italic}.seat-chip.reserved[data-v-313d5ea7] .si-badge{background:#fdebcb;color:#b45309;box-shadow:inset 0 0 0 1px #e6c88a}.cs-backdrop[data-v-82823708]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:transparent}.cs-popup[data-v-82823708]{position:absolute;min-width:160px;max-width:min(90vw,360px);background:#fff;border:1px solid #cfd4cd;border-radius:10px;box-shadow:0 8px 28px #00000038;padding:10px 12px 12px}.cs-head[data-v-82823708]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cs-symbol[data-v-82823708]{font-size:22px;line-height:1}.cs-symbol.suit-red[data-v-82823708]{color:#d32f2f}.cs-symbol.suit-black[data-v-82823708]{color:#1a1a1a}.cs-hint[data-v-82823708]{font-size:11px;color:#8a8f88;text-transform:uppercase;letter-spacing:.04em}.cs-cards[data-v-82823708]{display:flex;flex-wrap:wrap;gap:6px}.cs-cell[data-v-82823708]{min-width:44px;min-height:44px;padding:0 8px;border:1px solid #d7dbd6;border-radius:8px;background:#f7f9f6;font:600 22px Segoe UI,system-ui,sans-serif;color:#1a1a1a;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center}.cs-cell.red[data-v-82823708]{color:#d32f2f}.cs-cell[data-v-82823708]:hover:not(:disabled){background:#e8f3ec;border-color:#52b788}.cs-cell.played[data-v-82823708]{opacity:.4;text-decoration:line-through;cursor:default}.cs-badge[data-v-82823708]{position:absolute;top:-6px;right:-4px;font-size:10px;line-height:1;font-weight:700;color:#fff;background:#6a1b9a;border-radius:8px;padding:1px 4px}.suits[data-v-b43c8ed4]{display:flex;flex-direction:column;gap:calc(4px * var(--table-scale))}.suit-row[data-v-b43c8ed4]{display:flex;align-items:center;gap:calc(var(--hd-gap, 8px) * var(--table-scale));font-family:Segoe UI,system-ui,sans-serif;font-size:calc(24px * var(--table-scale) * var(--suit-scale, 1))}.suit-symbol[data-v-b43c8ed4]{font-size:calc(27px * var(--table-scale));width:calc(var(--hd-label-w, 28px) * var(--table-scale));text-align:center;flex:0 0 auto}.suit-red[data-v-b43c8ed4]{color:#d32f2f}.suit-black[data-v-b43c8ed4]{color:#1a1a1a}.cards[data-v-b43c8ed4]{min-width:0;font-weight:500;white-space:nowrap;letter-spacing:calc(1px * var(--suit-scale, 1))}.cell[data-v-b43c8ed4]{display:inline}.cell.chip[data-v-b43c8ed4]{color:#1a1a1a;font-weight:600;pointer-events:none;margin-left:calc(6px * var(--table-scale) * var(--suit-scale, 1))}.cell.chip.pill[data-v-b43c8ed4]{position:relative;display:inline-flex;align-items:center;padding:.04em .32em;border:1px solid #cfd6ce;border-radius:.42em;background:#f2f6f1;pointer-events:auto;cursor:pointer;transition:background .15s,border-color .15s}.cell.chip.pill[data-v-b43c8ed4]:hover{background:#e3efe6;border-color:#7cc59b}.cell.chip.pill[data-v-b43c8ed4]:active{background:#d3e7d9}.cell.chip.pill[data-v-b43c8ed4]:after{content:"";position:absolute;left:0;right:calc(-30px * var(--table-scale));top:calc(-8px * var(--table-scale));bottom:calc(-8px * var(--table-scale))}.cell.chip .chip-dot[data-v-b43c8ed4]{color:#6a1b9a;font-size:.8em;vertical-align:.15em}.cell.played[data-v-b43c8ed4]{opacity:.4;text-decoration:line-through;cursor:default;-webkit-user-select:none;user-select:none}.cell.current[data-v-b43c8ed4]{background:#bbdefb;border-radius:3px;box-shadow:0 0 0 2px #bbdefb;cursor:default;-webkit-user-select:none;user-select:none}.holding.hide-played .cell.played[data-v-b43c8ed4]{display:none}.cell.inspectable[data-v-b43c8ed4]{cursor:pointer}.cell.chosen[data-v-b43c8ed4]{border-radius:3px;box-shadow:0 0 0 2px #333}.cell.interactive[data-v-b43c8ed4]{cursor:pointer;border-radius:3px;transition:background .15s;-webkit-user-select:none;user-select:none}.cell.interactive[data-v-b43c8ed4]:hover{background:#bbdefb}.cell.interactive[data-v-b43c8ed4]:active{background:#90caf9}.cell.has-badge[data-v-b43c8ed4]{position:relative}.cell-badge[data-v-b43c8ed4]{position:absolute;top:calc(-7px * var(--table-scale) * var(--suit-scale, 1));right:calc(-3px * var(--table-scale) * var(--suit-scale, 1));font-size:calc(10px * var(--table-scale) * var(--suit-scale, 1));line-height:1;font-weight:700;letter-spacing:0;color:#fff;background:#6a1b9a;border-radius:8px;padding:calc(1px * var(--table-scale) * var(--suit-scale, 1)) calc(4px * var(--table-scale) * var(--suit-scale, 1))}.holding.has-badges[data-v-b43c8ed4]{padding-top:calc(8px * var(--table-scale));padding-right:calc(7px * var(--table-scale))}.hcp[data-v-b43c8ed4]{margin-top:calc(8px * var(--table-scale));text-align:center;font-size:calc(12px * var(--table-scale));color:#666}.holding.compact .suit-row[data-v-b43c8ed4]{font-size:calc(21px * var(--table-scale) * var(--suit-scale, 1));gap:calc(6px * var(--table-scale))}.holding.compact .suit-symbol[data-v-b43c8ed4]{font-size:calc(24px * var(--table-scale));width:calc(24px * var(--table-scale))}.hd-probe[data-v-b43c8ed4]{position:absolute;left:-9999px;top:0;visibility:hidden;pointer-events:none;white-space:nowrap}.seat-panel[data-v-7422bcd2]{background:#f5f5f5;border-radius:8px;padding:calc(12px * var(--table-scale));min-width:min(calc(220px * var(--table-scale)),100%);border:2px solid transparent}.seat-panel.active[data-v-7422bcd2]{background:#e3f2fd;border-color:#2196f3}.seat-panel.thinking[data-v-7422bcd2]{background:#fdecf2;border-color:#f06292}.seat-panel.compact[data-v-7422bcd2]{padding:calc(8px * var(--table-scale));min-width:min(calc(180px * var(--table-scale)),100%)}.seat-panel.chip[data-v-7422bcd2]{min-width:auto}.grid-table[data-v-483b6e3d]{display:grid;grid-template-areas:"nw n  ne" "w  center e" "sw s  se";gap:0;padding:14px;align-items:center;justify-items:center;justify-content:center;--cell-gap: 6px}.grid-table .region.occupied[data-v-483b6e3d]{margin:var(--cell-gap)}.grid-table.bidding-anchored .area-center[data-v-483b6e3d]{display:flex;align-items:flex-start;align-self:start;justify-content:center;justify-self:center}.grid-table.anchored .area-se[data-v-483b6e3d]{margin-left:var(--action-hand-gap, 14px)}.grid-table.anchored .area-sw[data-v-483b6e3d]{margin-right:var(--action-hand-gap, 14px)}.region[data-v-483b6e3d]{min-width:0}.area-nw[data-v-483b6e3d]{grid-area:nw;justify-self:start;align-self:start}.area-n[data-v-483b6e3d]{grid-area:n}.area-ne[data-v-483b6e3d]{grid-area:ne;justify-self:end;align-self:start}.area-w[data-v-483b6e3d]{grid-area:w;justify-self:start}.area-center[data-v-483b6e3d]{grid-area:center}.area-e[data-v-483b6e3d]{grid-area:e;justify-self:end}.area-sw[data-v-483b6e3d]{grid-area:sw;justify-self:start;align-self:end}.area-s[data-v-483b6e3d]{grid-area:s}.area-se[data-v-483b6e3d]{grid-area:se;justify-self:end;align-self:end}.area-se[data-v-483b6e3d],.area-sw[data-v-483b6e3d]{max-width:100%}.seat[data-v-483b6e3d]{display:flex}.region.seat[data-v-483b6e3d] .si-name{font-size:calc(19px * var(--table-scale))}.region.seat[data-v-483b6e3d] .si-badge{width:calc(30px * var(--table-scale));height:calc(30px * var(--table-scale));font-size:calc(18px * var(--table-scale))}.region.seat[data-v-483b6e3d] .hcp{font-size:calc(19px * var(--table-scale))}.row-band[data-v-483b6e3d],.stage-line[data-v-483b6e3d],.bounding-box-legend[data-v-483b6e3d]{display:none}.bridge-table[data-v-5130cc75]{display:grid;grid-template-columns:1fr minmax(240px,auto) 1fr;grid-template-rows:auto auto auto;gap:8px;padding:16px;min-width:320px;position:relative}.ns-column[data-v-5130cc75]{grid-column:1 / -1;display:flex;justify-content:center}.position.west[data-v-5130cc75]{grid-column:1;grid-row:2;justify-self:end}.center[data-v-5130cc75]{grid-column:2;grid-row:2;min-width:20px;display:flex;align-items:center;justify-content:center}.position.east[data-v-5130cc75]{grid-column:3;grid-row:2;justify-self:start}.north-row[data-v-5130cc75]{grid-row:1}.south-row[data-v-5130cc75]{grid-row:3}.corner-se[data-v-5130cc75]{position:absolute;right:12px;bottom:12px;z-index:2}.bridge-table.compact[data-v-5130cc75]{gap:4px;padding:8px;min-width:280px}.bridge-table.identity-only[data-v-5130cc75] .seat-panel{min-width:180px}.bridge-table.identity-only .position.west[data-v-5130cc75],.bridge-table.identity-only .position.east[data-v-5130cc75]{justify-self:center}.bridge-table.size-compact[data-v-5130cc75],.bridge-table.size-split[data-v-5130cc75]{gap:6px;padding:10px;min-width:0;grid-template-columns:1fr minmax(150px,auto) 1fr}.bridge-table.size-chip[data-v-5130cc75]{gap:4px;padding:8px;min-width:0;grid-template-columns:auto minmax(0,1fr) auto}.bridge-table.size-stack[data-v-5130cc75]{display:flex;flex-direction:column;gap:4px;padding:8px;min-width:0}.bridge-table.size-stack .ns-column[data-v-5130cc75]{display:block}.bridge-table.size-stack .position[data-v-5130cc75]{width:100%}.bridge-table.size-stack .center[data-v-5130cc75]{display:none}.bridge-table.no-center[data-v-5130cc75]{grid-template-columns:auto minmax(0,240px) auto;justify-content:center}.bridge-table.no-center.size-compact[data-v-5130cc75],.bridge-table.no-center.size-split[data-v-5130cc75]{grid-template-columns:auto minmax(0,150px) auto}.bridge-table.no-center .center[data-v-5130cc75]{min-width:0}@media (max-width: 600px){.bridge-table[data-v-5130cc75]{gap:8px;padding:8px;min-width:260px}}.trick-area[data-v-c9d952d2]{display:flex;align-items:center;justify-content:center;min-height:calc(220px * var(--table-scale));padding:0 calc(8px * var(--table-scale))}.trick-area.inactive[data-v-c9d952d2]{display:none}.trick-grid[data-v-c9d952d2]{display:grid;grid-template-columns:56px 1fr 56px;grid-template-rows:minmax(48px,auto) minmax(48px,auto) minmax(48px,auto);gap:calc(6px * var(--table-scale));width:calc(200px * var(--table-scale))}.slot[data-v-c9d952d2]{display:flex;align-items:center;justify-content:center;border-radius:6px}.slot-n[data-v-c9d952d2]{grid-column:2;grid-row:1}.slot-w[data-v-c9d952d2]{grid-column:1;grid-row:2}.slot-center[data-v-c9d952d2]{grid-column:2;grid-row:2;flex-direction:column;gap:calc(4px * var(--table-scale));color:#666;text-align:center}.slot-e[data-v-c9d952d2]{grid-column:3;grid-row:2}.slot-s[data-v-c9d952d2]{grid-column:2;grid-row:3}.slot.is-next .card[data-v-c9d952d2]{outline:1.5px solid #1D9E75;outline-offset:2px}.slot:not(:has(.card)).is-next[data-v-c9d952d2]:after{content:"·";color:#1d9e75;font-size:calc(28px * var(--table-scale));line-height:1}.card[data-v-c9d952d2]{background:#fff;border:.5px solid #bbb;border-radius:4px;padding:calc(6px * var(--table-scale)) calc(10px * var(--table-scale));font-weight:500;font-size:calc(24px * var(--table-scale));white-space:nowrap;box-shadow:0 1px 2px #00000014;letter-spacing:1px}.suit-red[data-v-c9d952d2]{color:#d32f2f}.suit-black[data-v-c9d952d2]{color:#222}.counter[data-v-c9d952d2]{font-variant-numeric:tabular-nums;color:#555;font-weight:500;font-size:calc(14px * var(--table-scale));line-height:1.3}.bot-thinking[data-v-c9d952d2]{color:#1d9e75;font-style:italic;font-size:calc(11px * var(--table-scale))}.last-winner[data-v-c9d952d2]{color:#1d9e75;font-size:calc(11px * var(--table-scale));font-weight:500}.bidding-box[data-v-7009739c]{background:#e8e8e8;border-radius:8px;padding:calc(10px * var(--bb-scale, var(--table-scale)));display:flex;flex-direction:column;gap:calc(8px * var(--bb-scale, var(--table-scale)))}.bidding-box.disabled[data-v-7009739c]{opacity:.45;pointer-events:none}.bid-section[data-v-7009739c]{display:flex;flex-direction:column;gap:calc(6px * var(--bb-scale, var(--table-scale)))}.levels[data-v-7009739c]{display:flex;gap:var(--btn-gap, calc(3px * var(--bb-scale, var(--table-scale))));justify-content:center}.level-btn[data-v-7009739c]{width:calc(26px * var(--bb-scale, var(--table-scale)));height:calc(44px * var(--bb-scale, var(--table-scale)));padding:0;border:1px solid #ccc;border-radius:4px;background:#fff;font-family:Segoe UI,system-ui,sans-serif;font-size:calc(24px * var(--bb-scale, var(--table-scale)));font-weight:500;line-height:1;cursor:pointer;transition:all .15s}.level-btn[data-v-7009739c]:hover:not(:disabled){border-color:#007bff}.level-btn[data-v-7009739c]:disabled,.level-btn.disabled[data-v-7009739c]{opacity:.4;cursor:not-allowed}.level-btn.active[data-v-7009739c]{background:#007bff;color:#fff;border-color:#007bff}.strains[data-v-7009739c]{display:flex;gap:var(--btn-gap, calc(3px * var(--bb-scale, var(--table-scale))));justify-content:center}.strain-btn[data-v-7009739c]{width:calc(38px * var(--bb-scale, var(--table-scale)));height:calc(44px * var(--bb-scale, var(--table-scale)));padding:0;border:1px solid #ccc;border-radius:4px;background:#fff;font-family:Segoe UI,system-ui,sans-serif;font-size:calc(28px * var(--bb-scale, var(--table-scale)));line-height:1;cursor:pointer;transition:all .15s}.strain-btn[data-v-7009739c]:hover:not(:disabled){border-color:#007bff;transform:translateY(-2px)}.strain-btn[data-v-7009739c]:disabled,.strain-btn.disabled[data-v-7009739c]{opacity:.4;cursor:not-allowed}.strain-btn.suit-red[data-v-7009739c]{color:#d32f2f}.strain-btn.suit-black[data-v-7009739c]{color:#1a1a1a}.strain-btn.suit-nt[data-v-7009739c]{font-size:calc(22px * var(--bb-scale, var(--table-scale)));font-weight:500;color:#1a1a1a}.special-bids[data-v-7009739c]{display:flex;gap:calc(8px * var(--bb-scale, var(--table-scale)));justify-content:center}.special-btn[data-v-7009739c]{min-width:calc(58px * var(--bb-scale, var(--table-scale)));height:calc(44px * var(--bb-scale, var(--table-scale)));padding:calc(4px * var(--bb-scale, var(--table-scale))) calc(12px * var(--bb-scale, var(--table-scale)));border:none;border-radius:4px;font-size:calc(16px * var(--bb-scale, var(--table-scale)));font-weight:700;cursor:pointer;transition:all .15s}.special-btn[data-v-7009739c]:disabled{opacity:.4;cursor:not-allowed}.special-btn.pass[data-v-7009739c]{background:#4caf50;color:#fff}.special-btn.pass[data-v-7009739c]:hover{background:#388e3c}.special-btn.double[data-v-7009739c]{background:#ff5722;color:#fff}.special-btn.double[data-v-7009739c]:hover:not(:disabled){background:#e64a19}.special-btn.redouble[data-v-7009739c]{background:#2196f3;color:#fff}.special-btn.redouble[data-v-7009739c]:hover:not(:disabled){background:#1976d2}.auction-table[data-v-b121d94f]{background:#fff;border:2px solid #333;border-radius:4px;overflow:hidden;min-width:calc(var(--at-min-w) * var(--table-scale))}.auction-table.dense[data-v-b121d94f]{min-width:0}.auction-table.dense .bid-cell[data-v-b121d94f]{font-size:calc(20px * var(--table-scale));padding:calc(4px * var(--table-scale)) calc(3px * var(--table-scale));min-height:calc(30px * var(--table-scale))}.auction-table.dense .bid-cell[data-v-b121d94f] .red,.auction-table.dense .bid-cell[data-v-b121d94f] .black{font-size:1.28em}.auction-table.dense .turn-indicator[data-v-b121d94f]{font-size:calc(20px * var(--table-scale))}.auction-table.dense .header-cell[data-v-b121d94f]{font-size:calc(10px * var(--table-scale));padding:calc(2px * var(--table-scale)) calc(3px * var(--table-scale))}.auction-table.dense .bid-cell.stacked[data-v-b121d94f]{font-size:calc(11px * var(--table-scale))}.header[data-v-b121d94f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#333;color:#fff}.header-cell[data-v-b121d94f]{min-width:0;text-align:center;padding:calc(2px * var(--table-scale)) calc(4px * var(--table-scale));font-weight:600;font-size:calc(11px * var(--table-scale));line-height:1.2}.rounds[data-v-b121d94f]{display:flex;flex-direction:column}.round[data-v-b121d94f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #ddd}.round[data-v-b121d94f]:last-child{border-bottom:none}.bid-cell[data-v-b121d94f]{min-width:0;text-align:center;padding:calc(6px * var(--table-scale)) calc(6px * var(--table-scale));font-family:Segoe UI,system-ui,sans-serif;font-size:calc(24px * var(--table-scale));font-weight:500;min-height:calc(34px * var(--table-scale));display:flex;align-items:center;justify-content:center;border-right:1px solid #eee;position:relative}.bid-tooltip[data-v-b121d94f]{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#fffbe6;color:#222;padding:calc(6px * var(--table-scale)) calc(10px * var(--table-scale));border:1px solid #d4c97a;border-radius:4px;font-size:calc(13px * var(--table-scale));line-height:1.45;white-space:pre-line;pointer-events:none;z-index:20;min-width:calc(90px * var(--table-scale));max-width:calc(240px * var(--table-scale));box-shadow:0 2px 8px #0000002e}.bid-tooltip[data-v-b121d94f]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#d4c97a}.bid-tooltip[data-v-b121d94f] .t-suit-c,.bid-tooltip[data-v-b121d94f] .t-suit-s{color:#1a1a1a}.bid-tooltip[data-v-b121d94f] .t-suit-d,.bid-tooltip[data-v-b121d94f] .t-suit-h{color:#d32f2f}.bid-cell[data-v-b121d94f]:last-child{border-right:none}.bid-cell[data-v-b121d94f] .red{color:#d32f2f}.bid-cell[data-v-b121d94f] .black{color:#1a1a1a}.bid-cell[data-v-b121d94f] .bid-pass{font-size:.72em;font-weight:500;color:#555}.bid-cell[data-v-b121d94f] .red,.bid-cell[data-v-b121d94f] .black{font-size:1.28em;line-height:1}.bid-cell[data-v-b121d94f] .double{color:#ff5722;font-weight:700}.bid-cell[data-v-b121d94f] .redouble{color:#2196f3;font-weight:700}.turn-indicator[data-v-b121d94f]{color:#007bff;font-weight:700;font-size:calc(26px * var(--table-scale));animation:pulse-b121d94f 1s ease-in-out infinite}@keyframes pulse-b121d94f{0%,to{opacity:1}50%{opacity:.5}}.current-turn[data-v-b121d94f]{background:#e3f2fd}.bid-cell.stacked[data-v-b121d94f]{flex-direction:column;padding:calc(4px * var(--table-scale)) calc(4px * var(--table-scale));font-size:calc(14px * var(--table-scale));gap:calc(3px * var(--table-scale))}.stacked-row[data-v-b121d94f]{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;line-height:1.15}.stacked-head[data-v-b121d94f]{display:flex;align-items:center;justify-content:center;gap:calc(3px * var(--table-scale))}.stacked-row.clickable[data-v-b121d94f]{cursor:pointer;border-radius:3px;padding:calc(1px * var(--table-scale)) calc(4px * var(--table-scale))}.stacked-row.clickable[data-v-b121d94f]:hover{background:#0000000d}.stacked-row.rejected .stacked-bid[data-v-b121d94f]{text-decoration:line-through;text-decoration-color:#b00;text-decoration-thickness:2px;opacity:.6}.stacked-marker[data-v-b121d94f]{font-size:calc(10px * var(--table-scale));color:#1d9e75;width:calc(10px * var(--table-scale));display:inline-block}.stacked-row.rejected .stacked-marker[data-v-b121d94f]{color:#888}.stacked-label[data-v-b121d94f]{font-size:calc(10px * var(--table-scale));color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.wrong-bid[data-v-b121d94f]{background:#ffcdd2;box-shadow:inset 0 0 0 2px #ef5350}.correct-bid[data-v-b121d94f]{background:#c8e6c9}.deal-info[data-v-d7d4d46a]{background:#f0f0f0;border-radius:8px;padding:12px 16px;text-align:center;overflow:visible;position:relative}.board-selector[data-v-d7d4d46a]{position:relative;display:inline-block}.board-number[data-v-d7d4d46a]{font-size:18px;font-weight:700;color:#333;margin-bottom:8px;cursor:pointer}.board-number[data-v-d7d4d46a]:hover{color:#1976d2}.board-popup[data-v-d7d4d46a]{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;z-index:100;min-width:150px;max-height:300px;overflow:hidden}.popup-header[data-v-d7d4d46a]{padding:10px 16px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;border-bottom:1px solid #eee;background:#fafafa}.popup-list[data-v-d7d4d46a]{max-height:250px;overflow-y:auto}.popup-item[data-v-d7d4d46a]{display:block;width:100%;padding:10px 16px;border:none;background:none;font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.popup-item[data-v-d7d4d46a]:hover{background:#e3f2fd}.popup-item.active[data-v-d7d4d46a]{background:#1976d2;color:#fff}.info-row[data-v-d7d4d46a],.contract-row[data-v-d7d4d46a]{display:flex;justify-content:center;gap:20px;margin-bottom:4px}.info-item[data-v-d7d4d46a]{display:flex;gap:4px;align-items:center}.label[data-v-d7d4d46a]{font-size:12px;color:#666}.value[data-v-d7d4d46a]{font-size:14px;font-weight:500}.value.result[data-v-d7d4d46a]{margin-left:6px;padding:0 6px;border-radius:4px;background:#eef2f7;color:#33475b;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.vul-both[data-v-d7d4d46a]{color:#d32f2f;font-weight:700}.vul-partial[data-v-d7d4d46a]{color:#f57c00}.vul-none[data-v-d7d4d46a]{color:#4caf50}.contract[data-v-d7d4d46a]{font-size:16px;font-weight:700}.contract[data-v-d7d4d46a] .red{color:#d32f2f}.lead-card[data-v-d7d4d46a]{font-size:16px;font-weight:700}.lead-card[data-v-d7d4d46a] .red{color:#d32f2f}.lead-card[data-v-d7d4d46a] .black{color:#000}.bridge-context[data-v-d7d4d46a]{margin-top:8px;padding:6px 10px;background:#e3f2fd;border-left:3px solid #1976d2;border-radius:4px;display:flex;gap:8px;align-items:flex-start;text-align:left;font-size:13px;line-height:1.35;color:#0d3a66}.bridge-context-icon[data-v-d7d4d46a]{color:#1976d2;font-weight:700;flex-shrink:0}.bridge-context-text[data-v-d7d4d46a]{flex:1;word-wrap:break-word}.title[data-v-d7d4d46a]{margin-top:8px;font-style:italic;color:#555;font-size:13px}svg text[data-v-4bcd1927]{font-family:DM Sans,system-ui,sans-serif}.status-strip[data-v-82983648]{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8px * var(--table-scale));font-family:DM Sans,system-ui,sans-serif}.chip[data-v-82983648]{display:inline-flex;align-items:center;gap:calc(6px * var(--table-scale));font-size:calc(13px * var(--table-scale));font-weight:600;color:#4a5550;background:#eef1ee;border-radius:999px;padding:calc(4px * var(--table-scale)) calc(12px * var(--table-scale));white-space:nowrap}.chip-contract[data-v-82983648]{color:#fff;background:#1d9e75;font-size:calc(15px * var(--table-scale))}.chip-contract .ct[data-v-82983648] .red{color:#ffe3e0}.chip-contract .dbl[data-v-82983648]{font-weight:800;letter-spacing:.02em}.chip-contract .by[data-v-82983648]{font-weight:500;opacity:.9}.chip-dealer strong[data-v-82983648]{color:#223}.chip-vul.vul-ns[data-v-82983648],.chip-vul.vul-ew[data-v-82983648],.chip-vul.vul-all[data-v-82983648]{color:#b1352a;background:#fbe6e3}.chip-vul.vul-none[data-v-82983648]{color:#5b665f;background:#eef1ee}.vul-dot[data-v-82983648]{width:calc(10px * var(--table-scale));height:calc(10px * var(--table-scale));border-radius:50%;background:#c8cec9;flex:none}.vul-dot.vul-ns[data-v-82983648],.vul-dot.vul-ew[data-v-82983648],.vul-dot.vul-all[data-v-82983648]{background:#d43f30}.chip-tricks[data-v-82983648]{background:#e4f0ff;color:#2c4a63}.chip-tricks strong[data-v-82983648]{color:#17324a}.chip-tricks .need[data-v-82983648]{font-weight:500;opacity:.85}.chip-result.made[data-v-82983648]{color:#fff;background:#1d9e75}.chip-result.down[data-v-82983648]{color:#fff;background:#c0392b}.deal-navigator[data-v-b00558d5]{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:#f5f5f5;border-radius:8px}.nav-btn[data-v-b00558d5]{padding:10px 20px;border:none;background:#007bff;color:#fff;font-size:14px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .15s}.nav-btn[data-v-b00558d5]:hover:not(:disabled){background:#0056b3}.nav-btn[data-v-b00558d5]:disabled{background:#ccc;cursor:not-allowed}.deal-counter[data-v-b00558d5]{display:flex;align-items:center;justify-content:center;padding:8px 16px;background:#fff;border-radius:4px;border:1px solid #ddd}.deal-number[data-v-b00558d5]{font-size:15px;font-weight:500;color:#333}.deal-selector[data-v-b00558d5]{display:flex;align-items:center;gap:8px}.deal-selector select[data-v-b00558d5]{padding:8px 12px;font-size:14px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;min-width:150px}.deal-count[data-v-b00558d5]{font-size:14px;color:#666;white-space:nowrap}@media (max-width: 500px){.deal-navigator[data-v-b00558d5]{flex-wrap:wrap;gap:8px}.nav-btn[data-v-b00558d5]{padding:8px 16px;font-size:13px}.deal-selector[data-v-b00558d5]{order:-1;width:100%;justify-content:center}}.feedback-panel[data-v-1e678cc9]{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #00000026;max-width:400px}.feedback-panel.wrong[data-v-1e678cc9]{border-left:4px solid #d32f2f}.feedback-panel.alternative[data-v-1e678cc9]{border-left:4px solid #ed6c02}.feedback-panel.correct[data-v-1e678cc9]{border-left:4px solid #4caf50}.feedback-panel.info[data-v-1e678cc9]{border-left:4px solid #2196f3}.feedback-header[data-v-1e678cc9]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.icon[data-v-1e678cc9]{font-size:20px;font-weight:700}.wrong .icon[data-v-1e678cc9]{color:#d32f2f}.alternative .icon[data-v-1e678cc9]{color:#ed6c02}.correct .icon[data-v-1e678cc9]{color:#4caf50}.title[data-v-1e678cc9]{font-size:18px;font-weight:700}.feedback-content[data-v-1e678cc9]{margin-bottom:12px}.bid-comparison[data-v-1e678cc9]{display:flex;gap:20px}.bid-item[data-v-1e678cc9]{display:flex;flex-direction:column;gap:4px}.bid-item .label[data-v-1e678cc9]{font-size:12px;color:#666}.bid-item .bid[data-v-1e678cc9]{font-size:24px;font-weight:700}.bid-item .bid[data-v-1e678cc9] .red,.bid-item .bid[data-v-1e678cc9] .suit-red{color:#d32f2f}.bid-item .bid[data-v-1e678cc9] .suit-black{color:#1a1a1a}.your-bid .bid[data-v-1e678cc9]{color:#d32f2f;text-decoration:line-through}.alternative .your-bid .bid[data-v-1e678cc9]{color:#ed6c02}.alternative .correct-bid .bid[data-v-1e678cc9]{color:#1a1a1a}.correct-bid .bid[data-v-1e678cc9]{color:#4caf50}.commentary[data-v-1e678cc9]{font-size:14px;line-height:1.5;color:#333;background:#f5f5f5;padding:12px;border-radius:4px;margin-bottom:12px;white-space:pre-wrap}.actions[data-v-1e678cc9]{display:flex;justify-content:flex-end}.btn[data-v-1e678cc9]{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn.continue[data-v-1e678cc9]{background:#007bff;color:#fff}.btn.continue[data-v-1e678cc9]:hover{background:#0056b3}.commentary[data-v-1e678cc9] .suit-red{color:#d32f2f}.commentary[data-v-1e678cc9] .suit-black{color:#000}[data-v-84aa60ef]{box-sizing:border-box}.welcome-screen[data-v-84aa60ef]{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f2;font-family:DM Sans,sans-serif}.welcome-nav[data-v-84aa60ef]{display:flex;align-items:center;padding:11px 32px;border-bottom:.5px solid #e0e0e0;background:#fff;flex-shrink:0}.nav-logo[data-v-84aa60ef]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:#1a1a1a;text-decoration:none}.suit[data-v-84aa60ef]{color:#1d9e75}.welcome-main[data-v-84aa60ef]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);flex:1;align-items:stretch}.form-panel[data-v-84aa60ef]{background:#fff;border-right:.5px solid #e0e0e0;display:flex;align-items:flex-start;justify-content:center;padding:48px 40px;overflow-y:auto}.form-inner[data-v-84aa60ef]{width:100%;max-width:400px}.form-inner h1[data-v-84aa60ef]{font-size:22px;font-weight:500;color:#1a1a1a;margin:0 0 6px;line-height:1.3}.subtitle[data-v-84aa60ef]{color:#666;font-size:13px;margin:0 0 28px;line-height:1.6}.user-form[data-v-84aa60ef]{display:flex;flex-direction:column;gap:16px}.form-row[data-v-84aa60ef]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group[data-v-84aa60ef]{display:flex;flex-direction:column;gap:5px}.form-group label[data-v-84aa60ef]{font-size:12px;font-weight:500;color:#555}.form-group input[type=text][data-v-84aa60ef],.form-group input[type=email][data-v-84aa60ef]{padding:9px 12px;border:.5px solid #d0d0d0;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#1a1a1a;transition:border-color .15s}.form-group input[data-v-84aa60ef]:focus{outline:none;border-color:#1d9e75;box-shadow:0 0 0 2px #1d9e751a}.form-group input.has-error[data-v-84aa60ef]{border-color:#d32f2f}.field-hint[data-v-84aa60ef]{font-size:11px;color:#999}.error-message[data-v-84aa60ef]{color:#d32f2f;font-size:12px}.single-classroom[data-v-84aa60ef]{padding:9px 12px;background:#f5f5f5;border-radius:8px;font-size:14px;color:#333}.checkbox-group[data-v-84aa60ef]{display:flex;flex-direction:column;gap:8px}.checkbox-label[data-v-84aa60ef]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#444}.checkbox-label input[type=checkbox][data-v-84aa60ef]{width:16px;height:16px;cursor:pointer;accent-color:#1D9E75}.consent-group[data-v-84aa60ef]{padding-top:8px;border-top:.5px solid #eee}.consent-label[data-v-84aa60ef]{font-weight:400}.consent-label span[data-v-84aa60ef]{font-size:13px;color:#555}.details-toggle[data-v-84aa60ef]{background:none;border:none;color:#1d9e75;font-size:12px;cursor:pointer;padding:3px 0;text-align:left;font-family:inherit}.details-toggle[data-v-84aa60ef]:hover{text-decoration:underline}.consent-details[data-v-84aa60ef]{margin-top:10px;padding:12px 14px;background:#f0f7f4;border-radius:8px;font-size:12px;color:#555;line-height:1.6}.consent-details p[data-v-84aa60ef]{margin:0 0 6px}.consent-details p[data-v-84aa60ef]:last-child{margin-bottom:0}.consent-note[data-v-84aa60ef]{font-style:italic;color:#888}.submit-btn[data-v-84aa60ef]{padding:11px 20px;background:#1d9e75;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s;width:100%}.submit-btn[data-v-84aa60ef]:hover:not(:disabled){background:#0f6e56}.submit-btn[data-v-84aa60ef]:disabled{opacity:.6;cursor:not-allowed}.submit-btn.full-width[data-v-84aa60ef]{width:100%}.switch-link[data-v-84aa60ef],.back-link[data-v-84aa60ef]{display:block;width:100%;margin-top:12px;padding:8px;background:none;border:none;color:#1d9e75;font-size:13px;font-family:inherit;cursor:pointer;text-align:center}.switch-link[data-v-84aa60ef]:hover,.back-link[data-v-84aa60ef]:hover{text-decoration:underline}.user-list[data-v-84aa60ef]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.user-item[data-v-84aa60ef]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;background:#f8f8f8;border:.5px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;width:100%;text-align:left;font-family:inherit}.user-item[data-v-84aa60ef]:hover{border-color:#1d9e75;background:#f0f7f4}.user-item.is-current[data-v-84aa60ef]{border-color:#1d9e75;background:#e8f5f0}.user-name[data-v-84aa60ef]{font-weight:500;color:#1a1a1a;font-size:14px}.user-email[data-v-84aa60ef]{font-size:12px;color:#888}.add-user-btn[data-v-84aa60ef]{width:100%;padding:11px;background:#fff;border:1px dashed #ccc;border-radius:8px;color:#888;font-size:14px;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.add-user-btn[data-v-84aa60ef]:hover{border-color:#1d9e75;color:#1d9e75}.recovery-info[data-v-84aa60ef]{margin:20px 0;padding:16px;background:#e8f5f0;border-radius:8px;color:#0f6e56;border-left:3px solid #1D9E75}.recovery-info p[data-v-84aa60ef]{margin:0 0 8px;font-size:14px}.recovery-info p[data-v-84aa60ef]:last-child{margin-bottom:0}.recovery-note[data-v-84aa60ef]{font-size:13px;font-style:italic}.spam-note[data-v-84aa60ef]{color:var(--text-secondary, #6b7280)}.code-entry[data-v-84aa60ef]{display:flex;flex-direction:column;gap:10px;margin:16px 0}.code-entry label[data-v-84aa60ef]{font-size:12px;font-weight:500;color:#555}.code-input[data-v-84aa60ef]{padding:12px;border:.5px solid #d0d0d0;border-radius:8px;font-size:28px;font-family:Courier New,Courier,monospace;text-align:center;letter-spacing:8px;transition:border-color .15s}.code-input[data-v-84aa60ef]:focus{outline:none;border-color:#1d9e75}.code-input[data-v-84aa60ef]::placeholder{color:#ccc;letter-spacing:8px}.recovery-error-panel[data-v-84aa60ef]{margin:20px 0;padding:16px;background:#ffebee;border-radius:8px;border-left:3px solid #d32f2f}.recovery-error-panel .error-message[data-v-84aa60ef]{margin-bottom:12px;display:block}.loading-spinner[data-v-84aa60ef]{display:flex;justify-content:center;padding:40px}.spinner[data-v-84aa60ef]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#1d9e75;border-radius:50%;animation:spin-84aa60ef .8s linear infinite}@keyframes spin-84aa60ef{to{transform:rotate(360deg)}}.preview-panel[data-v-84aa60ef]{background:#f0f7f4;display:flex;align-items:center;justify-content:center;padding:48px 40px}.preview-inner[data-v-84aa60ef]{max-width:480px;width:100%}.preview-screenshot[data-v-84aa60ef]{border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a;border:.5px solid #d0e8df;margin-bottom:16px}.preview-screenshot img[data-v-84aa60ef]{display:block;width:100%;height:auto}.preview-caption[data-v-84aa60ef]{font-size:13px;color:#555;text-align:center;line-height:1.6;margin:0}.welcome-footer[data-v-84aa60ef]{padding:12px 32px;border-top:.5px solid #e0e0e0;background:#fff;text-align:center;flex-shrink:0}.footer-links[data-v-84aa60ef]{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:6px;flex-wrap:wrap}.footer-link[data-v-84aa60ef]{font-size:13px;color:#888;text-decoration:none;display:flex;align-items:center;gap:5px}.footer-link[data-v-84aa60ef]:hover{color:#1a1a1a}.footer-copy[data-v-84aa60ef]{font-size:11px;color:#bbb}@media (max-width: 768px){.welcome-main[data-v-84aa60ef]{grid-template-columns:1fr}.preview-panel[data-v-84aa60ef]{display:none}.form-panel[data-v-84aa60ef]{border-right:none;padding:32px 24px}.form-row[data-v-84aa60ef]{grid-template-columns:1fr}}.settings-overlay[data-v-11ba0fe8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:1000;padding:20px}.settings-panel[data-v-11ba0fe8]{background:#fff;border-radius:12px;max-width:500px;width:100%;margin:auto;max-height:90dvh;overflow-y:auto;box-shadow:0 10px 40px #0003}.settings-header[data-v-11ba0fe8]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.settings-header h2[data-v-11ba0fe8]{margin:0;font-size:20px;color:#333}.close-btn[data-v-11ba0fe8]{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;line-height:1}.close-btn[data-v-11ba0fe8]:hover{color:#333}.settings-body[data-v-11ba0fe8]{padding:24px}.settings-section[data-v-11ba0fe8]{margin-bottom:28px}.settings-section[data-v-11ba0fe8]:last-child{margin-bottom:0}.settings-section h3[data-v-11ba0fe8]{font-size:16px;color:#333;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #667eea}.settings-section h4[data-v-11ba0fe8]{font-size:13px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}.info-row[data-v-11ba0fe8]{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.info-label[data-v-11ba0fe8]{color:#666;font-size:14px}.info-value[data-v-11ba0fe8]{color:#333;font-size:14px;font-weight:500}.info-value.enabled[data-v-11ba0fe8]{color:#4caf50}.info-value.disabled[data-v-11ba0fe8]{color:#999}.button-row[data-v-11ba0fe8]{display:flex;gap:10px;margin-top:16px}.primary-btn[data-v-11ba0fe8],.secondary-btn[data-v-11ba0fe8]{flex:1;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn[data-v-11ba0fe8]{background:#667eea;color:#fff;border:none}.primary-btn[data-v-11ba0fe8]:hover{background:#5a6fd6}.secondary-btn[data-v-11ba0fe8]{background:#fff;color:#667eea;border:1px solid #667eea}.secondary-btn[data-v-11ba0fe8]:hover{background:#f0f4ff}.edit-form[data-v-11ba0fe8]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-11ba0fe8]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-11ba0fe8]{font-size:14px;color:#444}.form-group input[type=text][data-v-11ba0fe8]{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px}.form-group input[type=text][data-v-11ba0fe8]:focus{outline:none;border-color:#667eea}.checkbox-label[data-v-11ba0fe8]{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.checkbox-label input[data-v-11ba0fe8]{width:16px;height:16px}.assignment-list[data-v-11ba0fe8]{display:flex;flex-direction:column;gap:12px}.assignment-item[data-v-11ba0fe8]{padding:12px;background:#f8f9fa;border-radius:8px}.assignment-item.completed[data-v-11ba0fe8]{background:#e8f5e9}.assignment-header[data-v-11ba0fe8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.assignment-name[data-v-11ba0fe8]{font-weight:500;color:#333}.assignment-progress[data-v-11ba0fe8]{font-size:14px;color:#667eea;font-weight:600}.assignment-check[data-v-11ba0fe8]{color:#4caf50;font-weight:700}.progress-bar[data-v-11ba0fe8]{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-11ba0fe8]{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .3s ease}.assignment-meta[data-v-11ba0fe8]{display:flex;justify-content:space-between;font-size:12px;color:#666}.section-note[data-v-11ba0fe8]{font-size:14px;color:#666;font-style:italic}.toggle-row[data-v-11ba0fe8]{padding:10px 0}.toggle-label[data-v-11ba0fe8]{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#444}.toggle-label input[data-v-11ba0fe8]{width:16px;height:16px}@media (max-width: 480px){.settings-panel[data-v-11ba0fe8]{max-height:100dvh;border-radius:0}.button-row[data-v-11ba0fe8]{flex-direction:column}}.classroom-row[data-v-11ba0fe8]{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}.classroom-name-text[data-v-11ba0fe8]{font-size:14px;color:#333;font-weight:500}.leave-btn[data-v-11ba0fe8]{background:none;border:1px solid #ddd;border-radius:4px;padding:4px 12px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.leave-btn[data-v-11ba0fe8]:hover:not(:disabled){color:#ef4444;border-color:#ef4444;background:#fee2e2}.leave-btn[data-v-11ba0fe8]:disabled{opacity:.5;cursor:not-allowed}.become-teacher-btn[data-v-11ba0fe8]{margin-top:12px;width:100%;padding:10px 16px;background:linear-gradient(135deg,var(--green-dark, #2d6a4f),#1d4e89);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.become-teacher-btn[data-v-11ba0fe8]:hover{opacity:.9}.remove-device-btn[data-v-11ba0fe8]{margin-top:12px;padding:8px 16px;background:#fff;color:#666;border:1px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.remove-device-btn[data-v-11ba0fe8]:hover{color:#ef4444;border-color:#ef4444;background:#fee2e2}.remove-note[data-v-11ba0fe8]{font-size:12px;color:#999;margin-top:6px}.assignment-banner[data-v-a693eedd]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 16px;border-radius:8px;margin-bottom:16px;position:relative;overflow:hidden}.assignment-banner.complete[data-v-a693eedd]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.banner-content[data-v-a693eedd]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.assignment-info[data-v-a693eedd]{flex:1 1 200px;min-width:0}.assignment-title[data-v-a693eedd]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:2px;margin-bottom:4px;min-width:0}.assignment-label[data-v-a693eedd]{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.assignment-name[data-v-a693eedd]{font-weight:600;font-size:15px;overflow-wrap:anywhere}.assignment-meta[data-v-a693eedd]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;row-gap:4px;font-size:13px;opacity:.9;min-width:0}.due-text[data-v-a693eedd]{padding:2px 8px;background:#fff3;border-radius:4px;font-size:12px}.due-text.urgent[data-v-a693eedd]{background:#ffc10766}.due-text.overdue[data-v-a693eedd]{background:#f4433666}.progress-bar[data-v-a693eedd]{flex:0 0 120px;height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.progress-fill[data-v-a693eedd]{height:100%;background:#fff;border-radius:4px;transition:width .3s ease}.progress-fill.complete[data-v-a693eedd]{background:#c8e6c9}.exit-btn[data-v-a693eedd]{padding:6px 12px;background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;font-size:13px;cursor:pointer;transition:background .2s;white-space:nowrap}.exit-btn[data-v-a693eedd]:hover{background:#ffffff4d}.complete-badge[data-v-a693eedd]{position:absolute;top:8px;right:12px;background:#fff;color:#2e7d32;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.return-banner[data-v-a693eedd]{background:#f5f5f5;border:1px solid #e0e0e0;border-left:4px solid #667eea;padding:10px 14px;border-radius:4px;margin-bottom:16px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .2s}.return-banner[data-v-a693eedd]:hover{background:#eee}.return-icon[data-v-a693eedd]{font-size:18px;color:#667eea}.return-text[data-v-a693eedd]{font-size:14px;color:#555}@media (max-width: 500px){.banner-content[data-v-a693eedd]{flex-direction:column;align-items:stretch;gap:10px}.progress-bar[data-v-a693eedd]{flex:0 0 8px;width:100%}.exit-btn[data-v-a693eedd]{align-self:flex-start}.complete-badge[data-v-a693eedd]{position:static;align-self:flex-start;margin-top:8px}}.announcement-banner[data-v-4b12409b]{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 40px 10px 16px;font-size:14px;font-family:var(--font-body, "DM Sans", sans-serif);position:relative}.announcement-banner.info[data-v-4b12409b]{background:#e3f2fd;color:#1565c0;border-bottom:1px solid #bbdefb}.announcement-banner.warning[data-v-4b12409b]{background:#fff8e1;color:#e65100;border-bottom:1px solid #ffe082}.announcement-banner.urgent[data-v-4b12409b]{background:#ffebee;color:#c62828;border-bottom:1px solid #ef9a9a}.announcement-text[data-v-4b12409b]{text-align:center;line-height:1.4}.announcement-text[data-v-4b12409b] .ann-circle{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:middle;margin:0 1px}.dismiss-btn[data-v-4b12409b]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;cursor:pointer;opacity:.6;padding:0 4px;line-height:1;color:inherit}.dismiss-btn[data-v-4b12409b]:hover{opacity:1}.sync-status[data-v-81804fd9]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:16px;font-size:12px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.sync-status[data-v-81804fd9]:hover{transform:scale(1.02)}.status-content[data-v-81804fd9]{display:flex;align-items:center;gap:6px}.icon[data-v-81804fd9]{font-size:14px}.status-text[data-v-81804fd9]{white-space:nowrap}.badge[data-v-81804fd9]{background:#ffffff4d;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.sync-status.syncing[data-v-81804fd9]{background:#e3f2fd;color:#1976d2}.spinner[data-v-81804fd9]{width:12px;height:12px;border:2px solid #90caf9;border-top-color:#1976d2;border-radius:50%;animation:spin-81804fd9 .8s linear infinite}@keyframes spin-81804fd9{to{transform:rotate(360deg)}}.sync-status.offline[data-v-81804fd9]{background:#fff3e0;color:#e65100}.sync-status.error[data-v-81804fd9]{background:#ffebee;color:#c62828}.retry-btn[data-v-81804fd9]{background:#c62828;color:#fff;border:none;padding:2px 8px;border-radius:10px;font-size:11px;cursor:pointer;margin-left:4px}.retry-btn[data-v-81804fd9]:hover{background:#b71c1c}.sync-status.pending[data-v-81804fd9]{background:#fff8e1;color:#f57f17}.sync-status.synced[data-v-81804fd9]{background:#e8f5e9;color:#2e7d32}.sync-status.synced[data-v-81804fd9]{opacity:.7}.sync-status.synced[data-v-81804fd9]:hover{opacity:1}.sparkline-empty[data-v-a14e2bb7]{display:flex;align-items:center;justify-content:center;color:var(--text-muted, #9ca3af);font-size:11px;height:70px}.details-overlay[data-v-88253c68]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:1100;padding:20px}.details-panel[data-v-88253c68]{background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:16px;padding:24px 24px 20px;max-width:740px;width:95vw;margin:auto;max-height:90dvh;overflow:auto;box-shadow:0 8px 32px #00000026}.details-header[data-v-88253c68]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.details-title[data-v-88253c68]{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #1a1a1a)}.details-subtitle[data-v-88253c68]{margin:4px 0 0;font-size:12px;color:var(--text-secondary, #6b7280)}.details-close-btn[data-v-88253c68]{background:none;border:1px solid var(--card-border, #e0ddd7);color:var(--text-secondary, #6b7280);border-radius:8px;padding:4px 12px;cursor:pointer;font-size:12px;font-family:inherit}.details-close-btn[data-v-88253c68]:hover{border-color:#999;color:var(--text-primary, #1a1a1a)}.details-chart[data-v-88253c68]{display:block;width:100%;height:auto}.obs-dot[data-v-88253c68]{cursor:pointer;transition:opacity .15s}.obs-dot[data-v-88253c68]:hover{opacity:1!important;filter:brightness(1.1)}.details-activity[data-v-88253c68]{margin-top:16px;margin-bottom:8px}.stats-row[data-v-88253c68]{display:flex;gap:24px;margin-bottom:10px}.stat-item[data-v-88253c68]{text-align:center}.stat-value[data-v-88253c68]{font-size:18px;font-weight:600;color:var(--text-primary, #1a1a1a)}.stat-label[data-v-88253c68]{font-size:10px;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.activity-chart[data-v-88253c68]{display:block}.activity-dates[data-v-88253c68]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary, #6b7280);margin-top:2px}.details-legend[data-v-88253c68]{display:flex;gap:14px;margin-top:12px;flex-wrap:wrap}.legend-item[data-v-88253c68]{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary, #6b7280)}.legend-dot[data-v-88253c68]{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-star[data-v-88253c68]{font-size:16px;line-height:1;font-family:serif}.legend-paw-badge[data-v-88253c68]{width:14px;height:14px}.badge-legend[data-v-88253c68]{margin-top:6px}.obs-viewer[data-v-4a6f49da]{--felt: #1a2e1a;--felt-mid: #223322;--card-bg: #f8f5ee;--card-border: #d4c9a8;--text-primary: #1c1810;--text-secondary: #5a5240;--text-label: #8a7d60;--gold: #c9a227;--red: #c0392b;--green: #27ae60;--correct-bg: #eaf7ee;--incorrect-bg: #fdf0ee;--correct-border: #a8d5b5;--incorrect-border:#f5bbb4;position:fixed;font-family:"DM Sans",var(--font-body, sans-serif);background:var(--felt);border-radius:12px;overflow:hidden;box-shadow:0 8px 40px #00000073;max-width:960px;width:680px;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab}.obs-viewer[data-v-4a6f49da]:active{cursor:grabbing}.obs-viewer--mobile[data-v-4a6f49da]{left:0!important;top:0!important;width:100%!important;height:100dvh!important;max-width:100%;border-radius:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:manipulation}.obs-viewer--mobile .obs-header[data-v-4a6f49da]{position:sticky;top:0;z-index:5;padding-top:calc(env(safe-area-inset-top,0px) + 44px)}[data-v-4a6f49da],[data-v-4a6f49da]:before,[data-v-4a6f49da]:after{box-sizing:border-box}.obs-header[data-v-4a6f49da]{background:var(--felt-mid);border-bottom:2px solid var(--gold);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.obs-header-left[data-v-4a6f49da],.obs-header-right[data-v-4a6f49da]{display:flex;align-items:center;gap:8px}.suit-icon[data-v-4a6f49da]{font-size:1.1rem;color:var(--gold);line-height:1}.suit-icon-sm[data-v-4a6f49da]{font-size:.9rem;color:var(--gold);line-height:1}.obs-title[data-v-4a6f49da]{font-family:var(--font-heading, "Crimson Pro", Georgia, serif);font-size:1.1rem;font-weight:600;color:var(--gold);letter-spacing:.03em}.obs-id[data-v-4a6f49da]{font-family:monospace;font-size:.68rem;color:#7a9a7a;background:#ffffff0f;padding:2px 6px;border-radius:4px}.timestamp[data-v-4a6f49da]{font-family:monospace;font-size:.75rem;color:#8aaa8a}.result-badge[data-v-4a6f49da]{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:20px;letter-spacing:.04em}.result-badge.correct[data-v-4a6f49da]{background:var(--correct-bg);color:var(--green);border:1px solid var(--correct-border)}.result-badge.incorrect[data-v-4a6f49da]{background:var(--incorrect-bg);color:var(--red);border:1px solid var(--incorrect-border)}.result-badge.corrected[data-v-4a6f49da]{background:#fef3e0;color:#b45309;border:1px solid #f5c882}.wild-badge[data-v-4a6f49da]{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:20px;letter-spacing:.04em;background:#ecfdf5;color:#6b7280;border:1px solid #d1fae5}.wild-badge.mastery[data-v-4a6f49da]{background:#d1fae5;color:#047857;border:1px solid #6ee7b7}.close-btn[data-v-4a6f49da]{background:none;border:none;color:#8aaa8a;font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1}.close-btn[data-v-4a6f49da]:hover{color:#fff}.obs-body[data-v-4a6f49da]{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}@media (max-width: 680px){.obs-body[data-v-4a6f49da]{grid-template-columns:1fr}.obs-header[data-v-4a6f49da],.obs-header[data-v-4a6f49da]:active{cursor:default}}.obs-col[data-v-4a6f49da]{display:flex;flex-direction:column;gap:10px}.card[data-v-4a6f49da]{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:12px 14px;box-shadow:0 2px 8px #0000001f}.card-title[data-v-4a6f49da]{font-family:var(--font-heading, "Crimson Pro", Georgia, serif);font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--card-border);display:flex;align-items:center;gap:6px;letter-spacing:.04em;text-transform:uppercase}.hands-grid[data-v-4a6f49da]{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto auto;gap:4px;align-items:center;justify-items:center}.compass-north[data-v-4a6f49da],.compass-south[data-v-4a6f49da]{display:flex;justify-content:center}.compass-center[data-v-4a6f49da]{display:flex;align-items:center;justify-content:center;min-height:70px;width:100%}.compass-rose[data-v-4a6f49da]{position:relative;width:48px;height:48px}.cr-n[data-v-4a6f49da],.cr-s[data-v-4a6f49da],.cr-w[data-v-4a6f49da],.cr-e[data-v-4a6f49da]{position:absolute;font-size:.6rem;font-weight:600;color:var(--text-label)}.cr-n[data-v-4a6f49da]{top:0;left:50%;transform:translate(-50%)}.cr-s[data-v-4a6f49da]{bottom:0;left:50%;transform:translate(-50%)}.cr-w[data-v-4a6f49da]{left:0;top:50%;transform:translateY(-50%)}.cr-e[data-v-4a6f49da]{right:0;top:50%;transform:translateY(-50%)}.deal-meta-top[data-v-4a6f49da]{display:flex;flex-direction:column;gap:3px;align-self:end;justify-self:start;padding-right:6px}.deal-meta-bottom[data-v-4a6f49da]{display:flex;flex-direction:column;gap:3px;align-self:start;justify-self:start;padding-right:6px;padding-top:4px;border-top:1px dashed var(--card-border)}.meta-row[data-v-4a6f49da]{display:flex;flex-direction:column;line-height:1.2}.meta-label[data-v-4a6f49da]{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-label)}.meta-value[data-v-4a6f49da]{font-size:.75rem;font-weight:600;color:var(--text-primary)}.meta-contract[data-v-4a6f49da]{font-family:var(--font-heading, "Crimson Pro", Georgia, serif);font-size:.8rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.hand-cell[data-v-4a6f49da]{background:#fff;border:1px solid var(--card-border);border-radius:6px;padding:6px 8px;font-size:.75rem;min-width:80px}.hand-cell.student[data-v-4a6f49da]{border-color:var(--gold);box-shadow:0 0 0 2px #c9a22740;background:#fffdf5}.seat-label[data-v-4a6f49da]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-label);margin-bottom:4px;display:flex;align-items:center;gap:5px}.you-tag[data-v-4a6f49da]{font-size:.55rem;background:var(--gold);color:#fff;padding:1px 4px;border-radius:3px;letter-spacing:.06em}.holding-row[data-v-4a6f49da]{display:flex;align-items:baseline;gap:3px;line-height:1.4}.suit-pip[data-v-4a6f49da]{font-size:.8rem;line-height:1}.suit-pip.red[data-v-4a6f49da]{color:var(--red)}.suit-pip.black[data-v-4a6f49da]{color:var(--text-primary)}.cards[data-v-4a6f49da]{font-family:monospace;font-size:.72rem;color:var(--text-primary);letter-spacing:.04em}.hidden-hand[data-v-4a6f49da]{font-size:.7rem;color:var(--text-label);font-style:italic}.prompt-meta[data-v-4a6f49da]{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--card-border);flex-wrap:wrap}.prompt-meta-label[data-v-4a6f49da]{font-size:.68rem;font-weight:600;color:var(--gold);letter-spacing:.04em}.prompt-meta-sep[data-v-4a6f49da]{color:var(--text-label);font-size:.7rem}.prompt-meta-auction[data-v-4a6f49da]{font-size:.68rem;color:var(--text-label)}.prompt-meta-bids[data-v-4a6f49da]{font-family:monospace;color:var(--text-secondary);font-weight:500}.auction-header[data-v-4a6f49da]{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:3px}.auction-dir[data-v-4a6f49da]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-label);text-align:center}.auction-row[data-v-4a6f49da]{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:2px}.auction-bid[data-v-4a6f49da]{font-family:monospace;font-size:.75rem;text-align:center;padding:2px;border-radius:4px;color:var(--text-primary);min-height:1.5em}.auction-bid.future[data-v-4a6f49da]{color:#b8ad96;opacity:.45}.split-cell[data-v-4a6f49da]{display:flex;align-items:center;justify-content:center;gap:3px;padding:1px 0}.pill-expected[data-v-4a6f49da]{font-family:monospace;font-size:.68rem;font-weight:700;color:#1e7a3e;background:#d4f0dd;border:1px solid #a8d5b5;border-radius:4px;padding:1px 4px;line-height:1.5;white-space:nowrap}.pill-student[data-v-4a6f49da]{font-family:monospace;font-size:.68rem;font-weight:700;color:#a52a1e;background:#fde8e6;border:1px solid #f5bbb4;border-radius:4px;padding:1px 4px;line-height:1.5;white-space:nowrap}.pill-corrected[data-v-4a6f49da]{font-family:monospace;font-size:.68rem;font-weight:700;color:#7c4d00;background:#fef3e0;border:1px solid #f5c882;border-radius:4px;padding:1px 4px;line-height:1.5;white-space:nowrap}.auction-legend[data-v-4a6f49da]{display:flex;gap:12px;margin-top:8px;padding-top:6px;border-top:1px dashed var(--card-border)}.legend-item[data-v-4a6f49da]{display:flex;align-items:center;gap:4px;font-size:.62rem;color:var(--text-label);letter-spacing:.03em}.legend-dot[data-v-4a6f49da]{width:7px;height:7px;border-radius:2px;display:inline-block}.legend-dot.green[data-v-4a6f49da]{background:#a8d5b5}.legend-dot.red[data-v-4a6f49da]{background:#f5bbb4}.legend-dot.gray[data-v-4a6f49da]{background:#c8bfa6;opacity:.5}.prompts-list[data-v-4a6f49da]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.prompt-row[data-v-4a6f49da]{display:flex;align-items:center;gap:8px;font-size:.72rem;padding:3px 6px;border-radius:4px}.prompt-correct[data-v-4a6f49da]{background:var(--correct-bg)}.prompt-wrong[data-v-4a6f49da]{background:var(--incorrect-bg)}.prompt-num[data-v-4a6f49da]{font-weight:700;font-family:monospace;color:var(--text-label);min-width:20px}.prompt-detail[data-v-4a6f49da]{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.prompt-ok[data-v-4a6f49da]{color:var(--green);font-weight:700}.prompt-time[data-v-4a6f49da]{font-family:monospace;font-size:.62rem;color:var(--text-label);margin-left:auto}.prompt-time-idle[data-v-4a6f49da]{color:#d97706}.idle-flag[data-v-4a6f49da]{margin-left:3px;padding:0 3px;border-radius:3px;background:#fef3c7;color:#92400e;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.pill-expected-sm[data-v-4a6f49da],.pill-student-sm[data-v-4a6f49da]{font-family:monospace;font-size:.65rem;font-weight:700;border-radius:3px;padding:0 3px;line-height:1.5}.pill-expected-sm[data-v-4a6f49da]{color:#1e6b3e;background:#e3f4ea;border:1px solid #a8d5b5}.pill-student-sm[data-v-4a6f49da]{color:#a52a1e;background:#fde8e6;border:1px solid #f5bbb4}.info-grid[data-v-4a6f49da]{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.info-item[data-v-4a6f49da]{display:flex;flex-direction:column;gap:1px}.info-item.full-width[data-v-4a6f49da]{grid-column:1 / -1}.info-label[data-v-4a6f49da]{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-label)}.info-value[data-v-4a6f49da]{font-size:.82rem;color:var(--text-primary);font-weight:500}.info-value.mono[data-v-4a6f49da]{font-family:monospace;font-size:.68rem;color:var(--text-secondary);word-break:break-all}.student-progress-panel[data-v-d896bc4d]{padding:4px 0}.sp-empty[data-v-d896bc4d]{text-align:center;color:var(--text-muted, #9ca3af);padding:40px 20px}.sp-header[data-v-d896bc4d]{margin-bottom:16px}.sp-header-row[data-v-d896bc4d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sp-name-badge[data-v-d896bc4d]{font-size:11px;background:var(--bg-warm, #f5f3ef);color:var(--text-secondary, #6b7280);padding:2px 8px;border-radius:20px;border:1px solid var(--card-border, #e0ddd7)}.sp-meta[data-v-d896bc4d]{font-size:12px;color:var(--text-secondary, #6b7280)}.sp-legend[data-v-d896bc4d]{display:flex;gap:14px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.sp-legend-item[data-v-d896bc4d]{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary, #6b7280)}.sp-legend-dot[data-v-d896bc4d]{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.sp-legend-hint[data-v-d896bc4d]{margin-left:auto;font-size:11px;color:var(--text-muted, #9ca3af)}.sp-activity-chart[data-v-d896bc4d]{margin-bottom:20px;background:#fafafa;border-radius:10px;padding:14px 16px;border:1px solid var(--card-border, #e0ddd7)}.sp-activity-header[data-v-d896bc4d]{font-size:12px;color:var(--text-secondary, #6b7280);font-weight:500;margin-bottom:10px}.sp-activity-meta[data-v-d896bc4d]{font-weight:400;color:var(--text-muted, #9ca3af);margin-left:10px}.sp-activity-body[data-v-d896bc4d]{display:flex;gap:16px;align-items:flex-start}.sp-activity-svg-wrap[data-v-d896bc4d]{flex:1;min-width:0}.sp-activity-legend[data-v-d896bc4d]{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.sp-activity-legend-item[data-v-d896bc4d]{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-secondary, #6b7280);white-space:nowrap}.sp-grid[data-v-d896bc4d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.sp-lesson-card[data-v-d896bc4d]{background:#fafafa;border:1px solid var(--card-border, #e0ddd7);border-radius:10px;padding:14px 16px;cursor:pointer;transition:border-color .2s,transform .15s,box-shadow .2s;position:relative;overflow:hidden}.sp-lesson-card[data-v-d896bc4d]:hover{border-color:var(--blue, #3b82f6);transform:translateY(-2px);box-shadow:0 8px 24px #3b82f61a}.sp-card-header[data-v-d896bc4d]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.sp-card-info[data-v-d896bc4d]{flex:1;min-width:0}.sp-card-name-row[data-v-d896bc4d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sp-card-name[data-v-d896bc4d]{font-size:14px;font-weight:600;color:var(--text-primary, #1a1a1a);line-height:1.3}.sp-tier-badge[data-v-d896bc4d]{font-size:10px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;line-height:1.4}.sp-card-meta[data-v-d896bc4d]{font-size:10px;color:var(--text-muted, #9ca3af);margin-top:2px}.sp-card-rate[data-v-d896bc4d]{text-align:right;flex-shrink:0;margin-left:12px}.sp-rate-value[data-v-d896bc4d]{font-size:18px;font-weight:700;font-family:monospace}.sp-rate-label[data-v-d896bc4d]{font-size:9px;color:var(--text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.05em}.sp-card-sparkline[data-v-d896bc4d]{margin-bottom:10px}.sp-mastery-track[data-v-d896bc4d]{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:1px}.sp-mastery-segment[data-v-d896bc4d]{transition:width .5s ease}.sp-mastery-legend[data-v-d896bc4d]{display:flex;gap:10px;margin-top:5px;flex-wrap:wrap}.sp-mastery-item[data-v-d896bc4d]{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-muted, #9ca3af)}.sp-card-hint[data-v-d896bc4d]{position:absolute;bottom:6px;right:10px;font-size:9px;color:var(--text-muted, #9ca3af);letter-spacing:.1em;text-transform:uppercase}@media (max-width: 700px){.sp-grid[data-v-d896bc4d]{grid-template-columns:1fr}.sp-activity-body[data-v-d896bc4d]{flex-direction:column}.sp-legend-hint[data-v-d896bc4d]{margin-left:0;width:100%}}.progress-dashboard[data-v-0dcd27cd]{background:#fff;border-radius:12px;max-width:900px;width:100%;margin:auto;max-height:90dvh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.dashboard-header[data-v-0dcd27cd]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:10;border-radius:12px 12px 0 0}.dashboard-header h2[data-v-0dcd27cd]{margin:0;font-size:20px;color:#333}.close-btn[data-v-0dcd27cd]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;line-height:1}.close-btn[data-v-0dcd27cd]:hover{color:#333}.dashboard-content[data-v-0dcd27cd]{padding:16px 20px}.loading[data-v-0dcd27cd],.error-state[data-v-0dcd27cd],.empty-state[data-v-0dcd27cd]{padding:40px 20px;text-align:center}.spinner[data-v-0dcd27cd]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-0dcd27cd .8s linear infinite;margin:0 auto 16px}@keyframes spin-0dcd27cd{to{transform:rotate(360deg)}}.error-state[data-v-0dcd27cd]{color:#d32f2f}.error-state button[data-v-0dcd27cd]{margin-top:16px;padding:8px 16px;background:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer}.empty-state h3[data-v-0dcd27cd]{color:#666;margin-bottom:8px}.empty-state p[data-v-0dcd27cd]{color:#999;margin-bottom:8px}.dashboard-actions[data-v-0dcd27cd]{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #eee}.primary-btn[data-v-0dcd27cd],.secondary-btn[data-v-0dcd27cd]{flex:1;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn[data-v-0dcd27cd]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.primary-btn[data-v-0dcd27cd]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.secondary-btn[data-v-0dcd27cd]{background:#fff;color:#667eea;border:1px solid #667eea}.secondary-btn[data-v-0dcd27cd]:hover{background:#f5f7ff}.board-mastery-strip[data-v-20235712]{display:flex;gap:6px;padding:8px 12px;background:#f8f8f8;border-radius:8px;flex-wrap:wrap;justify-content:center}.board-mastery-strip.justify-start[data-v-20235712]{justify-content:flex-start}.intro-btn[data-v-20235712]{height:32px;padding:0 14px;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s;-webkit-user-select:none;user-select:none;letter-spacing:.3px}.intro-btn[data-v-20235712]:hover{transform:scale(1.05);box-shadow:0 2px 8px #667eea66}.board-indicator[data-v-20235712]{position:relative;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.board-indicator[data-v-20235712]:hover{transform:scale(1.15);box-shadow:0 2px 8px #0003}.status-grey[data-v-20235712]{background:#ccc;color:#666}.status-red[data-v-20235712]{background:#ef5350;color:#fff}.status-yellow[data-v-20235712]{background:#ffeb3b;color:#333}.status-orange[data-v-20235712]{background:#ff9800;color:#fff}.status-blue[data-v-20235712]{background:#42a5f5;color:#fff}.status-green[data-v-20235712]{background:#4caf50;color:#fff}.board-indicator.prerelease[data-v-20235712]{border-radius:0;clip-path:polygon(50% 6%,96% 94%,4% 94%)}.board-indicator.prerelease .board-num[data-v-20235712]{padding-top:9px;font-size:11px}.board-indicator.active[data-v-20235712]:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:3px solid #1976d2;pointer-events:none}.medal[data-v-20235712]{position:absolute;top:-6px;right:-6px;font-size:14px;z-index:1;line-height:1}.gold-medal[data-v-20235712]{color:gold;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.silver-medal[data-v-20235712]{color:#e8e8e8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.paw-mark[data-v-20235712]{position:absolute;bottom:-5px;right:-5px;width:13px;height:13px;z-index:1}.has-medal.status-red[data-v-20235712]{box-shadow:0 0 0 2px #fff,0 0 0 4px #ef5350}.has-medal.status-yellow[data-v-20235712]{box-shadow:0 0 0 2px #fff,0 0 0 4px #ffc107}.has-medal.status-orange[data-v-20235712]{box-shadow:0 0 0 2px #fff,0 0 0 4px #ff9800}.has-medal.status-blue[data-v-20235712]{box-shadow:0 0 0 2px #fff,0 0 0 4px #42a5f5}.board-num[data-v-20235712]{position:relative;z-index:0}@media (max-width: 600px){.board-mastery-strip[data-v-20235712]{gap:4px;padding:6px 8px}.board-indicator[data-v-20235712]{width:28px;height:28px;font-size:11px}.intro-btn[data-v-20235712]{height:28px;padding:0 10px;border-radius:14px;font-size:11px}.board-indicator.active[data-v-20235712]:before{top:-4px;right:-4px;bottom:-4px;left:-4px;border-width:2px}.medal[data-v-20235712]{font-size:12px;top:-5px;right:-5px}}.accomplishments-view[data-v-2ded6fa1]{background:#fff;border-radius:12px;max-width:700px;width:100%;margin:auto;max-height:90dvh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;position:relative}.view-header[data-v-2ded6fa1]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;flex-shrink:0}.view-header h2[data-v-2ded6fa1]{margin:0;font-size:20px;color:#333}.paw-total[data-v-2ded6fa1]{display:inline-flex;align-items:center;gap:5px;margin-left:12px;margin-right:auto;padding:3px 12px;border-radius:20px;background:#d1fae5;color:#047857;border:1px solid #6ee7b7;font-size:13px;font-weight:500}.paw-total strong[data-v-2ded6fa1]{font-weight:700}.paw-total-icon[data-v-2ded6fa1]{width:17px;height:17px}.paw-badge[data-v-2ded6fa1]{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.paw-badge-icon[data-v-2ded6fa1]{width:13px;height:13px}.close-btn[data-v-2ded6fa1]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;line-height:1}.close-btn[data-v-2ded6fa1]:hover{color:#333}.user-selector[data-v-2ded6fa1]{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f8f8f8;border-bottom:1px solid #eee}.user-selector label[data-v-2ded6fa1]{font-size:14px;color:#666}.user-selector select[data-v-2ded6fa1]{flex:1;max-width:300px;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff}.loading-state[data-v-2ded6fa1],.error-state[data-v-2ded6fa1],.empty-state[data-v-2ded6fa1]{padding:60px 20px;text-align:center}.spinner[data-v-2ded6fa1]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-2ded6fa1 .8s linear infinite;margin:0 auto 16px}@keyframes spin-2ded6fa1{to{transform:rotate(360deg)}}.error-state[data-v-2ded6fa1]{color:#d32f2f}.error-state button[data-v-2ded6fa1]{margin-top:16px;padding:8px 16px;background:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer}.empty-state h3[data-v-2ded6fa1]{color:#666;margin-bottom:8px}.empty-state p[data-v-2ded6fa1]{color:#999;margin-bottom:20px}.view-content[data-v-2ded6fa1]{display:flex;flex-direction:column;flex:1;overflow:hidden}.controls-row[data-v-2ded6fa1]{display:flex;justify-content:center;align-items:center;padding:12px 20px;border-bottom:1px solid #eee;background:#fafafa;flex-shrink:0}.tabs[data-v-2ded6fa1]{display:flex;gap:4px}.tab-btn[data-v-2ded6fa1]{padding:8px 16px;border:none;background:transparent;color:#666;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s}.tab-btn[data-v-2ded6fa1]:hover{background:#e8e8e8}.tab-btn.active[data-v-2ded6fa1]{background:#667eea;color:#fff}.tab-content[data-v-2ded6fa1]{flex:1;overflow-y:auto;padding:16px 20px}.no-data[data-v-2ded6fa1]{text-align:center;color:#999;padding:40px 20px}.lesson-list[data-v-2ded6fa1]{display:flex;flex-direction:column;gap:12px}.lesson-row[data-v-2ded6fa1]{background:#fafafa;border-radius:8px;padding:10px 12px}.lesson-header[data-v-2ded6fa1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.lesson-name[data-v-2ded6fa1]{font-weight:600;font-size:14px;color:#333}.lesson-collection[data-v-2ded6fa1]{font-size:11px;font-weight:600;color:#667eea;background:#eef0fb;padding:1px 8px;border-radius:10px}.achievement-badge[data-v-2ded6fa1]{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.achievement-badge.gold[data-v-2ded6fa1]{background:linear-gradient(135deg,gold,#ffb300);color:#5d4037}.achievement-badge.silver[data-v-2ded6fa1]{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);color:#424242}.taxon-list[data-v-2ded6fa1]{display:flex;flex-direction:column;gap:8px}.taxon-card[data-v-2ded6fa1]{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fafafa;border-radius:8px}.taxon-header[data-v-2ded6fa1]{display:flex;flex-direction:column;gap:2px}.taxon-category[data-v-2ded6fa1]{font-size:11px;text-transform:uppercase;color:#999;letter-spacing:.3px}.taxon-name[data-v-2ded6fa1]{font-weight:500;font-size:14px;color:#333}.taxon-counts[data-v-2ded6fa1]{display:flex;gap:10px;align-items:center}.taxon-stat[data-v-2ded6fa1]{font-size:14px;font-weight:600}.taxon-stat.correct[data-v-2ded6fa1]{color:#4caf50}.taxon-stat.incorrect[data-v-2ded6fa1]{color:#ef5350}.taxon-stat.total[data-v-2ded6fa1]{color:#999;font-weight:400;font-size:13px}.view-actions[data-v-2ded6fa1]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #eee;flex-shrink:0}.primary-btn[data-v-2ded6fa1],.secondary-btn[data-v-2ded6fa1]{flex:1;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn[data-v-2ded6fa1]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.primary-btn[data-v-2ded6fa1]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.secondary-btn[data-v-2ded6fa1]{background:#fff;color:#667eea;border:1px solid #667eea}.secondary-btn[data-v-2ded6fa1]:hover{background:#f5f7ff}.test-mode-banner[data-v-2ded6fa1]{position:absolute;top:50px;left:0;right:0;background:#ff9800;color:#fff;text-align:center;padding:4px 8px;font-size:12px;font-weight:500}@media (max-width: 600px){.accomplishments-view[data-v-2ded6fa1]{max-height:100dvh;border-radius:0}.controls-row[data-v-2ded6fa1]{padding:8px 12px}}.lesson-browser-loading[data-v-c45d3a21],.lesson-browser-error[data-v-c45d3a21]{text-align:center;padding:40px;background:#fff;border-radius:8px;max-width:400px;margin:0 auto}.loading-spinner[data-v-c45d3a21]{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin-c45d3a21 1s linear infinite;margin:0 auto 16px}@keyframes spin-c45d3a21{to{transform:rotate(360deg)}}.retry-btn[data-v-c45d3a21]{margin-top:16px;padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer}.retry-btn[data-v-c45d3a21]:hover{background:#5a6fd6}.modal-overlay[data-v-c45d3a21]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:1000;padding:20px}.lesson-browser[data-v-c45d3a21]{background:#fff;border-radius:12px;width:100%;max-width:600px;margin:auto;max-height:80dvh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.browser-header[data-v-c45d3a21]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.browser-header h2[data-v-c45d3a21]{margin:0;font-size:20px;color:#333}.close-btn[data-v-c45d3a21]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-btn[data-v-c45d3a21]:hover{background:#f0f0f0;color:#333}.browser-content[data-v-c45d3a21]{flex:1;overflow-y:auto;padding:8px 0}.lesson-browser-inline[data-v-c45d3a21]{background:#fff;border-radius:8px;width:100%;max-width:700px;margin:0 auto}.browser-content-inline[data-v-c45d3a21]{padding:8px 0}.group-section[data-v-c45d3a21]{border-bottom:1px solid #e6e6e6}.group-section[data-v-c45d3a21]:last-child{border-bottom:none}.group-header[data-v-c45d3a21]{width:100%;display:flex;align-items:center;gap:12px;padding:15px 20px;background:#eef2ff;border:none;cursor:pointer;text-align:left;transition:background .15s}.group-header[data-v-c45d3a21]:hover,.group-header.expanded[data-v-c45d3a21]{background:#e2e8ff}.group-name[data-v-c45d3a21]{flex:1;font-weight:700;color:#1565c0;letter-spacing:.04em;text-transform:uppercase;font-size:14px}.group-header .expand-icon[data-v-c45d3a21]{color:#1565c0}.group-body .category-header[data-v-c45d3a21]{padding-left:32px}.category-section[data-v-c45d3a21]{border-bottom:1px solid #f0f0f0}.category-section[data-v-c45d3a21]:last-child{border-bottom:none}.category-header[data-v-c45d3a21]{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;background:none;border:none;cursor:pointer;text-align:left;font-size:15px;transition:background .15s}.category-header[data-v-c45d3a21]:hover{background:#f8f8f8}.category-header.expanded[data-v-c45d3a21]{background:#f5f5f5}.expand-icon[data-v-c45d3a21]{font-size:10px;color:#666;width:12px}.category-name[data-v-c45d3a21]{flex:1;font-weight:600;color:#333}.category-count[data-v-c45d3a21]{font-size:13px;color:#888}.lesson-list[data-v-c45d3a21]{background:#fafafa;padding:8px 20px 8px 44px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px}.lesson-item[data-v-c45d3a21]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s}.lesson-item[data-v-c45d3a21]:hover{background:#e8f4fd}.lesson-item.loading[data-v-c45d3a21]{opacity:.6;cursor:wait}.lesson-name[data-v-c45d3a21]{font-size:14px;font-weight:500;color:#1976d2}.lesson-description[data-v-c45d3a21]{font-size:12px;color:#666;line-height:1.3}.error-message[data-v-c45d3a21],.error-message-inline[data-v-c45d3a21]{padding:12px 20px;background:#fff3f3;color:#d32f2f;font-size:13px;border-top:1px solid #ffcdd2}.error-message-inline[data-v-c45d3a21]{border-radius:0 0 8px 8px}@media (max-width: 600px){.lesson-browser[data-v-c45d3a21]{max-height:90dvh}.browser-header[data-v-c45d3a21]{padding:12px 16px}.browser-header h2[data-v-c45d3a21]{font-size:18px}.category-header[data-v-c45d3a21]{padding:12px 16px;font-size:14px}.lesson-list[data-v-c45d3a21]{grid-template-columns:1fr;padding:4px 16px 4px 36px}.lesson-item[data-v-c45d3a21]{padding:8px}}.dock-panel[data-v-adf97850]{position:fixed;z-index:900;background:#fff;border-radius:8px;box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;overflow:hidden;min-width:320px;min-height:300px}.dock-titlebar[data-v-adf97850]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.dock-titlebar[data-v-adf97850]:active{cursor:grabbing}.dock-title[data-v-adf97850]{font-size:14px;font-weight:600}.dock-controls[data-v-adf97850]{display:flex;gap:8px;align-items:center}.dock-btn[data-v-adf97850]{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;text-decoration:none;opacity:.8}.dock-btn[data-v-adf97850]:hover{opacity:1}.dock-btn.active[data-v-adf97850]{opacity:1;background:#ffffff38;border-radius:4px}.dock-btn.close[data-v-adf97850]{font-size:22px}.dock-body[data-v-adf97850]{flex:1;position:relative;overflow:auto}.interaction-overlay[data-v-adf97850]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;cursor:grabbing}.resize-handle[data-v-adf97850]{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;font-size:12px;color:#999;background:#fffc;border-radius:4px 0 8px;-webkit-user-select:none;user-select:none}.resize-handle[data-v-adf97850]:hover{color:#666;background:#f0f0f0e6}.pdf-sizer[data-v-737b3b93]{position:relative}.pdf-scaler[data-v-737b3b93]{position:absolute;top:0;left:0}.viewer-iframe[data-v-737b3b93]{display:block;width:100%;height:100%;border:none}.pdf-link[data-v-737b3b93]{position:absolute;z-index:2;cursor:pointer}.viewer-loading[data-v-737b3b93],.viewer-error[data-v-737b3b93]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666;padding:20px}.viewer-error[data-v-737b3b93]{color:#d32f2f}.lobby-tabs[data-v-ba53d9e2]{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.tab-btn[data-v-ba53d9e2]{padding:10px 18px;border:none;background:transparent;color:#666;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;border-radius:6px;transition:all .2s}.tab-btn[data-v-ba53d9e2]:hover{background:#e8e8e8}.tab-btn.active[data-v-ba53d9e2]{background:var(--green-mid, #40916c);color:#fff}.anon-btn[data-v-ba53d9e2]{margin-left:auto;align-self:center;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;background:#fff;color:#666;border:1px solid #ddd;transition:all .2s}.anon-btn[data-v-ba53d9e2]:hover{background:#f5f5f5;color:#333}.anon-btn.active[data-v-ba53d9e2]{background:#fff3e0;color:#e65100;border-color:#ffcc80}.anon-btn.active[data-v-ba53d9e2]:hover{background:#ffe0b2}.assignment-panel[data-v-6fd85560]{margin-bottom:32px}.section-header[data-v-6fd85560]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-6fd85560]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:20px;color:var(--green-dark, #2d6a4f);margin:0}.view-all-link[data-v-6fd85560]{background:none;border:none;color:var(--green-dark, #2d6a4f);font-size:14px;font-weight:500;cursor:pointer;padding:4px 0}.view-all-link[data-v-6fd85560]:hover{text-decoration:underline}.loading-state[data-v-6fd85560],.empty-state[data-v-6fd85560],.caught-up[data-v-6fd85560]{padding:32px 20px;text-align:center;background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7)}.caught-up-title[data-v-6fd85560]{font-weight:600;color:var(--green-dark, #2d6a4f);margin-bottom:4px}.caught-up-desc[data-v-6fd85560]{color:var(--text-secondary, #6b7280);font-size:14px}.link-btn[data-v-6fd85560]{background:none;border:none;color:var(--green-dark, #2d6a4f);font-size:14px;font-weight:500;cursor:pointer;padding:0;text-decoration:underline}.assignment-card.closed[data-v-6fd85560]{border-left-color:#cbd5e1;opacity:.75}.closed-pill[data-v-6fd85560]{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#e5e7eb;color:#6b7280;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.spinner[data-v-6fd85560]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-6fd85560 .8s linear infinite;margin:0 auto 12px}@keyframes spin-6fd85560{to{transform:rotate(360deg)}}.empty-title[data-v-6fd85560]{font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:4px}.empty-desc[data-v-6fd85560]{color:var(--text-secondary, #6b7280);font-size:14px}.assignment-cards[data-v-6fd85560]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.assignment-card[data-v-6fd85560]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);border-left:4px solid #90caf9;padding:16px 20px;cursor:pointer;transition:all .2s}.assignment-card[data-v-6fd85560]:hover{box-shadow:0 2px 8px #0000001a}.assignment-card.in-progress[data-v-6fd85560]{border-left-color:#ff9800}.assignment-card.complete[data-v-6fd85560]{border-left-color:#4caf50}.assignment-card.overdue[data-v-6fd85560]{border-left-color:#ef5350}.card-top[data-v-6fd85560]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.card-titles[data-v-6fd85560]{display:flex;flex-direction:column;gap:4px;min-width:0}.exercise-name[data-v-6fd85560]{font-family:var(--font-heading, "Source Serif 4", serif);font-weight:600;font-size:17px;color:var(--text-primary, #1a1a1a);line-height:1.2}.card-meta[data-v-6fd85560]{display:flex;gap:12px;font-size:13px;color:var(--text-secondary, #6b7280)}.classroom-name[data-v-6fd85560]{color:var(--green-dark, #2d6a4f);font-weight:500}.meta-item.overdue[data-v-6fd85560]{color:#c62828;font-weight:500}.meta-item.urgent[data-v-6fd85560]{color:#e65100;font-weight:500}.meta-item.soon[data-v-6fd85560]{color:#f57f17}.card-right[data-v-6fd85560]{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.action-btn[data-v-6fd85560]{padding:6px 16px;font-size:13px;font-weight:600;color:#fff;background:var(--green-dark, #2d6a4f);border:none;border-radius:6px;cursor:pointer;transition:background .2s;white-space:nowrap}.action-btn[data-v-6fd85560]:hover{background:var(--green-mid, #40916c)}.mastery-section[data-v-6fd85560]{display:flex;flex-direction:column;gap:6px}.mastery-bar[data-v-6fd85560]{display:flex;height:8px;background:var(--card-border, #e0ddd7);border-radius:4px;overflow:hidden;gap:1px}.segment[data-v-6fd85560]{height:100%;transition:width .3s ease}.segment.fallback[data-v-6fd85560]{background:#4caf50}.board-label[data-v-6fd85560]{font-size:12px;color:var(--text-secondary, #6b7280)}.board-row[data-v-6fd85560]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.assignment-badges[data-v-6fd85560]{display:inline-flex;align-items:center;gap:5px}.ab[data-v-6fd85560]{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:700}.ab-paw[data-v-6fd85560]{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.ab-paw-icon[data-v-6fd85560]{width:12px;height:12px}.ab-gold[data-v-6fd85560]{background:#fbe9b8;color:#7a5a08}.ab-silver[data-v-6fd85560]{background:#eef0f3;color:#5f6b7a}.modal-overlay[data-v-6fd85560]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:1000;padding:20px}.modal-content[data-v-6fd85560]{background:var(--bg-warm, #f5f5f5);border-radius:var(--radius-card, 12px);max-width:800px;width:100%;margin:auto;max-height:80dvh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.modal-header[data-v-6fd85560]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--card-border, #e0ddd7)}.modal-header h3[data-v-6fd85560]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:20px;color:var(--green-dark, #2d6a4f);margin:0}.modal-close[data-v-6fd85560]{background:none;border:none;font-size:24px;color:var(--text-secondary, #6b7280);cursor:pointer;padding:4px 8px;line-height:1}.modal-close[data-v-6fd85560]:hover{color:var(--text-primary, #1a1a1a)}.modal-body[data-v-6fd85560]{padding:20px 24px;overflow-y:auto}@media (max-width: 600px){.assignment-cards[data-v-6fd85560]{grid-template-columns:1fr}.modal-content[data-v-6fd85560]{max-height:90dvh}}.recent-lessons[data-v-ce2cb993]{margin-bottom:32px}.section-header[data-v-ce2cb993]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-ce2cb993]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:20px;color:var(--green-dark, #2d6a4f);margin:0}.view-all-link[data-v-ce2cb993]{background:none;border:none;color:var(--green-dark, #2d6a4f);font-size:14px;font-weight:500;cursor:pointer;padding:4px 0}.view-all-link[data-v-ce2cb993]:hover{text-decoration:underline}.lesson-cards[data-v-ce2cb993]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.lesson-card[data-v-ce2cb993]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:16px 20px}.card-top[data-v-ce2cb993]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.card-titles[data-v-ce2cb993]{display:flex;flex-direction:column;gap:2px;min-width:0}.collection-label[data-v-ce2cb993]{font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--text-secondary, #6b7280)}.lesson-name[data-v-ce2cb993]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;font-weight:600;color:var(--text-primary, #1a1a1a);line-height:1.2}.tier-badge[data-v-ce2cb993]{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;font-family:var(--font-body, system-ui, sans-serif);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;vertical-align:2px}.tier-badge.tier-exploring[data-v-ce2cb993]{background:#eef0f3;color:#5f6b7a}.tier-badge.tier-learning[data-v-ce2cb993]{background:#dde9f5;color:#1d4f80}.tier-badge.tier-retaining[data-v-ce2cb993]{background:#d8efdc;color:#1f6638}.tier-badge.tier-mastering[data-v-ce2cb993]{background:#fbe9b8;color:#7a5a08}.board-count[data-v-ce2cb993]{font-size:13px;color:var(--text-secondary, #6b7280);margin-top:2px}.tile-badges[data-v-ce2cb993]{display:inline-flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.tb[data-v-ce2cb993]{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:10px;font-size:12px;font-weight:600;line-height:1.4}.tb-gold[data-v-ce2cb993]{background:#fbe9b8;color:#7a5a08}.tb-silver[data-v-ce2cb993]{background:#eef0f3;color:#5f6b7a}.tb-paw[data-v-ce2cb993]{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.tb-paw-icon[data-v-ce2cb993]{width:13px;height:13px}.card-right[data-v-ce2cb993]{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.relative-time[data-v-ce2cb993]{font-size:12px;color:var(--text-secondary, #6b7280);white-space:nowrap}.resume-btn[data-v-ce2cb993]{padding:6px 16px;font-size:13px;font-weight:600;color:#fff;background:var(--green-dark, #2d6a4f);border:none;border-radius:6px;cursor:pointer;transition:background .2s;white-space:nowrap}.resume-btn[data-v-ce2cb993]:hover{background:var(--green-mid, #40916c)}.mastery-bar[data-v-ce2cb993]{display:flex;height:8px;background:var(--card-border, #e0ddd7);border-radius:4px;overflow:hidden;margin-bottom:8px;gap:1px}.segment[data-v-ce2cb993]{height:100%;transition:width .3s ease}.mastery-counts[data-v-ce2cb993]{display:flex;gap:12px;font-size:12px;color:var(--text-secondary, #6b7280);flex-wrap:wrap}.count[data-v-ce2cb993]{display:inline-flex;align-items:center;gap:4px}.count-dot[data-v-ce2cb993]{display:inline-block;width:8px;height:8px;border-radius:50%}@media (max-width: 600px){.lesson-cards[data-v-ce2cb993]{grid-template-columns:1fr}.card-top[data-v-ce2cb993]{flex-direction:column;gap:8px}.card-right[data-v-ce2cb993]{flex-direction:row;align-items:center;width:100%;justify-content:space-between}}.collection-card[data-v-747be5b1]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;background:linear-gradient(135deg,var(--green-mid, #40916c) 0%,var(--green-dark, #2d6a4f) 100%);color:#fff;border:none;border-radius:var(--radius-card, 12px);cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:200px}.collection-card[data-v-747be5b1]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #2d6a4f66}.collection-icon[data-v-747be5b1]{font-size:48px;line-height:1}.collection-name[data-v-747be5b1]{font-size:20px;font-weight:600}.collection-desc[data-v-747be5b1]{font-size:13px;opacity:.9;max-width:180px}.collection-grid[data-v-35b62d22]{text-align:center;padding:32px 0}.grid-title[data-v-35b62d22]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:24px;color:var(--text-primary, #333);margin-bottom:8px}.grid-subtitle[data-v-35b62d22]{color:var(--text-secondary, #666);margin-bottom:24px}.collection-cards[data-v-35b62d22]{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.load-file-section[data-v-35b62d22]{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.load-file-section p[data-v-35b62d22]{margin-bottom:8px;font-size:13px;color:#888}.lessons-tab[data-v-be1c4b61]{padding:8px 0}.teacher-student-list[data-v-43e39090]{max-width:900px;margin:0 auto;padding:0 20px}.teacher-header[data-v-43e39090]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.teacher-header h2[data-v-43e39090]{margin:0;font-size:20px;color:#333}.header-actions[data-v-43e39090]{display:flex;gap:8px}.loading-state[data-v-43e39090],.error-state[data-v-43e39090],.empty-state[data-v-43e39090]{padding:60px 20px;text-align:center}.spinner[data-v-43e39090]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-43e39090 .8s linear infinite;margin:0 auto 16px}@keyframes spin-43e39090{to{transform:rotate(360deg)}}.error-state[data-v-43e39090]{color:#d32f2f}.error-state button[data-v-43e39090]{margin-top:16px;padding:8px 16px;background:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer}.empty-state h3[data-v-43e39090]{color:#666;margin-bottom:8px}.empty-state p[data-v-43e39090]{color:#999}.student-table-wrap[data-v-43e39090]{overflow-x:auto}.student-table[data-v-43e39090]{width:100%;border-collapse:collapse;font-size:14px}.student-table thead th[data-v-43e39090]{text-align:left;padding:10px 12px;border-bottom:2px solid #eee;font-size:12px;text-transform:uppercase;color:#999;letter-spacing:.3px;font-weight:600}.student-table thead th.sortable[data-v-43e39090]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s}.student-table thead th.sortable[data-v-43e39090]:hover,.student-table thead th.sort-active[data-v-43e39090]{color:#667eea}.sort-arrow[data-v-43e39090]{font-size:10px;margin-left:2px}.student-row[data-v-43e39090]{cursor:pointer;transition:background .15s}.student-row[data-v-43e39090]:hover{background:#f5f7ff}.student-row td[data-v-43e39090]{padding:12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.col-name[data-v-43e39090]{min-width:160px}.col-mastery[data-v-43e39090]{min-width:140px}.col-active[data-v-43e39090]{min-width:100px;white-space:nowrap;color:#666;font-size:13px}.col-lessons[data-v-43e39090]{min-width:180px}.student-name-cell[data-v-43e39090]{display:flex;align-items:center;gap:10px}.avatar[data-v-43e39090]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.mastery-pills[data-v-43e39090]{display:flex;gap:4px;flex-wrap:wrap}.pill[data-v-43e39090]{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;border-radius:11px;font-size:12px;font-weight:600;color:#fff}.pill-green[data-v-43e39090]{background:#4caf50}.pill-orange[data-v-43e39090]{background:#ff9800}.pill-yellow[data-v-43e39090]{background:#ffeb3b;color:#333}.pill-red[data-v-43e39090]{background:#ef5350}.no-data-label[data-v-43e39090]{font-size:12px;color:#ccc}.recent-lessons[data-v-43e39090]{display:flex;gap:4px;flex-wrap:wrap}.lesson-tag[data-v-43e39090]{display:inline-block;padding:2px 8px;background:#f0f0f0;border-radius:10px;font-size:12px;color:#555;white-space:nowrap}.lesson-badge[data-v-43e39090]{display:inline-block;margin-left:4px;padding:0 5px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.lesson-badge.beta[data-v-43e39090]{background:#ff9800;color:#fff}.lesson-badge.mixed[data-v-43e39090]{background:#ffe0b2;color:#8a5a00}.filter-select[data-v-43e39090]{padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid #ddd;background:#fff;color:#333;cursor:pointer;font-family:inherit}.filter-select[data-v-43e39090]:focus{outline:none;border-color:#667eea}.secondary-btn[data-v-43e39090]{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:#fff;color:#667eea;border:1px solid #667eea;transition:all .2s}.secondary-btn[data-v-43e39090]:hover{background:#f5f7ff}@media (max-width: 600px){.teacher-student-list[data-v-43e39090]{padding:0 12px}.teacher-header[data-v-43e39090]{flex-direction:column;gap:12px;align-items:flex-start}.col-lessons[data-v-43e39090]{display:none}}.teacher-student-detail[data-v-2e448d3d]{max-width:800px;margin:0 auto;padding:0 20px}.detail-header[data-v-2e448d3d]{margin-bottom:24px}.back-btn[data-v-2e448d3d]{background:none;border:none;color:#667eea;font-size:14px;cursor:pointer;padding:4px 0;margin-bottom:12px;display:inline-block}.back-btn[data-v-2e448d3d]:hover{color:#5a6fd6}.student-info[data-v-2e448d3d]{display:flex;align-items:center;gap:14px}.avatar[data-v-2e448d3d]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.student-info h2[data-v-2e448d3d]{margin:0;font-size:20px;color:#333}.last-active[data-v-2e448d3d]{font-size:13px;color:#999}.loading-state[data-v-2e448d3d]{padding:60px 20px;text-align:center}.spinner[data-v-2e448d3d]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-2e448d3d .8s linear infinite;margin:0 auto 16px}@keyframes spin-2e448d3d{to{transform:rotate(360deg)}}.stats-row[data-v-2e448d3d]{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.stat[data-v-2e448d3d]{padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600}.stat-green[data-v-2e448d3d]{background:#e8f5e9;color:#2e7d32}.stat-blue[data-v-2e448d3d]{background:#e3f2fd;color:#1565c0}.stat-orange[data-v-2e448d3d]{background:#fff3e0;color:#e65100}.stat-yellow[data-v-2e448d3d]{background:#fffde7;color:#f57f17}.stat-red[data-v-2e448d3d]{background:#ffebee;color:#c62828}.stat-grey[data-v-2e448d3d]{background:#f5f5f5;color:#757575}.stat-wild[data-v-2e448d3d],.stat-star[data-v-2e448d3d]{display:inline-flex;align-items:center;gap:6px;background:#f3f4f6;color:#374151}.chip-paw[data-v-2e448d3d]{width:16px;height:16px}.chip-star[data-v-2e448d3d]{line-height:1;font-size:16px}.chip-star.gold[data-v-2e448d3d]{color:#eab308}.chip-star.silver[data-v-2e448d3d]{color:#9ca3af}.tab-bar[data-v-2e448d3d]{display:flex;gap:0;border-bottom:2px solid #eee;margin-bottom:20px}.tab-btn[data-v-2e448d3d]{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 18px;font-size:14px;font-weight:500;color:#999;cursor:pointer;transition:color .15s,border-color .15s}.tab-btn[data-v-2e448d3d]:hover{color:#555}.tab-btn.active[data-v-2e448d3d]{color:#667eea;border-bottom-color:#667eea;font-weight:600}.tab-content[data-v-2e448d3d]{min-height:200px}.no-data[data-v-2e448d3d]{text-align:center;color:#999;padding:20px}.lesson-list[data-v-2e448d3d]{display:flex;flex-direction:column;gap:12px}.lesson-row[data-v-2e448d3d]{background:#fafafa;border-radius:8px;padding:10px 12px}.lesson-header[data-v-2e448d3d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.lesson-link[data-v-2e448d3d]{background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.lesson-link[data-v-2e448d3d]:hover{text-decoration:underline;color:#667eea}.lesson-name[data-v-2e448d3d]{font-weight:600;font-size:14px;color:#333}.lesson-collection[data-v-2e448d3d]{font-size:11px;font-weight:600;color:#667eea;background:#eef0fb;padding:1px 8px;border-radius:10px}.achievement-badge[data-v-2e448d3d]{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.achievement-badge.gold[data-v-2e448d3d]{background:linear-gradient(135deg,gold,#ffb300);color:#5d4037}.achievement-badge.silver[data-v-2e448d3d]{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);color:#424242}.mastery-strip[data-v-2e448d3d]{display:flex;gap:6px;flex-wrap:wrap}.board-circle[data-v-2e448d3d]{position:relative;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;-webkit-user-select:none;user-select:none}.board-clickable[data-v-2e448d3d]{cursor:pointer;transition:transform .15s,box-shadow .15s}.board-clickable[data-v-2e448d3d]:hover{transform:scale(1.15);box-shadow:0 2px 6px #00000040}.status-grey[data-v-2e448d3d]{background:#ccc;color:#666}.status-red[data-v-2e448d3d]{background:#ef5350;color:#fff}.status-yellow[data-v-2e448d3d]{background:#ffeb3b;color:#333}.status-orange[data-v-2e448d3d]{background:#ff9800;color:#fff}.status-blue[data-v-2e448d3d]{background:#42a5f5;color:#fff}.status-green[data-v-2e448d3d]{background:#4caf50;color:#fff}.medal[data-v-2e448d3d]{position:absolute;top:-6px;right:-6px;font-size:14px;z-index:1;line-height:1}.gold-medal[data-v-2e448d3d]{color:gold;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.silver-medal[data-v-2e448d3d]{color:#e8e8e8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.paw-mark[data-v-2e448d3d]{position:absolute;bottom:-6px;right:-6px;width:16px;height:16px;z-index:1}.board-num[data-v-2e448d3d]{position:relative;z-index:0}.observation-total[data-v-2e448d3d]{text-align:center;font-size:12px;color:#999;margin-top:12px}@media (max-width: 600px){.teacher-student-detail[data-v-2e448d3d]{padding:0 12px}.board-circle[data-v-2e448d3d]{width:28px;height:28px;font-size:11px}.medal[data-v-2e448d3d]{font-size:12px;top:-5px;right:-5px}}.students-tab[data-v-e03a2177]{padding:8px 0}.modal-overlay[data-v-58bba5d2]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2000;padding:20px}.modal-content[data-v-58bba5d2]{background:#fff;border-radius:var(--radius-card, 10px);max-width:500px;width:100%;margin:auto;max-height:90dvh;overflow-y:auto;box-shadow:0 16px 48px #0003}.step[data-v-58bba5d2]{padding:32px}.step h2[data-v-58bba5d2]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:24px;color:var(--green-dark, #2d6a4f);margin-bottom:8px}.step-desc[data-v-58bba5d2]{color:var(--text-secondary, #6b7280);margin-bottom:24px}.form-group[data-v-58bba5d2]{margin-bottom:20px}.form-group label[data-v-58bba5d2]{display:block;font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:6px;font-size:14px}.optional[data-v-58bba5d2]{font-weight:400;color:var(--text-muted, #9ca3af)}.form-input[data-v-58bba5d2],.form-select[data-v-58bba5d2]{width:100%;padding:10px 12px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:15px;font-family:var(--font-body, "DM Sans", sans-serif);color:var(--text-primary, #1a1a1a);transition:border-color .2s;box-sizing:border-box;background:#fff}.form-input[data-v-58bba5d2]:focus,.form-select[data-v-58bba5d2]:focus{outline:none;border-color:var(--green-mid, #40916c)}.form-hint[data-v-58bba5d2]{font-size:13px;color:var(--text-muted, #9ca3af);margin-top:4px}.target-options[data-v-58bba5d2]{display:flex;gap:20px;margin-top:4px}.radio-option[data-v-58bba5d2]{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:400;font-size:14px}.radio-option input[type=radio][data-v-58bba5d2]{accent-color:var(--green-mid, #40916c)}.step-actions[data-v-58bba5d2]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn[data-v-58bba5d2]{padding:10px 20px;border-radius:var(--radius-button, 6px);font-size:15px;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-family:var(--font-body, "DM Sans", sans-serif)}.btn[data-v-58bba5d2]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-58bba5d2]{background:var(--green-mid, #40916c);color:#fff}.btn-primary[data-v-58bba5d2]:hover:not(:disabled){background:var(--green-dark, #2d6a4f)}.btn-secondary[data-v-58bba5d2]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-58bba5d2]:hover{background:#e5e7eb}.error-text[data-v-58bba5d2]{color:var(--red, #ef4444);font-size:14px;margin-top:12px;text-align:center}.modal-overlay[data-v-9be24927]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:2000;padding:40px 20px;overflow-y:auto}.modal-content[data-v-9be24927]{background:#fff;border-radius:var(--radius-card, 10px);max-width:1100px;width:100%;box-shadow:0 16px 48px #0003}.modal-body[data-v-9be24927]{padding:28px 32px}.modal-header[data-v-9be24927]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:16px}.modal-header h2[data-v-9be24927]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:22px;color:var(--green-dark, #2d6a4f);margin:0}.assignment-meta[data-v-9be24927]{display:flex;gap:14px;margin-top:6px;font-size:13px;color:var(--text-secondary, #6b7280)}.meta-item[data-v-9be24927]{white-space:nowrap}.close-btn[data-v-9be24927]{background:none;border:none;font-size:26px;color:var(--text-muted, #9ca3af);cursor:pointer;padding:0 4px;line-height:1}.close-btn[data-v-9be24927]:hover{color:var(--text-primary, #1a1a1a)}.grid-controls[data-v-9be24927]{display:flex;justify-content:flex-end;margin-bottom:8px}.sort-toggle[data-v-9be24927]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #6b7280);cursor:pointer;-webkit-user-select:none;user-select:none}.sort-toggle input[data-v-9be24927]{cursor:pointer;margin:0}.grid-wrapper[data-v-9be24927]{overflow-x:auto;border:1px solid var(--card-border, #e0ddd7);border-radius:6px}.grid-table[data-v-9be24927]{width:100%;border-collapse:collapse;font-size:13px}.grid-table thead th[data-v-9be24927],.grid-table tfoot td[data-v-9be24927]{background:#fafafa;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #9ca3af);padding:8px 6px;border-bottom:1px solid var(--card-border, #e0ddd7)}.grid-table tfoot td[data-v-9be24927]{border-bottom:none;border-top:1px solid var(--card-border, #e0ddd7)}.grid-table tbody td[data-v-9be24927]{padding:6px;border-bottom:1px solid #f3f4f6;color:var(--text-primary, #1a1a1a);vertical-align:middle}.grid-table tbody tr:last-child td[data-v-9be24927]{border-bottom:none}.col-name[data-v-9be24927]{text-align:left;white-space:nowrap;padding-left:12px!important;min-width:140px}.col-board[data-v-9be24927]{text-align:center;width:36px;min-width:36px}.grid-table thead .lesson-swatch[data-v-9be24927]{display:block;width:70%;height:3px;margin:3px auto 0;border-radius:1.5px}.lesson-legend[data-v-9be24927]{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;color:var(--text-secondary, #6b7280)}.lesson-legend-item[data-v-9be24927]{display:inline-flex;align-items:center;gap:6px}.lesson-swatch-legend[data-v-9be24927]{display:inline-block;width:16px;height:4px;border-radius:2px}.col-score[data-v-9be24927]{text-align:right;padding-right:12px!important;white-space:nowrap;min-width:90px}.col-duration[data-v-9be24927]{text-align:right;padding-right:12px!important;white-space:nowrap;min-width:50px}.duration-text[data-v-9be24927]{font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-secondary, #6b7280)}.duration-empty[data-v-9be24927]{color:var(--text-muted, #d1d5db)}.cell-error-banner[data-v-9be24927]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:13px}.cell-error-close[data-v-9be24927]{background:none;border:none;font-size:18px;color:inherit;cursor:pointer;padding:0 4px}.cell[data-v-9be24927]{padding:4px!important}.cell-btn[data-v-9be24927]{width:26px;height:26px;border:none;border-radius:4px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body, "DM Sans", sans-serif);transition:transform .12s,box-shadow .12s}.cell-btn[data-v-9be24927]:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000026}.cell-btn[data-v-9be24927]{position:relative;overflow:visible}.cell-wild[data-v-9be24927]{box-shadow:0 0 0 2px #10b981}.cell-stumble-dot[data-v-9be24927]{position:absolute;bottom:1px;right:1px;width:6px;height:6px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 1px #ffffffe6;pointer-events:none}.cell-paw[data-v-9be24927]{position:absolute;top:-6px;right:-6px;width:12px;height:12px;pointer-events:none}.legend-paw-icon[data-v-9be24927]{width:13px;height:13px}.cell-empty[data-v-9be24927]{display:inline-block;width:26px;height:26px;line-height:26px;text-align:center;color:var(--text-muted, #9ca3af);font-size:18px;-webkit-user-select:none;user-select:none}.score-text[data-v-9be24927]{font-variant-numeric:tabular-nums;font-weight:500}.accuracy-text[data-v-9be24927]{font-size:11px;margin-left:6px;font-weight:500}.accuracy-high[data-v-9be24927]{color:var(--green-mid, #40916c)}.accuracy-mid[data-v-9be24927]{color:#d97706}.accuracy-low[data-v-9be24927]{color:var(--red, #ef4444)}.pass-row td[data-v-9be24927]{font-variant-numeric:tabular-nums}.pass-label[data-v-9be24927]{text-align:left;padding-left:12px!important}.pass-cell[data-v-9be24927]{text-align:center;font-size:11px!important;font-weight:500}.pass-high[data-v-9be24927]{color:var(--green-mid, #40916c)}.pass-mid[data-v-9be24927]{color:#d97706}.pass-low[data-v-9be24927]{color:var(--red, #ef4444)}.pass-empty[data-v-9be24927]{color:var(--text-muted, #d1d5db)}.summary-row[data-v-9be24927]{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--card-border, #e0ddd7);font-size:12px;color:var(--text-secondary, #6b7280);flex-wrap:wrap;gap:12px}.legend[data-v-9be24927]{display:flex;gap:14px;flex-wrap:wrap}.legend-item[data-v-9be24927]{display:inline-flex;align-items:center;gap:5px}.legend-dot[data-v-9be24927]{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-stumble-swatch[data-v-9be24927]{position:relative;display:inline-block;line-height:0}.legend-stumble-dot[data-v-9be24927]{position:absolute;bottom:-1px;right:-1px;width:5px;height:5px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 1px #ffffffe6}.legend-empty[data-v-9be24927]{background:transparent;text-align:center;color:var(--text-muted, #9ca3af);line-height:10px;font-size:12px}.loading-state[data-v-9be24927]{text-align:center;padding:40px 20px}.spinner[data-v-9be24927]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#2d6a4f;border-radius:50%;animation:spin-9be24927 .8s linear infinite;margin:0 auto 12px}@keyframes spin-9be24927{to{transform:rotate(360deg)}}.empty-state[data-v-9be24927]{text-align:center;padding:24px;color:var(--text-muted, #9ca3af)}.error-state[data-v-9be24927]{text-align:center;padding:24px}.error-text[data-v-9be24927]{color:var(--red, #ef4444);margin-bottom:16px}.btn[data-v-9be24927]{padding:10px 20px;border-radius:var(--radius-button, 6px);font-size:15px;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-family:var(--font-body, "DM Sans", sans-serif)}.btn-secondary[data-v-9be24927]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-9be24927]:hover{background:#e5e7eb}.stat-chips[data-v-27eda886]{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:6px}.chip[data-v-27eda886]{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #6b7280);white-space:nowrap}.chip-label[data-v-27eda886]{text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:var(--text-muted, #9ca3af)}.chip-bar-track[data-v-27eda886]{display:inline-block;width:90px;height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden;position:relative}.chip-bar-fill[data-v-27eda886]{position:absolute;inset:0 auto 0 0;background:var(--green-mid, #40916c);border-radius:4px;transition:width .3s ease}.chip-chart[data-v-27eda886]{display:block}.chip-value[data-v-27eda886]{font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-primary, #1a1a1a);min-width:32px;text-align:right}.assignments-tab[data-v-bc254ad2]{padding:8px 0}.actions-row[data-v-bc254ad2]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.show-closed[data-v-bc254ad2]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #6b7280);cursor:pointer;-webkit-user-select:none;user-select:none}.show-closed input[data-v-bc254ad2]{cursor:pointer;margin:0}.action-btn[data-v-bc254ad2]{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-button, 6px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:var(--font-body, "DM Sans", sans-serif)}.action-btn.assign[data-v-bc254ad2]{background:#e3f2fd;color:#1565c0}.action-btn.assign[data-v-bc254ad2]:hover{background:#bbdefb}.loading-state[data-v-bc254ad2]{text-align:center;padding:60px 20px}.spinner[data-v-bc254ad2]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#2d6a4f;border-radius:50%;animation:spin-bc254ad2 .8s linear infinite;margin:0 auto 12px}@keyframes spin-bc254ad2{to{transform:rotate(360deg)}}.empty-state[data-v-bc254ad2]{text-align:center;padding:32px;background:#fff;border-radius:var(--radius-card, 10px);border:1px dashed var(--card-border, #e0ddd7)}.empty-title[data-v-bc254ad2]{font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:4px}.empty-desc[data-v-bc254ad2]{color:var(--text-secondary, #6b7280);font-size:14px}.assignment-list[data-v-bc254ad2]{display:flex;flex-direction:column;gap:8px}.assignment-row[data-v-bc254ad2]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:12px 16px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);cursor:pointer;transition:background .15s,border-color .15s}.assignment-row[data-v-bc254ad2]:hover{background:#f9fafb;border-color:var(--green-mid, #40916c)}.assignment-body[data-v-bc254ad2]{display:flex;flex-direction:column;min-width:0}.assignment-top[data-v-bc254ad2]{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:16px}.assignment-main[data-v-bc254ad2]{display:flex;flex-direction:column;gap:2px;min-width:0}.assignment-name[data-v-bc254ad2]{font-weight:500;color:var(--text-primary, #1a1a1a)}.assignment-subtitle[data-v-bc254ad2]{font-size:13px;color:var(--text-secondary, #6b7280)}.assignment-meta[data-v-bc254ad2]{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--text-secondary, #6b7280);white-space:nowrap}.assignment-due.overdue[data-v-bc254ad2]{color:#c62828;font-weight:500}.assignment-due.no-due[data-v-bc254ad2]{color:#9ca3af;font-style:italic}.assignment-row.closed[data-v-bc254ad2]{background:#f7f7f6;opacity:.72}.assignment-row.closed[data-v-bc254ad2]:hover{opacity:1}.closed-badge[data-v-bc254ad2]{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.close-toggle[data-v-bc254ad2]{border:1px solid var(--card-border, #e0ddd7);background:#fff;color:var(--text-secondary, #6b7280);padding:3px 12px;border-radius:var(--radius-button, 6px);font-size:12px;font-weight:500;cursor:pointer;font-family:var(--font-body, "DM Sans", sans-serif);transition:background .15s,color .15s,border-color .15s}.close-toggle[data-v-bc254ad2]:hover{background:#fff5f5;border-color:#f0b4b4;color:#c0392b}.close-toggle.reopen[data-v-bc254ad2]:hover{background:#eef7f1;border-color:var(--green-mid, #40916c);color:var(--green-dark, #2d6a4f)}.close-toggle[data-v-bc254ad2]:disabled{opacity:.5;cursor:default}.view-arrow[data-v-bc254ad2]{font-size:20px;color:#c0c5cc}.modal-overlay[data-v-421c6fde]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2000;padding:20px}.modal-content[data-v-421c6fde]{background:#fff;border-radius:var(--radius-card, 10px);max-width:920px;width:100%;margin:auto;max-height:90dvh;overflow:auto;box-shadow:0 16px 48px #0003}.step[data-v-421c6fde]{padding:28px 32px}.step h2[data-v-421c6fde]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:24px;color:var(--green-dark, #2d6a4f);margin-bottom:8px}.step-desc[data-v-421c6fde]{color:var(--text-secondary, #6b7280);margin-bottom:20px;font-size:14px}.form-group[data-v-421c6fde]{margin-bottom:16px}.form-group label[data-v-421c6fde]{display:block;font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:6px;font-size:14px}.optional[data-v-421c6fde]{font-weight:400;color:var(--text-muted, #9ca3af)}.form-input[data-v-421c6fde],.form-textarea[data-v-421c6fde]{width:100%;padding:10px 12px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:15px;font-family:var(--font-body, "DM Sans", sans-serif);color:var(--text-primary, #1a1a1a);box-sizing:border-box;background:#fff}.form-input[data-v-421c6fde]:focus,.form-textarea[data-v-421c6fde]:focus{outline:none;border-color:var(--green-mid, #40916c)}.form-textarea[data-v-421c6fde]{resize:vertical}.radio-row[data-v-421c6fde]{display:flex;flex-direction:column;gap:4px}.radio-label[data-v-421c6fde]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary, #1a1a1a);cursor:pointer}.form-hint[data-v-421c6fde]{font-size:13px;color:var(--text-muted, #9ca3af);margin:4px 0 8px}.editor-grid[data-v-421c6fde]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.panel[data-v-421c6fde]{border:1px solid var(--card-border, #e0ddd7);border-radius:8px;padding:14px 16px;background:#fafafa;min-height:280px}.panel-header[data-v-421c6fde]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.panel-header h3[data-v-421c6fde]{font-size:14px;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0}.btn-link[data-v-421c6fde]{background:none;border:none;color:var(--green-dark, #2d6a4f);font-size:13px;cursor:pointer;padding:0}.btn-link[data-v-421c6fde]:hover{text-decoration:underline}.empty-hint[data-v-421c6fde]{color:var(--text-muted, #9ca3af);font-size:13px;text-align:center;margin:30px 0}.boards-list[data-v-421c6fde]{list-style:none;padding:0;margin:0;max-height:320px;overflow-y:auto}.board-row[data-v-421c6fde]{display:grid;grid-template-columns:24px 1fr auto auto;gap:8px;align-items:center;padding:6px 6px 6px 0;border-bottom:1px solid #efefee;font-size:13px}.board-pos[data-v-421c6fde]{color:var(--text-muted, #9ca3af);font-variant-numeric:tabular-nums;text-align:right}.board-id[data-v-421c6fde]{display:flex;gap:6px;align-items:baseline;min-width:0}.board-subfolder[data-v-421c6fde]{font-weight:500;color:var(--text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-number[data-v-421c6fde]{color:var(--text-muted, #9ca3af);font-family:monospace}.wilderness-tag[data-v-421c6fde]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px}.wilderness-tag.tame[data-v-421c6fde]{background:#d8efdc;color:#1f6638}.wilderness-tag.wild[data-v-421c6fde]{background:#fbe9b8;color:#7a5a08}.row-actions[data-v-421c6fde]{display:flex;gap:2px}.btn-icon[data-v-421c6fde]{width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary, #6b7280);font-size:14px;line-height:1}.btn-icon[data-v-421c6fde]:hover:not(:disabled){background:#efefee;color:var(--text-primary, #1a1a1a)}.btn-icon[data-v-421c6fde]:disabled{opacity:.3;cursor:not-allowed}.btn-icon.btn-remove[data-v-421c6fde]:hover{color:var(--red, #ef4444)}.mode-tabs[data-v-421c6fde]{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--card-border, #e0ddd7)}.mode-tab[data-v-421c6fde]{background:none;border:none;padding:6px 12px;cursor:pointer;color:var(--text-secondary, #6b7280);font-size:13px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.mode-tab.active[data-v-421c6fde]{color:var(--green-dark, #2d6a4f);border-bottom-color:var(--green-mid, #40916c)}.specific-picker[data-v-421c6fde],.random-picker[data-v-421c6fde]{margin-top:6px}.board-grid[data-v-421c6fde]{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:4px;margin-bottom:12px;max-height:200px;overflow-y:auto}.board-btn[data-v-421c6fde]{padding:6px 0;border:1px solid var(--card-border, #e0ddd7);background:#fff;border-radius:4px;font-family:monospace;font-size:12px;cursor:pointer;color:var(--text-primary, #1a1a1a)}.board-btn[data-v-421c6fde]:hover:not(.taken){border-color:var(--green-mid, #40916c)}.board-btn.selected[data-v-421c6fde]{background:var(--green-mid, #40916c);color:#fff;border-color:var(--green-mid, #40916c)}.board-btn.taken[data-v-421c6fde]{background:#f3f4f6;color:var(--text-muted, #9ca3af);cursor:not-allowed}.random-row[data-v-421c6fde]{display:flex;align-items:center;gap:8px}.random-input[data-v-421c6fde]{width:80px}.random-of[data-v-421c6fde]{font-size:13px;color:var(--text-muted, #9ca3af)}.wilderness-summary[data-v-421c6fde]{margin-top:16px;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary, #6b7280)}.wilderness-summary .legend-dot[data-v-421c6fde]{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.wilderness-summary .legend-dot.wild[data-v-421c6fde]{background:#d4a900}.wilderness-summary .legend-dot.tame[data-v-421c6fde]{background:#1f6638}.wilderness-summary .hint[data-v-421c6fde]{color:var(--text-muted, #9ca3af);margin-left:auto}.step-actions[data-v-421c6fde]{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn[data-v-421c6fde]{padding:10px 20px;border-radius:var(--radius-button, 6px);font-size:15px;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-family:var(--font-body, "DM Sans", sans-serif)}.btn[data-v-421c6fde]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-421c6fde]{background:var(--green-mid, #40916c);color:#fff}.btn-primary[data-v-421c6fde]:hover:not(:disabled){background:var(--green-dark, #2d6a4f)}.btn-secondary[data-v-421c6fde]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-421c6fde]:hover{background:#e5e7eb}.error-text[data-v-421c6fde]{color:var(--red, #ef4444);font-size:14px;margin-top:12px;text-align:center}@media (max-width: 720px){.editor-grid[data-v-421c6fde]{grid-template-columns:1fr}}.exercises-tab[data-v-7046eb15]{padding:4px 0}.tab-header[data-v-7046eb15]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:16px}.tab-title[data-v-7046eb15]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:22px;color:var(--green-dark, #2d6a4f);margin:0 0 4px}.tab-desc[data-v-7046eb15]{color:var(--text-secondary, #6b7280);font-size:14px;margin:0}.empty-state[data-v-7046eb15]{background:#fff;border:1px dashed var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);padding:40px;text-align:center;color:var(--text-secondary, #6b7280)}.empty-title[data-v-7046eb15]{font-size:16px;color:var(--text-primary, #1a1a1a);font-weight:600;margin:0 0 6px}.empty-desc[data-v-7046eb15]{font-size:14px;margin:0 0 16px}.exercise-list[data-v-7046eb15]{display:flex;flex-direction:column;gap:10px}.exercise-row[data-v-7046eb15]{background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.row-main[data-v-7046eb15]{min-width:0;flex:1}.row-title[data-v-7046eb15]{display:flex;align-items:baseline;gap:8px}.ex-name[data-v-7046eb15]{font-weight:600;font-size:15px;color:var(--text-primary, #1a1a1a)}.ex-visibility-tag[data-v-7046eb15]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:#eef0f3;color:#5f6b7a}.success-rate[data-v-7046eb15]{margin-left:auto;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:999px}.success-rate.rate-green[data-v-7046eb15]{background:#d8efdc;color:#1f6638}.success-rate.rate-orange[data-v-7046eb15]{background:#fbe9b8;color:#7a5a08}.success-rate.rate-red[data-v-7046eb15]{background:#fbd5d5;color:#8b1a1a}.ex-desc[data-v-7046eb15]{color:var(--text-secondary, #6b7280);font-size:13px;margin-top:2px}.ex-meta[data-v-7046eb15]{color:var(--text-muted, #9ca3af);font-size:12px;margin-top:4px}.dot-sep[data-v-7046eb15]{margin:0 6px}.row-actions[data-v-7046eb15]{display:flex;gap:14px;flex-shrink:0}.btn-link[data-v-7046eb15]{background:none;border:none;cursor:pointer;color:var(--green-dark, #2d6a4f);font-size:14px;padding:0;font-weight:500}.btn-link[data-v-7046eb15]:hover{text-decoration:underline}.btn-link.danger[data-v-7046eb15]{color:var(--red, #ef4444)}.btn[data-v-7046eb15]{padding:8px 16px;border-radius:var(--radius-button, 6px);font-size:14px;font-weight:500;cursor:pointer;border:none;font-family:var(--font-body, "DM Sans", sans-serif)}.btn-primary[data-v-7046eb15]{background:var(--green-mid, #40916c);color:#fff}.btn-primary[data-v-7046eb15]:hover{background:var(--green-dark, #2d6a4f)}.btn-secondary[data-v-7046eb15]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-7046eb15]:hover{background:#e5e7eb}.btn-danger[data-v-7046eb15]{background:var(--red, #ef4444);color:#fff}.btn-danger[data-v-7046eb15]:hover{background:#dc2626}.modal-overlay[data-v-7046eb15]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2100;padding:20px}.confirm-modal[data-v-7046eb15]{background:#fff;border-radius:var(--radius-card, 10px);padding:24px 28px;max-width:460px;width:100%;margin:auto;box-shadow:0 16px 48px #0003}.confirm-modal h3[data-v-7046eb15]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;margin:0 0 8px;color:var(--text-primary, #1a1a1a)}.confirm-modal p[data-v-7046eb15]{color:var(--text-secondary, #6b7280);font-size:14px;margin:0 0 12px}.impact-list[data-v-7046eb15]{margin:0 0 16px;padding-left:18px;color:var(--text-secondary, #6b7280);font-size:14px;line-height:1.5}.impact-list strong[data-v-7046eb15]{color:var(--text-primary, #1a1a1a)}.confirm-note[data-v-7046eb15]{font-size:12px;color:var(--text-muted, #9ca3af);margin:0 0 20px}.confirm-actions[data-v-7046eb15]{display:flex;gap:10px;justify-content:flex-end}.error-text[data-v-7046eb15]{color:var(--red, #ef4444);font-size:14px;margin-top:12px}.modal-overlay[data-v-7333028b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2100;padding:20px}.modal-content[data-v-7333028b]{background:#fff;border-radius:var(--radius-card, 10px);max-width:520px;width:100%;margin:auto;max-height:88dvh;overflow-y:auto;box-shadow:0 16px 48px #0003}.step[data-v-7333028b]{padding:24px 28px}.step h2[data-v-7333028b]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:20px;margin:0 0 16px;color:var(--text-primary, #1a1a1a);text-transform:capitalize}.form-group[data-v-7333028b]{margin-bottom:14px}.form-group label[data-v-7333028b]{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:5px}.form-input[data-v-7333028b],.form-textarea[data-v-7333028b]{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px;font-family:inherit}.form-textarea[data-v-7333028b]{font-family:ui-monospace,Menlo,monospace;font-size:12px}.field-hint[data-v-7333028b]{font-size:12px;color:var(--text-muted, #9ca3af);margin:5px 0 0}.kind-row[data-v-7333028b]{display:flex;gap:8px;flex-wrap:wrap}.kind-opt[data-v-7333028b]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d8dee4;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;color:#444}.kind-opt.active[data-v-7333028b]{border-color:var(--green-mid, #40916c);background:#eef7f1;color:var(--green-dark, #2d6a4f)}.settings-box[data-v-7333028b]{border:1px solid #e2e6ea;border-radius:8px;padding:12px 14px;background:#fafbfc;margin-bottom:14px}.settings-title[data-v-7333028b]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8895a3;margin-bottom:8px}.settings-row[data-v-7333028b]{display:flex;gap:12px;flex-wrap:wrap}.settings-field[data-v-7333028b]{flex:1;min-width:150px;font-size:13px;font-weight:600;color:#333}.settings-field .form-input[data-v-7333028b]{margin-top:4px;font-weight:400}.step-actions[data-v-7333028b]{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.btn[data-v-7333028b]{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;font-family:inherit}.btn[data-v-7333028b]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-7333028b]{background:var(--green-mid, #40916c);color:#fff}.btn-primary[data-v-7333028b]:hover:not(:disabled){background:var(--green-dark, #2d6a4f)}.btn-secondary[data-v-7333028b]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-7333028b]:hover{background:#e5e7eb}.error-text[data-v-7333028b]{color:var(--red, #ef4444);font-size:14px;margin-top:12px}.lib-tab[data-v-70855cef]{padding:4px 0}.tab-header[data-v-70855cef]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:16px}.tab-title[data-v-70855cef]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:22px;color:var(--green-dark, #2d6a4f);margin:0 0 4px}.tab-desc[data-v-70855cef]{color:var(--text-secondary, #6b7280);font-size:14px;margin:0;max-width:60ch}.header-actions[data-v-70855cef]{display:flex;gap:8px;flex-shrink:0}.empty-state[data-v-70855cef]{background:#fff;border:1px dashed var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);padding:40px;text-align:center;color:var(--text-secondary, #6b7280)}.empty-title[data-v-70855cef]{font-size:16px;color:var(--text-primary, #1a1a1a);font-weight:600;margin:0 0 6px}.empty-desc[data-v-70855cef]{font-size:14px;margin:0 0 16px}.lib-tree[data-v-70855cef]{background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);padding:6px;display:flex;flex-direction:column}.lib-row[data-v-70855cef]{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;font-size:14px}.lib-row[data-v-70855cef]:hover{background:#f6f8f7}.lib-caret-btn[data-v-70855cef]{border:none;background:none;cursor:pointer;color:#99a;font-size:13px;width:16px;padding:0}.lib-caret-spacer[data-v-70855cef]{width:16px;display:inline-block}.lib-icon[data-v-70855cef]{flex-shrink:0}.lib-name[data-v-70855cef]{font-weight:500;color:var(--text-primary, #1a1a1a)}.lib-size[data-v-70855cef]{font-size:11px;color:#9ca3af}.lib-badge[data-v-70855cef]{font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:#eef1f4;color:#8895a3;border-radius:4px;padding:1px 5px}.lib-settings[data-v-70855cef]{font-size:11px;color:#5f6b7a;background:#eef7f1;border-radius:4px;padding:1px 7px}.lib-actions[data-v-70855cef]{margin-left:auto;display:flex;gap:12px;flex-shrink:0}.btn-link[data-v-70855cef]{background:none;border:none;cursor:pointer;color:var(--green-dark, #2d6a4f);font-size:13px;padding:0;font-weight:500}.btn-link[data-v-70855cef]:hover{text-decoration:underline}.btn-link.danger[data-v-70855cef]{color:var(--red, #ef4444)}.btn[data-v-70855cef]{padding:8px 16px;border-radius:var(--radius-button, 6px);font-size:14px;font-weight:500;cursor:pointer;border:none;font-family:inherit}.btn-primary[data-v-70855cef]{background:var(--green-mid, #40916c);color:#fff}.btn-primary[data-v-70855cef]:hover{background:var(--green-dark, #2d6a4f)}.btn-secondary[data-v-70855cef]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-70855cef]:hover{background:#e5e7eb}.btn-ghost[data-v-70855cef]{background:transparent;color:var(--green-dark, #2d6a4f);border:1px solid var(--card-border, #e0ddd7)}.btn-ghost[data-v-70855cef]:hover{background:#f6f8f7}.btn-danger[data-v-70855cef]{background:var(--red, #ef4444);color:#fff}.btn-danger[data-v-70855cef]:hover{background:#dc2626}.modal-overlay[data-v-70855cef]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2100;padding:20px}.confirm-modal[data-v-70855cef]{background:#fff;border-radius:var(--radius-card, 10px);padding:24px 28px;max-width:440px;width:100%;margin:auto;box-shadow:0 16px 48px #0003}.confirm-modal h3[data-v-70855cef]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;margin:0 0 8px;color:var(--text-primary, #1a1a1a)}.confirm-modal p[data-v-70855cef]{color:var(--text-secondary, #6b7280);font-size:14px;margin:0 0 16px}.confirm-actions[data-v-70855cef]{display:flex;gap:10px;justify-content:flex-end}.error-text[data-v-70855cef]{color:var(--red, #ef4444);font-size:14px;margin-top:12px}.friends-tab[data-v-db81e5fe]{padding:8px 0}.section[data-v-db81e5fe]{margin-bottom:28px}.section-title[data-v-db81e5fe]{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:var(--font-heading, "DM Sans", sans-serif);font-size:16px;font-weight:600;color:var(--text-primary, #1f2937)}.count-pill[data-v-db81e5fe]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:#e3f2fd;color:#1565c0;font-size:12px;font-weight:600}.row[data-v-db81e5fe]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-card, 8px);margin-bottom:8px;background:#fff}.request-row[data-v-db81e5fe]{border-color:#bbdefb;background:#f5faff}.muted-row[data-v-db81e5fe]{background:#fafafa}.row-main[data-v-db81e5fe]{display:flex;flex-direction:column;gap:2px;min-width:0}.name[data-v-db81e5fe]{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:500;color:var(--text-primary, #1f2937)}.sub[data-v-db81e5fe]{font-size:13px;color:var(--text-secondary, #6b7280)}.presence-dot[data-v-db81e5fe]{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#cbd5e1;box-shadow:0 0 0 2px #fff}.presence-dot.p-online[data-v-db81e5fe]{background:#1d9e75}.presence-dot.p-at_table[data-v-db81e5fe]{background:#2563eb}.presence-dot.p-practicing[data-v-db81e5fe]{background:#d97706}.presence-label[data-v-db81e5fe]{font-weight:600}.presence-label.p-online[data-v-db81e5fe]{color:#1d9e75}.presence-label.p-at_table[data-v-db81e5fe]{color:#2563eb}.presence-label.p-practicing[data-v-db81e5fe]{color:#b45309}.appear-offline[data-v-db81e5fe]{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body, system-ui, sans-serif);font-size:12px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer}.appear-offline input[data-v-db81e5fe]{cursor:pointer}.row-actions[data-v-db81e5fe]{display:flex;align-items:center;gap:8px;flex-shrink:0}.confirm-text[data-v-db81e5fe]{font-size:13px;color:var(--text-secondary, #6b7280)}.btn[data-v-db81e5fe]{padding:7px 14px;border:none;border-radius:var(--radius-button, 6px);font-family:var(--font-body, "DM Sans", sans-serif);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-db81e5fe]:disabled{opacity:.55;cursor:default}.btn.primary[data-v-db81e5fe]{background:#e3f2fd;color:#1565c0}.btn.primary[data-v-db81e5fe]:hover:not(:disabled){background:#bbdefb}.btn.quiet[data-v-db81e5fe]{background:transparent;color:var(--text-secondary, #6b7280)}.btn.quiet[data-v-db81e5fe]:hover:not(:disabled){background:#f3f4f6}.btn.danger[data-v-db81e5fe]{background:#fdecea;color:#b3261e}.btn.danger[data-v-db81e5fe]:hover:not(:disabled){background:#fad2ce}.empty-state[data-v-db81e5fe],.notice[data-v-db81e5fe]{text-align:center;padding:40px 24px;border:1px dashed var(--border-color, #e5e7eb);border-radius:var(--radius-card, 8px)}.empty-title[data-v-db81e5fe],.notice-title[data-v-db81e5fe]{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary, #1f2937)}.empty-desc[data-v-db81e5fe],.notice-desc[data-v-db81e5fe]{margin:0 auto;max-width:480px;font-size:14px;line-height:1.6;color:var(--text-secondary, #6b7280)}.error-banner[data-v-db81e5fe]{margin:0 0 16px;padding:10px 14px;border-radius:var(--radius-card, 8px);background:#fdecea;color:#b3261e;font-size:14px}.loading-state[data-v-db81e5fe]{text-align:center;padding:60px 20px}.spinner[data-v-db81e5fe]{width:36px;height:36px;border:3px solid #e0e0e0;border-top-color:#1565c0;border-radius:50%;margin:0 auto 12px;animation:spin-db81e5fe .8s linear infinite}@keyframes spin-db81e5fe{to{transform:rotate(360deg)}}.roster[data-v-c9951ed1]{margin-top:16px;border-top:1px solid var(--card-border, #e0ddd7);padding-top:16px}.roster-header[data-v-c9951ed1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.roster-header h4[data-v-c9951ed1]{font-size:15px;color:var(--text-primary, #1a1a1a);margin:0}.member-count[data-v-c9951ed1]{font-size:13px;color:var(--text-secondary, #6b7280)}.roster-empty[data-v-c9951ed1]{text-align:center;padding:20px;color:var(--text-muted, #9ca3af);font-size:14px}.roster-table[data-v-c9951ed1]{width:100%;border-collapse:collapse;font-size:14px}.roster-table th[data-v-c9951ed1]{text-align:left;font-weight:500;color:var(--text-secondary, #6b7280);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-bottom:1px solid var(--card-border, #e0ddd7)}.roster-table td[data-v-c9951ed1]{padding:8px;border-bottom:1px solid #f3f4f6;color:var(--text-primary, #1a1a1a)}.member-name[data-v-c9951ed1]{font-weight:500}.member-email[data-v-c9951ed1]{color:var(--text-secondary, #6b7280)}.member-date[data-v-c9951ed1]{color:var(--text-secondary, #6b7280);white-space:nowrap}.member-action[data-v-c9951ed1]{text-align:right}.remove-btn[data-v-c9951ed1]{background:none;border:none;color:var(--text-muted, #9ca3af);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-button, 6px);transition:all .2s;font-family:var(--font-body, "DM Sans", sans-serif)}.remove-btn[data-v-c9951ed1]:hover:not(:disabled){color:var(--red, #ef4444);background:var(--red-light, #fee2e2)}.remove-btn[data-v-c9951ed1]:disabled{opacity:.5;cursor:not-allowed}.classroom-card[data-v-2758cc19]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);overflow:hidden;transition:box-shadow .2s}.classroom-card[data-v-2758cc19]:hover{box-shadow:0 4px 12px var(--card-shadow, rgba(0, 0, 0, .06))}.card-header[data-v-2758cc19]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;background:linear-gradient(135deg,var(--green-dark, #2d6a4f),#1d4e89);color:#fff}.classroom-name[data-v-2758cc19]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;margin:0 0 6px;font-weight:600}.header-meta[data-v-2758cc19]{display:flex;align-items:center;gap:12px;font-size:13px}.join-badge[data-v-2758cc19]{background:#fff3;padding:2px 8px;border-radius:12px;font-family:monospace;font-size:12px;letter-spacing:.03em}.member-count[data-v-2758cc19]{opacity:.85}.stat-badge[data-v-2758cc19]{background:#fff3;padding:2px 8px;border-radius:12px;font-size:12px}.stat-badge.completion[data-v-2758cc19]{background:#52b7884d}.mini-bars[data-v-2758cc19]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.mini-bar[data-v-2758cc19]{display:flex;align-items:center;gap:8px;font-size:11px;opacity:.9}.bar-label[data-v-2758cc19]{min-width:100px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track[data-v-2758cc19]{flex:1;height:6px;background:#fff3;border-radius:3px;overflow:hidden;min-width:60px}.bar-fill[data-v-2758cc19]{height:100%;background:#ffffffb3;border-radius:3px;transition:width .3s ease}.bar-count[data-v-2758cc19]{white-space:nowrap;opacity:.8}.expand-btn[data-v-2758cc19]{background:none;border:none;color:#fff;cursor:pointer;padding:4px;font-size:14px}.chevron[data-v-2758cc19]{display:inline-block;transition:transform .2s}.chevron.rotated[data-v-2758cc19]{transform:rotate(180deg)}.card-body[data-v-2758cc19]{padding:20px}.classroom-desc[data-v-2758cc19]{color:var(--text-secondary, #6b7280);font-size:14px;margin:0 0 16px}.invite-section[data-v-2758cc19]{margin-bottom:20px}.invite-section h4[data-v-2758cc19],.email-section h4[data-v-2758cc19]{font-size:15px;color:var(--text-primary, #1a1a1a);margin:0 0 4px}.invite-desc[data-v-2758cc19]{font-size:13px;color:var(--text-secondary, #6b7280);margin:0 0 8px}.invite-field[data-v-2758cc19]{display:flex;gap:8px}.invite-input[data-v-2758cc19]{flex:1;padding:8px 12px;background:#e8f5ee;border:1px solid var(--green-light, #b7e4c7);border-radius:var(--radius-button, 6px);font-size:14px;color:var(--green-dark, #2d6a4f);font-family:monospace}.invite-input[data-v-2758cc19]:focus{outline:none}.copy-btn[data-v-2758cc19]{padding:8px 16px;background:var(--green-mid, #40916c);color:#fff;border:none;border-radius:var(--radius-button, 6px);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif)}.copy-btn[data-v-2758cc19]:hover{background:var(--green-dark, #2d6a4f)}.email-section[data-v-2758cc19]{margin-bottom:16px}.email-header[data-v-2758cc19]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.copy-btn-small[data-v-2758cc19]{padding:4px 12px;font-size:12px}.email-template[data-v-2758cc19]{border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);padding:12px 16px;font-size:13px;line-height:1.5;color:var(--text-primary, #1a1a1a);background:#fafafa}.email-template strong[data-v-2758cc19]{color:var(--green-dark, #2d6a4f)}.email-body[data-v-2758cc19]{white-space:pre-wrap;margin-top:8px;font-size:13px;color:var(--text-secondary, #6b7280)}.assignments-section[data-v-2758cc19]{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--card-border, #e0ddd7)}.assignments-section h4[data-v-2758cc19]{font-size:15px;color:var(--text-primary, #1a1a1a);margin:0 0 8px}.assignment-list[data-v-2758cc19]{display:flex;flex-direction:column;gap:6px}.assignment-row[data-v-2758cc19]{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#f8f9fa;border-radius:var(--radius-button, 6px);font-size:13px}.assignment-row.clickable[data-v-2758cc19]{cursor:pointer;transition:background .15s}.assignment-row.clickable[data-v-2758cc19]:hover{background:#e8f5ee}.view-arrow[data-v-2758cc19]{color:var(--text-muted, #9ca3af);font-size:18px;line-height:1;transition:color .15s}.assignment-row.clickable:hover .view-arrow[data-v-2758cc19]{color:var(--green-mid, #40916c)}.assignment-name[data-v-2758cc19]{flex:1;font-weight:500;color:var(--text-primary, #1a1a1a)}.assignment-due[data-v-2758cc19]{color:var(--text-secondary, #6b7280)}.assignment-boards[data-v-2758cc19]{color:var(--text-muted, #9ca3af);white-space:nowrap}.loading-roster[data-v-2758cc19]{text-align:center;padding:20px;color:var(--text-muted, #9ca3af);font-size:14px}.modal-overlay[data-v-cf895141]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2000;padding:20px}.modal-content[data-v-cf895141]{background:#fff;border-radius:var(--radius-card, 10px);max-width:500px;width:100%;margin:auto;max-height:90dvh;overflow-y:auto;box-shadow:0 16px 48px #0003}.step[data-v-cf895141]{padding:32px}.step h2[data-v-cf895141]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:24px;color:var(--green-dark, #2d6a4f);margin-bottom:8px}.step-desc[data-v-cf895141]{color:var(--text-secondary, #6b7280);margin-bottom:24px}.form-group[data-v-cf895141]{margin-bottom:20px}.form-group label[data-v-cf895141]{display:block;font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:6px;font-size:14px}.optional[data-v-cf895141]{font-weight:400;color:var(--text-muted, #9ca3af)}.form-input[data-v-cf895141],.form-textarea[data-v-cf895141]{width:100%;padding:10px 12px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:15px;font-family:var(--font-body, "DM Sans", sans-serif);color:var(--text-primary, #1a1a1a);transition:border-color .2s;box-sizing:border-box}.form-input[data-v-cf895141]:focus,.form-textarea[data-v-cf895141]:focus{outline:none;border-color:var(--green-mid, #40916c)}.form-textarea[data-v-cf895141]{resize:vertical}.form-hint[data-v-cf895141]{font-size:13px;color:var(--text-muted, #9ca3af);margin-top:4px}.step-actions[data-v-cf895141]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn[data-v-cf895141]{padding:10px 20px;border-radius:var(--radius-button, 6px);font-size:15px;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-family:var(--font-body, "DM Sans", sans-serif)}.btn[data-v-cf895141]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-cf895141]{background:var(--green-mid, #40916c);color:#fff}.btn-primary[data-v-cf895141]:hover:not(:disabled){background:var(--green-dark, #2d6a4f)}.btn-secondary[data-v-cf895141]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-cf895141]:hover{background:#e5e7eb}.error-text[data-v-cf895141]{color:var(--red, #ef4444);font-size:14px;margin-top:12px;text-align:center}.needs-attention[data-v-2683be92]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px;margin-bottom:16px}.panel-header[data-v-2683be92]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-title[data-v-2683be92]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;color:var(--green-dark, #2d6a4f);margin:0}.clear-btn[data-v-2683be92]{padding:4px 12px;background:none;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:12px;color:var(--text-secondary, #6b7280);cursor:pointer;font-family:var(--font-body, "DM Sans", sans-serif);transition:all .2s}.clear-btn[data-v-2683be92]:hover{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.empty-state[data-v-2683be92]{color:var(--text-muted, #9ca3af);font-size:14px;text-align:center;padding:16px}.attention-list[data-v-2683be92]{display:flex;flex-direction:column;gap:8px}.attention-item[data-v-2683be92]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-button, 6px);font-size:13px;line-height:1.4}.attention-item.due_soon[data-v-2683be92]{background:#fff8e1;border-left:3px solid #ff9800}.attention-item.low_score[data-v-2683be92]{background:#fff3f3;border-left:3px solid #ef5350}.item-icon[data-v-2683be92]{flex-shrink:0;font-size:14px}.item-text[data-v-2683be92]{color:var(--text-primary, #1a1a1a)}.recent-activity[data-v-bcd870ee]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px}.panel-header[data-v-bcd870ee]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-title[data-v-bcd870ee]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;color:var(--green-dark, #2d6a4f);margin:0}.clear-btn[data-v-bcd870ee]{padding:4px 12px;background:none;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:12px;color:var(--text-secondary, #6b7280);cursor:pointer;font-family:var(--font-body, "DM Sans", sans-serif);transition:all .2s}.clear-btn[data-v-bcd870ee]:hover{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.empty-state[data-v-bcd870ee]{color:var(--text-muted, #9ca3af);font-size:14px;text-align:center;padding:16px}.activity-list[data-v-bcd870ee]{display:flex;flex-direction:column;gap:6px}.activity-item[data-v-bcd870ee]{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--radius-button, 6px);font-size:13px}.activity-item[data-v-bcd870ee]:hover{background:#f8f9fa}.event-icon[data-v-bcd870ee]{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}.event-icon.assignment_completed[data-v-bcd870ee]{background:#4caf50}.event-icon.student_joined[data-v-bcd870ee]{background:#1565c0}.event-content[data-v-bcd870ee]{flex:1;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.event-text[data-v-bcd870ee]{color:var(--text-primary, #1a1a1a);line-height:1.3}.event-time[data-v-bcd870ee]{color:var(--text-muted, #9ca3af);font-size:12px;white-space:nowrap;flex-shrink:0}.teacher-lobby[data-v-02cc177b]{padding:20px 0}.summary-row[data-v-02cc177b]{display:flex;flex-wrap:wrap;gap:20px;padding:12px 20px;background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);margin-bottom:20px;font-size:14px;color:var(--text-secondary, #6b7280)}.summary-row .stat strong[data-v-02cc177b]{color:var(--green-dark, #2d6a4f);font-weight:600;margin-right:4px}.action-btn[data-v-02cc177b]{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-button, 6px);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;border:none;font-family:var(--font-body, "DM Sans", sans-serif)}.action-btn.create[data-v-02cc177b]{background:var(--green-mid, #40916c);color:#fff}.action-btn.create[data-v-02cc177b]:hover{background:var(--green-dark, #2d6a4f)}.section-actions[data-v-02cc177b]{display:flex;gap:10px;align-items:center}.action-btn.tables-link[data-v-02cc177b]{background:#fff;color:var(--green-dark, #2d6a4f);border:1px solid var(--green-mid, #40916c)}.action-btn.tables-link[data-v-02cc177b]:hover{background:var(--green-pale, #eef7f2)}.dashboard-grid[data-v-02cc177b]{display:grid;grid-template-columns:3fr 2fr;gap:24px;margin-bottom:32px}.section-header[data-v-02cc177b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.section-title[data-v-02cc177b]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:20px;color:var(--green-dark, #2d6a4f);margin:0}.classrooms-section[data-v-02cc177b]{margin-bottom:0}.classroom-cards[data-v-02cc177b],.right-column[data-v-02cc177b]{display:flex;flex-direction:column;gap:16px}.loading-state[data-v-02cc177b]{text-align:center;padding:60px 20px;grid-column:1 / -1}.spinner[data-v-02cc177b]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#2d6a4f;border-radius:50%;animation:spin-02cc177b .8s linear infinite;margin:0 auto 16px}@keyframes spin-02cc177b{to{transform:rotate(360deg)}}.empty-state[data-v-02cc177b]{text-align:center;padding:32px;background:#fff;border-radius:var(--radius-card, 10px);border:1px dashed var(--card-border, #e0ddd7)}.empty-title[data-v-02cc177b]{font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:4px}.empty-desc[data-v-02cc177b]{color:var(--text-secondary, #6b7280);font-size:14px;margin-bottom:16px}@media (max-width: 768px){.dashboard-grid[data-v-02cc177b]{grid-template-columns:1fr}}.stats-row[data-v-5d1a3a32]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card[data-v-5d1a3a32]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);border-top:3px solid;padding:20px;text-align:center}.stat-number[data-v-5d1a3a32]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:32px;font-weight:700;color:var(--text-primary, #1a1a1a);margin-bottom:4px}.stat-label[data-v-5d1a3a32]{font-size:13px;color:var(--text-secondary, #6b7280);font-weight:500}.stat-sub[data-v-5d1a3a32]{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:2px 8px;border:1px solid transparent;border-radius:999px;background:none;font-size:12px;font-weight:600;font-family:inherit;color:#2d6a4f;cursor:pointer}.stat-sub[data-v-5d1a3a32]:hover{background:#2d6a4f14}.stat-sub.open[data-v-5d1a3a32]{background:#2d6a4f1f;border-color:#2d6a4f40}.stat-sub .caret[data-v-5d1a3a32]{font-size:9px}@media (max-width: 600px){.stats-row[data-v-5d1a3a32]{grid-template-columns:repeat(2,1fr)}}.popular-lessons[data-v-079bd4f8]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px}.panel-title[data-v-079bd4f8]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;color:var(--green-dark, #2d6a4f);margin:0 0 16px}.empty-state[data-v-079bd4f8]{color:var(--text-muted, #9ca3af);font-size:14px;text-align:center;padding:24px}.table-wrap[data-v-079bd4f8]{overflow-x:auto}.lessons-table[data-v-079bd4f8]{width:100%;border-collapse:collapse;font-size:13px}.lessons-table thead th[data-v-079bd4f8]{text-align:left;padding:8px 10px;border-bottom:2px solid #eee;font-size:11px;text-transform:uppercase;color:#999;font-weight:600;letter-spacing:.3px}.lessons-table tbody td[data-v-079bd4f8]{padding:8px 10px;border-bottom:1px solid #f0f0f0}.num-col[data-v-079bd4f8]{text-align:right;white-space:nowrap}.lesson-name[data-v-079bd4f8]{font-weight:500;color:var(--text-primary, #1a1a1a)}.accuracy-badge[data-v-079bd4f8]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.accuracy-badge.high[data-v-079bd4f8]{background:#e8f5e9;color:#2e7d32}.accuracy-badge.mid[data-v-079bd4f8]{background:#fff3e0;color:#e65100}.accuracy-badge.low[data-v-079bd4f8]{background:#ffebee;color:#c62828}.database-panel[data-v-d5945aff]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px}.panel-title[data-v-d5945aff]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;color:var(--green-dark, #2d6a4f);margin:0 0 16px}.empty-state[data-v-d5945aff]{color:var(--text-muted, #9ca3af);font-size:14px;text-align:center;padding:24px}.db-size[data-v-d5945aff]{font-size:14px;color:var(--text-secondary, #6b7280);margin-bottom:12px;padding:8px 12px;background:#f8f9fa;border-radius:var(--radius-button, 6px)}.db-size strong[data-v-d5945aff]{color:var(--text-primary, #1a1a1a)}.tables-table[data-v-d5945aff]{width:100%;border-collapse:collapse;font-size:13px}.tables-table thead th[data-v-d5945aff]{text-align:left;padding:6px 10px;border-bottom:2px solid #eee;font-size:11px;text-transform:uppercase;color:#999;font-weight:600}.tables-table tbody td[data-v-d5945aff]{padding:6px 10px;border-bottom:1px solid #f0f0f0}.num-col[data-v-d5945aff]{text-align:right}.table-name[data-v-d5945aff]{font-family:monospace;font-size:12px;color:var(--text-primary, #1a1a1a)}.system-health[data-v-48e6b981]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px}.health-header[data-v-48e6b981]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-title[data-v-48e6b981]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;color:var(--green-dark, #2d6a4f);margin:0}.refresh-btn[data-v-48e6b981]{padding:6px 14px;background:#fff;color:var(--green-mid, #40916c);border:1px solid var(--green-mid, #40916c);border-radius:var(--radius-button, 6px);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-body, "DM Sans", sans-serif)}.refresh-btn[data-v-48e6b981]:hover:not(:disabled){background:var(--green-pale, #d8f3dc)}.refresh-btn[data-v-48e6b981]:disabled{opacity:.5;cursor:not-allowed}.empty-state[data-v-48e6b981]{color:var(--text-muted, #9ca3af);font-size:14px;text-align:center;padding:24px}.health-rows[data-v-48e6b981]{display:flex;flex-direction:column;gap:10px}.health-row[data-v-48e6b981]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8f9fa;border-radius:var(--radius-button, 6px);font-size:14px}.status-dot[data-v-48e6b981]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.green[data-v-48e6b981]{background:#4caf50}.status-dot.red[data-v-48e6b981]{background:#ef5350}.status-dot.yellow[data-v-48e6b981]{background:#ff9800}.status-dot.blue[data-v-48e6b981]{background:#1565c0}.health-label[data-v-48e6b981]{font-weight:500;color:var(--text-primary, #1a1a1a);min-width:120px}.health-value[data-v-48e6b981]{color:var(--text-secondary, #6b7280)}.admin-lobby[data-v-6fbe43ab]{padding:20px 0}.admin-subtitle[data-v-6fbe43ab]{color:var(--text-secondary, #6b7280);margin-bottom:16px}.loading-state[data-v-6fbe43ab]{text-align:center;padding:60px 20px}.spinner[data-v-6fbe43ab]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#2d6a4f;border-radius:50%;animation:spin-6fbe43ab .8s linear infinite;margin:0 auto 16px}@keyframes spin-6fbe43ab{to{transform:rotate(360deg)}}.error-state[data-v-6fbe43ab]{text-align:center;padding:40px;color:#d32f2f}.retry-btn[data-v-6fbe43ab]{margin-top:12px;padding:8px 20px;background:#d32f2f;color:#fff;border:none;border-radius:var(--radius-button, 6px);font-size:14px;cursor:pointer}.content-grid[data-v-6fbe43ab]{display:grid;grid-template-columns:3fr 2fr;gap:24px;margin-bottom:24px}.announcement-section[data-v-6fbe43ab]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px;margin-bottom:24px}.section-title[data-v-6fbe43ab]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;color:var(--green-dark, #2d6a4f);margin:0 0 16px}.current-announcement[data-v-6fbe43ab]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:var(--radius-button, 6px)}.current-announcement.info[data-v-6fbe43ab]{background:#e3f2fd;border-left:3px solid #1565c0}.current-announcement.warning[data-v-6fbe43ab]{background:#fff8e1;border-left:3px solid #e65100}.current-announcement.urgent[data-v-6fbe43ab]{background:#ffebee;border-left:3px solid #c62828}.announcement-info[data-v-6fbe43ab]{display:flex;flex-direction:column;gap:4px;flex:1}.announcement-type-badge[data-v-6fbe43ab]{font-size:11px;font-weight:600;text-transform:uppercase;width:fit-content;padding:1px 8px;border-radius:10px}.announcement-type-badge.info[data-v-6fbe43ab]{background:#bbdefb;color:#1565c0}.announcement-type-badge.warning[data-v-6fbe43ab]{background:#ffe082;color:#e65100}.announcement-type-badge.urgent[data-v-6fbe43ab]{background:#ef9a9a;color:#c62828}.announcement-message[data-v-6fbe43ab]{font-size:14px;color:var(--text-primary, #1a1a1a)}.announcement-message[data-v-6fbe43ab] .ann-circle{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle;margin:0 1px}.announcement-expires[data-v-6fbe43ab]{font-size:12px;color:var(--text-muted, #9ca3af)}.announcement-actions[data-v-6fbe43ab]{display:flex;flex-direction:column;gap:6px}.edit-btn[data-v-6fbe43ab]{padding:6px 16px;background:#e3f2fd;color:#1565c0;border:none;border-radius:var(--radius-button, 6px);font-size:13px;cursor:pointer;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif)}.edit-btn[data-v-6fbe43ab]:hover{background:#bbdefb}.cancel-btn[data-v-6fbe43ab]{padding:8px 16px;background:#f3f4f6;color:var(--text-secondary, #6b7280);border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:13px;cursor:pointer;font-family:var(--font-body, "DM Sans", sans-serif)}.cancel-btn[data-v-6fbe43ab]:hover{background:#e5e7eb}.clear-btn[data-v-6fbe43ab]{padding:6px 16px;background:#ef5350;color:#fff;border:none;border-radius:var(--radius-button, 6px);font-size:13px;cursor:pointer;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif)}.clear-btn[data-v-6fbe43ab]:hover{background:#d32f2f}.clear-btn[data-v-6fbe43ab]:disabled{opacity:.6;cursor:not-allowed}.announcement-form[data-v-6fbe43ab]{display:flex;flex-direction:column;gap:10px}.announcement-input[data-v-6fbe43ab]{padding:10px 14px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:14px;font-family:var(--font-body, "DM Sans", sans-serif);width:100%}.announcement-input[data-v-6fbe43ab]:focus{outline:none;border-color:var(--green-mid, #40916c)}.form-row[data-v-6fbe43ab]{display:flex;gap:10px;align-items:center}.type-select[data-v-6fbe43ab]{padding:8px 12px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:13px;font-family:var(--font-body, "DM Sans", sans-serif);background:#fff}.expiry-input[data-v-6fbe43ab]{padding:8px 12px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:13px;font-family:var(--font-body, "DM Sans", sans-serif);flex:1}.publish-btn[data-v-6fbe43ab]{padding:8px 20px;background:var(--green-mid, #40916c);color:#fff;border:none;border-radius:var(--radius-button, 6px);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif)}.publish-btn[data-v-6fbe43ab]:hover{background:var(--green-dark, #2d6a4f)}.publish-btn[data-v-6fbe43ab]:disabled{opacity:.6;cursor:not-allowed}.name-correction-section[data-v-6fbe43ab]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px;margin-top:24px}.search-row[data-v-6fbe43ab]{display:flex;gap:10px;margin-bottom:12px}.search-input[data-v-6fbe43ab]{flex:1;padding:8px 14px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:14px;font-family:var(--font-body, "DM Sans", sans-serif)}.search-input[data-v-6fbe43ab]:focus{outline:none;border-color:var(--green-mid, #40916c)}.search-btn[data-v-6fbe43ab]{padding:8px 20px;background:var(--green-mid, #40916c);color:#fff;border:none;border-radius:var(--radius-button, 6px);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif)}.search-btn[data-v-6fbe43ab]:hover{background:var(--green-dark, #2d6a4f)}.search-btn[data-v-6fbe43ab]:disabled{opacity:.6;cursor:not-allowed}.search-results[data-v-6fbe43ab]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.search-result-item[data-v-6fbe43ab]{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius-button, 6px);cursor:pointer;font-size:13px;border:1px solid transparent}.search-result-item[data-v-6fbe43ab]:hover{background:#f8f9fa}.search-result-item.selected[data-v-6fbe43ab]{background:#e3f2fd;border-color:#bbdefb}.result-name[data-v-6fbe43ab]{font-weight:500;color:var(--text-primary, #1a1a1a)}.result-email[data-v-6fbe43ab]{color:var(--text-secondary, #6b7280)}.new-users-panel[data-v-6fbe43ab]{background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);padding:12px 16px;margin-bottom:24px;margin-top:-8px}.new-users-head[data-v-6fbe43ab]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin-bottom:8px}.new-users-list[data-v-6fbe43ab]{display:flex;flex-direction:column;gap:4px}.new-user-row[data-v-6fbe43ab]{display:flex;align-items:baseline;gap:10px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-button, 6px);background:none;font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.new-user-row[data-v-6fbe43ab]:hover{background:#f8f9fa}.nu-name[data-v-6fbe43ab]{font-weight:600;color:var(--text-primary, #1a1a1a);white-space:nowrap}.nu-email[data-v-6fbe43ab]{color:var(--text-secondary, #6b7280);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nu-when[data-v-6fbe43ab]{color:var(--text-secondary, #9ca3af);white-space:nowrap;font-variant-numeric:tabular-nums}.new-users-empty[data-v-6fbe43ab]{font-size:13px;color:var(--text-secondary, #6b7280)}@media (max-width: 600px){.new-user-row[data-v-6fbe43ab]{flex-wrap:wrap;gap:2px 10px}.nu-email[data-v-6fbe43ab]{flex-basis:100%;order:3}}.corrected-badge[data-v-6fbe43ab]{font-size:10px;text-transform:uppercase;font-weight:600;padding:1px 6px;border-radius:8px;background:#e8f5e9;color:#2e7d32}.view-as-btn[data-v-6fbe43ab]{margin-left:auto;padding:4px 10px;font-size:12px;font-weight:500;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;border-radius:var(--radius-button, 6px);cursor:pointer}.view-as-btn[data-v-6fbe43ab]:hover{background:#fde68a}.no-results[data-v-6fbe43ab]{color:var(--text-muted, #9ca3af);font-size:13px;padding:8px 0}.edit-form[data-v-6fbe43ab]{margin-top:12px;padding-top:12px;border-top:1px solid var(--card-border, #e0ddd7)}.edit-row[data-v-6fbe43ab]{display:flex;gap:10px;align-items:flex-end}.edit-field[data-v-6fbe43ab]{flex:1}.edit-field label[data-v-6fbe43ab]{display:block;font-size:12px;color:var(--text-secondary, #6b7280);margin-bottom:4px}.edit-input[data-v-6fbe43ab]{width:100%;padding:8px 12px;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);font-size:14px;font-family:var(--font-body, "DM Sans", sans-serif)}.edit-input[data-v-6fbe43ab]:focus{outline:none;border-color:var(--green-mid, #40916c)}.save-btn[data-v-6fbe43ab]{padding:8px 20px;background:var(--green-mid, #40916c);color:#fff;border:none;border-radius:var(--radius-button, 6px);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif);height:fit-content}.save-btn[data-v-6fbe43ab]:hover{background:var(--green-dark, #2d6a4f)}.save-btn[data-v-6fbe43ab]:disabled{opacity:.6;cursor:not-allowed}.save-feedback[data-v-6fbe43ab]{margin-top:8px;font-size:13px}.save-feedback.success[data-v-6fbe43ab]{color:#2e7d32}.save-feedback.error[data-v-6fbe43ab]{color:#d32f2f}.ops-section[data-v-6fbe43ab]{background:#fff;border-radius:var(--radius-card, 10px);border:1px solid var(--card-border, #e0ddd7);padding:20px;margin-top:24px}.ops-description[data-v-6fbe43ab]{font-size:13px;color:var(--text-secondary, #6b7280);margin-bottom:12px}.ops-actions[data-v-6fbe43ab]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.ops-btn[data-v-6fbe43ab]{padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:var(--radius-button, 6px);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif)}.ops-btn[data-v-6fbe43ab]:hover{background:#6d28d9}.ops-btn[data-v-6fbe43ab]:disabled{opacity:.6;cursor:not-allowed}.ops-result[data-v-6fbe43ab]{padding:12px 16px;border-radius:var(--radius-button, 6px);background:#e8f5e9;font-size:13px}.ops-result.error[data-v-6fbe43ab]{background:#ffebee;color:#c62828}@media (max-width: 768px){.content-grid[data-v-6fbe43ab]{grid-template-columns:1fr}.form-row[data-v-6fbe43ab],.edit-row[data-v-6fbe43ab]{flex-direction:column}}.merge-section[data-v-6fbe43ab]{margin-top:16px;padding-top:12px;border-top:1px solid var(--card-border, #e0ddd7)}.merge-btn[data-v-6fbe43ab]{padding:8px 14px;font-size:13px;font-weight:600;color:#8a2c2c;background:#fff;border:1px solid #e0b4b4;border-radius:6px;cursor:pointer}.merge-btn[data-v-6fbe43ab]:hover{background:#fdf2f2}.merge-panel[data-v-6fbe43ab]{margin-top:8px;padding:14px;background:#faf7f2;border:1px solid var(--card-border, #e0ddd7);border-radius:8px}.merge-intro[data-v-6fbe43ab]{font-size:13px;color:var(--text-secondary, #6b7280);margin:0 0 12px}.merge-confirm[data-v-6fbe43ab]{margin-top:12px}.merge-keeper-label[data-v-6fbe43ab]{font-size:13px;font-weight:600;margin:0 0 8px}.keeper-option[data-v-6fbe43ab]{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 0;cursor:pointer}.merge-warning[data-v-6fbe43ab]{font-size:13px;color:#8a2c2c;background:#fdf2f2;border:1px solid #f0d0d0;border-radius:6px;padding:8px 10px;margin:10px 0}.merge-confirm-btn[data-v-6fbe43ab]{padding:9px 16px;font-size:13px;font-weight:700;color:#fff;background:#b23b3b;border:none;border-radius:6px;cursor:pointer}.merge-confirm-btn[data-v-6fbe43ab]:disabled{opacity:.5;cursor:default}.merge-cancel[data-v-6fbe43ab]{display:block;margin-top:10px;background:none;border:none;color:var(--text-secondary, #6b7280);font-size:13px;cursor:pointer;text-decoration:underline}.pill-group[data-v-ac09ad5a]{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:8px;padding:3px}.pill[data-v-ac09ad5a]{padding:4px 12px;border:none;background:transparent;color:var(--text-secondary, #6b7280);font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.pill[data-v-ac09ad5a]:hover:not(.active){background:#f3f4f6}.pill.active[data-v-ac09ad5a]{background:var(--green-pale, #d8f3dc);color:var(--green-dark, #2d6a4f)}.pill.active.threshold[data-v-ac09ad5a]{background:var(--green-mid, #40916c);color:#fff}.legend[data-v-ba194658]{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 14px;margin-bottom:16px;font-size:12px;color:var(--text-secondary, #6b7280)}.legend-label[data-v-ba194658]{font-weight:500}.legend-item[data-v-ba194658]{display:inline-flex;align-items:center;gap:6px}.bar[data-v-ba194658]{display:inline-block;width:14px;height:3px;border-radius:2px}.bar-coverage[data-v-ba194658]{background:#7f77dd}.bar-prof-none[data-v-ba194658]{background:#b4b2a9}.bar-prof-learn[data-v-ba194658]{background:#f0997b}.bar-prof-practice[data-v-ba194658]{background:#ef9f27}.bar-prof-good[data-v-ba194658]{background:#639922}.card-tree[data-v-bd98e41c]{background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);padding:6px;font-size:13px;display:flex;flex-direction:column;gap:2px;align-self:start}.tree-row[data-v-bd98e41c]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:6px;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit;color:var(--text-primary, #1a1a1a);transition:background .15s,color .15s}.tree-row[data-v-bd98e41c]:hover{background:#f3f4f6}.tree-row.active[data-v-bd98e41c]{background:var(--green-pale, #d8f3dc);color:var(--green-dark, #2d6a4f);font-weight:500}.tree-row-label[data-v-bd98e41c]{display:inline-flex;align-items:center;gap:8px}.tree-icon[data-v-bd98e41c]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:inherit;opacity:.85}.tree-row-count[data-v-bd98e41c]{font-size:11px;color:var(--text-tertiary, #9ca3af);display:inline-flex;align-items:center;gap:6px}.note-dot[data-v-bd98e41c]{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ef9f27}.tree-row.active .tree-row-count[data-v-bd98e41c]{color:var(--green-dark, #2d6a4f);opacity:.75}.row[data-v-f375fdde]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;border:1px solid transparent}.row[data-v-f375fdde]:hover,.row.checked[data-v-f375fdde]{background:#f9fafb}.row-check[data-v-f375fdde]{margin-top:3px;accent-color:var(--green-mid, #40916c);cursor:pointer}.row-check[data-v-f375fdde]:disabled{cursor:not-allowed}.row-body[data-v-f375fdde]{flex:1;min-width:0}.row-headline[data-v-f375fdde]{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.row-name[data-v-f375fdde]{font-size:14px;font-weight:500;color:var(--text-primary, #1a1a1a);display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.row-name.form-name-alert[data-v-f375fdde]{color:#c62828}.row-name.form-name-announce[data-v-f375fdde]{color:#1565c0}.form-badge[data-v-f375fdde]{display:inline-block;font-size:10px;padding:1px 6px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.form-badge.form-alert[data-v-f375fdde]{background:#fdecea;color:#c62828}.form-badge.form-announce[data-v-f375fdde]{background:#e3f2fd;color:#1565c0}.bar[data-v-f375fdde]{display:inline-block;width:40px;height:3px;border-radius:2px}.bar-coverage[data-v-f375fdde]{background:#7f77dd}.bar-prof-none[data-v-f375fdde]{background:#b4b2a9}.bar-prof-learn[data-v-f375fdde]{background:#f0997b}.bar-prof-practice[data-v-f375fdde]{background:#ef9f27}.bar-prof-good[data-v-f375fdde]{background:#639922}.row-desc[data-v-f375fdde]{font-size:12px;color:var(--text-secondary, #6b7280);margin-top:2px}.row-desc[data-v-f375fdde] .suit-red{color:#d32f2f}.row-desc[data-v-f375fdde] .suit-black{color:#1a1a1a}.level-badge[data-v-f375fdde]{display:inline-block;font-size:10px;padding:1px 6px;border-radius:999px;font-weight:500;text-transform:capitalize}.lvl-basic[data-v-f375fdde]{background:#e6f1fb;color:#0c447c}.lvl-intermediate[data-v-f375fdde]{background:#e1f5ee;color:#085041}.lvl-advanced[data-v-f375fdde]{background:#faeeda;color:#633806}.lvl-expert[data-v-f375fdde]{background:#fbeaf0;color:#72243e}.rich-suit-field[data-v-0a57d516]{display:inline-block;width:100%}.rich-suit-field.block[data-v-0a57d516]{display:block}.rich-suit-input[data-v-0a57d516]{width:100%;font-family:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--card-border, #e0ddd7);border-radius:6px;background:#fff;color:var(--text-primary, #1a1a1a);box-sizing:border-box}.rich-suit-input[data-v-0a57d516]:focus{outline:none;border-color:var(--green-mid, #40916c);box-shadow:0 0 0 2px var(--green-pale, #d8f3dc)}.rich-suit-display[data-v-0a57d516]{display:inline-block;width:100%;font-family:inherit;font-size:13px;padding:4px 8px;border:1px solid transparent;border-radius:6px;background:#fff;color:var(--text-primary, #1a1a1a);cursor:text;box-sizing:border-box;min-height:26px;line-height:18px;white-space:pre-wrap;word-break:break-word}.rich-suit-display.multiline[data-v-0a57d516]{min-height:80px;line-height:1.5}.rich-suit-textarea[data-v-0a57d516]{min-height:80px;resize:vertical;font-family:inherit;line-height:1.5}.rich-suit-display[data-v-0a57d516]:not(.readonly):hover{border-color:var(--card-border, #e0ddd7)}.rich-suit-display.readonly[data-v-0a57d516]{cursor:not-allowed;background:#f9fafb}.rich-suit-display.empty[data-v-0a57d516]{color:var(--text-tertiary, #9ca3af);font-style:italic}.rich-suit-display[data-v-0a57d516] .suit-red{color:#d32f2f}.rich-suit-display[data-v-0a57d516] .suit-black{color:#1a1a1a}.vs-nt-defense[data-v-e820427d]{margin-bottom:20px;padding:12px 14px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px)}.vs-nt-title[data-v-e820427d]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:16px;color:var(--green-dark, #2d6a4f);margin:0 0 12px}.vs-nt-grid[data-v-e820427d]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vs-nt-block-label[data-v-e820427d]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin-bottom:6px}.vs-nt-field[data-v-e820427d]{display:flex;align-items:center;gap:8px;padding:6px 0 10px;border-bottom:1px solid var(--card-border, #e0ddd7);margin-bottom:8px}.vs-nt-field-label[data-v-e820427d]{flex:0 0 60px;font-size:12px;color:var(--text-secondary, #6b7280)}.vs-nt-bid[data-v-e820427d]{display:flex;align-items:center;gap:8px;padding:4px 0}.vs-nt-bid-label[data-v-e820427d]{flex:0 0 40px;font-size:13px;color:var(--text-secondary, #6b7280);font-weight:500}.vs-nt-bid>.rich-suit-field[data-v-e820427d]{flex:1;min-width:0}.vs-nt-system-wrap[data-v-e820427d]{flex:1;position:relative}.vs-nt-system-input[data-v-e820427d]{width:100%;font-family:inherit;font-size:13px;padding:4px 30px 4px 8px;border:1px solid var(--card-border, #e0ddd7);border-radius:6px;background:#fff;color:var(--text-primary, #1a1a1a);box-sizing:border-box}.vs-nt-system-input[data-v-e820427d]:focus{outline:none;border-color:var(--green-mid, #40916c);box-shadow:0 0 0 2px var(--green-pale, #d8f3dc)}.vs-nt-system-input[readonly][data-v-e820427d]{background:#f9fafb;cursor:not-allowed}.vs-nt-system-picker[data-v-e820427d]{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:transparent;color:var(--text-secondary, #6b7280);font-size:14px;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s}.vs-nt-system-picker[data-v-e820427d]:hover{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.vs-nt-system-picker.open[data-v-e820427d]{background:var(--green-pale, #d8f3dc);color:var(--green-dark, #2d6a4f)}.vs-nt-system-menu[data-v-e820427d]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:6px;box-shadow:0 4px 12px #00000014;max-height:240px;overflow-y:auto}.vs-nt-system-menu-item[data-v-e820427d]{padding:6px 10px;font-size:13px;cursor:pointer;border-radius:4px;color:var(--text-primary, #1a1a1a)}.vs-nt-system-menu-item[data-v-e820427d]:hover{background:var(--green-pale, #d8f3dc);color:var(--green-dark, #2d6a4f)}.vs-nt-bid-label[data-v-e820427d] .suit-red{color:#d32f2f}.vs-nt-bid-label[data-v-e820427d] .suit-black{color:#1a1a1a}@media (max-width: 720px){.vs-nt-grid[data-v-e820427d]{grid-template-columns:1fr}}.dcb-panel[data-v-54b4a604]{margin-bottom:20px;padding:14px 16px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px)}.dcb-title[data-v-54b4a604]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:15px;color:var(--green-dark, #2d6a4f);margin:0 0 12px}.dcb-grid[data-v-54b4a604]{display:grid;grid-template-columns:100px repeat(4,1fr);gap:6px 14px;align-items:center;margin-bottom:14px}.dcb-col-head[data-v-54b4a604]{text-align:center;font-size:12px}.dcb-col-label[data-v-54b4a604]{font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280)}.dcb-col-suits[data-v-54b4a604]{margin-top:2px;font-size:14px;font-weight:600}.dcb-col-suits[data-v-54b4a604] .suit-red{color:#d32f2f}.dcb-col-suits[data-v-54b4a604] .suit-black{color:#1a1a1a}.dcb-row-label[data-v-54b4a604]{font-size:13px;color:var(--text-primary, #1a1a1a)}.dcb-cell[data-v-54b4a604]{display:inline-flex;justify-content:center;align-items:center}.dcb-cell input[data-v-54b4a604]{accent-color:var(--green-mid, #40916c);cursor:pointer}.dcb-cell input[data-v-54b4a604]:disabled{cursor:not-allowed}.dcb-describe[data-v-54b4a604]{display:flex;align-items:flex-start;gap:12px;padding:6px 0}.dcb-describe-label[data-v-54b4a604]{flex:0 0 100px;font-size:13px;color:var(--text-secondary, #6b7280);padding-top:4px}.vstd-panel[data-v-82a7925c]{margin-bottom:20px;padding:14px 16px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px)}.vstd-title[data-v-82a7925c]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:15px;color:var(--green-dark, #2d6a4f);margin:0 0 12px}.vstd-row[data-v-82a7925c]{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--card-border, #e0ddd7);font-size:13px}.vstd-row[data-v-82a7925c]:last-of-type{border-bottom:none}.vstd-label[data-v-82a7925c]{flex:0 0 130px;color:var(--text-secondary, #6b7280)}.vstd-checks[data-v-82a7925c]{display:inline-flex;flex-wrap:wrap;gap:14px}.vstd-check[data-v-82a7925c]{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--text-primary, #1a1a1a)}.vstd-check input[data-v-82a7925c]{accent-color:var(--green-mid, #40916c);cursor:pointer}.vstd-check input[data-v-82a7925c]:disabled{cursor:not-allowed}.vstd-2nt[data-v-82a7925c]{margin-top:10px;padding-top:10px;border-top:1px solid var(--card-border, #e0ddd7)}.vstd-2nt-head[data-v-82a7925c]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin-bottom:6px}.vstd-2nt-row[data-v-82a7925c]{display:flex;align-items:center;gap:14px;padding:4px 0;font-size:13px}.vstd-2nt-suit[data-v-82a7925c]{flex:0 0 60px;font-weight:600;color:var(--text-primary, #1a1a1a)}.vstd-2nt-suit[data-v-82a7925c] .suit-red{color:#d32f2f}.vstd-2nt-suit[data-v-82a7925c] .suit-black{color:#1a1a1a}.vstd-2nt-range[data-v-82a7925c]{display:inline-flex;align-items:center;gap:4px}.vstd-range-label[data-v-82a7925c]{font-size:12px;color:var(--text-secondary, #6b7280);margin-right:4px}.vstd-num-input[data-v-82a7925c]{width:56px;font-family:inherit;font-size:13px;padding:3px 6px;border:1px solid var(--card-border, #e0ddd7);border-radius:6px;background:#fff}.vstd-num-input[data-v-82a7925c]:focus{outline:none;border-color:var(--green-mid, #40916c);box-shadow:0 0 0 2px var(--green-pale, #d8f3dc)}.vstd-num-input[data-v-82a7925c]:disabled{background:#f9fafb;cursor:not-allowed}.vstd-range-dash[data-v-82a7925c]{color:var(--text-tertiary, #9ca3af)}.vsp-panel[data-v-b8fdfa1d]{margin-bottom:20px;padding:14px 16px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px)}.vsp-title[data-v-b8fdfa1d]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:15px;color:var(--green-dark, #2d6a4f);margin:0 0 12px}.vsp-row[data-v-b8fdfa1d]{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--card-border, #e0ddd7);font-size:13px}.vsp-row[data-v-b8fdfa1d]:last-of-type{border-bottom:none}.vsp-label[data-v-b8fdfa1d]{flex:0 0 200px;color:var(--text-secondary, #6b7280)}.vsp-row>.rich-suit-field[data-v-b8fdfa1d]{flex:1;min-width:0}.vsp-check[data-v-b8fdfa1d]{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--text-primary, #1a1a1a)}.vsp-check input[data-v-b8fdfa1d]{accent-color:var(--green-mid, #40916c);cursor:pointer}.vsp-check input[data-v-b8fdfa1d]:disabled{cursor:not-allowed}.carding-panel[data-v-f57577b6]{margin-bottom:20px;padding:14px 16px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px)}.panel-title[data-v-f57577b6]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:15px;color:var(--green-dark, #2d6a4f);margin:6px 0 10px}.panel-title[data-v-f57577b6]:first-child{margin-top:0}.signal-grid[data-v-f57577b6]{display:grid;grid-template-columns:minmax(200px,1.6fr) auto auto;gap:6px 16px;align-items:center;margin-bottom:16px}.signal-grid.signal-grid-3[data-v-f57577b6]{grid-template-columns:minmax(180px,1.6fr) auto auto}.signal-col-head[data-v-f57577b6]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);text-align:center}.signal-row-head[data-v-f57577b6]{font-size:13px;color:var(--text-primary, #1a1a1a)}.grid-box[data-v-f57577b6]{display:inline-flex;justify-content:center;align-items:center}.grid-box input[data-v-f57577b6]{accent-color:var(--green-mid, #40916c);cursor:pointer}.grid-box input[data-v-f57577b6]:disabled{cursor:not-allowed}.smith-row[data-v-f57577b6],.first-discard-row[data-v-f57577b6]{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:6px 0}.smith-label[data-v-f57577b6]{font-size:13px;color:var(--text-secondary, #6b7280);min-width:120px}.inline-box[data-v-f57577b6]{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;color:var(--text-primary, #1a1a1a)}.inline-box input[data-v-f57577b6]{accent-color:var(--green-mid, #40916c);cursor:pointer}.inline-box input[data-v-f57577b6]:disabled{cursor:not-allowed}.trump-row[data-v-f57577b6]{display:flex;align-items:flex-start;gap:14px;padding:8px 0}.trump-row .smith-label[data-v-f57577b6]{padding-top:6px}.pattern-selector[data-v-7ad6cb67]{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;background:#fafaf9;border:1px solid var(--card-border, #e0ddd7);border-radius:6px}.pattern-token[data-v-7ad6cb67]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:22px;padding:0 4px;border:none;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--text-primary, #1a1a1a);cursor:pointer;border-radius:50%;transition:background .15s}.pattern-token[data-v-7ad6cb67]:hover:not(:disabled){background:var(--green-pale, #d8f3dc)}.pattern-token.selected[data-v-7ad6cb67]{background:var(--green-mid, #40916c);color:#fff;font-weight:600}.pattern-token.readonly[data-v-7ad6cb67]{cursor:default}.pattern-token[data-v-7ad6cb67]:disabled{cursor:not-allowed}.leads-panel[data-v-f364f3bb]{margin-bottom:20px;padding:14px 16px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px)}.leads-grid[data-v-f364f3bb]{display:grid;grid-template-columns:1fr 1fr;gap:18px}.leads-col-head[data-v-f364f3bb]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:15px;color:var(--green-dark, #2d6a4f);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--card-border, #e0ddd7)}.leads-row[data-v-f364f3bb]{display:flex;align-items:flex-start;gap:12px;padding:8px 0}.leads-row-label[data-v-f364f3bb]{flex:0 0 130px;font-size:12px;color:var(--text-secondary, #6b7280);padding-top:4px}.leads-row-options[data-v-f364f3bb]{flex:1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-box[data-v-f364f3bb]{display:inline-flex;align-items:center;gap:4px;font-size:13px;cursor:pointer;color:var(--text-primary, #1a1a1a)}.inline-box input[data-v-f364f3bb]{accent-color:var(--green-mid, #40916c);cursor:pointer}.inline-box input[data-v-f364f3bb]:disabled{cursor:not-allowed}.length-grid[data-v-f364f3bb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;flex:1}@media (max-width: 900px){.leads-grid[data-v-f364f3bb]{grid-template-columns:1fr}}.detail[data-v-aaff37f7]{background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-card, 10px);padding:20px;min-height:480px}.detail-header[data-v-aaff37f7]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.detail-title[data-v-aaff37f7]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:20px;color:var(--green-dark, #2d6a4f);margin:0}.detail-hidden[data-v-aaff37f7]{font-size:12px;color:var(--text-tertiary, #9ca3af)}.fields[data-v-aaff37f7]{border-top:1px solid var(--card-border, #e0ddd7);margin-bottom:16px}.fields.twocol[data-v-aaff37f7]{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.field-row[data-v-aaff37f7]{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--card-border, #e0ddd7);font-size:13px}.field-row[data-v-aaff37f7]:last-child{border-bottom:none}.field-label[data-v-aaff37f7]{flex:0 0 200px;color:var(--text-secondary, #6b7280)}.fields.twocol .field-label[data-v-aaff37f7]{flex:0 0 150px}.field-label[data-v-aaff37f7] .suit-red{color:#d32f2f}.field-label[data-v-aaff37f7] .suit-black{color:#1a1a1a}.field-value[data-v-aaff37f7]{flex:1;color:var(--text-primary, #1a1a1a);font-weight:500;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.field-input[data-v-aaff37f7]{font-family:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--card-border, #e0ddd7);border-radius:6px;background:#fff;color:var(--text-primary, #1a1a1a)}.field-input[data-v-aaff37f7]:focus{outline:none;border-color:var(--green-mid, #40916c);box-shadow:0 0 0 2px var(--green-pale, #d8f3dc)}.range-input[data-v-aaff37f7]{width:60px}.number-input[data-v-aaff37f7]{width:80px}.text-input[data-v-aaff37f7]{min-width:200px;max-width:320px}.range-dash[data-v-aaff37f7]{color:var(--text-tertiary, #9ca3af)}.field-checkbox[data-v-aaff37f7]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:400;color:var(--text-secondary, #6b7280)}.field-checkbox input[data-v-aaff37f7]{accent-color:var(--green-mid, #40916c);cursor:pointer}.inline-checks[data-v-aaff37f7]{display:inline-flex;flex-wrap:wrap;gap:14px}.inline-check[data-v-aaff37f7]{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-primary, #1a1a1a);cursor:pointer}.inline-check[data-v-aaff37f7] .suit-red{color:#d32f2f}.inline-check[data-v-aaff37f7] .suit-black{color:#1a1a1a}.inline-check input[data-v-aaff37f7]{accent-color:var(--green-mid, #40916c);cursor:pointer}.inline-check input[data-v-aaff37f7]:disabled{cursor:not-allowed}.conventions-label[data-v-aaff37f7]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin:6px 0 8px}.conventions-list[data-v-aaff37f7]{display:flex;flex-direction:column;gap:4px}.empty-message[data-v-aaff37f7]{padding:20px;text-align:center;color:var(--text-tertiary, #9ca3af);font-size:13px}.notes-section[data-v-aaff37f7]{margin-top:20px;padding-top:16px;border-top:1px solid var(--card-border, #e0ddd7)}.notes-section-label[data-v-aaff37f7]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin:0 0 8px}.notes-block[data-v-aaff37f7]{border:1px solid var(--card-border, #e0ddd7);border-radius:6px;overflow:hidden;margin-bottom:8px}.notes-header[data-v-aaff37f7]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:#f9fafb;border:none;cursor:pointer;font-family:inherit;font-size:13px;text-align:left;color:var(--text-primary, #1a1a1a)}.notes-header[data-v-aaff37f7]:hover{background:#f3f4f6}.notes-chevron[data-v-aaff37f7]{display:inline-block;transition:transform .15s;font-size:12px;color:var(--text-secondary, #6b7280)}.notes-block.open .notes-chevron[data-v-aaff37f7]{transform:rotate(90deg)}.notes-title[data-v-aaff37f7]{flex:1;font-weight:500}.note-dot[data-v-aaff37f7]{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ef9f27}.notes-status[data-v-aaff37f7]{font-size:11px;color:var(--text-tertiary, #9ca3af)}.notes-status.has-content[data-v-aaff37f7]{color:#d97706}.notes-body[data-v-aaff37f7]{padding:10px 12px;background:#fff}.notes-body textarea[data-v-aaff37f7]{width:100%;min-height:70px;resize:vertical;font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--card-border, #e0ddd7);border-radius:6px;background:#fff;color:var(--text-primary, #1a1a1a);line-height:1.5;box-sizing:border-box}.notes-body textarea[data-v-aaff37f7]:focus{outline:none;border-color:var(--green-mid, #40916c);box-shadow:0 0 0 2px var(--green-pale, #d8f3dc)}.notes-body textarea[readonly][data-v-aaff37f7]{background:#f9fafb;cursor:not-allowed}.convention-card[data-v-8e08e0cc]{padding:8px 0;font-family:var(--font-body, "DM Sans", sans-serif)}.convention-card[data-v-8e08e0cc]:not(.embedded){max-width:var(--max-width, 1200px);margin:0 auto;padding:24px 16px}.page-header h1[data-v-8e08e0cc]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:28px;color:var(--green-dark, #2d6a4f);margin:0 0 16px}.card-header[data-v-8e08e0cc]{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:16px}.title-main[data-v-8e08e0cc]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:20px;font-weight:600;color:var(--green-dark, #2d6a4f)}.title-sub[data-v-8e08e0cc]{font-size:13px;color:var(--text-secondary, #6b7280);margin-top:2px}.card-actions[data-v-8e08e0cc]{display:flex;gap:8px}.btn[data-v-8e08e0cc]{font-family:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:6px;border:1px solid var(--card-border, #e0ddd7);background:#fff;color:var(--text-secondary, #6b7280);cursor:pointer}.btn[data-v-8e08e0cc]:hover:not(:disabled){background:#f3f4f6}.btn[data-v-8e08e0cc]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-8e08e0cc]{background:var(--green-mid, #40916c);color:#fff;border-color:transparent}.btn-primary[data-v-8e08e0cc]:hover:not(:disabled){background:var(--green-dark, #2d6a4f)}.btn-danger[data-v-8e08e0cc]{color:#b91c1c;border-color:#fecaca}.btn-danger[data-v-8e08e0cc]:hover:not(:disabled){background:#fef2f2}.card-picker[data-v-8e08e0cc]{font-family:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--card-border, #e0ddd7);border-radius:6px;background:#fff;color:var(--text-primary, #1a1a1a);margin-right:8px}.read-only-pill[data-v-8e08e0cc],.view-pill[data-v-8e08e0cc],.dirty-pill[data-v-8e08e0cc]{display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;margin-left:6px;text-transform:uppercase;letter-spacing:.04em}.read-only-pill[data-v-8e08e0cc]{background:#f3f4f6;color:var(--text-secondary, #6b7280)}.view-pill[data-v-8e08e0cc]{background:#e0f2fe;color:#075985}.dirty-pill[data-v-8e08e0cc]{background:#fef3c7;color:#92400e}.save-error[data-v-8e08e0cc]{margin:-4px 0 12px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:13px}.controls[data-v-8e08e0cc]{background:#f9fafb;border-radius:var(--radius-card, 10px);padding:12px 14px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}.control-group[data-v-8e08e0cc]{display:flex;align-items:center;gap:10px}.control-label[data-v-8e08e0cc]{font-size:11px;font-weight:600;color:var(--text-secondary, #6b7280);letter-spacing:.04em}.control-divider[data-v-8e08e0cc]{width:1px;height:28px;background:var(--card-border, #e0ddd7)}.overlay-toggle[data-v-8e08e0cc]{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;color:var(--text-primary, #1a1a1a)}.overlay-toggle.disabled[data-v-8e08e0cc]{cursor:not-allowed;color:var(--text-tertiary, #9ca3af)}.overlay-toggle .hint[data-v-8e08e0cc]{font-size:11px;color:var(--text-tertiary, #9ca3af)}.overlay-toggle input[data-v-8e08e0cc]{accent-color:var(--green-mid, #40916c)}.main-grid[data-v-8e08e0cc]{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.card-footer[data-v-8e08e0cc]{margin-top:16px;display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary, #6b7280)}@media (max-width: 720px){.main-grid[data-v-8e08e0cc]{grid-template-columns:1fr}}.modal-overlay[data-v-8e08e0cc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2000;padding:20px}.modal-content.export-dialog[data-v-8e08e0cc]{background:#fff;border-radius:var(--radius-card, 10px);max-width:460px;width:100%;margin:auto;max-height:90dvh;overflow-y:auto;padding:28px;box-shadow:0 16px 48px #0003}.export-dialog h2[data-v-8e08e0cc]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:22px;color:var(--green-dark, #2d6a4f);margin:0 0 8px}.dialog-desc[data-v-8e08e0cc]{color:var(--text-secondary, #6b7280);font-size:14px;margin:0 0 20px}.format-list[data-v-8e08e0cc]{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.format-row[data-v-8e08e0cc]{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;background:#fff;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);cursor:pointer;font-family:inherit;transition:border-color .2s,background .2s}.format-row[data-v-8e08e0cc]:hover:not(:disabled){border-color:var(--green-mid, #40916c);background:var(--green-pale, #d8f3dc)}.format-row.disabled[data-v-8e08e0cc],.format-row[data-v-8e08e0cc]:disabled{opacity:.55;cursor:not-allowed}.coming-soon[data-v-8e08e0cc]{display:inline-block;margin-left:8px;font-size:11px;font-weight:500;color:var(--text-muted, #9ca3af);background:#f3f4f6;padding:2px 6px;border-radius:4px;vertical-align:middle}.format-name[data-v-8e08e0cc]{font-weight:600;font-size:15px;color:var(--text-primary, #1a1a1a)}.format-desc[data-v-8e08e0cc]{font-size:13px;color:var(--text-secondary, #6b7280)}.dialog-actions[data-v-8e08e0cc]{display:flex;justify-content:flex-end}.btn-secondary[data-v-8e08e0cc]{background:#f3f4f6;color:var(--text-primary, #1a1a1a);border:none}.btn-secondary[data-v-8e08e0cc]:hover{background:#e5e7eb}.lobby-view[data-v-7b822e9b]{flex:1}.modal-overlay[data-v-fbbd60ae]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:2000;padding:20px}.modal-content[data-v-fbbd60ae]{background:#fff;border-radius:var(--radius-card, 10px);max-width:560px;width:100%;margin:auto;max-height:90dvh;overflow-y:auto;box-shadow:0 16px 48px #0003}.step[data-v-fbbd60ae]{padding:32px}.step h2[data-v-fbbd60ae]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:24px;color:var(--green-dark, #2d6a4f);margin-bottom:8px}.step-desc[data-v-fbbd60ae]{color:var(--text-secondary, #6b7280);margin-bottom:24px}.capabilities[data-v-fbbd60ae]{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.capability[data-v-fbbd60ae]{display:flex;gap:12px;align-items:flex-start}.capability-icon[data-v-fbbd60ae]{font-size:28px;line-height:1;flex-shrink:0}.capability strong[data-v-fbbd60ae]{display:block;color:var(--text-primary, #1a1a1a);margin-bottom:2px}.capability p[data-v-fbbd60ae]{color:var(--text-secondary, #6b7280);font-size:14px;margin:0}.note-box[data-v-fbbd60ae]{background:var(--green-pale, #d8f3dc);border-radius:var(--radius-button, 6px);padding:12px 16px;margin-bottom:24px}.note-box strong[data-v-fbbd60ae]{color:var(--green-dark, #2d6a4f);display:block;margin-bottom:4px}.note-box p[data-v-fbbd60ae]{color:var(--green-dark, #2d6a4f);font-size:14px;margin:0;opacity:.8}.terms-scroll[data-v-fbbd60ae]{max-height:300px;overflow-y:auto;border:1px solid var(--card-border, #e0ddd7);border-radius:var(--radius-button, 6px);padding:16px;margin-bottom:16px;font-size:14px;line-height:1.6;color:var(--text-primary, #1a1a1a)}.terms-scroll h4[data-v-fbbd60ae]{margin:16px 0 6px;font-size:15px;color:var(--green-dark, #2d6a4f)}.terms-scroll h4[data-v-fbbd60ae]:first-child{margin-top:0}.terms-scroll p[data-v-fbbd60ae]{margin:0 0 8px}.terms-scroll ul[data-v-fbbd60ae]{margin:0 0 8px 20px}.terms-scroll li[data-v-fbbd60ae]{margin-bottom:4px}.agreement-checkbox[data-v-fbbd60ae]{display:flex;gap:8px;align-items:flex-start;margin-bottom:20px;cursor:pointer;font-size:14px;color:var(--text-primary, #1a1a1a);line-height:1.5}.agreement-checkbox input[type=checkbox][data-v-fbbd60ae]{margin-top:4px;flex-shrink:0}.success-icon[data-v-fbbd60ae]{font-size:48px;text-align:center;margin-bottom:12px}.step-confirmation h2[data-v-fbbd60ae],.step-confirmation .step-desc[data-v-fbbd60ae]{text-align:center}.next-steps[data-v-fbbd60ae]{text-align:left;padding-left:20px;margin-bottom:24px;color:var(--text-primary, #1a1a1a)}.next-steps li[data-v-fbbd60ae]{margin-bottom:8px;line-height:1.5}.step-actions[data-v-fbbd60ae]{display:flex;gap:12px;justify-content:flex-end}.btn[data-v-fbbd60ae]{padding:10px 20px;border-radius:var(--radius-button, 6px);font-size:15px;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-family:var(--font-body, "DM Sans", sans-serif)}.btn[data-v-fbbd60ae]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-fbbd60ae]{background:var(--green-mid, #40916c);color:#fff}.btn-primary[data-v-fbbd60ae]:hover:not(:disabled){background:var(--green-dark, #2d6a4f)}.btn-secondary[data-v-fbbd60ae]{background:#f3f4f6;color:var(--text-primary, #1a1a1a)}.btn-secondary[data-v-fbbd60ae]:hover{background:#e5e7eb}.error-text[data-v-fbbd60ae]{color:var(--red, #ef4444);font-size:14px;margin-top:8px;text-align:center}.rp-popover[data-v-bcb0528e]{position:fixed;z-index:2000;width:360px;max-width:calc(100vw - 16px);background:#fff;border:1px solid var(--card-border, #ddd);border-radius:var(--radius-card, 8px);box-shadow:0 8px 28px #00000047;overflow:hidden}.rp-header[data-v-bcb0528e]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 10px 16px;background:var(--green-dark, #2d6a4f);cursor:move;-webkit-user-select:none;user-select:none}.rp-title[data-v-bcb0528e]{font-family:var(--font-heading, "Source Serif 4", serif);font-size:18px;color:#fff;margin:0}.rp-x[data-v-bcb0528e]{border:none;background:transparent;color:#fff;font-size:22px;line-height:1;padding:0 4px;cursor:pointer;opacity:.85}.rp-x[data-v-bcb0528e]:hover{opacity:1}.rp-body[data-v-bcb0528e]{padding:16px}.rp-sub[data-v-bcb0528e]{font-size:14px;line-height:1.5;color:var(--text-secondary, #555);margin-bottom:12px}.rp-textarea[data-v-bcb0528e]{width:100%;font-family:inherit;font-size:16px;line-height:1.5;padding:10px;border:1px solid var(--card-border, #ccc);border-radius:var(--radius-button, 6px);resize:vertical}.rp-textarea[data-v-bcb0528e]:focus{outline:none;border-color:var(--green-mid, #2d6a4f);box-shadow:0 0 0 2px #2d6a4f26}.rp-hint[data-v-bcb0528e]{font-size:12px;color:#888;margin-top:6px}.rp-hint kbd[data-v-bcb0528e]{font-family:monospace;background:#f0f0f0;border:1px solid #ddd;border-radius:3px;padding:0 4px}.rp-anon[data-v-bcb0528e]{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--text-secondary, #555);cursor:pointer;-webkit-user-select:none;user-select:none}.rp-anon input[data-v-bcb0528e]{width:16px;height:16px;cursor:pointer}.rp-name[data-v-bcb0528e]{margin-top:10px}.rp-name-label[data-v-bcb0528e]{display:block;font-size:13px;font-weight:600;color:var(--text-secondary, #555);margin-bottom:4px}.rp-name-input[data-v-bcb0528e]{width:100%;font-family:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--card-border, #ccc);border-radius:var(--radius-button, 6px)}.rp-name-input[data-v-bcb0528e]:focus{outline:none;border-color:var(--green-mid, #2d6a4f);box-shadow:0 0 0 2px #2d6a4f26}.rp-name-note[data-v-bcb0528e]{font-size:12px;line-height:1.45;color:#888;margin-top:6px}.rp-actions[data-v-bcb0528e]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.rp-btn[data-v-bcb0528e]{padding:9px 16px;font-size:15px;font-weight:600;border:none;border-radius:var(--radius-button, 6px);cursor:pointer;transition:background .2s}.rp-btn[data-v-bcb0528e]:disabled{opacity:.5;cursor:default}.rp-btn-primary[data-v-bcb0528e]{background:var(--green-dark, #2d6a4f);color:#fff}.rp-btn-primary[data-v-bcb0528e]:not(:disabled):hover{background:var(--green-darker, #1b4332)}.rp-btn-secondary[data-v-bcb0528e]{background:#e0e0e0;color:#333}.rp-btn-secondary[data-v-bcb0528e]:not(:disabled):hover{background:#d0d0d0}.rp-done[data-v-bcb0528e]{font-size:18px;font-weight:600;color:#2e7d32;margin-bottom:8px}.rp-error[data-v-bcb0528e]{font-size:15px;line-height:1.5;color:#c62828;margin-bottom:4px}.page-footer[data-v-498290ea]{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:auto;border-top:1px solid var(--card-border, #e0ddd7);font-size:13px;color:var(--text-muted, #9ca3af)}.footer-brand[data-v-498290ea]{font-family:var(--font-body, "DM Sans", sans-serif)}.footer-links[data-v-498290ea]{display:flex;gap:16px}.footer-links a[data-v-498290ea]{color:var(--text-secondary, #6b7280);text-decoration:none;transition:color .2s}.footer-links a[data-v-498290ea]:hover{color:var(--green-mid, #40916c)}@media (max-width: 600px){.page-footer[data-v-498290ea]{flex-direction:column;gap:8px;text-align:center}}.registration-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#2e7d32;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:3000;box-shadow:0 4px 12px #0003;animation:toast-fade 4s ease-in-out;pointer-events:none}.paw-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:460px;background:linear-gradient(135deg,#047857,#10b981);color:#fff;padding:12px 20px;border-radius:10px;font-size:14px;z-index:3001;box-shadow:0 6px 20px #04785766;cursor:pointer;animation:paw-toast-in .35s ease-out}.paw-toast-icon{width:28px;height:28px;flex-shrink:0;animation:paw-bounce .6s ease-in-out 2}.paw-toast-text strong{display:block;font-size:15px;margin-bottom:1px}@keyframes paw-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-14px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes paw-bounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-8deg)}}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%) translateY(-10px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body, "DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif);background:var(--bg-warm, #f5f5f5);min-height:100vh}.app{max-width:var(--max-width, 1200px);margin:0 auto;padding:16px;min-height:100vh;display:flex;flex-direction:column}@media (min-width: 1200px){.app.intro-open{max-width:none;margin:0}.app.intro-open .practice-layout{padding-left:var(--intro-gutter, 568px);justify-content:start}}.view-as-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 14px;margin-bottom:12px;background:#fde68a;border:1px solid #f59e0b;border-radius:var(--radius-button, 6px);color:#78350f;font-size:14px}.view-as-text strong{color:#422006}.stop-viewing-btn{padding:4px 12px;font-size:13px;font-weight:600;border:1px solid #b45309;background:#fffbeb;color:#78350f;border-radius:var(--radius-button, 6px);cursor:pointer}.stop-viewing-btn:hover{background:#fef3c7}.app-header{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--card-border, #ddd)}.app-header h1{font-family:var(--font-heading, "Source Serif 4", serif);font-size:24px;color:var(--green-dark, #333);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header.has-greeting h1{max-width:calc(50% - 120px)}.header-right{display:flex;align-items:center;gap:16px}.welcome-greeting{position:absolute;left:50%;top:calc(50% - 6px);transform:translate(-50%,-50%);font-family:var(--font-heading, "Source Serif 4", serif);font-size:24px;color:var(--green-dark, #2d6a4f);font-weight:700;pointer-events:none;white-space:nowrap}.user-avatar-group{display:flex;align-items:center;gap:6px}.stats{display:flex;gap:12px;font-size:16px;font-weight:700}.stats .correct{color:#4caf50}.stats .correct:before{content:"✓ "}.stats .wrong{color:#d32f2f}.stats .wrong:before{content:"✗ "}.user-btn{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--green-mid, #667eea) 0%,var(--green-dark, #764ba2) 100%);color:#fff;border:none;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.user-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #2d6a4f66}.user-btn-beta{background:linear-gradient(135deg,#f0932b,#d35400)}.user-btn-beta:hover{box-shadow:0 2px 8px #d3540073}.progress-btn{padding:6px 12px;border-radius:16px;background:#f0f0f0;border:none;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.progress-btn:hover{background:#e0e0e0;color:#333}.accomplishments-btn{padding:6px 12px;border-radius:16px;background:#e8f5e9;border:none;font-size:13px;font-weight:500;color:#388e3c;cursor:pointer;transition:all .2s}.accomplishments-btn:hover{background:#c8e6c9;color:#2e7d32}.lessons-btn{padding:6px 12px;border-radius:16px;background:#e3f2fd;border:none;font-size:13px;font-weight:500;color:#1976d2;cursor:pointer;transition:all .2s}.lessons-btn:hover{background:#bbdefb;color:#1565c0}.lobby-btn{padding:6px 12px;border-radius:16px;background:#fff3e0;border:none;font-size:13px;font-weight:500;color:#e65100;cursor:pointer;transition:all .2s}.lobby-btn:hover{background:#ffe0b2;color:#bf360c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:1000;padding:20px}.app-main{display:flex;flex-direction:column;gap:16px;flex:1}.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:32px;align-items:start;justify-content:center}.practice-left{display:flex;flex-direction:column;gap:12px}.practice-left .seat-panel{min-width:240px!important}.practice-right{display:flex;flex-direction:column;gap:16px;align-items:center}.practice-grid-layout{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;justify-content:center}.practice-grid-stage{flex:1 1 640px;min-width:min(640px,100%);display:flex;flex-direction:column;gap:12px}.practice-grid-layout .a1-grid-nw{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.practice-grid-companion .grid-context-ribbon{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;background:#e3f2fd;border-left:3px solid #1976d2;border-radius:4px;text-align:left;font-size:15px;line-height:1.4;color:#0d3a66}.practice-grid-companion .grid-context-ribbon-icon{color:#1976d2;font-weight:700;flex-shrink:0}.practice-grid-companion .a1-companion-auction{max-width:300px}.practice-grid-companion .commentary-text-container,.practice-grid-companion .display-commentary{font-size:17px;line-height:1.55}.practice-grid-companion{flex:1 1 300px;min-width:min(300px,100%);display:flex;flex-direction:column;gap:16px;align-items:stretch}.practice-grid-layout .a1-center-auction{max-width:260px}.practice-grid-layout .a1-grid-ne{background:#f7f9f6;border:1px solid #e6e8e3;border-radius:10px;padding:8px 10px}@media (max-width: 900px){.practice-grid-layout{gap:20px}}.collection-view{text-align:center;padding:40px;background:#fff;border-radius:var(--radius-card, 8px)}.collection-view h2{margin-bottom:8px;color:var(--text-primary, #333)}.collection-subtitle{margin-bottom:16px;color:var(--text-secondary, #666)}.bidding-box-container{display:flex;flex-direction:column;align-items:center;gap:8px}.turn-indicator{font-size:16px;font-weight:500;color:#007bff}.prompt-text{max-width:400px;padding:12px 16px;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;font-size:14px;line-height:1.5;color:#333;text-align:left;white-space:pre-wrap}.back-btn{padding:8px 16px;font-size:14px;font-weight:500;background:#e0e0e0;color:#333;border:none;border-radius:4px;cursor:pointer;transition:background .2s;margin-top:8px}.back-btn:hover{background:#d0d0d0}.auction-complete{text-align:center;padding:20px;background:#e8f5e9;border-radius:8px;max-width:500px}.auction-complete h3{color:#4caf50;margin-bottom:12px}.full-commentary{text-align:left;font-size:14px;line-height:1.6;color:#333;background:#fff;padding:16px;border-radius:4px;margin-bottom:16px;white-space:pre-wrap}.full-narrative{text-align:left;font-size:14px;line-height:1.6;background:#fff;padding:16px;border-radius:4px;margin-bottom:16px;max-height:350px;overflow-y:auto}.completion-controls{display:flex;justify-content:center;gap:12px;align-items:center}.next-deal-btn{padding:12px 24px;border:none;background:#4caf50;color:#fff;font-size:16px;font-weight:500;border-radius:4px;cursor:pointer}.next-deal-btn:hover{background:#388e3c}.bidding-narrative-container{max-width:500px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.bidding-narrative{max-height:250px;overflow-y:auto;margin-bottom:16px;padding-right:8px;font-size:15px;line-height:1.6}.narrative-text{display:block;white-space:pre-wrap;margin-bottom:8px}.narrative-text.previous{color:#999}.narrative-text.current{color:#333}.narrative-text.reframe-note{color:#ed6c02;font-style:italic;font-weight:600;font-size:.9em;margin-bottom:4px}.narrative-text.affirmation{color:#2e7d32;font-weight:600}.narrative-text.celebration{color:#2e7d32;font-weight:700;font-size:1.25em;margin-top:4px}.bidding-box-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px}.instruction-panel{max-width:500px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.instruction-progress{font-size:13px;color:#666;margin-bottom:12px}.instruction-text-container{max-height:300px;overflow-y:auto;margin-bottom:20px;padding-right:8px}.instruction-text{font-size:15px;line-height:1.6;white-space:pre-wrap;margin-bottom:12px}.instruction-text.previous{color:#999;border-left:2px solid #ddd;padding-left:12px;margin-left:4px}.instruction-text.current{color:#333}.suit-red{color:#d32f2f}.suit-black{color:#000}.instruction-controls{display:flex;gap:12px;justify-content:center}.commentary-text-container{overflow-y:auto;padding-right:6px}.commentary-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:10px}.controls-main{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.commentary-controls .bidding-box-wrapper,.commentary-controls .card-choice-prompt{width:100%}.instruction-btn{padding:10px 20px;font-size:15px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.instruction-btn.primary{background:#2196f3;color:#fff}.instruction-btn.primary:hover{background:#1976d2}.instruction-btn.secondary{background:#e0e0e0;color:#333}.instruction-btn.secondary:hover{background:#d0d0d0}.card-choice-prompt{font-size:15px;font-weight:500;color:#1976d2;padding:10px 20px;background:#e3f2fd;border-radius:4px}.report-problem-row{display:flex;justify-content:flex-end;width:100%;margin-top:4px}.report-problem-btn{flex:0 0 auto;align-self:flex-start;padding:9px 16px;font-size:15px;font-weight:600;color:#888;background:none;border:none;border-radius:18px;cursor:pointer;transition:all .2s}.report-problem-btn:hover{background:#fdecea;color:#c62828}.display-commentary{max-width:500px;padding:16px;background:#fff;border-radius:8px;font-size:14px;line-height:1.6;color:#333;white-space:pre-wrap}.load-another{text-align:center;margin-top:8px;display:flex;justify-content:center;align-items:center;gap:8px}.load-link{color:#666;font-size:13px;cursor:pointer;text-decoration:underline;background:none;border:none;padding:0}.load-link:hover{color:#007bff}.separator{color:#ccc;font-size:13px}@media (max-width: 900px){.practice-layout{grid-template-columns:1fr;gap:16px}.practice-right{align-items:stretch}}@media (max-width: 600px){.app-header{flex-direction:column;gap:8px}.app-header h1{font-size:20px}.app-header.has-greeting h1{max-width:none}}:root{--font-heading: "Source Serif 4", serif;--font-body: "DM Sans", sans-serif;--table-scale: 1;--green-dark: #2d6a4f;--green-mid: #40916c;--green-accent: #52b788;--green-light: #b7e4c7;--green-pale: #d8f3dc;--blue: #3b82f6;--blue-light: #dbeafe;--purple: #8b5cf6;--purple-light: #ede9fe;--amber: #f59e0b;--amber-light: #fef3c7;--red: #ef4444;--red-light: #fee2e2;--bg-warm: #f5f3ef;--bg-white: #ffffff;--card-border: #e0ddd7;--card-shadow: rgba(0, 0, 0, .06);--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-muted: #9ca3af;--badge-new-bg: #dbeafe;--badge-new-text: #1d4ed8;--badge-progress-bg: #fef3c7;--badge-progress-text: #b45309;--badge-complete-bg: #d1fae5;--badge-complete-text: #047857;--badge-overdue-bg: #fee2e2;--badge-overdue-text: #b91c1c;--radius-card: 10px;--radius-button: 6px;--radius-badge: 12px;--max-width: 1200px;--header-height: 56px}
