.calendar-modal{max-width:min(95vw,1100px);max-height:min(90vh,720px);width:95vw;height:auto;padding:0;margin:auto;border:none;border-radius:var(--border-radius-lg,16px);background:rgba(10,12,18,.96);color:rgba(248,250,252,.92);overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,6%)}.calendar-modal::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.calendar-modal__layout{display:grid;grid-template-columns:1fr 340px;min-height:500px;max-height:min(85vh,680px)}.calendar-modal__image-section{position:relative;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden}.calendar-modal__image{width:100%;height:100%;object-fit:contain;display:block}.calendar-modal__image-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 60%,transparent 100%);color:#fff}.calendar-modal__image-seed{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-family:monospace;color:rgba(255,255,255,.7);margin-bottom:4px}.calendar-modal__image-seed svg{width:14px;height:14px;opacity:.7}.calendar-modal__image-title{font-size:1.25rem;font-weight:600;margin:0;line-height:1.3;text-shadow:0 2px 8px rgba(0,0,0,.5)}.calendar-modal__image-version{display:inline-block;font-size:.7rem;font-weight:500;padding:2px 8px;background:rgba(255,255,255,.2);border-radius:999px;margin-left:8px;vertical-align:middle}.calendar-modal__details{padding:22px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:24px;background:linear-gradient(180deg,rgba(14,16,22,.96) 0%,rgba(10,12,18,.98) 100%)}.calendar-modal__close{position:absolute;top:16px;right:16px;width:36px;height:36px;padding:0;border:none;background:rgba(15,23,42,.72);color:rgba(248,250,252,.82);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s ease,color .2s ease,transform .2s ease;box-shadow:0 10px 20px -14px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,8%)}.calendar-modal__close:hover{background:rgba(15,23,42,.88);color:rgba(248,250,252,.92);transform:scale(1.1)}.calendar-modal__close:focus-visible{outline:3px solid rgba(148,163,255,.75);outline-offset:2px}.calendar-modal__close svg{width:20px;height:20px}.calendar-modal__date-header{text-align:left}.calendar-modal__month-year{font-size:.75rem;font-weight:600;text-transform:none;font-variant-caps:all-small-caps;letter-spacing:.12em;color:rgba(180,195,220,.7);margin-bottom:4px}.calendar-modal__day-number{font-size:4.25rem;font-weight:750;line-height:1;color:rgba(248,250,252,.18)}.calendar-modal__section{display:flex;flex-direction:column;gap:8px}.calendar-modal__section-header{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(180,195,220,.7)}.calendar-modal__section-header svg{width:14px;height:14px;opacity:.6}.calendar-modal__prompt{font-size:.95rem;font-style:normal;color:rgba(226,232,240,.88);line-height:1.55;padding:14px 16px;background:rgba(15,23,42,.55);border-radius:12px;border-left:3px solid rgba(148,163,255,.18);backdrop-filter:blur(14px)saturate(115%);-webkit-backdrop-filter:blur(14px)saturate(115%)}.calendar-modal__gen-details{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.calendar-modal__gen-details.model-only{grid-template-columns:1fr}.calendar-modal__gen-item{display:flex;flex-direction:column;gap:6px;font-size:.85rem;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,255,.12);background:rgba(15,23,42,.55);backdrop-filter:blur(14px)saturate(115%);-webkit-backdrop-filter:blur(14px)saturate(115%)}.calendar-modal__gen-item:last-child{border-bottom:none}.calendar-modal__gen-label{color:rgba(180,195,220,.72)}.calendar-modal__gen-value{font-weight:600;color:rgba(248,250,252,.92);font-family:monospace;font-size:.8rem}.calendar-modal__palette{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.calendar-modal__palette-color{width:100%;height:10px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 10px 18px -14px rgba(0,0,0,.55);transition:transform .2s ease}.calendar-modal__palette-color:hover{transform:scale(1.1)}.calendar-modal__tags{display:flex;flex-wrap:wrap;gap:8px}.calendar-modal__tag{display:inline-block;font-size:.8rem;padding:4px 12px;background:rgba(15,23,42,.55);border:1px solid rgba(148,163,255,.12);border-radius:999px;color:rgba(226,232,240,.88);text-decoration:none;transition:background .2s ease,border-color .2s ease}.calendar-modal__tag:hover{background:rgba(15,23,42,.75);border-color:rgba(148,163,255,.22)}.calendar-modal__download{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;margin-top:auto;font-size:.95rem;font-weight:600;color:rgba(248,250,252,.92);background:rgba(148,163,255,.14);border:1px solid rgba(148,163,255,.24);border-radius:10px;cursor:pointer;text-decoration:none;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.calendar-modal__download:hover{background:rgba(148,163,255,.2);transform:translateY(-1px);box-shadow:0 16px 34px -22px rgba(0,0,0,.65)}.calendar-modal__download:focus-visible{outline:3px solid rgba(148,163,255,.75);outline-offset:2px}.calendar-modal__download svg{width:18px;height:18px}.calendar-modal__view-link{display:block;text-align:center;font-size:.85rem;color:rgba(180,195,220,.75);text-decoration:none;padding:8px}.calendar-modal__view-link:hover{text-decoration:underline}@media(max-width:900px){.calendar-modal{max-width:95vw;max-height:90vh}.calendar-modal__layout{grid-template-columns:1fr;grid-template-rows:45vh auto;max-height:90vh}.calendar-modal__image-section{max-height:45vh}.calendar-modal__details{padding:20px;gap:20px}.calendar-modal__day-number{font-size:2.5rem}}@media(max-width:500px){.calendar-modal{border-radius:12px}.calendar-modal__layout{grid-template-rows:40vh auto}.calendar-modal__details{padding:16px;gap:16px}.calendar-modal__day-number{font-size:2rem}.calendar-modal__gen-details{grid-template-columns:1fr}.calendar-modal__palette-color{height:12px}}@media(prefers-reduced-motion:reduce){.calendar-modal__close,.calendar-modal__download,.calendar-modal__tag,.calendar-modal__palette-color{transition:none}}@media(prefers-contrast:high){.calendar-modal{border:2px solid rgba(255,255,255,.85)}.calendar-modal__prompt{border-left-color:rgba(255,255,255,.85);border-left-width:4px}.calendar-modal__tag{border-width:2px;border-color:rgba(255,255,255,.85)}}