:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh;justify-content:center}#root{width:100%}.app-container{max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.app-header{text-align:center;border-bottom:1px solid #1e293b;padding-bottom:1rem}.app-header h1{font-size:2.5rem;margin:0;background:linear-gradient(to right,#60a5fa,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-header p{color:#94a3b8;font-size:1.1rem;margin:.5rem 0}.subtitle{font-weight:500;color:#cbd5e1!important}.app-description{max-width:800px;margin:1rem auto!important;font-size:1rem!important;line-height:1.6;color:#64748b!important}.controls{background:#1e293b80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.5rem;border-radius:12px;border:1px solid #334155;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.input-group{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:280px}.input-group label{font-size:.85rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}input[type=date],select{background:#0f172a;border:1px solid #334155;color:#fff;padding:.75rem;border-radius:8px;font-size:1rem;outline:none;transition:all .2s ease;cursor:pointer}input[type=date]:focus,select:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}select option{background:#1e293b}.visualization-section{background:#1a1c2c;border-radius:16px;overflow:hidden;box-shadow:0 10px 25px -5px #00000080;position:relative}.moon-map-container{position:relative;width:100%}.loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0f172ae6;padding:1.5rem 2.5rem;border-radius:12px;border:1px solid #334155;z-index:10;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.progress-bar-container{width:200px;height:8px;background:#334155;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(to right,#60a5fa,#c084fc);transition:width .3s ease}.loader span{font-family:monospace;color:#94a3b8}.legend{background:#1e293b;padding:1.5rem;border-top:1px solid #334155;color:#cbd5e1}.legend-meta{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:1rem}.legend-meta p{margin:0;font-size:.85rem;color:#94a3b8}.legend-meta strong{color:#60a5fa;margin-right:4px}.local-time{font-size:.8rem;color:#64748b;margin-left:8px;font-style:italic}.legend-grid{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#cbd5e1}.color-box{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.1)}.app-footer{text-align:center;margin-top:auto;padding:2rem;color:#64748b;font-size:.8rem}.lunar-calendar-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.lunar-calendar-modal{background:#1e293b;border-radius:16px;border:1px solid #334155;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #334155}.modal-header h2{margin:0;font-size:1.75rem;background:linear-gradient(to right,#10b981,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.modal-close-button{background:none;border:none;font-size:2rem;color:#94a3b8;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close-button:hover{background:#334155;color:#e2e8f0}.modal-controls{display:flex;gap:1.5rem;padding:1.5rem 2rem;border-bottom:1px solid #334155;background:#0f172a80;flex-wrap:wrap}.modal-input-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.modal-input-group label{font-size:.85rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.recalculate-button{width:100%;margin-top:1.5rem}.modal-content{flex:1;overflow-y:auto;padding:2rem}.modal-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:8px;text-align:center}.modal-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid #334155;border-top-color:#10b981;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.calendar-display{display:flex;flex-direction:column;gap:2rem}.calendar-info{background:#10b9811a;border:1px solid rgba(16,185,129,.2);padding:1rem 1.5rem;border-radius:8px}.calendar-info p{margin:.5rem 0;color:#cbd5e1;font-size:.95rem}.calendar-info strong{color:#10b981;margin-right:.5rem}.calendar-note{font-style:italic;color:#94a3b8!important;font-size:.85rem!important;margin-top:.75rem!important}.lunar-month{border:1px solid #334155;border-radius:8px;overflow:hidden}.month-header{background:#10b9811a;padding:1rem 1.5rem;border-bottom:1px solid #334155}.month-header h3{margin:0 0 .5rem;color:#10b981;font-size:1.5rem}.month-details{margin:0;color:#94a3b8;font-size:.9rem}.lunar-calendar-table{width:100%;border-collapse:collapse}.lunar-calendar-table thead{background:#0f172a}.lunar-calendar-table th{padding:.75rem 1rem;text-align:left;font-size:.85rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #334155}.lunar-calendar-table tbody tr{border-bottom:1px solid #334155;transition:background-color .15s}.lunar-calendar-table tbody tr:nth-child(2n){background:#0f172a4d}.lunar-calendar-table tbody tr:hover{background:#10b9810d}.lunar-calendar-table tbody tr:last-child{border-bottom:none}.lunar-calendar-table td{padding:.75rem 1rem;color:#cbd5e1;font-size:.95rem}.lunar-calendar-table td:first-child{font-weight:600;color:#10b981}.night-1-link:hover{color:#059669!important;text-decoration:underline!important}@media(max-width:768px){.lunar-calendar-modal{max-height:95vh}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.5rem}.modal-controls{flex-direction:column;padding:1rem 1.5rem}.modal-content{padding:1.5rem}.lunar-calendar-table{font-size:.85rem}.lunar-calendar-table th,.lunar-calendar-table td{padding:.5rem .75rem}}.app-container{min-height:100vh}
