*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f5f5f5;color:#1f1f1f;overflow-x:hidden}h1,h2,h3{margin:0;word-wrap:break-word}h1{font-size:clamp(1.5rem,5vw,2rem)}h2{font-size:clamp(1.25rem,4vw,1.75rem)}h3{font-size:clamp(1rem,3vw,1.5rem)}button{cursor:pointer}.app-shell{max-width:960px;margin:0 auto;padding:1rem;width:100%}@media (min-width: 768px){.app-shell{padding:2rem 1.5rem 3rem}}.card{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 8px 20px #0f172a14;overflow-x:auto}@media (min-width: 768px){.card{padding:1.5rem;margin-bottom:1.5rem}}.input-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}input[type=text],input[type=number],select{padding:.75rem;border-radius:8px;border:1px solid #d0d7de;font-size:1rem;width:100%;max-width:100%}button.primary{background-color:#2563eb;color:#fff;border:none;border-radius:8px;padding:.75rem 1.25rem;font-size:1rem;transition:background-color .15s ease;width:100%}@media (min-width: 768px){button.primary{width:auto}}button.primary:disabled{background-color:#94a3b8;cursor:not-allowed}.status-tag{display:inline-block;padding:.25rem .75rem;background-color:#e0f2fe;color:#0369a1;border-radius:999px;font-size:clamp(.75rem,2vw,.85rem);font-weight:600;white-space:nowrap}.table{width:100%;border-collapse:collapse;font-size:clamp(.75rem,2vw,1rem);display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (min-width: 768px){.table{display:table}}.table thead{background-color:#eff6ff}.table th,.table td{padding:.5rem;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}@media (min-width: 768px){.table th,.table td{padding:.75rem}}.timer{font-size:clamp(1rem,3vw,1.15rem);font-weight:600;color:#dc2626}.history-list{display:grid;gap:.5rem}@media (min-width: 768px){.history-list{gap:.75rem}}.history-item{display:grid;grid-template-columns:repeat(4,1fr);font-size:clamp(1rem,2.5vw,1.15rem);gap:.25rem}@media (max-width: 600px){.history-item{grid-template-columns:repeat(4,1fr);font-size:.9rem}}@media (max-width: 767px){p,span,div{word-wrap:break-word;overflow-wrap:break-word}img{max-width:100%;height:auto}.name-inputs-grid{display:grid!important;grid-template-columns:1fr!important;gap:1rem!important}.course-logo,.sloan-logo{max-width:80px!important}}.name-inputs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 768px){.name-inputs-grid{grid-template-columns:repeat(2,1fr)}}.student-timer{font-size:clamp(1.25rem,4vw,1.75rem);font-weight:700}.student-fish-count{font-size:clamp(2rem,8vw,3rem);font-weight:700;line-height:1}.student-fish-label{font-size:clamp(.75rem,2vw,.875rem);margin-top:.25rem}.student-heading{font-size:clamp(1.5rem,5vw,2rem);margin:0 0 1rem}.student-subheading{font-size:clamp(1.1rem,3vw,1.25rem);margin-bottom:1rem}.student-input-label{font-size:clamp(1.1rem,4vw,1.5rem);font-weight:600;display:block;margin-bottom:1rem}.student-fish-input{width:clamp(100px,30vw,150px);padding:.75rem;font-size:clamp(1rem,3vw,1.25rem);text-align:center}.student-result-text{font-size:clamp(.95rem,2.5vw,1.1rem)}@media (max-width: 767px){.student-pond-card{padding:.75rem!important;margin-bottom:.75rem!important}.history-item{font-size:.8rem!important;gap:.125rem!important}input[type=number]{font-size:16px!important}.student-game-card{padding:.75rem!important}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 16px #f59e0b4d}50%{transform:scale(1.02);box-shadow:0 12px 24px #f59e0b80}}
