:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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}}:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius: 12px;--spacing: 8px}*{margin:0;padding:0;box-sizing:border-box}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;line-height:1.5;color:var(--color-text);background-color:var(--color-bg)}.app{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:calc(var(--spacing) * 6) calc(var(--spacing) * 3);text-align:center;box-shadow:var(--shadow-sm)}.header h1{font-size:2.5rem;font-weight:700;margin-bottom:calc(var(--spacing) * 2);letter-spacing:-.025em}.subtitle{font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.main{flex:1;padding:calc(var(--spacing) * 6) calc(var(--spacing) * 3);max-width:1200px;margin:0 auto;width:100%}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:calc(var(--spacing) * 3);margin-bottom:calc(var(--spacing) * 8)}.calendar-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--spacing) * 3);display:flex;flex-direction:column;transition:all .2s ease;box-shadow:var(--shadow-sm)}.calendar-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header h2{font-size:1.5rem;font-weight:600;margin-bottom:calc(var(--spacing) * 1);color:var(--color-text)}.description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6}.card-content{flex:1;padding:calc(var(--spacing) * 3) 0}.input-group{margin-bottom:calc(var(--spacing) * 3)}.input-group:last-child{margin-bottom:0}.input-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:calc(var(--spacing) * 1);color:var(--color-text)}.input-group input,.input-group select{width:100%;padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);font-size:.875rem;border:1px solid var(--color-border);border-radius:calc(var(--radius) / 2);background-color:var(--color-surface);color:var(--color-text);transition:all .2s ease}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.input-group input::placeholder{color:var(--color-text-secondary);opacity:.6}.card-footer{padding-top:calc(var(--spacing) * 2);border-top:1px solid var(--color-border)}.download-btn{width:100%;padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 3);font-size:.9375rem;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:calc(var(--radius) / 2);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.download-btn:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.download-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.info-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--spacing) * 4);box-shadow:var(--shadow-sm)}.info-section h3{font-size:1.25rem;font-weight:600;margin-bottom:calc(var(--spacing) * 3);color:var(--color-text)}.info-section ol{padding-left:calc(var(--spacing) * 3);color:var(--color-text-secondary)}.info-section li{margin-bottom:calc(var(--spacing) * 2);line-height:1.6}.footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:calc(var(--spacing) * 4);text-align:center;color:var(--color-text-secondary);font-size:.875rem}@media (max-width: 768px){.header h1{font-size:2rem}.subtitle{font-size:1rem}.calendar-grid{grid-template-columns:1fr;gap:calc(var(--spacing) * 2)}.main{padding:calc(var(--spacing) * 4) calc(var(--spacing) * 2)}}@media (prefers-color-scheme: dark){:root{--color-bg: #111827;--color-surface: #1f2937;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-text: #f9fafb;--color-text-secondary: #9ca3af;--color-border: #374151}.input-group input,.input-group select{background-color:#111827}}
