:root{--color-primary: #987BB3;--color-primary-hover: #7a5a9a;--color-primary-dark: #6b4a85;--color-neutral: #f9fafb;--color-neutral-hover: #d1d5db;--color-neutral-dark: #d1d5db;--color-background: #269590;--color-background-2: #987BB3;--color-gray-600: #4b5563;--color-gray-900: #111827;--border-radius: .5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--font-sans: "Fredoka", ui-sans-serif, system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:#fff;color:var(--color-gray-900);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#fff}.welcome-content{text-align:center;max-width:600px}.logo{max-width:12rem;height:auto;margin:0 auto 2rem;display:block}h1{font-size:clamp(3rem,10vw,5rem);font-weight:100;margin-bottom:1.5rem;color:var(--color-gray-900)}p{font-size:clamp(.9rem,2vw,1rem);color:var(--color-gray-600);margin-bottom:1rem}.actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.btn-bingo{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font-weight:600;letter-spacing:.04em;width:6rem;height:6rem;border-radius:var(--border-radius);transition:all .2s;cursor:pointer;border:none;font-family:inherit;line-height:1.3;background:var(--color-neutral);color:var(--color-neutral-text);border:2px solid var(--color-neutral-dark);box-shadow:inset 0 -10px 0 0 var(--color-neutral-dark);font-size:1.125rem}.btn-bingo:hover{transform:translateY(-2px);box-shadow:inset 0 -10px 0 0 var(--color-neutral-dark),0 4px 8px #0000001a}.btn-bingo:active{transform:translateY(0);box-shadow:inset 0 -5px 0 0 var(--color-neutral-dark)}.link{color:var(--color-primary);text-decoration:underline;transition:color .2s;font-weight:500}.link:hover{color:var(--color-primary-hover)}.info-container{min-height:100vh;padding:1.5rem;background:linear-gradient(to bottom right,var(--color-background),var(--color-background-2))}.info-content{max-width:64rem;margin:0 auto}.info-content .back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);text-decoration:none;margin-bottom:2rem;font-weight:500}.info-content .back-link:hover{color:var(--color-primary-hover)}.info-content .back-link svg{width:1.25rem;height:1.25rem}.info-content .logo-small{width:8rem;height:auto;margin-bottom:2rem}.info-content h1{font-size:2.5rem;margin-bottom:1.5rem}.info-content .prose p{margin-bottom:1rem;line-height:1.7}.template-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;width:100%}.template-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border-radius:1rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.template-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.template-info{flex:1}.template-name{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:#1f2937}.template-description{font-size:1rem;margin:0;color:#6b7280}.template-card .btn-bingo{margin:0;flex-shrink:0}.game-state{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem;font-weight:600}.game-state.building{background:#fef3c7;color:#92400e}.game-state.active{background:#d1fae5;color:#065f46}.game-state.complete{background:#e0e7ff;color:#3730a3}.empty-state{text-align:center;padding:3rem 1.5rem;background:#fff;border-radius:1rem;box-shadow:0 2px 8px #0000001a}.empty-state p{font-size:1.125rem;color:#6b7280;margin-bottom:1.5rem}.logout-link{background:none;border:none;color:#fff;font-size:.875rem;cursor:pointer;text-decoration:underline;padding:0;font-family:inherit;transition:color .2s}.logout-link:hover{color:#4b5563}
