:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;color:#333}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}} button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.filters-container{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a;color:#fff}.filters-container h2{margin:0 0 1.5rem;font-size:1.5rem;text-align:center}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.filter-group select{padding:.75rem;border:none;border-radius:6px;font-size:.95rem;background-color:#fff;color:#333;cursor:pointer;transition:all .2s ease}.filter-group select:hover{box-shadow:0 2px 4px #0000001a}.filter-group select:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.generate-button{width:100%;padding:1rem;background-color:#fff;color:#667eea;border:none;border-radius:6px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0003}.generate-button:active:not(:disabled){transform:translateY(0)}.generate-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.filters-container{padding:1.5rem 1rem}.filters-container h2{font-size:1.2rem}.filters-grid{grid-template-columns:1fr}}.scratch-card-wrapper{position:relative;width:100%;max-width:600px;margin:0 auto 2rem;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;box-shadow:0 8px 16px #0003}.card-content{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;color:#fff;display:flex;flex-direction:column;justify-content:center;z-index:1}.card-header{margin-bottom:1.5rem}.card-title{margin:0;font-size:1.8rem;font-weight:700;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.2)}.card-details{display:flex;flex-direction:column;gap:1rem}.card-details p{margin:0;font-size:1rem;line-height:1.5;opacity:.95}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background-color:#ffffff40;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid rgba(255,255,255,.4)}.card-metadata{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;font-size:.95rem;opacity:.9}.meta-item{display:flex;align-items:center;gap:.3rem}.scratch-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><circle cx="16" cy="16" r="15" fill="rgba(0,0,0,0.2)" stroke="white" stroke-width="2"/></svg>') 16 16,auto;z-index:10;touch-action:none}.reveal-percent{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background-color:#0009;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;z-index:15;pointer-events:none}@media(max-width:768px){.scratch-card-wrapper{max-width:100%;aspect-ratio:1 / 1.5}.card-content{padding:1.5rem 1rem}.card-title{font-size:1.5rem}.card-details p{font-size:.95rem}}.reveal-panel{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a;color:#fff;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal-panel h2{margin:0 0 1.5rem;font-size:1.8rem;text-align:center;animation:bounce .6s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.no-dates-message{background-color:#ffffff26;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid rgba(255,255,255,.5)}.no-dates-message p{margin:0 0 1rem;font-size:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:white}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.btn{padding:.9rem 1.2rem;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-align:center}.btn-primary{background-color:#fff;color:#667eea}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{background-color:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4)}.btn-secondary:hover{background-color:#ffffff4d;border-color:#fff}.btn-tertiary{background-color:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-tertiary:hover{background-color:#ffffff26;border-color:#ffffff80}.btn:active{transform:translateY(0)}@media(max-width:768px){.reveal-panel{padding:1.5rem 1rem}.reveal-panel h2{font-size:1.5rem}.action-buttons{grid-template-columns:1fr}.btn{padding:.8rem 1rem}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:0;padding-top:1rem;padding-left:1rem;padding-right:1rem}.announcement-bar{background:linear-gradient(90deg,#ff6b9d,#c06c84,#6c5ce7);color:#fff;padding:.75rem 0;overflow:hidden;margin-bottom:1rem;border-radius:8px;box-shadow:0 4px 8px #00000026;font-weight:600;font-size:.95rem}.announcement-content{display:flex;animation:scroll 20s linear infinite;white-space:nowrap}.announcement-content span{padding:0 2rem}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.app-header{text-align:center;margin-bottom:2rem;color:#333}.app-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header p{font-size:1.1rem;color:#666;font-weight:500}.app-main{flex:1;max-width:900px;width:100%;margin:0 auto}.empty-state{text-align:center;padding:3rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#666;font-size:1.1rem}.loading-state{text-align:center;padding:3rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;align-items:center;gap:1rem;color:#667eea}.spinner{width:40px;height:40px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-footer{text-align:center;padding:2rem 1rem;color:#888;font-size:.95rem;margin-top:2rem}@media(max-width:768px){.app{padding:.5rem}.app-header h1{font-size:1.8rem}.app-header p{font-size:1rem}.app-main{max-width:100%}}
