@import "https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700;800&display=swap";:root{--bg-dark:#0f111a;--bg-card:#191c2999;--bg-input:#0f111acc;--text-main:#f8f9fa;--text-muted:#a0aabf;--accent-primary:#f59e0b;--accent-primary-hover:#d97706;--accent-primary-glow:#f59e0b26;--accent-success:#10b981;--accent-error:#ef4444;--accent-info:#3b82f6;--border-color:#ffffff14;--glow-color:#f59e0b1f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);background-image:radial-gradient(circle at 15% 50%, var(--glow-color), transparent 25%), radial-gradient(circle at 85% 30%, #10b9810f, transparent 25%);background-attachment:fixed;min-height:100vh;font-family:Prompt,sans-serif;line-height:1.6}.app-container{max-width:1000px;margin:0 auto;padding:3rem 1.5rem}header{text-align:center;margin-bottom:4rem;animation:.8s ease-out forwards fadeInDown}h1{background:linear-gradient(135deg,#fff 0%,#f59e0b 60%,#d97706 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-family:Prompt,sans-serif;font-size:3.5rem;font-weight:800}.subtitle{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.1rem}.badge-row{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.badge-row img{height:20px}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);opacity:0;border-radius:16px;margin-bottom:2rem;padding:2rem;transition:transform .3s,box-shadow .3s,border-color .3s;animation:.8s ease-out forwards fadeInUp;box-shadow:0 8px 32px #0003}.glass-panel:first-child{animation-delay:50ms}.glass-panel:nth-child(2){animation-delay:.1s}.glass-panel:nth-child(3){animation-delay:.15s}.glass-panel:nth-child(4){animation-delay:.2s}.glass-panel:nth-child(5){animation-delay:.25s}.glass-panel:nth-child(6){animation-delay:.3s}.glass-panel:nth-child(7){animation-delay:.35s}.glass-panel:nth-child(8){animation-delay:.4s}.glass-panel:nth-child(9){animation-delay:.45s}.glass-panel:nth-child(10){animation-delay:.5s}.glass-panel:nth-child(11){animation-delay:.55s}.glass-panel:hover{border-color:#ffffff26;transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.section-title{align-items:center;gap:.75rem;margin-bottom:1.5rem;font-family:Prompt,sans-serif;font-size:1.5rem;font-weight:600;display:flex}.section-title span{background:var(--accent-primary-glow);width:32px;height:32px;color:var(--accent-primary);border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.section-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem}.input-group{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.input-field{background:var(--bg-input);border:1px solid var(--border-color);min-width:200px;color:var(--text-main);border-radius:8px;outline:none;flex:1;padding:.875rem 1.25rem;font-family:Prompt,monospace;font-size:1rem;transition:all .2s}.input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #f59e0b33}.select-field{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0aabf' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border-radius:8px;outline:none;min-width:140px;padding:.875rem 2.5rem .875rem 1.25rem;font-family:Prompt,sans-serif;font-size:1rem;transition:all .2s}.select-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #f59e0b33}.select-field option{color:var(--text-main);background:#1a1d2e}.btn{background:var(--accent-primary);color:#0f111a;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn:hover{background:var(--accent-primary-hover);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-main);background:#ffffff0d;font-weight:500}.btn-secondary:hover{background:#ffffff1a}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.result-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.result-card{background:#0003;border:1px solid #ffffff0d;border-radius:10px;padding:1rem 1.25rem;transition:border-color .3s}.result-card:hover{border-color:#ffffff1f}.result-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.375rem;font-size:.8rem}.result-value{color:var(--text-main);font-size:1.05rem;font-weight:600}.result-value.holiday{color:var(--accent-error)}.result-value.business{color:var(--accent-success)}.result-value.info{color:var(--accent-info)}.result-value.accent{color:var(--accent-primary)}.status-badge{border-radius:999px;align-items:center;gap:.375rem;padding:.3rem .85rem;font-size:.875rem;font-weight:600;animation:.3s ease-out popIn;display:inline-flex}.status-holiday{color:var(--accent-error);background:#ef44441f;border:1px solid #ef444440}.status-business{color:var(--accent-success);background:#10b9811f;border:1px solid #10b98140}.status-weekend{color:var(--accent-primary);background:#f59e0b1f;border:1px solid #f59e0b40}.holiday-detail{background:#00000040;border:1px solid #f59e0b26;border-radius:10px;margin-top:1rem;padding:1.25rem;animation:.3s ease-out slideDown}.holiday-detail-title{color:var(--accent-primary);margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.holiday-detail-sub{color:var(--text-muted);font-size:.9rem}.holiday-table-wrapper{border:1px solid var(--border-color);border-radius:10px;margin-top:1rem;overflow-x:auto}.holiday-table{border-collapse:collapse;width:100%;font-size:.9rem}.holiday-table thead{background:#f59e0b14}.holiday-table th{text-align:left;color:var(--accent-primary);border-bottom:1px solid var(--border-color);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;padding:.875rem 1rem;font-size:.8rem;font-weight:600}.holiday-table td{color:var(--text-main);border-bottom:1px solid #ffffff08;padding:.75rem 1rem}.holiday-table tbody tr{transition:background .2s}.holiday-table tbody tr:hover{background:#ffffff08}.holiday-table tbody tr:last-child td{border-bottom:none}.table-count{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:.75rem;font-size:.875rem;display:flex}.table-count strong{color:var(--accent-primary)}.day-badge{color:var(--text-muted);background:#ffffff0d;border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:500;display:inline-block}.code-snippet,.code-block{color:#d4d4d4;tab-size:2;background:#1e1e1e;border:1px solid #ffffff0f;border-radius:10px;margin-top:1rem;padding:1.25rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.84rem;line-height:1.75;overflow-x:auto}.code-block pre{margin:0}.code-block code{font-family:inherit;font-size:inherit}.tk-keyword{color:#c586c0}.tk-function{color:#dcdcaa}.tk-string{color:#ce9178}.tk-comment{color:#6a9955;font-style:italic}.tk-type{color:#4ec9b0}.tk-number{color:#b5cea8}.tk-property{color:#9cdcfe}.tk-punctuation{color:#d4d4d4}.countdown-row{background:#0003;border:1px solid #ffffff0d;border-radius:10px;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.25rem;display:flex}.countdown-number{color:var(--accent-primary);font-family:Prompt,sans-serif;font-size:2.5rem;font-weight:800;line-height:1}.countdown-label{color:var(--text-muted);font-size:.85rem}.countdown-name{color:var(--text-main);font-size:1rem;font-weight:600}footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:4rem;padding:2rem 0;font-size:.9rem}footer a{color:var(--accent-primary);text-decoration:none;transition:color .2s}footer a:hover{color:var(--text-main)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){h1{font-size:2.5rem}.input-group{flex-direction:column}.btn,.select-field{width:100%}.result-grid{grid-template-columns:1fr}.countdown-number{font-size:2rem}.glass-panel{padding:1.5rem}}
