:root{font-family:Inter,system-ui,sans-serif;line-height:1.5;color:#0f172a;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-900: #1e3a8a;--indigo-600: #4f46e5;--violet-600: #7c3aed;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--amber-500: #f59e0b;--amber-600: #d97706;--slate-900: #0f172a;--slate-800: #1e293b;--gradient-page: linear-gradient(160deg, #dbeafe 0%, #e0e7ff 35%, #f0fdf4 100%);--gradient-page-dark: linear-gradient(165deg, #0f172a 0%, #1e3a8a 55%, #312e81 100%);--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #2563eb 45%, #4f46e5 100%);--gradient-primary-hover: linear-gradient(135deg, #2563eb 0%, #1d4ed8 45%, #4338ca 100%);--gradient-hero: linear-gradient(135deg, #1e40af 0%, #2563eb 35%, #7c3aed 85%);--gradient-player-shell: linear-gradient(180deg, #0f172a 0%, #172554 40%, #1e3a8a 100%);--gradient-easy: linear-gradient(135deg, #4ade80 0%, #16a34a 55%, #15803d 100%);--gradient-hard: linear-gradient(135deg, #fb7185 0%, #ef4444 50%, #dc2626 100%);--gradient-success: linear-gradient(135deg, #34d399 0%, #059669 100%);--gradient-danger: linear-gradient(135deg, #f87171 0%, #dc2626 100%);--gradient-warning: linear-gradient(135deg, #fcd34d 0%, #f59e0b 55%, #d97706 100%);--gradient-teacher: linear-gradient(135deg, #475569 0%, #1e293b 55%, #0f172a 100%);--gradient-hud: linear-gradient(90deg, #1e3a8a 0%, #2563eb 50%, #4f46e5 100%);--gradient-card-glass: linear-gradient(145deg, rgba(255, 255, 255, .98) 0%, rgba(239, 246, 255, .92) 100%);--shadow-sm: 0 2px 10px rgba(15, 23, 42, .1);--shadow-md: 0 10px 28px rgba(15, 23, 42, .16);--shadow-lg: 0 18px 44px rgba(15, 23, 42, .22);--shadow-glow-blue: 0 0 28px rgba(59, 130, 246, .4);--shadow-glow-green: 0 0 24px rgba(34, 197, 94, .35);--shadow-glow-purple: 0 0 28px rgba(124, 58, 237, .35);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;background:var(--gradient-page);background-attachment:fixed}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--blue-600)}.page{max-width:960px;margin:0 auto;padding:24px}.card{background:var(--gradient-card-glass);border:1px solid rgba(147,197,253,.55);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stack{display:grid;gap:16px}button,input{font:inherit}button{cursor:pointer;border:none;border-radius:var(--radius-sm);padding:10px 14px;background:var(--gradient-primary);color:#fff;font-weight:700;box-shadow:0 4px 14px #2563eb59;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:hover:not(:disabled){background:var(--gradient-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}input{width:100%;padding:10px 12px;border:2px solid #bfdbfe;border-radius:var(--radius-sm);background:#ffffffe6;transition:border-color .15s ease,box-shadow .15s ease}input:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px #2563eb33}.error{color:var(--red-700)}.muted{color:#64748b}.success{color:var(--green-700)}.players-table{width:100%;border-collapse:collapse}.players-table th,.players-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #e2e8f0}.history-item{padding-top:12px;border-top:1px solid #e2e8f0}.history-item:first-of-type{border-top:none;padding-top:0}button.secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 4px 12px #4755694d}button.danger{background:var(--gradient-danger);box-shadow:0 4px 14px #dc262659}.feedback{margin:0;padding:10px 12px;border-radius:var(--radius-sm);font-weight:600}.feedback-error{color:#991b1b;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5}.feedback-success{color:#065f46;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7}.feedback-info{color:#1e40af;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd}.answer-buttons{display:grid;gap:10px}.answer-buttons button{text-align:left;background:#1e40af}.question-options-preview,.resource-list{margin:0;padding-left:20px}.board-grid{display:grid;grid-template-columns:repeat(5,minmax(56px,1fr));gap:8px;max-width:420px}.board-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#dbeafe,#bfdbfe);border:2px solid #60a5fa;border-radius:var(--radius-sm);font-weight:600;padding:0;box-shadow:inset 0 1px #ffffff80}.board-cell-clickable{cursor:pointer}.board-cell-clickable:hover{filter:brightness(1.05);transform:scale(1.02)}.board-cell-current{background:var(--gradient-primary);border-color:#818cf8;color:#fff;box-shadow:var(--shadow-glow-blue)}.board-cell-current .board-cell-qty{color:#e0f2fe}.board-cell-legal{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e73,0 0 16px #22c55e40}.board-cell-visited{background:#e5e7eb;border-color:#9ca3af;color:#6b7280}.board-cell-visited .board-cell-qty{color:#6b7280}.board-cell-kind{font-size:1.1rem}.board-cell-qty{font-size:.85rem;color:#1e3a8a}.task-cards{display:grid;gap:12px}.task-card{padding:14px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.task-card h3{margin:0 0 6px}.task-requirements{margin:8px 0 0;padding-left:20px}.task-card-selectable{width:100%;text-align:left;cursor:pointer;background:#f9fafb;color:inherit}.task-card-selectable:hover{border-color:#93c5fd}.task-card-selected{border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe;background:#eff6ff}.path-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pipeline-board{overflow-x:auto}.pipeline-grid{display:grid;grid-template-columns:88px 1fr 1fr;gap:8px;min-width:480px}.pipeline-corner{min-height:1px}.pipeline-path-header{font-weight:700;text-align:center;padding:8px;background:#e5e7eb;border-radius:8px}.pipeline-row-header{display:flex;align-items:center;font-weight:600;font-size:.85rem;padding-right:8px;color:#374151}.pipeline-cell{min-height:64px;padding:8px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;display:flex;flex-direction:column;gap:6px}.pipeline-card-chip{display:flex;flex-direction:column;gap:2px;padding:8px;background:#dbeafe;border:1px solid #93c5fd;border-radius:6px;font-size:.9rem}.pipeline-board-compact .pipeline-card-chip span{display:none}.pipeline-board-rich .pipeline-card-chip{align-items:flex-start;text-align:left;gap:4px;font-size:.78rem;line-height:1.25;padding:6px}.pipeline-board-rich .pipeline-card-title{font-size:.85rem;line-height:1.2}.pipeline-board-rich .pipeline-card-desc{color:#4b5563;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pipeline-board-rich .pipeline-card-reqs{color:#1d4ed8;font-weight:600;font-size:.75rem}.pipeline-board-rich .pipeline-card-action{margin-top:4px;width:100%;padding:6px 8px;font-size:.78rem;background:#15803d;color:#fff;border:none;border-radius:6px}.pipeline-path-header{display:flex;flex-direction:column;align-items:center;gap:2px}.pipeline-path-count{font-size:1.1rem;font-weight:800}.pipeline-path-header-easy{background:var(--gradient-easy);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 4px 12px #16a34a59}.pipeline-path-header-hard{background:var(--gradient-hard);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 4px 12px #dc262659}.pipeline-board-rich .pipeline-grid{min-width:0;grid-template-columns:52px 1fr 1fr;gap:6px}.pipeline-board-rich .pipeline-cell{min-height:52px;padding:4px}.pipeline-board-rich .pipeline-row-header{font-size:.72rem;padding-right:4px}.pipeline-legend{font-size:.75rem}.pipeline-legend{margin:10px 0 0;font-size:.85rem}.player-status-bar{padding:12px 14px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff}.player-status-metrics{display:flex;flex-wrap:wrap;gap:16px 24px}.player-status-metric{display:flex;flex-direction:column;gap:2px}.player-status-label{font-size:.85rem;color:#4b5563}.player-status-resources{display:flex;flex-direction:column;gap:6px}.resource-list-inline{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0}.resource-list-inline li{margin:0}.board-actions{display:flex;flex-wrap:wrap;gap:10px}.board-panel-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0d}.board-toolbar-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.board-status-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.78rem;font-weight:600;line-height:1.2}.board-status-chip strong{font-weight:800;font-variant-numeric:tabular-nums}.board-status-sub{font-size:.68rem;font-weight:600;color:#64748b}.board-status-chip-warn{background:#fef3c7;color:#92400e}.board-status-chip-passive{background:#ecfdf5;color:#166534;cursor:help}.board-status-chip-success{background:#dcfce7;color:#166534}.board-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}.board-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:2px solid #cbd5e1;border-radius:999px;background:#fff;color:#0f172a;font-size:.78rem;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.board-action-btn:hover:not(:disabled){border-color:#2563eb;background:#eff6ff}.board-action-btn:disabled{opacity:.45;cursor:not-allowed}.board-action-btn-on{border-color:#2563eb;background:#dbeafe;color:#1e3a8a;box-shadow:0 0 0 2px #2563eb26}.board-action-btn-reward{border-color:#7c3aed;background:linear-gradient(180deg,#f5f3ff,#ede9fe);color:#5b21b6;box-shadow:0 0 0 2px #7c3aed2e;cursor:default;animation:board-reward-pulse 2s ease-in-out infinite}.board-action-btn-secondary{border-color:#94a3b8}.board-toolbar-hint{margin:0;font-size:.78rem;line-height:1.35;color:#64748b}.board-panel-footer{margin:0;font-size:.85rem}@keyframes board-reward-pulse{0%,to{box-shadow:0 0 0 2px #7c3aed2e}50%{box-shadow:0 0 0 4px #7c3aed47}}.board-cell-swap-selected{border-color:#7c3aed;box-shadow:0 0 0 2px #ddd6fe}.board-cell-boosted{box-shadow:inset 0 0 0 2px #16a34a59}.board-cell-boosted .board-cell-qty{color:#15803d;font-weight:800}.board-cell-qty-base{font-size:.62rem;font-weight:600;color:#64748b}.board-cell-blocked{opacity:.55}.board-cell-blocked .board-cell-qty{text-decoration:line-through;color:#94a3b8}.upgrade-shop-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upgrade-shop-tile{padding:12px;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #dbeafe;box-shadow:0 4px 16px #2563eb14}.upgrade-shop-tile-label{margin:0 0 10px;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b;text-align:center}.upgrade-shop-tile-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.upgrade-shop-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:12px 10px;border:2px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.upgrade-shop-option:hover:not(:disabled){border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1f}.upgrade-shop-option:disabled{opacity:.45;cursor:not-allowed}.upgrade-shop-option-choice{border-color:#93c5fd;background:#eff6ff}.upgrade-shop-dice-icon{width:2.4rem;height:2.4rem;color:#2563eb}.upgrade-shop-option-label{font-size:1.35rem;font-weight:900;line-height:1;color:#1d4ed8;font-variant-numeric:tabular-nums}.upgrade-shop-option-price{font-size:.82rem;font-weight:800;color:#475569}.player-upgrades-shop-header{display:flex;justify-content:flex-end}.player-upgrades-points{font-size:.85rem;color:#64748b}.player-upgrades-points strong{color:#1e40af;font-variant-numeric:tabular-nums}.player-drawn-card-modal{gap:12px}.player-drawn-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--radius-lg);border:2px solid rgba(147,197,253,.5);background:var(--gradient-card-glass);box-shadow:var(--shadow-md)}.player-drawn-card-kicker{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.player-drawn-card-title{margin:0;font-size:1.15rem;line-height:1.25;color:#0f172a}.player-drawn-card-desc{margin:0;font-size:.88rem;line-height:1.4;color:#64748b}.player-drawn-card-effect{margin:0;font-size:.9rem;line-height:1.4;color:#334155;font-weight:600}.player-drawn-card-badge{align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.player-drawn-card-badge-immediate{background:var(--gradient-warning);color:#fff}.player-drawn-card-badge-cancelled{background:#f3f4f6;color:#6b7280}.player-drawn-card-outcome-reward{border-color:#34d399;background:linear-gradient(145deg,#ecfdf5,#a7f3d0 35%,#fff);box-shadow:var(--shadow-glow-green)}.player-drawn-card-outcome-penalty{border-color:#f87171;background:linear-gradient(145deg,#fef2f2,#fecaca 35%,#fff);box-shadow:0 0 24px #ef444440}.player-drawn-card-cancelled{opacity:.72}.player-drawn-card-hint{margin:0;text-align:center;font-size:.82rem;color:#64748b}.player-drawn-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.player-drawn-card-actions-single{grid-template-columns:1fr}.player-drawn-card-btn-primary{width:100%;padding:14px 16px;border:none;border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:var(--shadow-glow-blue)}.player-drawn-card-btn-primary:disabled{opacity:.5;cursor:not-allowed}.player-drawn-card-btn-ok{background:var(--gradient-success);box-shadow:var(--shadow-glow-green)}.player-drawn-card-btn-secondary{width:100%;padding:14px 16px;border:1px solid rgba(148,163,184,.45);border-radius:var(--radius-md);background:#0f172a59;color:#e2e8f0;font-size:1rem;font-weight:700;cursor:pointer}.player-drawn-card-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.player-modal-drawn-card{width:min(100%,400px);padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}.player-modal-upgrade-pick{width:min(100%,440px)}.upgrade-pick-grid{display:grid;gap:10px}.upgrade-pick-card{width:100%;text-align:left;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.upgrade-pick-card:hover:not(:disabled){border-color:#2563eb;transform:translateY(-1px);box-shadow:0 8px 20px #2563eb24}.upgrade-pick-card:disabled{opacity:.55;cursor:not-allowed}.wildcard-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wildcard-material-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;font:inherit;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.wildcard-material-btn:hover:not(:disabled){border-color:#2563eb;transform:translateY(-1px);box-shadow:0 8px 20px #2563eb24}.wildcard-material-btn:disabled{opacity:.55;cursor:not-allowed}.wildcard-material-icon{width:2rem;height:2rem}.player-drawn-card-upgrade{border-color:#c4b5fd;background:linear-gradient(180deg,#faf5ff,#f5f3ff)}.player-drawn-card-upgrade .player-drawn-card-title{font-size:1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upgrade-card-selectable{width:100%;text-align:left;cursor:pointer;background:#f9fafb;color:inherit}.upgrade-card-selectable:hover{border-color:#2563eb}.task-card-completable{border-color:#16a34a;box-shadow:0 0 0 2px #bbf7d0;background:#f0fdf4}.pipeline-card-chip-highlight{border-color:#16a34a;box-shadow:0 0 0 2px #bbf7d0}.pipeline-card-chip-selectable{cursor:pointer;text-align:left;width:100%}.pipeline-card-chip-selectable:hover{border-color:#2563eb;background:#bfdbfe}.pipeline-board-pro{background:var(--gradient-card-glass);border:1px solid rgba(147,197,253,.45);border-radius:var(--radius-lg);padding:8px;box-shadow:inset 0 1px #fffc,var(--shadow-sm)}.pipeline-grid-pro{grid-template-columns:24px 1fr 1fr;min-width:0;gap:5px}.pipeline-row-index{display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:#94a3b8;font-variant-numeric:tabular-nums;line-height:1}.pipeline-cell-pro{min-height:44px;padding:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:4px}.pipeline-board-pro .pipeline-path-header{padding:5px 4px;border-radius:8px;font-size:.68rem;letter-spacing:.02em}.pipeline-board-pro .pipeline-path-count{font-size:.95rem}.pipeline-task-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:7px 8px;border:1px solid #cbd5e1;border-radius:8px;background:linear-gradient(180deg,#fff,#f8fafc);color:inherit;text-align:left;font-size:.78rem;line-height:1.25;box-shadow:0 1px 2px #0f172a0d}.pipeline-task-card-title{font-size:.8rem;font-weight:700;color:#0f172a;line-height:1.2}.pipeline-task-card-highlight{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e38;background:linear-gradient(180deg,#f0fdf4,#ecfdf5)}.pipeline-task-card-selectable{cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.pipeline-task-card-selectable:hover{border-color:#2563eb;box-shadow:0 2px 8px #2563eb1f}.pipeline-task-card-selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb38;background:linear-gradient(180deg,#eff6ff,#dbeafe)}.pipeline-task-card-active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb47;background:linear-gradient(180deg,#eff6ff,#dbeafe)}.pipeline-task-card-queued{opacity:.72;background:#f8fafc}.player-current-task-card{position:relative}.player-assign-above-table{gap:8px}.player-assign-above-table .player-assign-banner{padding:6px 8px;font-size:.78rem}.player-assign-above-table .player-current-task-card{margin:0}.player-task-queue-inline{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.player-task-queue-inline .pipeline-task-card{flex:0 0 min(72%,240px)}.player-task-queue .player-section-title{font-size:.82rem;color:#64748b}.pipeline-board-assign{border-color:#93c5fd;box-shadow:0 0 0 2px #2563eb14}.pipeline-path-header-assign{cursor:pointer;border:2px solid transparent;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.pipeline-path-header-assign:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0f172a1a}.pipeline-path-header-easy.pipeline-path-header-assign:hover:not(:disabled){border-color:#22c55e}.pipeline-path-header-hard.pipeline-path-header-assign:hover:not(:disabled){border-color:#ef4444}.pipeline-path-header-assign:disabled{opacity:.55;cursor:not-allowed}.pipeline-path-assign-hint{display:block;margin-top:2px;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.pipeline-cell-assign-target{cursor:pointer;border-style:dashed;border-width:2px;border-color:#93c5fd;background:#eff6ff;text-align:left;color:inherit;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.pipeline-cell-assign-target:hover:not(:disabled){border-color:#2563eb;background:#dbeafe;box-shadow:inset 0 0 0 1px #2563eb26}.pipeline-cell-assign-target:disabled{opacity:.55;cursor:not-allowed}.pipeline-task-card-completable{border-color:#16a34a}.pipeline-task-card-action{margin-top:2px;width:100%;padding:5px 8px;font-size:.72rem;font-weight:700;background:#15803d;color:#fff;border:none;border-radius:6px;cursor:pointer}.pipeline-task-card-action:disabled{opacity:.55;cursor:not-allowed}.pipeline-board-compact.pipeline-board-pro{padding:6px}.pipeline-board-compact .pipeline-grid-pro{grid-template-columns:22px 1fr 1fr;gap:4px}.pipeline-board-compact .pipeline-task-card{padding:5px 6px}.pipeline-board-compact .pipeline-task-card-title{font-size:.74rem}.pipeline-board-compact .task-req-icons-compact .task-req-qty{font-size:.65rem}.player-task-card-grid{display:grid;gap:8px}.player-pick-card{width:100%}.outcome-order-picker{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.link-button{background:none;border:none;padding:0;color:#2563eb;text-decoration:underline;cursor:pointer;font:inherit}.link-button:disabled{opacity:.6;cursor:not-allowed}.order-history-grid{display:grid;gap:16px}@media(min-width:720px){.order-history-grid{grid-template-columns:1fr 1fr}}.outcome-card-panel{padding-top:8px}.resource-board-grid{max-width:none}.resource-board-legend{margin:8px 0 0;font-size:.85rem}.upgrade-cards{display:grid;gap:12px}.upgrade-offers-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.upgrade-card{padding:14px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.upgrade-card-locked{opacity:.85;background:#f3f4f6}.upgrade-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.upgrade-card-header h3{margin:0}.upgrade-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:#fef3c7;color:#92400e;white-space:nowrap}.teacher-projector-page{max-width:1400px;padding:20px 28px 32px}.teacher-admin-page{max-width:none;min-height:100vh;padding:24px;background:radial-gradient(circle at 15% 20%,rgba(124,58,237,.35) 0%,transparent 42%),radial-gradient(circle at 85% 80%,rgba(37,99,235,.4) 0%,transparent 45%),var(--gradient-page-dark)}.teacher-admin-shell{width:min(100%,920px);margin:0 auto;display:grid;gap:20px}.teacher-admin-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.teacher-admin-hero-copy h1{margin:8px 0 0;font-size:clamp(2rem,5vw,2.6rem);line-height:1.1;color:#fff}.teacher-admin-kicker{margin:0;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd}.teacher-admin-tagline{margin:12px 0 0;max-width:42rem;color:#cbd5e1;line-height:1.55}.teacher-admin-logout-btn{flex-shrink:0}.teacher-admin-card{background:var(--gradient-card-glass);border:1px solid rgba(147,197,253,.5);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-lg),var(--shadow-glow-blue)}.teacher-admin-loading{color:#334155;font-weight:600}.teacher-admin-section-head h2{margin:0;font-size:1.35rem}.teacher-admin-section-lead{margin:8px 0 0;color:#64748b;line-height:1.5}.teacher-admin-primary-btn{font-size:1.05rem;padding:14px 18px;background:var(--gradient-teacher);box-shadow:0 6px 20px #0f172a59}.teacher-admin-footer{text-align:center;padding-top:4px}.teacher-admin-footer a{font-weight:600;text-decoration:none;color:#bfdbfe}.teacher-admin-feedback{margin:0}.teacher-config-metrics{margin-top:4px}.teacher-history-list{display:grid;gap:16px}.teacher-history-card{padding:20px;border-radius:var(--radius-lg);background:linear-gradient(145deg,#f8fafc,#fff);border:1px solid #e2e8f0;box-shadow:var(--shadow-sm)}.teacher-history-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-history-card-kicker{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.teacher-history-card-code{margin:6px 0 0;font-size:1.5rem;font-weight:800;letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--blue-700)}.teacher-history-card-date{font-size:.92rem;color:#64748b;font-weight:600}.teacher-history-winner-value{font-size:1.35rem;line-height:1.2;color:#0f172a}.teacher-history-winner-score{font-size:.95rem;font-weight:700;color:#15803d}.teacher-history-empty{padding:20px;border-radius:var(--radius-md);background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px dashed #cbd5e1;text-align:center}.teacher-history-empty p{margin:0;color:#475569;font-weight:600}.teacher-history-empty-hint{margin-top:8px!important;font-weight:500!important;font-size:.92rem;color:#64748b!important}.teacher-history-no-players{margin:0;color:#64748b}.teacher-history-scoreboard h3{margin:0 0 12px;font-size:1.05rem}@media(max-width:640px){.teacher-admin-hero{flex-direction:column}.teacher-admin-logout-btn{width:100%}}.teacher-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 15% 20%,rgba(124,58,237,.35) 0%,transparent 42%),radial-gradient(circle at 85% 80%,rgba(37,99,235,.4) 0%,transparent 45%),var(--gradient-page-dark)}.teacher-login-shell{width:min(100%,520px);display:grid;gap:20px}.teacher-login-brand h1{margin:8px 0 0;font-size:2.4rem;line-height:1.1;color:#fff}.teacher-login-kicker{margin:0;font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}.teacher-login-tagline{margin:12px 0 0;color:#cbd5e1}.teacher-login-card{background:var(--gradient-card-glass);border:1px solid rgba(147,197,253,.5);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-lg),var(--shadow-glow-blue)}.teacher-login-card h2{margin:0;font-size:1.35rem}.teacher-field{display:grid;gap:6px}.teacher-field span{font-weight:600;color:#334155}.teacher-login-submit{font-size:1.05rem;padding:12px 16px;background:var(--gradient-teacher);box-shadow:0 6px 20px #0f172a59}.teacher-login-demo{margin:0;padding:12px 14px;border-radius:var(--radius-md);background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px dashed #94a3b8;color:#475569;font-size:.95rem}.teacher-login-footer{text-align:center}.teacher-login-footer a{font-weight:600;text-decoration:none;color:#bfdbfe}.teacher-create-form h2{margin:0;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd}.teacher-create-form h2{margin:0}.teacher-config-form{gap:20px}.teacher-config-header h2{margin:0}.teacher-config-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.teacher-config-submit{font-size:1.05rem;padding:14px 18px;align-self:flex-start}.teacher-finished-projector .teacher-projector-topbar h1{color:#14532d}.teacher-finished-winner{text-align:center;padding:clamp(24px,4vw,40px);border-radius:18px;background:linear-gradient(180deg,#fef9c3,#fde68a);border:3px solid #ca8a04}.teacher-finished-winner-label{margin:0;font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#92400e}.teacher-finished-winner-name{margin:12px 0 0;font-size:clamp(2rem,6vw,3.5rem);font-weight:800;line-height:1.1;color:#713f12}.teacher-finished-winner-score{margin:10px 0 0;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;color:#854d0e}.teacher-finished-time-value{font-size:clamp(1rem,2vw,1.35rem)!important;line-height:1.2}.teacher-finished-scoreboard td:first-child{font-weight:800;width:5rem}.teacher-finished-row-gold td{background:#fef9c3}.teacher-finished-row-silver td{background:#f1f5f9}.teacher-finished-row-bronze td{background:#ffedd5}.teacher-back-btn{font-size:clamp(1.1rem,2.5vw,1.45rem);padding:16px 32px;background:#2563eb;min-width:min(100%,360px)}.teacher-projector{gap:28px;padding:28px 32px;background:var(--gradient-card-glass);border:2px solid rgba(59,130,246,.45);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-glow-blue)}.teacher-projector-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.teacher-projector-topbar h1{margin:6px 0 0;font-size:clamp(2rem,4vw,2.8rem);line-height:1.1;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent}.teacher-projector-kicker{margin:0;font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-600)}.teacher-projector-admin-actions{display:flex;flex-wrap:wrap;gap:10px}.teacher-projector-admin-btn{font-size:.95rem;padding:10px 14px}.teacher-projector-code-chip{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:10px 16px;border-radius:var(--radius-md);background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #60a5fa;box-shadow:var(--shadow-sm)}.teacher-projector-code-chip strong{font-size:1.35rem;letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--blue-700)}.teacher-join-code-hero{text-align:center;padding:clamp(28px,5vw,48px) clamp(20px,4vw,40px);border-radius:var(--radius-xl);background:var(--gradient-hero);border:3px solid rgba(255,255,255,.35);box-shadow:var(--shadow-lg),var(--shadow-glow-purple);color:#fff}.teacher-join-code-label{margin:0;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd9}.teacher-join-code-value{margin:16px 0 0;font-size:clamp(3.5rem,12vw,7rem);font-weight:800;line-height:1;letter-spacing:.18em;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.35);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.teacher-join-code-hint{margin:20px 0 0;font-size:clamp(1rem,2.2vw,1.35rem);color:#ffffffd1}.teacher-join-code-hint strong{word-break:break-all;color:#fde68a}.teacher-projector-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.teacher-projector-metric{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.teacher-projector-metric--highlight{background:#eff6ff;border-color:#93c5fd}.teacher-projector-metric-label{font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.teacher-projector-metric-value{font-size:clamp(2rem,4vw,2.8rem);line-height:1;color:#0f172a}.teacher-projector-metric-suffix{margin-left:6px;font-size:.55em;color:#64748b}.teacher-lobby-players h2,.teacher-scoreboard-panel h2{margin:0 0 12px;font-size:clamp(1.4rem,2.5vw,1.8rem)}.teacher-lobby-player-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.teacher-lobby-player-list li{padding:10px 16px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;font-size:1.1rem;font-weight:600}.teacher-lobby-empty{margin:0;font-size:1.2rem;color:#64748b;text-align:center;padding:12px 0}.teacher-projector-primary-action{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:8px}.teacher-start-hint{margin:0;max-width:28rem;font-size:.9rem}.teacher-start-btn{font-size:clamp(1.2rem,2.5vw,1.6rem);padding:18px 36px;background:var(--gradient-success);min-width:min(100%,420px);box-shadow:var(--shadow-glow-green);border:2px solid rgba(255,255,255,.25)}.teacher-start-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}.teacher-game-hero{text-align:center;padding:clamp(20px,4vw,32px);border-radius:var(--radius-xl);background:var(--gradient-page-dark);color:#fff;border:1px solid rgba(96,165,250,.35);box-shadow:var(--shadow-lg)}.teacher-game-hero-phase{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px}.teacher-game-hero-phase .teacher-projector-metric-label{color:#94a3b8}.teacher-phase-badge{display:inline-block;padding:8px 18px;border-radius:999px;background:var(--gradient-primary);box-shadow:0 4px 14px #2563eb73;font-size:clamp(1.1rem,2.5vw,1.5rem)}.teacher-countdown-hero{font-size:clamp(4.5rem,14vw,9rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#f8fafc;text-shadow:0 0 40px rgba(96,165,250,.5)}.teacher-countdown-hero--idle{opacity:.45}.teacher-countdown-hero--urgent{color:#fca5a5;text-shadow:0 0 40px rgba(248,113,113,.6)}.teacher-countdown-caption{margin:12px 0 0;font-size:clamp(1rem,2vw,1.25rem);color:#cbd5e1}.teacher-scoreboard-panel{padding-top:4px}.teacher-scoreboard{font-size:clamp(1rem,2vw,1.25rem)}.teacher-scoreboard th,.teacher-scoreboard td{padding:14px 16px}.teacher-scoreboard td:nth-child(3),.teacher-scoreboard th:nth-child(3){text-align:right;font-weight:800;font-size:clamp(1.1rem,2.2vw,1.45rem)}.teacher-scoreboard-active td{background:#f0fdf4}.teacher-scoreboard-waiting{opacity:.72}.teacher-scoreboard-waiting td{background:#fffbeb}.teacher-status-waiting{color:#b45309;font-weight:700;font-size:1.05em}.teacher-status-active{color:#15803d;font-weight:700;font-size:1.05em}.teacher-projector-footer-actions{display:flex;justify-content:flex-end}.teacher-end-btn{font-size:1.05rem;padding:14px 22px}@media(max-width:720px){.teacher-projector-topbar{flex-direction:column}.teacher-projector-code-chip{align-items:flex-start}.teacher-projector-admin-actions{width:100%}.teacher-projector-admin-btn{flex:1}}.player-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 10% 15%,rgba(59,130,246,.45) 0%,transparent 40%),radial-gradient(circle at 90% 85%,rgba(124,58,237,.35) 0%,transparent 42%),var(--gradient-page-dark)}.player-login-shell{width:min(100%,480px);display:grid;gap:16px}.player-login-brand h1{margin:8px 0 0;font-size:2rem;line-height:1.1;color:#fff}.player-login-kicker{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}.player-login-tagline{margin:10px 0 0;color:#cbd5e1;font-size:.95rem}.player-login-card{background:var(--gradient-card-glass);border:1px solid rgba(147,197,253,.55);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-lg),var(--shadow-glow-blue)}.player-login-card h2{margin:0;font-size:1.15rem}.player-login-submit{font-size:1rem;padding:12px 16px;background:var(--gradient-primary)}.player-join-form{align-items:stretch}.player-join-field{display:flex;flex-direction:column;align-items:center;gap:10px}.player-join-label{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.join-code-input{display:flex;gap:7px;justify-content:center;width:100%}.join-code-box{width:42px;height:50px;padding:0;border:2px solid rgba(147,197,253,.6);border-radius:10px;background:#ffffffeb;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.35rem;font-weight:800;text-align:center;text-transform:uppercase;caret-color:var(--blue-600);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.join-code-box:focus{outline:none;border-color:var(--blue-600);background:#fff;box-shadow:0 0 0 3px #2563eb40,var(--shadow-glow-blue)}.join-code-box-filled{border-color:#60a5fa;background:linear-gradient(180deg,#eff6ff,#dbeafe)}.join-code-box:disabled{opacity:.55;cursor:not-allowed}.player-join-field-nick{margin-top:4px}.player-nickname-input{width:100%;max-width:300px;padding:14px 18px;border:2px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#0f172a;font-size:1.05rem;font-weight:600;text-align:center;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.player-nickname-input::placeholder{color:#94a3b8;font-weight:500}.player-nickname-input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb24}.player-nickname-input:disabled{opacity:.55;cursor:not-allowed}.player-app{min-height:100dvh;height:100dvh;max-height:100dvh;max-width:520px;margin:0 auto;background:var(--gradient-player-shell);display:flex;flex-direction:column;overflow:hidden}.player-tab-bar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:linear-gradient(180deg,#0f172af2,#1e3a8aeb);border-bottom:2px solid rgba(96,165,250,.35);box-shadow:0 4px 16px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.player-tab-bar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px 6px;background:transparent;color:#94a3b8;border-radius:0;min-height:52px;box-shadow:none}.player-tab-bar-btn:hover:not(:disabled){background:#3b82f626;color:#bfdbfe;transform:none;box-shadow:none}.player-tab-bar-btn-active{color:#fff;background:linear-gradient(180deg,#3b82f659,#4f46e540);box-shadow:inset 0 -3px #60a5fa}.player-tab-bar-btn-disabled{opacity:.45;cursor:not-allowed}.player-tab-bar-icon svg{width:22px;height:22px}.player-tab-bar-label{font-size:.68rem;font-weight:700}.player-hud{background:var(--gradient-hud);border-bottom:1px solid rgba(255,255,255,.15);padding:8px 10px;box-shadow:0 4px 16px #0003}.player-hud-strip{display:flex;align-items:center;justify-content:space-between;gap:8px}.player-hud-primary{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto}.player-hud-name{font-weight:800;font-size:.92rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-hud-metrics{display:flex;align-items:center;gap:5px;flex-shrink:0}.player-hud-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap;border:1px solid rgba(255,255,255,.2)}.player-hud-pill-round{background:#ffffff2e;color:#e0f2fe}.player-hud-pill-timer{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fef08a;min-width:3.2rem;box-shadow:inset 0 0 8px #facc1540}.player-hud-pill-timer-cooldown{background:linear-gradient(135deg,#0891b2,#0e7490);color:#cffafe}.player-hud-pill-score{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#422006;box-shadow:0 2px 10px #f59e0b80;border-color:#ffffff59}.player-hud-metrics .resource-inventory-compact{gap:3px}.player-hud-metrics .resource-inventory-item{padding:2px 4px;background:#ffffff26;border:1px solid rgba(255,255,255,.12)}.player-hud-metrics .resource-inventory-qty{font-size:.7rem;color:#fff}.player-hud-metrics .resource-icon{color:#bfdbfe}.player-hud-metrics .board-cell-resource-icon{width:.95rem;height:.95rem}.player-hud-lobby{margin:8px 0 0;font-size:.9rem;color:#ffffffbf}.player-app-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px 12px 20px;gap:10px}.player-tab-panel{gap:10px}.player-tab-placeholder{margin:0;padding:16px;text-align:center;color:#64748b;background:var(--gradient-card-glass);border-radius:var(--radius-md);border:1px dashed rgba(147,197,253,.6);box-shadow:var(--shadow-sm)}.player-modifiers-banner{font-size:.82rem;padding:8px 10px}.player-tasks-panel{gap:10px;background:var(--gradient-card-glass);border:1px solid rgba(147,197,253,.45);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-md)}.player-path-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.player-path-stat{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 4px;border-radius:8px;background:#fff;border:1px solid #e5e7eb;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.player-path-stat strong{font-size:1.05rem;color:#0f172a}.player-path-stat-easy{border-color:#34d399;background:linear-gradient(145deg,#ecfdf5,#d1fae5);color:#065f46}.player-path-stat-easy strong{color:var(--green-700)}.player-path-stat-hard{border-color:#f87171;background:linear-gradient(145deg,#fef2f2,#fecaca);color:#991b1b}.player-path-stat-hard strong{color:var(--red-700)}.player-path-stat-pending{border-color:#93c5fd;background:#eff6ff}.player-assign-banner,.player-tasks-hint{margin:0;padding:7px 10px;border-radius:8px;background:#fff;border:1px solid #dbeafe;font-size:.82rem;color:#334155}.player-section-title{margin:0;font-size:.9rem;font-weight:700;color:#374151}.player-assign-cards{display:grid;gap:8px}.player-assign-card{display:grid;gap:4px;text-align:left;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:inherit;cursor:pointer}.player-assign-card-selected{border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe;background:#eff6ff}.player-assign-card-static{cursor:default}.player-assign-card-desc{font-size:.82rem;color:#6b7280}.player-assign-card-reqs{font-size:.78rem;font-weight:600;color:#1d4ed8}.player-assign-card-action{justify-self:start;margin-top:4px}.player-path-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:sticky;bottom:8px}.player-path-btn{padding:12px 10px;font-weight:700;font-size:.95rem}.player-path-btn-easy{background:var(--gradient-easy);box-shadow:0 4px 14px #16a34a66}.player-path-btn-hard{background:var(--gradient-hard);box-shadow:0 4px 14px #dc262666}.player-end-turn-btn{width:100%;padding:14px;font-weight:800;font-size:1rem;background:var(--gradient-primary);box-shadow:var(--shadow-glow-blue);border:1px solid rgba(255,255,255,.2)}.player-history-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.player-history-list li{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;background:#fff;font-size:.85rem}.player-order-history-session{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.player-order-history-paths{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:520px){.player-order-history-paths{grid-template-columns:1fr}}.player-order-history-path{border:1px solid #e5e7eb;border-radius:8px;padding:8px;background:#f9fafb}.player-order-history-path-easy{border-top:3px solid #15803d}.player-order-history-path-hard{border-top:3px solid #b91c1c}.player-order-history-path-title{margin:0 0 8px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.player-order-history-path-easy .player-order-history-path-title{color:#15803d}.player-order-history-path-hard .player-order-history-path-title{color:#b91c1c}.player-order-history-empty{margin:0;font-size:.8rem}.player-order-history-item{flex-direction:column;align-items:stretch;gap:4px}.player-order-history-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.player-order-history-item-title{font-weight:600;line-height:1.25}.player-order-history-item-meta{font-size:.75rem;color:#6b7280}.player-order-history-item-completed{border-left:3px solid #16a34a}.player-order-history-item-failed{border-left:3px solid #dc2626}.player-order-history-points{align-self:flex-end;font-weight:700;font-size:.82rem}.player-overlay-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.player-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;min-height:100dvh;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 50% 40%,rgba(59,130,246,.25) 0%,transparent 55%),#0f172ad1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.player-modal-backdrop-soft{background:#0f172a8c}.player-modal{width:min(100%,520px);max-height:min(88dvh,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));overflow-y:auto;overscroll-behavior:contain;margin:auto;flex-shrink:0;background:var(--gradient-card-glass);border:1px solid rgba(147,197,253,.45);border-radius:var(--radius-xl);padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg),var(--shadow-glow-blue);animation:player-modal-enter .22s ease-out}@media(min-width:540px){.player-modal-backdrop{padding:16px}.player-modal{max-height:min(92dvh,780px)}}@keyframes player-modal-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.player-modal-kicker{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2563eb}.player-modal h2{margin:6px 0 0;font-size:1.35rem}.player-modal-screen-title{margin-bottom:12px}.player-modal-question .player-question-prompt{font-size:1.05rem;line-height:1.45;margin:12px 0 0}.player-modal-question .player-question-hint{margin:0 0 12px;font-size:.85rem}.player-modal-outcome .outcome-card-panel>h2{display:none}.player-modal-drawn-card .outcome-card-panel{padding-top:0}.player-modal-waiting{text-align:center;align-items:center}.player-modal-waiting h2{margin-top:8px}.player-question-prompt{font-size:1rem;line-height:1.4}.player-lobby-panel,.player-finished-panel{background:var(--gradient-card-glass);border-radius:var(--radius-lg);padding:16px;border:1px solid rgba(147,197,253,.45);box-shadow:var(--shadow-md)}.player-app-lobby .player-app-body{padding-top:16px}.player-lobby-hero{text-align:center;padding:8px 4px 16px;border-bottom:1px solid rgba(148,163,184,.25);margin-bottom:14px;position:relative}.player-lobby-pulse{display:block;width:12px;height:12px;margin:0 auto 10px;border-radius:999px;background:#22c55e;box-shadow:0 0 #22c55e99;animation:player-lobby-pulse 1.8s ease-out infinite}@keyframes player-lobby-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 12px #22c55e00}to{box-shadow:0 0 #22c55e00}}.player-lobby-kicker{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6366f1}.player-lobby-hero h2{margin:4px 0 0;font-size:1.35rem;color:#0f172a}.player-lobby-subtitle{margin:8px 0 0;font-size:.88rem;color:#64748b;line-height:1.45}.player-lobby-capacity{margin:12px 0 0;display:inline-flex;align-items:baseline;gap:4px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;font-size:.85rem;color:#1e40af}.player-lobby-capacity strong{font-size:1.15rem;font-weight:800}.player-lobby-section-title{margin:0 0 10px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.player-lobby-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px}.player-lobby-chip{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;min-height:0}.player-lobby-chip-you{background:linear-gradient(145deg,#eff6ff,#dbeafe);border-color:#60a5fa;box-shadow:0 0 0 1px #60a5fa40}.player-lobby-chip-empty{opacity:.55;border-style:dashed}.player-lobby-avatar{flex-shrink:0;width:36px;height:36px;border-radius:999px;display:grid;place-items:center;font-size:.78rem;font-weight:800;color:#fff;background:var(--gradient-primary);box-shadow:0 2px 8px #2563eb59}.player-lobby-chip-you .player-lobby-avatar{background:var(--gradient-primary)}.player-lobby-avatar-empty{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:none}.player-lobby-chip-body{display:flex;flex-direction:column;gap:2px;min-width:0}.player-lobby-nick{font-size:.88rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-lobby-nick-muted{font-size:.82rem;font-weight:600;color:#94a3b8}.player-lobby-you-tag{align-self:flex-start;padding:1px 6px;border-radius:999px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--gradient-primary);color:#fff}.player-app-footer{flex-shrink:0;display:flex;justify-content:center;padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.08);background:#0f172a59}.player-leave-btn{width:auto;min-width:0;margin:0;padding:8px 16px;font-size:.82rem;font-weight:700;background:transparent;color:#ffffffb8;border:1px solid rgba(255,255,255,.22);border-radius:999px;box-shadow:none}.player-leave-btn:hover:not(:disabled){background:#ffffff14;color:#fff;border-color:#ffffff59;transform:none;box-shadow:none}.player-waiting-banner,.player-cooldown-banner{margin:0;text-align:center}.resource-icon{width:1rem;height:1rem;flex-shrink:0;color:#1d4ed8}.task-req-icons{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.task-req-item{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;border-radius:4px;background:#eff6ff}.task-req-item-discounted{background:#ecfdf5;outline:1px solid #6ee7b7}.task-req-item-discounted .task-req-qty{color:#047857}.task-req-qty{font-size:.72rem;font-weight:800;line-height:1;color:#1e3a8a}.resource-inventory{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.resource-inventory-compact{gap:4px}.resource-inventory-item{display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:6px;background:#f3f4f6}.resource-inventory-qty{font-size:.78rem;font-weight:700;line-height:1}.board-cell-resource-icon{width:1.1rem;height:1.1rem}.pipeline-board-rich .pipeline-card-desc{display:none}.upgrade-card-owned{padding:10px 12px}.upgrade-card-effect{margin:4px 0 0;font-size:.82rem;color:#4b5563;line-height:1.3}.upgrade-card-new{border-color:#16a34a;box-shadow:0 0 0 2px #bbf7d0;animation:upgrade-new-glow 10s ease-out forwards}@keyframes upgrade-new-glow{0%,15%{border-color:#16a34a;box-shadow:0 0 0 3px #86efac}to{border-color:#e5e7eb;box-shadow:none}}.upgrade-shop-btn-pulse{animation:upgrade-shop-pulse .7s ease-out}@keyframes upgrade-shop-pulse{0%{transform:scale(1);box-shadow:0 0 #2563eb80}40%{transform:scale(1.03);box-shadow:0 0 0 6px #2563eb26}to{transform:scale(1);box-shadow:none}}.player-assign-card-desc{display:none}.home-page{max-width:720px;display:flex;flex-direction:column;gap:16px}.home-hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:28px 24px;background:radial-gradient(circle at 85% 15%,rgba(124,58,237,.25) 0%,transparent 50%),var(--gradient-hero);border:1px solid rgba(255,255,255,.25);overflow:hidden;position:relative;box-shadow:var(--shadow-lg),var(--shadow-glow-purple);color:#fff}.home-hero-visual{position:relative;width:88px;height:88px;flex-shrink:0;color:#fff;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}.home-logo-icon{width:88px;height:88px;position:relative;z-index:1}.home-hero-orbit{position:absolute;border-radius:999px;border:2px dashed currentColor;opacity:.35;pointer-events:none}.home-hero-orbit-a{top:-8px;right:-8px;bottom:-8px;left:-8px;color:#93c5fd}.home-hero-orbit-b{top:-18px;right:-18px;bottom:-18px;left:-18px;color:#c4b5fd}.home-hero-copy{text-align:left}.home-kicker{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bfdbfe}.home-hero h1{margin:6px 0 0;font-size:clamp(1.85rem,4vw,2.5rem);line-height:1.05;text-shadow:0 2px 12px rgba(0,0,0,.2)}.home-lead{margin:10px 0 0;color:#ffffffe0;line-height:1.55;font-size:.95rem}.home-resume-card{display:flex;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;color:inherit;border:2px solid #34d399;background:linear-gradient(135deg,#ecfdf5,#d1fae5,#fff);transition:transform .12s ease,box-shadow .12s ease;box-shadow:var(--shadow-sm),var(--shadow-glow-green)}.home-resume-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow-green)}.home-resume-icon{width:40px;height:40px;flex-shrink:0;color:var(--green-700)}.home-resume-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.home-resume-copy strong{font-size:.98rem;color:#065f46}.home-resume-copy span{font-size:.82rem;color:#047857}.home-resume-arrow{font-size:1.35rem;color:var(--green-700);font-weight:800}.home-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:720px){.home-hero{grid-template-columns:1fr;text-align:center}.home-hero-visual{margin:0 auto}.home-hero-copy{text-align:center}.home-mode-grid{grid-template-columns:1fr}}.home-mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 16px;border-radius:var(--radius-lg);text-decoration:none;color:inherit;border:2px solid transparent;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;min-height:100%;box-shadow:var(--shadow-sm)}.home-mode-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.home-mode-icon-wrap{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;box-shadow:inset 0 1px #ffffff59}.home-mode-icon{width:30px;height:30px}.home-mode-label{font-size:1.05rem;font-weight:800;line-height:1.2}.home-mode-desc{font-size:.8rem;line-height:1.45;opacity:.88}.home-mode-card-player{border-color:#60a5fa;background:linear-gradient(160deg,#dbeafe,#eff6ff 40%,#fff);color:#1e3a8a}.home-mode-card-player .home-mode-icon-wrap{background:var(--gradient-primary);color:#fff;box-shadow:0 6px 16px #2563eb66}.home-mode-card-player:hover{box-shadow:var(--shadow-md),var(--shadow-glow-blue)}.home-mode-card-teacher{border-color:#64748b;background:linear-gradient(160deg,#334155,#475569 35%,#f8fafc);color:#0f172a}.home-mode-card-teacher .home-mode-icon-wrap{background:var(--gradient-teacher);color:#e2e8f0;box-shadow:0 6px 16px #0f172a66}.home-mode-card-rules{border-color:#fbbf24;background:linear-gradient(160deg,#fef3c7,#fffbeb 45%,#fff);color:#78350f}.home-mode-card-rules .home-mode-icon-wrap{background:var(--gradient-warning);color:#fff;box-shadow:0 6px 16px #f59e0b66}.home-links{font-size:.9rem;background:#ffffffa6}.home-links h2{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.player-login-back{display:inline-flex;align-self:flex-start;margin-bottom:8px;font-size:.85rem;font-weight:600;color:#bfdbfe;text-decoration:none}.player-login-back:hover{color:#fff;text-decoration:underline}.player-login-loading{text-align:center;padding:28px 20px;color:#fff}.player-login-loading-title{margin:0 0 6px;font-weight:700}.player-login-loading .muted{color:#94a3b8}.player-finished-title{margin:6px 0 12px;font-size:1.35rem;text-align:center}.catalog-card-meta{margin:8px 0 0;font-size:.82rem}.catalog-page .rules-hero{background:linear-gradient(135deg,#f8fafc,#fff 45%,#eff6ff);border-color:#cbd5e1}.catalog-page .rules-hero-kicker{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}.catalog-page .rules-hero-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}.player-sync-banner{padding:12px 14px;border-radius:var(--radius-md);background:linear-gradient(135deg,#3b82f640,#4f46e533);border:1px solid rgba(147,197,253,.45);margin-bottom:8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.player-sync-banner p{margin:0;font-size:.88rem;color:#e0f2fe}.rules-page{padding-bottom:32px}.home-hero-rules{background:radial-gradient(circle at 12% 88%,rgba(34,197,94,.22) 0%,transparent 48%),radial-gradient(circle at 88% 12%,rgba(124,58,237,.28) 0%,transparent 50%),var(--gradient-hero)}.public-hero-links{display:flex;flex-wrap:wrap;gap:14px 20px;margin-top:12px}.home-hero .public-hero-links a{font-weight:600;font-size:.92rem;color:#bfdbfe;text-decoration:none}.home-hero .public-hero-links a:hover{color:#fff;text-decoration:underline}.rules-toc-title{margin:0 0 10px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.rules-toc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 16px;margin:0;padding:0;list-style:none}.rules-toc-list a{text-decoration:none;font-weight:600;font-size:.9rem}.rules-section h2{margin:0;font-size:1.25rem;scroll-margin-top:20px;padding-bottom:8px;border-bottom:2px solid rgba(147,197,253,.4)}.rules-section h3,.rules-section h4{margin:8px 0 0;font-size:1.05rem}.rules-steps{margin:0;padding-left:1.25rem;display:grid;gap:12px}.rules-steps li{padding-left:4px}.rules-list{margin:0;padding-left:1.25rem;display:grid;gap:8px}.rules-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.rules-path-grid{grid-template-columns:1fr}}.rules-path-card{padding:14px;border-radius:12px;border:2px solid #e5e7eb}.rules-path-card h3{margin:0 0 8px;font-size:1rem}.rules-path-card ul{margin:0;padding-left:1.1rem;display:grid;gap:6px;font-size:.9rem}.rules-path-easy{border-color:#86efac;background:#f0fdf4}.rules-path-hard{border-color:#fca5a5;background:#fef2f2}.rules-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.rules-shop-item{padding:14px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.rules-shop-item h3{margin:0;font-size:.95rem}.rules-shop-price{margin:6px 0;font-size:1.35rem;font-weight:800;color:#1d4ed8}.rules-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.rules-card{padding:14px;border-radius:12px;border:1px solid #e5e7eb;background:#fff}.rules-card h3,.rules-card h4{margin:6px 0 0;font-size:1rem;line-height:1.3}.rules-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.rules-card-kicker{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.rules-card-badge{padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;background:#eff6ff;color:#1d4ed8}.rules-card-badge-upgrade{background:#f5f3ff;color:#6d28d9}.rules-card-effect{margin:8px 0 0;font-weight:600;font-size:.88rem;color:#334155}.rules-card-task{border-color:#bfdbfe;background:#f8fafc}.rules-card-upgrade{border-color:#c4b5fd;background:linear-gradient(180deg,#faf5ff,#fff)}.rules-card-outcome-penalty{border-color:#fecaca;background:linear-gradient(180deg,#fef2f2,#fff)}.rules-card-outcome-reward{border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4,#fff)}.rules-footer{text-align:center;font-weight:600}.rules-icon-legend{list-style:none;margin:0;padding:0;display:grid;gap:12px}.rules-icon-legend-compact{gap:10px}.rules-icon-legend-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.rules-icon-legend-preview{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-md);flex-shrink:0}.rules-icon-legend-preview-resource{background:linear-gradient(145deg,#dbeafe,#bfdbfe);border:2px solid #60a5fa;color:#1d4ed8}.rules-icon-legend-icon{width:28px;height:28px}.rules-icon-legend-preview-board{background:linear-gradient(145deg,#dbeafe,#bfdbfe);border:2px solid #60a5fa;color:#1e3a8a;font-weight:800}.rules-icon-legend-symbol{font-size:1.35rem;line-height:1}.rules-icon-legend-preview-start{background:var(--gradient-primary);border-color:#818cf8;color:#fff}.rules-icon-legend-preview-legal{box-shadow:0 0 0 2px #22c55e73,0 0 12px #22c55e40}.rules-icon-legend-preview-current{background:var(--gradient-primary);border-color:#818cf8}.rules-icon-legend-preview-boosted{box-shadow:0 0 0 2px #f59e0b80}.rules-icon-legend-preview-path{width:44px;height:44px;border-radius:10px}.rules-icon-legend-preview-easy{background:var(--gradient-easy)}.rules-icon-legend-preview-hard{background:var(--gradient-hard)}.rules-icon-legend-desc{display:block;margin-top:2px;font-size:.88rem;line-height:1.45}
