.hand[data-v-1984b8a3]{background:#f5f5f5;border-radius:8px;padding:12px;min-width:120px}.seat-label[data-v-1984b8a3]{font-weight:700;font-size:21px;color:#333;margin-bottom:8px;text-align:center}.suits[data-v-1984b8a3]{display:flex;flex-direction:column;gap:4px}.suit-row[data-v-1984b8a3]{display:flex;align-items:center;gap:8px;font-family:Segoe UI,system-ui,sans-serif;font-size:24px}.suit-symbol[data-v-1984b8a3]{font-size:27px;width:28px;text-align:center}.suit-red[data-v-1984b8a3]{color:#d32f2f}.suit-black[data-v-1984b8a3]{color:#1a1a1a}.cards[data-v-1984b8a3]{font-weight:500;letter-spacing:1px}.hidden-hand[data-v-1984b8a3]{display:flex;justify-content:center;align-items:center;min-height:80px}.card-back[data-v-1984b8a3]{width:50px;height:70px;background:linear-gradient(135deg,#1565c0,#0d47a1);border-radius:4px;border:2px solid #fff;box-shadow:0 2px 4px #0003}.hcp[data-v-1984b8a3]{margin-top:8px;text-align:center;font-size:12px;color:#666}.hand.hidden[data-v-1984b8a3]{opacity:.7}.hand.compact[data-v-1984b8a3]{padding:8px;min-width:100px}.hand.compact .seat-label[data-v-1984b8a3]{font-size:18px;margin-bottom:4px}.hand.compact .suit-row[data-v-1984b8a3]{font-size:21px;gap:6px}.hand.compact .suit-symbol[data-v-1984b8a3]{font-size:24px;width:24px}.hand.minimal[data-v-1984b8a3]{background:transparent;padding:4px 8px;min-width:auto}.minimal-hand[data-v-1984b8a3]{display:flex;align-items:center;gap:4px;font-size:24px}.seat-label-inline[data-v-1984b8a3]{font-weight:700;color:#666;margin-right:4px}.suit-symbol-inline[data-v-1984b8a3]{font-size:27px}.bridge-table[data-v-c4c987d3]{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;gap:8px;padding:16px;min-width:320px}.position.north[data-v-c4c987d3]{grid-column:1 / -1;justify-self:center}.position.west[data-v-c4c987d3]{grid-column:1;grid-row:2;justify-self:end}.center[data-v-c4c987d3]{grid-column:2;grid-row:2;min-width:20px;display:flex;align-items:center;justify-content:center}.position.east[data-v-c4c987d3]{grid-column:3;grid-row:2;justify-self:start}.position.south[data-v-c4c987d3]{grid-column:1 / -1;justify-self:center}.bridge-table.compact[data-v-c4c987d3]{gap:4px;padding:8px;min-width:280px}@media (max-width: 600px){.bridge-table[data-v-c4c987d3]{gap:8px;padding:8px;min-width:260px}}.bidding-box[data-v-38ccb98f]{background:#e8e8e8;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.bid-section[data-v-38ccb98f]{display:flex;flex-direction:column;gap:8px}.levels[data-v-38ccb98f]{display:flex;gap:4px;justify-content:center}.level-btn[data-v-38ccb98f]{width:36px;height:36px;border:2px solid #ccc;border-radius:4px;background:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .15s}.level-btn[data-v-38ccb98f]:hover{border-color:#007bff}.level-btn.active[data-v-38ccb98f]{background:#007bff;color:#fff;border-color:#007bff}.strains[data-v-38ccb98f]{display:flex;gap:4px;justify-content:center}.strain-btn[data-v-38ccb98f]{width:48px;height:42px;border:2px solid #ccc;border-radius:4px;background:#fff;font-size:20px;cursor:pointer;transition:all .15s}.strain-btn[data-v-38ccb98f]:hover:not(:disabled){border-color:#007bff;transform:translateY(-2px)}.strain-btn[data-v-38ccb98f]:disabled,.strain-btn.disabled[data-v-38ccb98f]{opacity:.4;cursor:not-allowed}.strain-btn.suit-red[data-v-38ccb98f]{color:#d32f2f}.strain-btn.suit-black[data-v-38ccb98f]{color:#1a1a1a}.strain-btn.suit-nt[data-v-38ccb98f]{font-size:14px;font-weight:700;color:#1a1a1a}.special-bids[data-v-38ccb98f]{display:flex;gap:8px;justify-content:center}.special-btn[data-v-38ccb98f]{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s}.special-btn[data-v-38ccb98f]:disabled{opacity:.4;cursor:not-allowed}.special-btn.pass[data-v-38ccb98f]{background:#4caf50;color:#fff}.special-btn.pass[data-v-38ccb98f]:hover{background:#388e3c}.special-btn.double[data-v-38ccb98f]{background:#ff5722;color:#fff}.special-btn.double[data-v-38ccb98f]:hover:not(:disabled){background:#e64a19}.special-btn.redouble[data-v-38ccb98f]{background:#2196f3;color:#fff}.special-btn.redouble[data-v-38ccb98f]:hover:not(:disabled){background:#1976d2}.auction-table[data-v-74596b53]{background:#fff;border:2px solid #333;border-radius:4px;overflow:hidden;min-width:200px}.header[data-v-74596b53]{display:flex;background:#333;color:#fff}.header-cell[data-v-74596b53]{flex:1;text-align:center;padding:8px 4px;font-weight:700;font-size:14px}.rounds[data-v-74596b53]{display:flex;flex-direction:column}.round[data-v-74596b53]{display:flex;border-bottom:1px solid #ddd}.round[data-v-74596b53]:last-child{border-bottom:none}.bid-cell[data-v-74596b53]{flex:1;text-align:center;padding:8px 4px;font-size:16px;min-height:36px;display:flex;align-items:center;justify-content:center;border-right:1px solid #eee}.bid-cell[data-v-74596b53]:last-child{border-right:none}.bid-cell[data-v-74596b53] .red{color:#d32f2f}.bid-cell[data-v-74596b53] .double{color:#ff5722;font-weight:700}.bid-cell[data-v-74596b53] .redouble{color:#2196f3;font-weight:700}.turn-indicator[data-v-74596b53]{color:#007bff;font-weight:700;font-size:20px;animation:pulse-74596b53 1s ease-in-out infinite}@keyframes pulse-74596b53{0%,to{opacity:1}50%{opacity:.5}}.current-turn[data-v-74596b53]{background:#e3f2fd}.wrong-bid[data-v-74596b53]{background:#ffebee}.correct-bid[data-v-74596b53]{background:#e8f5e9}.deal-info[data-v-5a844c49]{background:#f0f0f0;border-radius:8px;padding:12px 16px;text-align:center;overflow:visible;position:relative}.board-selector[data-v-5a844c49]{position:relative;display:inline-block}.board-number[data-v-5a844c49]{font-size:18px;font-weight:700;color:#333;margin-bottom:8px;cursor:pointer}.board-number[data-v-5a844c49]:hover{color:#1976d2}.board-popup[data-v-5a844c49]{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-5a844c49]{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-5a844c49]{max-height:250px;overflow-y:auto}.popup-item[data-v-5a844c49]{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-5a844c49]:hover{background:#e3f2fd}.popup-item.active[data-v-5a844c49]{background:#1976d2;color:#fff}.info-row[data-v-5a844c49],.contract-row[data-v-5a844c49]{display:flex;justify-content:center;gap:20px;margin-bottom:4px}.info-item[data-v-5a844c49]{display:flex;gap:4px;align-items:center}.label[data-v-5a844c49]{font-size:12px;color:#666}.value[data-v-5a844c49]{font-size:14px;font-weight:500}.vul-both[data-v-5a844c49]{color:#d32f2f;font-weight:700}.vul-partial[data-v-5a844c49]{color:#f57c00}.vul-none[data-v-5a844c49]{color:#4caf50}.contract[data-v-5a844c49]{font-size:16px;font-weight:700}.contract[data-v-5a844c49] .red{color:#d32f2f}.lead-card[data-v-5a844c49]{font-size:16px;font-weight:700}.lead-card[data-v-5a844c49] .red{color:#d32f2f}.lead-card[data-v-5a844c49] .black{color:#000}.title[data-v-5a844c49]{margin-top:8px;font-style:italic;color:#555;font-size:13px}.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-7a700311]{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #00000026;max-width:400px}.feedback-panel.wrong[data-v-7a700311]{border-left:4px solid #d32f2f}.feedback-panel.correct[data-v-7a700311]{border-left:4px solid #4caf50}.feedback-panel.info[data-v-7a700311]{border-left:4px solid #2196f3}.feedback-header[data-v-7a700311]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.icon[data-v-7a700311]{font-size:20px;font-weight:700}.wrong .icon[data-v-7a700311]{color:#d32f2f}.correct .icon[data-v-7a700311]{color:#4caf50}.title[data-v-7a700311]{font-size:18px;font-weight:700}.feedback-content[data-v-7a700311]{margin-bottom:12px}.bid-comparison[data-v-7a700311]{display:flex;gap:20px}.bid-item[data-v-7a700311]{display:flex;flex-direction:column;gap:4px}.bid-item .label[data-v-7a700311]{font-size:12px;color:#666}.bid-item .bid[data-v-7a700311]{font-size:24px;font-weight:700}.bid-item .bid[data-v-7a700311] .red{color:#d32f2f}.your-bid .bid[data-v-7a700311]{color:#d32f2f;text-decoration:line-through}.correct-bid .bid[data-v-7a700311]{color:#4caf50}.commentary[data-v-7a700311]{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-7a700311]{display:flex;justify-content:flex-end}.btn[data-v-7a700311]{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn.continue[data-v-7a700311]{background:#007bff;color:#fff}.btn.continue[data-v-7a700311]:hover{background:#0056b3}.commentary[data-v-7a700311] .suit-red{color:#d32f2f}.commentary[data-v-7a700311] .suit-black{color:#000}.welcome-screen[data-v-6b65d430]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.welcome-card[data-v-6b65d430]{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:450px;width:100%;overflow:hidden}.welcome-header[data-v-6b65d430]{background:#1a237e;color:#fff;padding:24px;text-align:center}.welcome-header h1[data-v-6b65d430]{font-size:22px;font-weight:600;margin:0}.welcome-body[data-v-6b65d430]{padding:32px}.welcome-body h2[data-v-6b65d430]{font-size:24px;color:#333;margin:0 0 8px}.subtitle[data-v-6b65d430]{color:#666;margin:0 0 24px;font-size:15px}.user-form[data-v-6b65d430]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-6b65d430]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-6b65d430]{font-size:14px;font-weight:500;color:#444}.form-group input[type=text][data-v-6b65d430]{padding:12px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .2s}.form-group input[type=text][data-v-6b65d430]:focus{outline:none;border-color:#667eea}.form-group input.has-error[data-v-6b65d430]{border-color:#d32f2f}.error-message[data-v-6b65d430]{color:#d32f2f;font-size:13px}.checkbox-group[data-v-6b65d430]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.checkbox-label[data-v-6b65d430]{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px}.checkbox-label input[type=checkbox][data-v-6b65d430]{width:18px;height:18px;cursor:pointer}.single-classroom[data-v-6b65d430]{padding:12px 14px;background:#f5f5f5;border-radius:8px;font-size:15px;color:#333}.consent-group[data-v-6b65d430]{padding-top:8px;border-top:1px solid #eee}.consent-label[data-v-6b65d430]{font-weight:400}.consent-label span[data-v-6b65d430]{font-size:14px;color:#555}.details-toggle[data-v-6b65d430]{background:none;border:none;color:#667eea;font-size:13px;cursor:pointer;padding:4px 0;text-align:left}.details-toggle[data-v-6b65d430]:hover{text-decoration:underline}.consent-details[data-v-6b65d430]{margin-top:12px;padding:16px;background:#f8f9fa;border-radius:8px;font-size:13px;color:#555;line-height:1.5}.consent-details p[data-v-6b65d430]{margin:0 0 8px}.consent-details ul[data-v-6b65d430]{margin:0 0 12px;padding-left:20px}.consent-details li[data-v-6b65d430]{margin-bottom:4px}.consent-note[data-v-6b65d430]{font-style:italic;color:#777}.submit-btn[data-v-6b65d430]{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-btn[data-v-6b65d430]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-btn[data-v-6b65d430]:disabled{opacity:.6;cursor:not-allowed}.switch-link[data-v-6b65d430],.back-link[data-v-6b65d430]{display:block;width:100%;margin-top:16px;padding:10px;background:none;border:none;color:#667eea;font-size:14px;cursor:pointer;text-align:center}.switch-link[data-v-6b65d430]:hover,.back-link[data-v-6b65d430]:hover{text-decoration:underline}.returning[data-v-6b65d430]{text-align:center}.returning .submit-btn[data-v-6b65d430]{width:100%}.switcher[data-v-6b65d430]{text-align:center}.user-list[data-v-6b65d430]{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.user-item[data-v-6b65d430]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.user-item[data-v-6b65d430]:hover{border-color:#667eea;background:#f0f4ff}.user-item.is-current[data-v-6b65d430]{border-color:#667eea;background:#e8efff}.user-name[data-v-6b65d430]{font-weight:500;color:#333}.user-class[data-v-6b65d430]{font-size:13px;color:#777}.add-user-btn[data-v-6b65d430]{width:100%;padding:14px;background:#fff;border:2px dashed #ccc;border-radius:8px;color:#666;font-size:15px;cursor:pointer;transition:all .2s}.add-user-btn[data-v-6b65d430]:hover{border-color:#667eea;color:#667eea}.restore-section[data-v-6b65d430]{margin-top:24px;padding-top:20px;border-top:1px solid #eee;text-align:center}.restore-toggle[data-v-6b65d430]{background:none;border:none;color:#888;font-size:13px;cursor:pointer;text-decoration:underline}.restore-toggle[data-v-6b65d430]:hover{color:#667eea}.restore-panel[data-v-6b65d430]{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px}.restore-panel p[data-v-6b65d430]{font-size:14px;color:#555;margin:0 0 12px}.restore-btn[data-v-6b65d430]{padding:10px 20px;background:#fff;border:1px solid #667eea;color:#667eea;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.restore-btn[data-v-6b65d430]:hover:not(:disabled){background:#667eea;color:#fff}.restore-btn[data-v-6b65d430]:disabled{opacity:.6;cursor:not-allowed}.restore-error[data-v-6b65d430]{color:#d32f2f;font-size:13px;margin-top:12px}.recovery-banner[data-v-6b65d430]{margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:12px;text-align:center;border:1px solid #a5d6a7}.recovery-banner p[data-v-6b65d430]{margin:0 0 12px;font-size:15px;color:#2e7d32;font-weight:500}.recovery-btn[data-v-6b65d430]{padding:12px 24px;background:#43a047;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.recovery-btn[data-v-6b65d430]:hover:not(:disabled){background:#388e3c;transform:translateY(-1px)}.recovery-btn[data-v-6b65d430]:disabled{opacity:.6;cursor:not-allowed}.recovery-dismiss[data-v-6b65d430]{display:block;width:100%;margin-top:12px;padding:8px;background:none;border:none;color:#666;font-size:13px;cursor:pointer}.recovery-dismiss[data-v-6b65d430]:hover{color:#333;text-decoration:underline}.recovery-error[data-v-6b65d430]{color:#c62828;font-size:13px;margin:12px 0 0}@media (max-width: 480px){.welcome-body[data-v-6b65d430]{padding:24px}.welcome-header h1[data-v-6b65d430]{font-size:18px}.welcome-body h2[data-v-6b65d430]{font-size:20px}}.settings-overlay[data-v-f85c526a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.settings-panel[data-v-f85c526a]{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.settings-header[data-v-f85c526a]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.settings-header h2[data-v-f85c526a]{margin:0;font-size:20px;color:#333}.close-btn[data-v-f85c526a]{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;line-height:1}.close-btn[data-v-f85c526a]:hover{color:#333}.settings-body[data-v-f85c526a]{padding:24px}.settings-section[data-v-f85c526a]{margin-bottom:28px}.settings-section[data-v-f85c526a]:last-child{margin-bottom:0}.settings-section h3[data-v-f85c526a]{font-size:16px;color:#333;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #667eea}.settings-section h4[data-v-f85c526a]{font-size:13px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}.info-row[data-v-f85c526a]{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.info-label[data-v-f85c526a]{color:#666;font-size:14px}.info-value[data-v-f85c526a]{color:#333;font-size:14px;font-weight:500}.info-value.enabled[data-v-f85c526a]{color:#4caf50}.info-value.disabled[data-v-f85c526a]{color:#999}.button-row[data-v-f85c526a]{display:flex;gap:10px;margin-top:16px}.primary-btn[data-v-f85c526a],.secondary-btn[data-v-f85c526a]{flex:1;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn[data-v-f85c526a]{background:#667eea;color:#fff;border:none}.primary-btn[data-v-f85c526a]:hover{background:#5a6fd6}.secondary-btn[data-v-f85c526a]{background:#fff;color:#667eea;border:1px solid #667eea}.secondary-btn[data-v-f85c526a]:hover{background:#f0f4ff}.edit-form[data-v-f85c526a]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-f85c526a]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-f85c526a]{font-size:14px;color:#444}.form-group input[type=text][data-v-f85c526a]{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px}.form-group input[type=text][data-v-f85c526a]:focus{outline:none;border-color:#667eea}.checkbox-label[data-v-f85c526a]{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.checkbox-label input[data-v-f85c526a]{width:16px;height:16px}.assignment-list[data-v-f85c526a]{display:flex;flex-direction:column;gap:12px}.assignment-item[data-v-f85c526a]{padding:12px;background:#f8f9fa;border-radius:8px}.assignment-item.completed[data-v-f85c526a]{background:#e8f5e9}.assignment-header[data-v-f85c526a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.assignment-name[data-v-f85c526a]{font-weight:500;color:#333}.assignment-progress[data-v-f85c526a]{font-size:14px;color:#667eea;font-weight:600}.assignment-check[data-v-f85c526a]{color:#4caf50;font-weight:700}.progress-bar[data-v-f85c526a]{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-f85c526a]{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .3s ease}.assignment-meta[data-v-f85c526a]{display:flex;justify-content:space-between;font-size:12px;color:#666}.section-note[data-v-f85c526a]{font-size:14px;color:#666;font-style:italic}@media (max-width: 480px){.settings-panel[data-v-f85c526a]{max-height:100vh;border-radius:0}.button-row[data-v-f85c526a]{flex-direction:column}}.assignment-banner[data-v-a4095a6a]{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-a4095a6a]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.banner-content[data-v-a4095a6a]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.assignment-info[data-v-a4095a6a]{flex:1;min-width:200px}.assignment-title[data-v-a4095a6a]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.assignment-label[data-v-a4095a6a]{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.assignment-name[data-v-a4095a6a]{font-weight:600;font-size:15px}.assignment-meta[data-v-a4095a6a]{display:flex;align-items:center;gap:12px;font-size:13px;opacity:.9}.due-text[data-v-a4095a6a]{padding:2px 8px;background:#fff3;border-radius:4px;font-size:12px}.due-text.urgent[data-v-a4095a6a]{background:#ffc10766}.due-text.overdue[data-v-a4095a6a]{background:#f4433666}.progress-bar[data-v-a4095a6a]{flex:0 0 120px;height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.progress-fill[data-v-a4095a6a]{height:100%;background:#fff;border-radius:4px;transition:width .3s ease}.progress-fill.complete[data-v-a4095a6a]{background:#c8e6c9}.exit-btn[data-v-a4095a6a]{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-a4095a6a]:hover{background:#ffffff4d}.complete-badge[data-v-a4095a6a]{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-a4095a6a]{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-a4095a6a]:hover{background:#eee}.return-icon[data-v-a4095a6a]{font-size:18px;color:#667eea}.return-text[data-v-a4095a6a]{font-size:14px;color:#555}@media (max-width: 500px){.banner-content[data-v-a4095a6a]{flex-direction:column;align-items:stretch;gap:10px}.progress-bar[data-v-a4095a6a]{flex:0 0 8px;width:100%}.exit-btn[data-v-a4095a6a]{align-self:flex-start}.complete-badge[data-v-a4095a6a]{position:static;align-self:flex-start;margin-top:8px}}.modal-overlay[data-v-d0ffa046]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content[data-v-d0ffa046]{background:#fff;border-radius:16px;max-width:480px;width:100%;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-d0ffa046]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px 24px;text-align:center}.key-icon[data-v-d0ffa046]{margin-bottom:12px;opacity:.9}.key-icon svg[data-v-d0ffa046]{stroke:currentColor}.modal-header h2[data-v-d0ffa046]{margin:0;font-size:24px;font-weight:600}.modal-body[data-v-d0ffa046]{padding:28px 24px}.intro[data-v-d0ffa046]{font-size:15px;line-height:1.6;color:#444;margin:0 0 20px}.warning-box[data-v-d0ffa046]{display:flex;gap:12px;padding:16px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:24px}.warning-icon[data-v-d0ffa046]{font-size:24px;color:#856404;flex-shrink:0}.warning-box p[data-v-d0ffa046]{margin:0;font-size:14px;color:#856404;line-height:1.5}.actions[data-v-d0ffa046]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.download-btn[data-v-d0ffa046]{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.download-btn[data-v-d0ffa046]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.download-btn.downloaded[data-v-d0ffa046]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.continue-btn[data-v-d0ffa046]{padding:12px 24px;background:#fff;color:#666;border:1px solid #ddd;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.continue-btn[data-v-d0ffa046]:hover{background:#f5f5f5;color:#333}.tip[data-v-d0ffa046]{font-size:13px;color:#666;background:#f8f9fa;padding:12px 16px;border-radius:8px;line-height:1.5}.tip strong[data-v-d0ffa046]{color:#444}@media (max-width: 480px){.modal-content[data-v-d0ffa046]{border-radius:12px}.modal-header[data-v-d0ffa046]{padding:24px 20px}.modal-body[data-v-d0ffa046]{padding:20px}}.sync-status[data-v-e642a1b9]{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-e642a1b9]:hover{transform:scale(1.02)}.status-content[data-v-e642a1b9]{display:flex;align-items:center;gap:6px}.icon[data-v-e642a1b9]{font-size:14px}.status-text[data-v-e642a1b9]{white-space:nowrap}.badge[data-v-e642a1b9]{background:#ffffff4d;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.sync-status.syncing[data-v-e642a1b9]{background:#e3f2fd;color:#1976d2}.spinner[data-v-e642a1b9]{width:12px;height:12px;border:2px solid #90caf9;border-top-color:#1976d2;border-radius:50%;animation:spin-e642a1b9 .8s linear infinite}@keyframes spin-e642a1b9{to{transform:rotate(360deg)}}.sync-status.offline[data-v-e642a1b9]{background:#fff3e0;color:#e65100}.sync-status.error[data-v-e642a1b9]{background:#ffebee;color:#c62828}.retry-btn[data-v-e642a1b9]{background:#c62828;color:#fff;border:none;padding:2px 8px;border-radius:10px;font-size:11px;cursor:pointer;margin-left:4px}.retry-btn[data-v-e642a1b9]:hover{background:#b71c1c}.sync-status.pending[data-v-e642a1b9]{background:#fff8e1;color:#f57f17}.sync-status.synced[data-v-e642a1b9]{background:#e8f5e9;color:#2e7d32}.sync-status.synced[data-v-e642a1b9]{opacity:.7}.sync-status.synced[data-v-e642a1b9]:hover{opacity:1}.skill-chart[data-v-d88e4d7c]{display:flex;flex-direction:column;gap:12px}.skill-row[data-v-d88e4d7c]{display:flex;align-items:center;gap:12px}.skill-info[data-v-d88e4d7c]{flex:0 0 140px;display:flex;flex-direction:column}.skill-name[data-v-d88e4d7c]{font-size:14px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-count[data-v-d88e4d7c]{font-size:11px;color:#999}.skill-bar-container[data-v-d88e4d7c]{flex:1;height:24px;background:#f0f0f0;border-radius:12px;position:relative;overflow:hidden;min-width:100px}.skill-bar[data-v-d88e4d7c]{height:100%;border-radius:12px;transition:width .3s ease}.skill-bar.excellent[data-v-d88e4d7c]{background:linear-gradient(90deg,#4caf50,#81c784)}.skill-bar.good[data-v-d88e4d7c]{background:linear-gradient(90deg,#8bc34a,#aed581)}.skill-bar.fair[data-v-d88e4d7c]{background:linear-gradient(90deg,#ffc107,#ffca28)}.skill-bar.needs-work[data-v-d88e4d7c]{background:linear-gradient(90deg,#ff9800,#ffb74d)}.skill-accuracy[data-v-d88e4d7c]{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;color:#333}.skill-details[data-v-d88e4d7c]{flex:0 0 60px;display:flex;align-items:center;justify-content:flex-end;gap:2px;font-size:12px}.skill-details .correct[data-v-d88e4d7c]{color:#4caf50;font-weight:500}.skill-details .separator[data-v-d88e4d7c]{color:#ccc}.skill-details .incorrect[data-v-d88e4d7c]{color:#d32f2f;font-weight:500}.no-skills[data-v-d88e4d7c]{text-align:center;color:#999;padding:20px;font-size:14px}@media (max-width: 500px){.skill-row[data-v-d88e4d7c]{flex-wrap:wrap}.skill-info[data-v-d88e4d7c]{flex:0 0 100%;flex-direction:row;justify-content:space-between;margin-bottom:4px}.skill-bar-container[data-v-d88e4d7c]{flex:1}.skill-details[data-v-d88e4d7c]{flex:0 0 50px}}.practice-history[data-v-efb9dfdf]{display:flex;flex-direction:column;gap:8px}.session-card[data-v-efb9dfdf]{background:#f8f9fa;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s}.session-card[data-v-efb9dfdf]:hover{background:#f0f1f3}.session-card.expanded[data-v-efb9dfdf]{background:#fff;box-shadow:0 2px 8px #0000001a}.session-header[data-v-efb9dfdf]{display:flex;align-items:center;padding:12px 16px;gap:16px}.session-date[data-v-efb9dfdf]{flex:1;display:flex;flex-direction:column}.session-date .date[data-v-efb9dfdf]{font-size:14px;font-weight:500;color:#333}.session-date .time[data-v-efb9dfdf]{font-size:12px;color:#999}.session-stats[data-v-efb9dfdf]{display:flex;gap:12px}.session-stats .stat[data-v-efb9dfdf]{font-size:14px;font-weight:500}.session-stats .stat.correct[data-v-efb9dfdf]{color:#4caf50}.session-stats .stat.correct[data-v-efb9dfdf]:before{content:"✓ "}.session-stats .stat.incorrect[data-v-efb9dfdf]{color:#d32f2f}.session-stats .stat.incorrect[data-v-efb9dfdf]:before{content:"✗ "}.session-stats .stat.accuracy[data-v-efb9dfdf]{color:#666;min-width:40px;text-align:right}.expand-icon[data-v-efb9dfdf]{font-size:18px;color:#999;width:20px;text-align:center}.session-details[data-v-efb9dfdf]{border-top:1px solid #eee;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.observation-row[data-v-efb9dfdf]{display:flex;align-items:center;gap:12px;padding:8px;background:#f8f9fa;border-radius:4px;font-size:13px}.observation-row.correct[data-v-efb9dfdf]{border-left:3px solid #4caf50}.observation-row.incorrect[data-v-efb9dfdf]{border-left:3px solid #d32f2f}.obs-indicator[data-v-efb9dfdf]{font-size:14px;width:20px}.observation-row.correct .obs-indicator[data-v-efb9dfdf]{color:#4caf50}.observation-row.incorrect .obs-indicator[data-v-efb9dfdf]{color:#d32f2f}.obs-deal[data-v-efb9dfdf]{color:#666;min-width:60px}.obs-skill[data-v-efb9dfdf]{flex:1;color:#333}.obs-bids[data-v-efb9dfdf]{display:flex;gap:8px}.bid[data-v-efb9dfdf]{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.bid.wrong[data-v-efb9dfdf]{background:#ffebee;color:#c62828;text-decoration:line-through}.bid.expected[data-v-efb9dfdf]{background:#e8f5e9;color:#2e7d32}.no-details[data-v-efb9dfdf],.no-sessions[data-v-efb9dfdf]{text-align:center;color:#999;padding:16px;font-size:13px}.progress-dashboard[data-v-d17dca63]{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.dashboard-header[data-v-d17dca63]{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}.dashboard-header h2[data-v-d17dca63]{margin:0;font-size:20px;color:#333}.close-btn[data-v-d17dca63]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;line-height:1}.close-btn[data-v-d17dca63]:hover{color:#333}.dashboard-content[data-v-d17dca63]{padding:20px}.loading[data-v-d17dca63],.error-state[data-v-d17dca63],.empty-state[data-v-d17dca63]{padding:40px 20px;text-align:center}.spinner[data-v-d17dca63]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-d17dca63 .8s linear infinite;margin:0 auto 16px}@keyframes spin-d17dca63{to{transform:rotate(360deg)}}.error-state[data-v-d17dca63]{color:#d32f2f}.error-state button[data-v-d17dca63]{margin-top:16px;padding:8px 16px;background:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer}.empty-state h3[data-v-d17dca63]{color:#666;margin-bottom:8px}.empty-state p[data-v-d17dca63]{color:#999;margin-bottom:20px}.stats-section[data-v-d17dca63]{margin-bottom:24px}.stats-section h3[data-v-d17dca63]{font-size:14px;text-transform:uppercase;color:#666;margin-bottom:12px;letter-spacing:.5px}.stat-cards[data-v-d17dca63]{display:flex;gap:12px}.stat-card[data-v-d17dca63]{flex:1;background:#f5f5f5;padding:16px;border-radius:8px;text-align:center}.stat-card.accuracy[data-v-d17dca63]{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.stat-card.streak[data-v-d17dca63]{background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.stat-value[data-v-d17dca63]{font-size:28px;font-weight:700;color:#333}.stat-label[data-v-d17dca63]{font-size:12px;color:#666;margin-top:4px}.period-stats[data-v-d17dca63]{display:flex;gap:16px;flex-wrap:wrap}.period-stat[data-v-d17dca63]{display:flex;align-items:baseline;gap:4px}.period-stat .value[data-v-d17dca63]{font-size:20px;font-weight:600;color:#333}.period-stat .label[data-v-d17dca63]{font-size:13px;color:#666}.period-stat.correct .value[data-v-d17dca63]{color:#4caf50}.period-stat.incorrect .value[data-v-d17dca63]{color:#d32f2f}.dashboard-actions[data-v-d17dca63]{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #eee}.primary-btn[data-v-d17dca63],.secondary-btn[data-v-d17dca63]{flex:1;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn[data-v-d17dca63]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.primary-btn[data-v-d17dca63]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.secondary-btn[data-v-d17dca63]{background:#fff;color:#667eea;border:1px solid #667eea}.secondary-btn[data-v-d17dca63]:hover{background:#f5f7ff}.teacher-login[data-v-18d7c371]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a5f,#2d5a87);padding:20px}.login-card[data-v-18d7c371]{background:#fff;border-radius:12px;padding:40px;max-width:440px;width:100%;box-shadow:0 10px 40px #0003}.login-card h1[data-v-18d7c371]{font-size:28px;color:#1e3a5f;margin-bottom:8px}.subtitle[data-v-18d7c371]{color:#666;margin-bottom:32px}.login-form[data-v-18d7c371]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-18d7c371]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-18d7c371]{font-size:14px;font-weight:500;color:#333}.form-group input[type=password][data-v-18d7c371],.form-group input[type=text][data-v-18d7c371]{padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-group input[data-v-18d7c371]:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 3px #1e3a5f1a}.key-options[data-v-18d7c371]{display:flex;gap:8px;margin-bottom:8px}.key-option[data-v-18d7c371]{flex:1;padding:10px;border:1px solid #ddd;border-radius:6px;background:#f8f9fa;font-size:14px;cursor:pointer;transition:all .2s}.key-option[data-v-18d7c371]:hover{background:#e9ecef}.key-option.active[data-v-18d7c371]{background:#1e3a5f;color:#fff;border-color:#1e3a5f}.key-textarea[data-v-18d7c371]{padding:12px;border:1px solid #ddd;border-radius:8px;font-family:monospace;font-size:12px;resize:vertical;min-height:120px}.key-textarea[data-v-18d7c371]:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 3px #1e3a5f1a}.file-upload[data-v-18d7c371]{position:relative}.file-input[data-v-18d7c371]{position:absolute;width:0;height:0;opacity:0}.file-label[data-v-18d7c371]{display:flex;align-items:center;justify-content:center;padding:16px;border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:all .2s;color:#666}.file-label[data-v-18d7c371]:hover{border-color:#1e3a5f;background:#f8f9fa}.file-name[data-v-18d7c371]{color:#1e3a5f;font-weight:500}.checkbox-group[data-v-18d7c371]{flex-direction:row}.checkbox-label[data-v-18d7c371]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666}.checkbox-label input[type=checkbox][data-v-18d7c371]{width:18px;height:18px;cursor:pointer}.error-message[data-v-18d7c371]{padding:12px;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00;font-size:14px}.login-btn[data-v-18d7c371]{padding:14px 24px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-btn[data-v-18d7c371]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1e3a5f66}.login-btn[data-v-18d7c371]:disabled{opacity:.7;cursor:not-allowed}.login-footer[data-v-18d7c371]{margin-top:24px;text-align:center}.login-footer a[data-v-18d7c371]{color:#666;text-decoration:none;font-size:14px}.login-footer a[data-v-18d7c371]:hover{color:#1e3a5f}@media (max-width: 480px){.login-card[data-v-18d7c371]{padding:24px}.login-card h1[data-v-18d7c371]{font-size:24px}}.classroom-list[data-v-743accef]{padding:24px;max-width:1200px;margin:0 auto}.dashboard-header[data-v-743accef]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.header-left h1[data-v-743accef]{font-size:28px;color:#1e3a5f;margin-bottom:4px}.last-updated[data-v-743accef]{font-size:13px;color:#888}.header-actions[data-v-743accef]{display:flex;gap:12px}.refresh-btn[data-v-743accef],.logout-btn[data-v-743accef]{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.refresh-btn[data-v-743accef]{background:#e3f2fd;color:#1e3a5f;border:none}.refresh-btn[data-v-743accef]:hover:not(:disabled){background:#bbdefb}.refresh-btn[data-v-743accef]:disabled{opacity:.6;cursor:not-allowed}.logout-btn[data-v-743accef]{background:#fff;color:#666;border:1px solid #ddd}.logout-btn[data-v-743accef]:hover{background:#f5f5f5;color:#333}.loading[data-v-743accef],.error-state[data-v-743accef]{text-align:center;padding:60px 20px}.spinner[data-v-743accef]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#1e3a5f;border-radius:50%;animation:spin-743accef .8s linear infinite;margin:0 auto 16px}@keyframes spin-743accef{to{transform:rotate(360deg)}}.error-state[data-v-743accef]{color:#c00}.error-state button[data-v-743accef]{margin-top:16px;padding:10px 20px;background:#c00;color:#fff;border:none;border-radius:6px;cursor:pointer}.overall-stats[data-v-743accef]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:40px}.stat-card[data-v-743accef]{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #00000014}.stat-card.accent[data-v-743accef]{background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff}.stat-card .stat-value[data-v-743accef]{font-size:32px;font-weight:700}.stat-card .stat-label[data-v-743accef]{font-size:13px;color:#666;margin-top:4px}.stat-card.accent .stat-label[data-v-743accef]{color:#fffc}.classrooms-section[data-v-743accef]{margin-bottom:40px}.classrooms-section h2[data-v-743accef],.recent-section h2[data-v-743accef]{font-size:18px;color:#333;margin-bottom:16px}.classroom-grid[data-v-743accef]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.classroom-card[data-v-743accef]{background:#fff;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000014}.classroom-card[data-v-743accef]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.classroom-header[data-v-743accef]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.classroom-header h3[data-v-743accef]{font-size:18px;color:#1e3a5f;margin:0}.student-count[data-v-743accef]{font-size:13px;color:#888}.classroom-stats[data-v-743accef]{display:flex;gap:20px;margin-bottom:12px}.mini-stat[data-v-743accef]{display:flex;flex-direction:column}.mini-stat .value[data-v-743accef]{font-size:20px;font-weight:600;color:#333}.mini-stat .value.accuracy.excellent[data-v-743accef]{color:#2e7d32}.mini-stat .value.accuracy.good[data-v-743accef]{color:#558b2f}.mini-stat .value.accuracy.fair[data-v-743accef]{color:#f57c00}.mini-stat .value.accuracy.needs-work[data-v-743accef]{color:#c62828}.mini-stat .label[data-v-743accef]{font-size:11px;color:#888;text-transform:uppercase}.classroom-activity[data-v-743accef]{display:flex;gap:8px}.activity-badge[data-v-743accef]{padding:4px 8px;background:#e8f5e9;color:#2e7d32;border-radius:4px;font-size:11px;font-weight:500}.activity-badge.week[data-v-743accef]{background:#e3f2fd;color:#1565c0}.empty-state[data-v-743accef]{text-align:center;padding:40px;color:#888}.recent-section[data-v-743accef]{margin-bottom:40px}.recent-list[data-v-743accef]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.recent-item[data-v-743accef]{display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f0f0f0}.recent-item[data-v-743accef]:last-child{border-bottom:none}.recent-item[data-v-743accef]:hover{background:#f8f9fa}.student-avatar[data-v-743accef]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.student-info[data-v-743accef]{flex:1;display:flex;flex-direction:column}.student-name[data-v-743accef]{font-weight:500;color:#333}.student-classroom[data-v-743accef]{font-size:13px;color:#888}.student-quick-stats .accuracy[data-v-743accef]{font-weight:600;font-size:16px}.accuracy.excellent[data-v-743accef]{color:#2e7d32}.accuracy.good[data-v-743accef]{color:#558b2f}.accuracy.fair[data-v-743accef]{color:#f57c00}.accuracy.needs-work[data-v-743accef]{color:#c62828}@media (max-width: 600px){.classroom-list[data-v-743accef]{padding:16px}.dashboard-header[data-v-743accef]{flex-direction:column;gap:16px}.overall-stats[data-v-743accef]{grid-template-columns:repeat(2,1fr)}.classroom-grid[data-v-743accef]{grid-template-columns:1fr}}.classroom-detail[data-v-7b83436b]{padding:24px;max-width:1000px;margin:0 auto}.detail-header[data-v-7b83436b]{margin-bottom:32px}.back-btn[data-v-7b83436b]{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:0;margin-bottom:12px;display:flex;align-items:center}.back-btn[data-v-7b83436b]:hover{color:#1e3a5f}.header-info[data-v-7b83436b]{display:flex;align-items:baseline;gap:16px}.header-info h1[data-v-7b83436b]{font-size:28px;color:#1e3a5f;margin:0}.student-count[data-v-7b83436b]{font-size:14px;color:#888}.stats-summary[data-v-7b83436b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:32px}.stat-card[data-v-7b83436b]{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #00000014}.stat-card.accent[data-v-7b83436b]{background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff}.stat-card .stat-value[data-v-7b83436b]{font-size:28px;font-weight:700}.stat-card .stat-label[data-v-7b83436b]{font-size:12px;color:#666;margin-top:4px}.stat-card.accent .stat-label[data-v-7b83436b]{color:#fffc}.skill-profile[data-v-7b83436b]{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 2px 8px #00000014}.skill-profile h2[data-v-7b83436b]{font-size:18px;color:#333;margin-bottom:20px}.skill-bars[data-v-7b83436b]{display:flex;flex-direction:column;gap:16px}.skill-bar-row[data-v-7b83436b]{display:flex;align-items:center;gap:16px}.skill-info[data-v-7b83436b]{flex:0 0 160px;display:flex;flex-direction:column}.skill-name[data-v-7b83436b]{font-size:14px;font-weight:500;color:#333}.skill-count[data-v-7b83436b]{font-size:11px;color:#888}.skill-bar-container[data-v-7b83436b]{flex:1;height:24px;background:#f0f0f0;border-radius:12px;position:relative;overflow:hidden}.skill-bar[data-v-7b83436b]{height:100%;border-radius:12px;transition:width .3s ease}.skill-bar.excellent[data-v-7b83436b]{background:linear-gradient(90deg,#4caf50,#81c784)}.skill-bar.good[data-v-7b83436b]{background:linear-gradient(90deg,#8bc34a,#aed581)}.skill-bar.fair[data-v-7b83436b]{background:linear-gradient(90deg,#ffc107,#ffca28)}.skill-bar.needs-work[data-v-7b83436b]{background:linear-gradient(90deg,#ff9800,#ffb74d)}.skill-accuracy[data-v-7b83436b]{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;color:#333}.students-section h2[data-v-7b83436b]{font-size:18px;color:#333;margin-bottom:16px}.section-header[data-v-7b83436b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sort-controls[data-v-7b83436b]{display:flex;align-items:center;gap:8px}.sort-controls label[data-v-7b83436b]{font-size:13px;color:#666}.sort-controls select[data-v-7b83436b]{padding:6px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;cursor:pointer}.student-grid[data-v-7b83436b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.student-card[data-v-7b83436b]{background:#fff;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000014}.student-card[data-v-7b83436b]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.student-header[data-v-7b83436b]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.student-avatar[data-v-7b83436b]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.student-name-container[data-v-7b83436b]{display:flex;flex-direction:column}.student-name[data-v-7b83436b]{font-weight:600;color:#333}.last-active[data-v-7b83436b]{font-size:12px;color:#888}.last-active.never[data-v-7b83436b]{color:#bbb;font-style:italic}.student-stats[data-v-7b83436b]{display:flex;gap:24px;margin-bottom:12px}.student-stats .stat[data-v-7b83436b]{display:flex;flex-direction:column}.student-stats .stat .value[data-v-7b83436b]{font-size:20px;font-weight:600;color:#333}.student-stats .stat .value.excellent[data-v-7b83436b]{color:#2e7d32}.student-stats .stat .value.good[data-v-7b83436b]{color:#558b2f}.student-stats .stat .value.fair[data-v-7b83436b]{color:#f57c00}.student-stats .stat .value.needs-work[data-v-7b83436b]{color:#c62828}.student-stats .stat .label[data-v-7b83436b]{font-size:11px;color:#888;text-transform:uppercase}.student-activity[data-v-7b83436b]{display:flex;gap:8px}.activity[data-v-7b83436b]{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.activity.today[data-v-7b83436b]{background:#e8f5e9;color:#2e7d32}.activity.week[data-v-7b83436b]{background:#e3f2fd;color:#1565c0}.empty-state[data-v-7b83436b]{text-align:center;padding:40px;color:#888}@media (max-width: 600px){.classroom-detail[data-v-7b83436b]{padding:16px}.stats-summary[data-v-7b83436b]{grid-template-columns:repeat(2,1fr)}.student-grid[data-v-7b83436b]{grid-template-columns:1fr}.skill-bar-row[data-v-7b83436b]{flex-direction:column;align-items:stretch}.skill-info[data-v-7b83436b]{flex:unset;flex-direction:row;justify-content:space-between;margin-bottom:4px}}.student-detail[data-v-80b82a9e]{padding:24px;max-width:900px;margin:0 auto}.detail-header[data-v-80b82a9e]{margin-bottom:32px}.back-btn[data-v-80b82a9e]{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:0;margin-bottom:16px}.back-btn[data-v-80b82a9e]:hover{color:#1e3a5f}.header-content[data-v-80b82a9e]{display:flex;align-items:center;gap:20px}.student-avatar.large[data-v-80b82a9e]{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px}.header-info[data-v-80b82a9e]{display:flex;flex-direction:column}.header-info h1[data-v-80b82a9e]{font-size:28px;color:#1e3a5f;margin:0 0 4px}.classroom[data-v-80b82a9e]{font-size:14px;color:#666}.last-active[data-v-80b82a9e]{font-size:13px;color:#888;margin-top:4px}.loading[data-v-80b82a9e]{text-align:center;padding:60px 20px}.spinner[data-v-80b82a9e]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#1e3a5f;border-radius:50%;animation:spin-80b82a9e .8s linear infinite;margin:0 auto 16px}@keyframes spin-80b82a9e{to{transform:rotate(360deg)}}.stats-overview[data-v-80b82a9e]{margin-bottom:32px}.stat-cards[data-v-80b82a9e]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card[data-v-80b82a9e]{background:#fff;padding:24px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #00000014}.stat-card.accent[data-v-80b82a9e]{background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff}.stat-card.streak[data-v-80b82a9e]{background:linear-gradient(135deg,#ff9800,#ffc107);color:#fff}.stat-card .stat-value[data-v-80b82a9e]{font-size:36px;font-weight:700}.stat-card .stat-label[data-v-80b82a9e]{font-size:13px;margin-top:4px;opacity:.8}.period-stats[data-v-80b82a9e]{display:flex;gap:24px}.period[data-v-80b82a9e]{flex:1;background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #00000014}.period h4[data-v-80b82a9e]{font-size:14px;color:#666;margin:0 0 12px;text-transform:uppercase}.period-numbers[data-v-80b82a9e]{display:flex;gap:16px;font-size:14px}.period-numbers .total[data-v-80b82a9e]{color:#333;font-weight:500}.period-numbers .correct[data-v-80b82a9e]{color:#4caf50}.period-numbers .accuracy[data-v-80b82a9e]{color:#1e3a5f;font-weight:600}.skill-section[data-v-80b82a9e],.errors-section[data-v-80b82a9e],.recommendations-section[data-v-80b82a9e]{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.skill-section h2[data-v-80b82a9e],.errors-section h2[data-v-80b82a9e],.recommendations-section h2[data-v-80b82a9e]{font-size:18px;color:#333;margin:0 0 20px}.section-description[data-v-80b82a9e]{color:#666;font-size:14px;margin:-12px 0 16px}.skill-list[data-v-80b82a9e]{display:flex;flex-direction:column;gap:16px}.skill-row[data-v-80b82a9e]{display:flex;align-items:center;gap:16px}.skill-info[data-v-80b82a9e]{flex:0 0 180px;display:flex;flex-direction:column}.skill-name[data-v-80b82a9e]{font-size:14px;font-weight:500;color:#333}.skill-category[data-v-80b82a9e]{font-size:11px;color:#888}.skill-bar-container[data-v-80b82a9e]{flex:1;height:20px;background:#f0f0f0;border-radius:10px;overflow:hidden}.skill-bar[data-v-80b82a9e]{height:100%;border-radius:10px;transition:width .3s ease}.skill-bar.excellent[data-v-80b82a9e]{background:linear-gradient(90deg,#4caf50,#81c784)}.skill-bar.good[data-v-80b82a9e]{background:linear-gradient(90deg,#8bc34a,#aed581)}.skill-bar.fair[data-v-80b82a9e]{background:linear-gradient(90deg,#ffc107,#ffca28)}.skill-bar.needs-work[data-v-80b82a9e]{background:linear-gradient(90deg,#ff9800,#ffb74d)}.skill-stats[data-v-80b82a9e]{flex:0 0 100px;display:flex;flex-direction:column;align-items:flex-end}.skill-stats .accuracy[data-v-80b82a9e]{font-size:16px;font-weight:600}.skill-stats .accuracy.excellent[data-v-80b82a9e]{color:#2e7d32}.skill-stats .accuracy.good[data-v-80b82a9e]{color:#558b2f}.skill-stats .accuracy.fair[data-v-80b82a9e]{color:#f57c00}.skill-stats .accuracy.needs-work[data-v-80b82a9e]{color:#c62828}.skill-stats .count[data-v-80b82a9e]{font-size:12px;color:#888}.error-list[data-v-80b82a9e]{display:flex;flex-direction:column;gap:12px}.error-card[data-v-80b82a9e]{padding:16px;background:#fef9f9;border:1px solid #fee;border-radius:8px}.error-header[data-v-80b82a9e]{display:flex;justify-content:space-between;margin-bottom:8px}.error-skill[data-v-80b82a9e]{font-weight:500;color:#333}.error-date[data-v-80b82a9e]{font-size:13px;color:#888}.error-details[data-v-80b82a9e]{margin-bottom:8px}.bid-comparison[data-v-80b82a9e]{display:flex;align-items:center;gap:8px}.bid[data-v-80b82a9e]{padding:4px 12px;border-radius:4px;font-size:14px;font-weight:500}.bid.wrong[data-v-80b82a9e]{background:#ffebee;color:#c62828;text-decoration:line-through}.bid.correct[data-v-80b82a9e]{background:#e8f5e9;color:#2e7d32}.arrow[data-v-80b82a9e]{color:#888}.error-context[data-v-80b82a9e]{font-size:12px;color:#888}.recommendation-list[data-v-80b82a9e]{display:flex;flex-direction:column;gap:12px}.recommendation-card[data-v-80b82a9e]{padding:16px;background:#e3f2fd;border-radius:8px}.rec-skill[data-v-80b82a9e]{font-weight:600;color:#1e3a5f;margin-bottom:4px}.rec-reason[data-v-80b82a9e]{font-size:14px;color:#666;margin-bottom:8px}.rec-stats[data-v-80b82a9e]{display:flex;gap:16px;font-size:12px;color:#888}@media (max-width: 600px){.student-detail[data-v-80b82a9e]{padding:16px}.header-content[data-v-80b82a9e]{flex-direction:column;text-align:center}.stat-cards[data-v-80b82a9e]{grid-template-columns:1fr}.period-stats[data-v-80b82a9e]{flex-direction:column}.skill-row[data-v-80b82a9e]{flex-direction:column;align-items:stretch}.skill-info[data-v-80b82a9e]{flex:unset;flex-direction:row;justify-content:space-between;margin-bottom:4px}.skill-stats[data-v-80b82a9e]{flex:unset;flex-direction:row;justify-content:space-between;margin-top:4px}}.teacher-dashboard[data-v-50a55ca1]{min-height:100vh;background:#f5f7fa}.lesson-browser-loading[data-v-384a9c63],.lesson-browser-error[data-v-384a9c63]{text-align:center;padding:40px;background:#fff;border-radius:8px;max-width:400px;margin:0 auto}.loading-spinner[data-v-384a9c63]{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin-384a9c63 1s linear infinite;margin:0 auto 16px}@keyframes spin-384a9c63{to{transform:rotate(360deg)}}.retry-btn[data-v-384a9c63]{margin-top:16px;padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer}.retry-btn[data-v-384a9c63]:hover{background:#5a6fd6}.modal-overlay[data-v-384a9c63]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.lesson-browser[data-v-384a9c63]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.browser-header[data-v-384a9c63]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.browser-header h2[data-v-384a9c63]{margin:0;font-size:20px;color:#333}.close-btn[data-v-384a9c63]{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-384a9c63]:hover{background:#f0f0f0;color:#333}.browser-content[data-v-384a9c63]{flex:1;overflow-y:auto;padding:8px 0}.lesson-browser-inline[data-v-384a9c63]{background:#fff;border-radius:8px;width:100%;max-width:700px;margin:0 auto}.browser-content-inline[data-v-384a9c63]{padding:8px 0}.category-section[data-v-384a9c63]{border-bottom:1px solid #f0f0f0}.category-section[data-v-384a9c63]:last-child{border-bottom:none}.category-header[data-v-384a9c63]{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-384a9c63]:hover{background:#f8f8f8}.category-header.expanded[data-v-384a9c63]{background:#f5f5f5}.expand-icon[data-v-384a9c63]{font-size:10px;color:#666;width:12px}.category-name[data-v-384a9c63]{flex:1;font-weight:600;color:#333}.category-count[data-v-384a9c63]{font-size:13px;color:#888}.lesson-list[data-v-384a9c63]{background:#fafafa;padding:8px 20px 8px 44px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px}.lesson-item[data-v-384a9c63]{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-384a9c63]:hover{background:#e8f4fd}.lesson-item.loading[data-v-384a9c63]{opacity:.6;cursor:wait}.lesson-name[data-v-384a9c63]{font-size:14px;font-weight:500;color:#1976d2}.lesson-description[data-v-384a9c63]{font-size:12px;color:#666;line-height:1.3}.error-message[data-v-384a9c63],.error-message-inline[data-v-384a9c63]{padding:12px 20px;background:#fff3f3;color:#d32f2f;font-size:13px;border-top:1px solid #ffcdd2}.error-message-inline[data-v-384a9c63]{border-radius:0 0 8px 8px}@media (max-width: 600px){.lesson-browser[data-v-384a9c63]{max-height:90vh}.browser-header[data-v-384a9c63]{padding:12px 16px}.browser-header h2[data-v-384a9c63]{font-size:18px}.category-header[data-v-384a9c63]{padding:12px 16px;font-size:14px}.lesson-list[data-v-384a9c63]{grid-template-columns:1fr;padding:4px 16px 4px 36px}.lesson-item[data-v-384a9c63]{padding:8px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#f5f5f5;min-height:100vh}.app{max-width:1200px;margin:0 auto;padding:16px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #ddd}.app-header h1{font-size:24px;color:#333}.header-right{display:flex;align-items:center;gap:16px}.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,#667eea,#764ba2);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 #667eea66}.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}.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:center;justify-content:center;z-index:1000;padding:20px}.app-main{display:flex;flex-direction:column;gap:16px}.practice-layout{display:grid;grid-template-columns:auto auto;gap:32px;align-items:start;justify-content:center}.practice-left{display:flex;flex-direction:column;gap:12px}.practice-right{display:flex;flex-direction:column;gap:16px;align-items:center}.lobby,.collection-view{text-align:center;padding:40px;background:#fff;border-radius:8px}.lobby h2,.collection-view h2{margin-bottom:8px;color:#333}.lobby>p,.collection-view>p{margin-bottom:24px;color:#666}.collection-cards{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:32px}.collection-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:200px}.collection-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea66}.collection-icon{font-size:48px;line-height:1}.collection-name{font-size:20px;font-weight:600}.collection-desc{font-size:13px;opacity:.9;max-width:180px}.collection-subtitle{margin-bottom:16px;color:#666}.load-file-section{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.load-file-section p{margin-bottom:8px;font-size:13px;color:#888}.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}.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}.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}.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}.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}}
