*{box-sizing:border-box;margin:0;padding:0}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-color:#f5f5f5;color:#333;line-height:1.6}.app{max-width:900px;margin:0 auto;padding:20px}h1{color:#2c3e50;margin-bottom:30px;font-size:2.5em;text-align:center}h2{color:#34495e;margin-bottom:15px;font-size:1.5em;border-bottom:2px solid #3498db;padding-bottom:8px}h3{color:#34495e;margin-top:20px;margin-bottom:10px;font-size:1.2em}.calendar-config{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 10px #0000001a}.holiday-selector-wrapper{display:flex;gap:20px;align-items:flex-start}.holiday-selector-main{flex:0 0 60%;min-width:0}.holiday-preview{flex:0 0 40%;min-width:0;position:sticky;top:20px}.config-section{margin-bottom:30px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#555}.size-input-group{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.size-input-wrapper{display:flex;align-items:center;gap:5px;flex:1;min-width:120px}.size-label{display:inline-block;margin-bottom:0;white-space:nowrap;font-size:14px}.size-input{flex:1;min-width:80px;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s}.size-separator{font-size:18px;font-weight:500;color:#555;margin:0 5px}.preset-select{padding:6px;height:28px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s;background-color:#fff;cursor:pointer;min-width:120px;flex-shrink:0}.year-select{height:28px;padding-left:5px}.preset-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group input[type=text],.form-group input[type=number],.form-group select{border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group select:focus,.size-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group input[type=checkbox]{margin-right:8px;width:18px;height:18px;cursor:pointer}.form-group label:has(input[type=checkbox]){display:flex;align-items:center;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;gap:10px;margin-top:20px}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s,transform .1s;font-weight:500}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-small{padding:6px 12px;font-size:14px}.btn-large{padding:15px 30px;font-size:18px;width:100%}.holiday-selector{background:#f9f9f9;padding:20px;border-radius:6px;border:1px solid #e0e0e0}.holiday-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.holiday-item{display:flex;align-items:center;gap:10px;padding:8px;background:#fff;border-radius:4px;cursor:pointer;transition:background-color .2s}.holiday-item:hover{background-color:#f0f0f0}.holiday-item input[type=checkbox]{cursor:pointer}.holiday-description{color:#7f8c8d;font-size:.9em}.custom-holiday-list{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.custom-holiday-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.custom-holiday-info{flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.holiday-date{color:#7f8c8d;font-size:.9em}.custom-holiday-actions{display:flex;gap:8px}.custom-holiday-form-container{margin-top:15px;padding:20px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.custom-holiday-form{display:flex;flex-direction:column;gap:15px}.calendar-preview{background:#f9f9f9;padding:20px;border-radius:6px;border:1px solid #e0e0e0}.calendar-preview h3{margin-top:0;margin-bottom:15px;color:#34495e;font-size:1.2em}.calendar-preview-container{display:flex;justify-content:center;align-items:center;min-height:200px;background:#fff;border-radius:4px;padding:10px}.preview-image{max-width:100%;height:auto;box-shadow:0 2px 8px #0000001a;border-radius:4px}.preview-loading,.preview-error{padding:40px;text-align:center;color:#7f8c8d}@media(max-width:1200px){.holiday-selector-wrapper{flex-direction:column}.holiday-selector-main{flex:1}.holiday-preview{flex:1;position:static}}@media(max-width:768px){.app{padding:10px}.calendar-config{padding:20px}.form-row{grid-template-columns:1fr}.size-input-group{flex-direction:column;align-items:stretch}.size-input-wrapper{width:100%}.size-separator{display:none}.preset-select{min-width:auto;padding-left:5px}.year-select{height:28px;padding-left:5px}.custom-holiday-item{flex-direction:column;align-items:flex-start;gap:10px}.custom-holiday-actions{width:100%;justify-content:flex-end}}
