:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;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;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}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:focus,button:focus-visible{outline:4px auto rgba(138,53,222,.3);outline-offset:2px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:none;margin:0;padding:0;text-align:left;width:100%;height:100vh;position:relative;isolation:isolate}.app-container{display:flex;flex-direction:row;height:100vh;width:100%;position:relative;background-color:#f9f9f9}@media (max-width: 768px){.app-container{flex-direction:column}.app-container.sidebar-hidden .sidebar{max-height:80px;overflow:hidden}}.sidebar-toggle{position:fixed;top:16px;right:16px;z-index:200;padding:8px 8px 4px;border-radius:50%;background:#f9f9f9;border:1px solid #ccc;cursor:pointer;display:none;transition:transform .3s ease}.sidebar-hidden .sidebar-toggle{transform:rotate(90deg)}@media (max-width: 768px){.sidebar-toggle{display:block}}.calendar-container{max-width:1200px;margin:0 auto;padding:20px}.sidebar{min-width:324px;padding:16px;display:flex;flex-direction:column;gap:16px;background-color:#f9f9f9;color:#333;overflow-y:auto;overflow-x:hidden;transition:max-height .3s ease;box-sizing:border-box}.sidebar h1{display:block;font-size:1.5em;margin:0;padding:0}.sidebar h3{display:flex;align-items:center;margin:10px 0 0}.sidebar h1,.sidebar h3{border-bottom:1px solid #eee;padding-bottom:5px;font-weight:500}h2{font-weight:500}.logo-cal{color:#8a35de;font-weight:700}.sidebar h3 svg{margin-right:5px}@media (max-width: 768px){.sidebar{width:100%;min-width:0;height:auto;max-height:50vh;border-right:none;border-bottom:1px solid #ccc;position:relative;z-index:10}.sidebar h1{border-bottom:none}}.setting-item{display:flex;justify-content:space-between;align-items:center}.setting-item input{max-width:50%}.event-groups-list{display:flex;flex-direction:column;gap:10px}.event-group-item{display:flex;align-items:center;padding:8px;border:1px solid #ddd;border-radius:4px;cursor:pointer;background-color:#fff;gap:8px;min-height:30px}.event-group-item .group-name{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px;max-width:165px}.event-group-item .group-actions{display:flex;justify-content:flex-end;gap:4px;flex-shrink:0}.event-group-item.editing{cursor:default}.event-group-item.selected{background:linear-gradient(90deg,#fff,#8a35de0d);background-size:120% 120%;animation:gradient-animation 2s ease infinite;box-shadow:0 0 0 2px #8a35de40}@keyframes gradient-animation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.event-group-item:hover{background-color:#f0f0f0}.color-indicator{display:inline-block;width:15px;height:15px;border-radius:50%;margin-right:8px;border:1px solid #ccc;flex-shrink:0}.event-group-item button{margin-left:5px;padding:0;font-size:.8em;background-color:transparent;border:none;cursor:pointer}.event-group-item button:hover svg{opacity:.7}.add-group-button{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 12px;width:100%;box-sizing:border-box;background:transparent;color:#333;font-size:.85em}.add-group-button:hover{background-color:#f0f0f0;border-color:transparent;transition:background-color .3s ease}.add-group-button:disabled{background-color:#f0f0f0;color:#ccc;cursor:not-allowed}input{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#000;font-size:1em}input[type=month]::-webkit-calendar-picker-indicator{filter:brightness(0)}input.group-name-input{flex-grow:1;margin-right:8px;width:auto;max-width:158px}@media (max-width: 768px){.sidebar{width:100%;min-width:0;height:auto;max-height:50vh;border-right:none;border-bottom:1px solid #ccc;position:relative;z-index:10}.add-group-button{margin-top:15px}.event-group-item{flex-wrap:wrap}.event-group-item .group-name{margin-right:0;margin-bottom:5px;flex-basis:100%;max-width:calc(100% - 104px)}input.group-name-input{max-width:100%}}.sidebar-footer{margin-top:auto}.sidebar-footer-buttons{display:flex;gap:8px;margin-bottom:8px}.footer-button{flex:1;padding:8px 12px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;gap:4px;transition:background-color .2s}.footer-button:hover{background-color:#e0e0e0}.footer-button:active{background-color:#d0d0d0}.calendar-container{flex:1;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;align-content:start;background-color:#f9f9f9;overflow-y:auto;height:100%;box-sizing:border-box;max-width:100%}@media (max-width: 768px){.calendar-container{padding:10px}}@media (max-width: 530px){.calendar-container{grid-template-columns:repeat(auto-fit,100%);width:100%}}.calendar-month{border:1px solid #eee;padding:8px;border-radius:6px;background-color:#fff;box-shadow:0 1px 2px #0000000d;min-width:0}.calendar-month h3{text-align:center;margin:0 0 8px;color:#333;font-size:.9em;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:#f5f5f5;padding:1px;border-radius:4px;font-size:.8em}.calendar-grid.weekends-hidden{grid-template-columns:repeat(5,1fr)}.weekday-header{text-align:center;font-weight:600;font-size:.7em;padding:2px;background-color:#f8f9fa;color:#666}.calendar-day{background-color:#fff;border:1px solid transparent;min-height:24px;height:24px;padding:2px;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .5s ease;display:flex;align-items:center;justify-content:center}.calendar-day:hover{background-color:#f8f9fa}.calendar-day.empty{background-color:transparent;cursor:default}.calendar-day.weekend-hidden{display:none}.calendar-day.today .day-number{color:#333;font-weight:700;border:2px solid #eb4888;border-radius:50%;box-sizing:border-box;width:20px;height:20px;padding:11px;display:flex;align-items:center;justify-content:center}.calendar-day:has(.range-indicator).today .day-number{color:#333;background-color:#fff;border-color:transparent;text-shadow:none}.calendar-day.dragging{background-color:#e3f2fd;border:1px dashed #2196f3}.day-number{font-size:.9em;color:#333;width:20px;height:20px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:font-weight .5s ease}.calendar-day:has(.range-indicator) .day-number{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.7)}.range-indicators{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.range-indicator{position:absolute;left:0;right:0;border-radius:2px;transition:opacity .5s ease}.range-indicator:hover{opacity:.9}.calendar-container:focus{outline:2px solid rgba(138,53,222,.5);outline-offset:2px}.calendar-container:focus:not(:focus-visible){outline:none}.calendar-day.focused{outline:2px solid rgba(138,53,222,.8);outline-offset:-2px;z-index:3}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:24px;max-width:500px;max-height:80vh;overflow-y:auto;position:relative}.modal-content a{color:#8a35de}.modal-content h2{margin-top:-10px}.modal-content h2,.modal-content p.footer{margin-bottom:0}.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;padding:4px}.instructions-content{margin-top:16px}.instructions-content h3{margin-top:16px;margin-bottom:8px}.instructions-content ul{margin-left:20px}.instructions-content li{margin-bottom:6px}button.btn{background-color:#8a35de;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer}button.btn[disabled]{background-color:#8a35de99;cursor:not-allowed}input[type=text]{padding:8px;border:1px solid #ccc;border-radius:4px;margin-top:8px;width:100%;box-sizing:border-box}input[type=text]:focus{border-color:#8a35de;outline:none}.error-message{color:red;margin-top:8px;font-size:14px;text-align:center}.license-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}p.pro-description span{color:#8a35de;font-weight:700}p.license-active{display:flex;justify-content:center;gap:8px}pre.license-key-display{background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;padding:8px;overflow-x:auto;font-family:monospace;margin-top:8px}
