:root{--bg-h:0;--bg-s:0%;--bg-l:99%;--color-bg-primary:hsl(var(--bg-h) var(--bg-s) var(--bg-l));--color-bg-secondary:hsl(var(--bg-h) var(--bg-s) calc(var(--bg-l) - 2%));--color-border:hsl(var(--bg-h) var(--bg-s) calc(var(--bg-l) - 6%));--color-selection-bg:hsl(var(--bg-h) var(--bg-s) calc(var(--bg-l) - 13%));--color-text-primary:hsl(
    var(--bg-h) var(--bg-s) clamp(8%, calc(100% - var(--bg-l)), 92%)
  );--color-text-muted:hsl(
    var(--bg-h) var(--bg-s) clamp(30%, calc(85% - var(--bg-l)), 75%)
  );--color-text-code:hsl(
    var(--bg-h) var(--bg-s) clamp(20%, calc(90% - var(--bg-l)), 85%)
  )}html,body{margin:0;padding:0;height:100vh;width:100vw;overflow-x:hidden;background-color:var(--color-bg-primary)}main#main-content{display:flex;width:100vw;min-height:100vh;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background-color:var(--color-bg-primary)}.calendar-container{width:85vw;height:85vh;max-width:1400px;display:flex;position:relative;flex-direction:column}.back-to-mis{position:absolute;top:30px;left:30px;display:flex;align-items:center;gap:8px;text-decoration:none;font-family:courier new,monospace;font-size:.8rem;font-weight:700;color:var(--color-text-muted);padding:8px 12px;border:1px solid transparent;transition:all .3s ease;z-index:300}.back-to-mis:hover{color:var(--color-text-primary);border:1px solid var(--color-text-primary);background-color:var(--color-bg-secondary);box-shadow:4px 4px 0 var(--color-text-primary);transform:translate(-2px,-2px)}.back-icon{font-size:1.1rem}@media(max-width:768px){.back-to-mis{top:10px;left:10px;font-size:.7rem}}.calendar-header{display:flex;align-items:flex-start;margin-bottom:20px;padding-bottom:0;position:relative}.date-selector-wrapper{position:relative;z-index:200}.date-trigger{background:0 0;border:none;padding:0;cursor:pointer;display:flex;align-items:baseline;gap:10px;color:var(--color-text-primary);font-family:inherit}.big-date{font-size:3rem;font-weight:300;letter-spacing:-2px}.chevron{font-size:.8rem;opacity:.5;transition:transform .3s ease}.date-dropdown{position:absolute;top:100%;left:0;background:var(--color-bg-primary);border:1px solid var(--color-text-primary);padding:15px;display:none;box-shadow:10px 10px 0 var(--color-text-primary);margin-top:10px}.date-dropdown.show{display:block}.selector-columns{display:flex;gap:20px;border-bottom:1px solid var(--color-border);padding-bottom:10px}.opt{padding:5px 10px;cursor:pointer;font-family:courier new,monospace}.opt:hover{background:var(--color-selection-bg)}.opt.active{background:var(--color-text-primary);color:var(--color-bg-primary)}.go-btn{width:100%;margin-top:10px;background:0 0;border:1px solid var(--color-text-primary);padding:5px;cursor:pointer;font-size:.7rem;font-weight:700}.go-btn:hover{background:var(--color-text-primary);color:var(--color-bg-primary)}.header-decor{font-size:.8rem;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:1px}.week-row{display:grid;grid-template-columns:repeat(7,1fr);padding-bottom:10px;color:var(--color-text-primary);font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:1px}.week-row div{padding-left:5px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);min-height:0;flex-grow:1;background-color:var(--color-bg-primary);border-top:1px solid var(--color-text-primary);border-left:1px solid var(--color-text-primary);border-right:none;border-bottom:none}.day-cell{position:relative;height:auto;border-right:1px solid var( --color-text-primary);border-bottom:1px solid var( --color-text-primary)}.day-cell.empty{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-text-primary);border-bottom:1px solid var(--color-text-primary);opacity:.3}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(120px,1fr)}.day-number{position:absolute;top:6px;left:8px;font-size:1.1rem;font-weight:700;color:var(--color-text-primary);z-index:5}.photo-sticker{display:block;width:85%;margin:25px auto 0;background:#f0f0f0;padding:5px 5px 15px;box-shadow:1px 2px 10px rgba(0,0,0,.5);transition:all .3s ease;text-decoration:none!important;color:#000;position:relative;transform-origin:center;z-index:20}.photo-sticker img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;filter:contrast(1.1)brightness(.95)}.photo-sticker .caption{font-size:9px;text-align:center;display:block;margin-top:6px;font-family:courier new,monospace;color:var(--color-text-primary);line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.photo-sticker:hover{transform:scale(1.2)rotate(0)!important;z-index:100;box-shadow:0 10px 25px rgba(0,0,0,.4)}.rotate-left{transform:rotate(-3deg)}.rotate-right{transform:rotate(2deg)}.rotate-center{transform:rotate(0)}.rotate-wild{transform:rotate(5deg)}@media(max-width:768px){.calendar-stage{padding:10px;overflow-x:auto;display:block}.month-big-number{font-size:5rem}.date-grid{min-width:800px;height:600px}}.lightbox-dialog{border:none!important;padding:0!important;background:0 0!important;max-width:95vw;max-height:95vh;outline:none;margin:auto;overflow:visible;transition:opacity .4s ease-out,transform .4s ease-out,display .4s allow-discrete;opacity:0;transform:scale(.9)}.lightbox-dialog[open]{opacity:1;transform:scale(1)}@starting-style{.lightbox-dialog[open] {
        opacity: 0;
        transform: scale(0.9);
    }
}.lightbox-dialog::backdrop{background:0 0;backdrop-filter:blur(0);transition:display .4s allow-discrete,background-color .4s ease-out,backdrop-filter .4s ease-out}.lightbox-dialog[open]::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(8px)}@starting-style{.lightbox-dialog[open]::backdrop {
        background: rgba(0, 0, 0, 0);
        backdrop-filter: blur(0px);
    }
}.lightbox-content{display:flex;flex-direction:column;align-items:center;position:relative;width:fit-content}#lightbox-img{display:block;max-width:90vw;max-height:70vh;object-fit:contain;background-color:#fff;border:12px solid #fff;border-bottom:none;box-shadow:0 20px 50px rgba(0,0,0,.5)}.lightbox-info{background:#fff;width:100%;padding:15px 20px 25px;box-sizing:border-box;text-align:left;box-shadow:0 20px 50px rgba(0,0,0,.5)}#lightbox-caption{margin:0;font-size:1.2rem;font-weight:600;color:#333}