:root{--bar-bg:#0b2a5b;--bar-height:4.5rem;--header-font-size:1.75rem;--tabs-bg:#e6ecf5;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}html,body{height:100%;margin:0}[hidden]{display:none!important}body{font-family:system-ui,sans-serif}#app{flex-direction:column;min-height:100dvh;display:flex}.site-header,.site-footer{background:var(--bar-bg);color:#fff;min-height:var(--bar-height);box-sizing:border-box;align-items:center;display:flex}.site-header{text-align:center;padding:var(--safe-top) max(var(--pad-x), var(--safe-right)) 0 max(var(--pad-x), var(--safe-left));justify-content:center}.site-header h1{font-size:var(--header-font-size);margin:0}:root{--corner-space:5.5rem}.account-corner{z-index:10;top:calc(var(--safe-top) + .35rem);right:calc(max(.5rem, var(--safe-right)));box-sizing:border-box;max-width:calc(var(--corner-space) - 1rem);color:#fff;text-shadow:0 1px 3px #00000073;border-radius:10px;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .4rem .25rem;text-decoration:none;transition:background-color .15s;display:flex;position:fixed}.account-corner svg{filter:drop-shadow(0 1px 2px #0006);width:1.6rem;height:1.6rem}.account-corner-name{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;text-align:center;-webkit-box-orient:vertical;max-width:100%;font-size:.7rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.account-corner:hover{background:#ffffff26}.account-corner[aria-current=page]{background:#ffffff38}.account-corner:focus-visible{outline-offset:2px;outline:2px solid #fff}.account-corner .tab-badge{text-shadow:none;box-shadow:0 0 0 2px var(--bar-bg);position:absolute;top:.1rem;right:.2rem}#app[data-page=home] .account-corner{background:#0b2a5b80}#app[data-page=home] .account-corner:hover{background:#0b2a5bb3}#app[data-page=locked] .account-corner{color:var(--bar-bg);text-shadow:none}#app[data-page=locked] .account-corner svg{filter:none}#app[data-page=locked] .account-corner:hover{background:var(--tabs-bg)}@media (height<=500px){:root{--corner-space:9.5rem}.account-corner{top:calc(var(--safe-top) + .25rem);flex-direction:row;gap:.3rem;max-width:9rem;padding:.25rem .45rem}.account-corner svg{flex-shrink:0;width:1.3rem;height:1.3rem}.account-corner-name{-webkit-line-clamp:1;line-clamp:1;text-align:left}.calendar h2{min-height:1.6rem}}@media (height<=500px) and (width<=479px){:root{--corner-space:3rem}.account-corner-name{display:none}}@media (width<=300px){:root{--corner-space:3rem}.account-corner-name{display:none}}#app[data-page=preview] .account-corner,#app[data-page=view] .account-corner{display:none}.site-header{--pad-x:1rem;padding-right:max(var(--corner-space), var(--safe-right))}.site-header h1{font-size:min(var(--header-font-size), calc((100vw - var(--corner-space) - 1.25rem) / 8));white-space:nowrap}.calendar h2{padding:0 calc(var(--corner-space) - var(--pad-x,1rem));min-height:2.5rem}#app[data-page=preview] .calendar h2,#app[data-page=view] .calendar h2{padding:0}.site-footer{min-height:calc(var(--bar-height) / 2);--pad-t:.25rem;--pad-r:1.5rem;--pad-b:.25rem;--pad-l:1rem;padding:var(--pad-t) max(var(--pad-r), var(--safe-right)) max(var(--pad-b), var(--safe-bottom)) max(var(--pad-l), var(--safe-left));justify-content:space-between;gap:1rem}.site-footer p{font-size:calc(var(--header-font-size) / 2);text-align:right;margin:0}.site-tabs{gap:.25rem;display:flex}.site-tabs a{color:#fff;border-radius:8px;justify-content:center;align-items:center;padding:.4rem .9rem;line-height:0;transition:background-color .15s;display:flex}.site-tabs svg{width:1.5rem;height:1.5rem}.site-tabs a:hover{background:#ffffff1f}.site-tabs a[aria-current=page]{background:#ffffff38}.site-tabs a:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=760px){.site-footer{--pad-t:.35rem;--pad-r:.75rem;--pad-b:.3rem;--pad-l:.75rem;flex-direction:column;align-items:stretch;gap:.15rem}.site-tabs{justify-content:space-around}.site-tabs a{flex:1 1 0;min-width:0;max-width:4.5rem;padding-left:0;padding-right:0}.site-footer p{opacity:.85;font-size:.7rem}}main{text-align:center;padding:1.5rem max(1rem, var(--safe-right)) 1.5rem max(1rem, var(--safe-left));background:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}#app:has(.calendar){height:100dvh}#app[data-page=home] .site-header,#app[data-page=locked] .site-header,#app[data-page=preview] .site-header,#app[data-page=view] .site-header{display:none}main:has(.calendar){min-height:0;padding:0}.calendar{--pad-y:1rem;--pad-x:1rem;width:100%;min-height:0;padding:calc(var(--pad-y) + var(--safe-top)) max(var(--pad-x), var(--safe-right)) var(--pad-y) max(var(--pad-x), var(--safe-left));box-sizing:border-box;flex-direction:column;flex:1;display:flex}.calendar h2{color:var(--bar-bg);margin:0 0 .75rem}.calendar--home{background-color:#9e0b12;background-position:100% 100%;background-repeat:no-repeat;background-size:cover}.calendar--home h2{color:#fff;text-shadow:0 1px 4px #00000080}.calendar-fit{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;container:calendar/size}.calendar-grid{--cols:4;--rows:6;--gap:clamp(4px, 1.5cqmin, 12px);--tile:min((100cqw - (var(--cols) - 1) * var(--gap)) / var(--cols), (100cqh - (var(--rows) - 1) * var(--gap)) / var(--rows), 10rem);grid-template-columns:repeat(var(--cols), var(--tile));grid-auto-rows:var(--tile);gap:var(--gap);margin:0;padding:0;list-style:none;display:grid}@container calendar (aspect-ratio<1/2){.calendar-grid{--cols:3;--rows:8}}@container calendar (1<=aspect-ratio<2){.calendar-grid{--cols:6;--rows:4}}@container calendar (2<=aspect-ratio<4){.calendar-grid{--cols:8;--rows:3}}@container calendar (aspect-ratio>=4){.calendar-grid{--cols:12;--rows:2}}.calendar-day{border-radius:clamp(4px, calc(var(--tile) * .07), 8px);position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001f}.calendar-door{color:#fff;width:100%;height:100%;font:inherit;cursor:pointer;background:#0b2a5b1a;border:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s;display:flex;position:relative;box-shadow:inset 0 0 0 1px #fff3}.calendar-door:hover:not(.is-open,.is-locked){background:#16407fe6}.calendar-door:focus-visible{outline-offset:-3px;outline:3px solid #f2b600}.calendar-door-date{font-size:clamp(.8rem, calc(var(--tile) * .3), 2.25rem);text-shadow:0 1px 2px #000c,0 0 8px #0009;font-weight:700}.calendar-door.is-locked{cursor:not-allowed}.calendar-door-lock{opacity:.5;filter:drop-shadow(0 1px 2px #0009);line-height:0;display:flex}.calendar-door-lock svg{width:clamp(1rem, calc(var(--tile) * .4), 3.5rem);height:clamp(1rem, calc(var(--tile) * .4), 3.5rem)}.calendar-door.is-open{background:var(--tabs-bg)}.calendar-door.is-open:hover img{opacity:.85}.calendar-door img{object-fit:cover;width:100%;height:100%;animation:.4s ease-out door-reveal;position:absolute;inset:0}.calendar-door.is-open .calendar-door-date{top:clamp(2px, calc(var(--tile) * .04), .35rem);left:clamp(2px, calc(var(--tile) * .04), .35rem);min-width:1.6em;color:var(--bar-bg);font-size:clamp(.55rem, calc(var(--tile) * .12), .85rem);text-shadow:none;background:#ffffffd9;border-radius:4px;padding:.1em .3em;line-height:1.4;position:absolute}.calendar-door img.no-animation{animation:none}.calendar-door.is-open:is([data-src],[data-message]){cursor:zoom-in}.calendar-door.is-open:not([data-src],[data-message]){cursor:default}.lock-tile{color:#a3161d;width:100%;height:100%;font:inherit;cursor:pointer;background:#f7c9c9;border:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex;position:relative}.lock-tile:hover{background:#f2b3b3}.lock-tile.is-unlocked{color:#1f6b35;background:#d4f0d4}.lock-tile.is-unlocked:hover{background:#c2e8c2}.lock-tile:focus-visible{outline:3px solid var(--bar-bg);outline-offset:-3px}.lock-tile-icon{line-height:0;display:flex}.lock-tile-icon svg{width:clamp(1rem, calc(var(--tile) * .45), 4rem);height:clamp(1rem, calc(var(--tile) * .45), 4rem)}.lock-tile-day{top:clamp(2px, calc(var(--tile) * .05), .4rem);left:clamp(3px, calc(var(--tile) * .07), .5rem);font-size:clamp(.55rem, calc(var(--tile) * .13), .95rem);font-weight:700;line-height:1;position:absolute}.lightbox{color:#fff;background:#050f23;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.lightbox::backdrop{background:#050f23}body:has(.lightbox[open]){overflow:hidden}.lightbox-figure{height:100%;padding:calc(4.5rem + var(--safe-top)) max(1rem, var(--safe-right)) calc(1.5rem + var(--safe-bottom)) max(1rem, var(--safe-left));box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;margin:0;display:flex}.lightbox-image{object-fit:contain;cursor:default;flex:1;width:100%;min-height:0}.lightbox-caption{font-size:1rem;font-weight:600}.lightbox-close{top:calc(1rem + var(--safe-top));right:calc(1rem + var(--safe-right));width:3rem;height:3rem;color:var(--bar-bg);cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;padding:.6rem;display:flex;position:fixed;box-shadow:0 2px 8px #0006}.lightbox-close svg{width:100%;height:100%}.lightbox-close:hover{background:#e6ecf5}.lightbox-close:focus-visible{outline-offset:3px;outline:3px solid #f2b600}@keyframes door-reveal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.calendar-door,.calendar-door img{transition:none;animation:none}}@media (height<=500px){:root{--bar-height:2.75rem;--header-font-size:1.25rem}.site-tabs a{padding:.25rem .8rem}.site-tabs svg{width:1.25rem;height:1.25rem}.calendar{--pad-y:.5rem;--pad-x:1rem}.calendar h2{margin-bottom:.4rem;font-size:1.1rem}}@media (height<=300px){.site-tabs a{padding:.2rem .7rem}.site-tabs svg{width:1.1rem;height:1.1rem}.calendar{--pad-y:.25rem;--pad-x:.5rem}.calendar h2{margin-bottom:.25rem;font-size:.95rem}}@media (width<=280px){.site-footer{--pad-t:.3rem;--pad-r:.5rem;--pad-b:.3rem;--pad-l:.5rem}.calendar{--pad-y:.5rem;--pad-x:.5rem}}.account{text-align:left;width:min(100%,22rem)}.account h2{color:var(--bar-bg);text-align:center;margin:0 0 1rem}.account-form{flex-direction:column;gap:.35rem;display:flex}.account-form label{color:#1c2a3e;margin-top:.4rem;font-size:.9rem;font-weight:600}.account-hint{color:#5b6677;font-weight:400}.account-form input[type=text],.account-form input[type=email],.account-form input[type=password]{font:inherit;background:#fff;border:1px solid #b9c3d3;border-radius:8px;padding:.6rem .7rem;font-size:max(1rem,16px)}.account-form input:focus-visible{outline-offset:1px;border-color:var(--bar-bg);outline:3px solid #f2b600}.account-form .account-check{align-items:center;gap:.4rem;font-weight:400;display:flex}.account-error{color:#b3121b;min-height:1.2em;margin:.25rem 0 0;font-size:.9rem}.account-button{background:var(--bar-bg);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;margin-top:.25rem;padding:.7rem 1rem;font-weight:600}.account-button:hover{background:#16407f}.account-button:disabled{opacity:.6;cursor:progress}.account-button--secondary{color:var(--bar-bg);border:1px solid var(--bar-bg);background:#fff}.account-button--secondary:hover{background:var(--tabs-bg)}.account-switch{text-align:center;margin:1rem 0 0;font-size:.95rem}.account-link{color:var(--bar-bg);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.account-welcome{text-align:center;margin:0 0 .25rem;font-size:1.1rem}.account-detail{text-align:center;color:#4a5566;margin:0 0 1.25rem}.account-badge{background:var(--bar-bg);color:#fff;vertical-align:middle;border-radius:999px;margin-left:.3rem;padding:.05rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.account .account-button--secondary{width:100%;display:block}main:has(.members){justify-content:flex-start}.members{text-align:left;width:min(100%,40rem)}.area-tabs{background:var(--tabs-bg);border-radius:10px;gap:.25rem;padding:.25rem;display:flex}.area-tabs a{color:var(--bar-bg);border-radius:8px;flex:1;justify-content:center;padding:.5rem;text-decoration:none;display:flex;position:relative}.area-tabs svg{width:1.6rem;height:1.6rem}.area-tab-label{white-space:nowrap;margin-top:.15rem;font-size:.75rem;font-weight:600;line-height:1.2;display:none}@media (width>=460px){.area-tabs a{flex-direction:column;align-items:center;padding:.45rem .25rem .35rem}.area-tab-label{display:block}}.area-tabs .area-tab-count{position:absolute;top:.2rem;left:calc(50% + .45rem)}.area-tabs a:hover{background:#fff9}.area-tabs a[aria-current=page]{background:#fff;box-shadow:0 1px 3px #0000001f}.area-tabs a:focus-visible{outline-offset:-3px;outline:3px solid #f2b600}.area-panel{padding:1rem .25rem}.area-heading{color:var(--bar-bg);margin:0 0 1rem;font-size:1.25rem}.calendar-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.25rem;display:flex}.calendar-title-row .area-heading{overflow-wrap:anywhere;margin-bottom:.5rem}.rename-button{flex-shrink:0}.rename-form{margin-bottom:1rem}.area-empty,.area-note,.area-error{color:#4a5566;margin:.5rem 0 1rem}.area-error{color:#b3121b}.area-note{font-size:.9rem;font-style:italic}.account-details{margin:0 0 .5rem}.account-details>div{border-bottom:1px solid #e3e8f0;gap:1rem;padding:.55rem 0;display:flex}.account-details dt{color:#4a5566;flex:0 0 7.5rem}.account-details dd{overflow-wrap:anywhere;margin:0;font-weight:600}.account-name-row dd{flex:1;min-width:0}.account-name-view{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.name-form input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #b9c3d3;border-radius:8px;padding:.55rem .7rem;font-weight:400}.name-form .account-hint{color:#4a5566;margin:.3rem 0 0;font-size:.85rem;font-weight:400}.name-form .account-error:empty{display:none}.name-form .form-buttons{margin-top:.6rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.members .account-button--secondary{width:100%;display:block}.area-create{width:100%}.area-create:disabled{cursor:not-allowed}.calendar-list{margin:0;padding:0;list-style:none}.calendar-list-item{background:#fff;border:1px solid #dfe5ee;border-radius:10px;flex-direction:column;gap:.15rem;margin-bottom:.6rem;padding:.8rem .9rem;display:flex;box-shadow:0 1px 2px #0000000d}.calendar-list-title{color:var(--bar-bg);font-weight:700}.calendar-list-meta{color:#4a5566;font-size:.875rem}@media (width<=480px){.account-details>div{flex-direction:column;gap:.1rem}.account-details dt{flex-basis:auto;font-size:.85rem}}.create-form{margin-bottom:1rem}.form-buttons{gap:.5rem;margin-top:.25rem;display:flex}.form-buttons .account-button{flex:1;margin-top:0}.area-create{margin:.4rem 0 .5rem}.calendar-list-link{color:inherit;padding-right:2rem;text-decoration:none;position:relative}.calendar-list-link:after{content:"›";color:#8a96a8;font-size:1.5rem;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.calendar-list-link:hover{border-color:var(--bar-bg)}.calendar-list-link--made{flex-direction:row;align-items:center;gap:.75rem;padding-right:.9rem}.calendar-list-link--made:after{content:none}.calendar-list-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.calendar-list-actions{background:var(--tabs-bg);border:1px solid #c9d3e2;border-radius:10px;flex-shrink:0;align-items:center;gap:.2rem;padding:.3rem .35rem .3rem .4rem;transition:background-color .15s,border-color .15s;display:flex;box-shadow:0 1px 2px #00000014}.calendar-list-actions span{color:var(--bar-bg);white-space:nowrap;background:#fff;border-radius:999px;padding:.15rem .4rem;font-size:.75rem;font-weight:600}.calendar-list-actions .calendar-list-chevron{background:0 0;padding:0 .1rem 0 .15rem;font-size:1.4rem;line-height:1}.calendar-list-link--made:hover .calendar-list-actions{border-color:var(--bar-bg);background:#d6e0ee}@media (width<=440px){.calendar-list-link--made{flex-direction:column;align-items:stretch;gap:.5rem}.calendar-list-actions{flex-wrap:wrap;row-gap:.3rem}.calendar-list-actions .calendar-list-chevron{margin-left:auto}}.calendar-list-link:focus-visible{outline-offset:1px;outline:3px solid #f2b600}.back-link{color:var(--bar-bg);margin-bottom:.5rem;font-weight:600;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.area-subheading{color:var(--bar-bg);justify-content:space-between;align-items:baseline;margin:1.5rem 0 .25rem;font-size:1.05rem;display:flex}.area-count{color:#4a5566;font-size:.85rem;font-weight:400}.door-editor-grid{grid-template-columns:repeat(6,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.door-editor-tile{aspect-ratio:1;color:var(--bar-bg);background:#f7f9fc;border:2px dashed #b9c3d3;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex}.door-editor-tile.is-filled{background:#e6f4ea;border-style:solid;border-color:#2e7d4f}.door-editor-day{font-size:1.25rem;font-weight:700}.door-editor-state{color:#5b6677;font-size:.7rem}@media (width<=480px){.door-editor-grid{grid-template-columns:repeat(4,1fr)}}.danger-zone{border-top:1px solid #e3e8f0;margin-top:2rem;padding-top:1rem}.danger-button{background:#b3121b;width:100%}.danger-button:hover{background:#8f0e15}.delete-confirm p{margin:0 0 .5rem}.door-editor-grid .door-editor-tile{width:100%;font:inherit;cursor:pointer;padding:0;position:relative;overflow:hidden}.door-editor-tile:hover{border-color:var(--bar-bg)}.door-editor-tile:focus-visible{outline-offset:1px;outline:3px solid #f2b600}.door-editor-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.door-editor-photo~.door-editor-day{background:#ffffffe0;border-radius:4px;padding:0 .3em;font-size:.8rem;line-height:1.4;position:absolute;top:3px;left:3px}.door-editor-message{filter:drop-shadow(0 1px 1px #0006);font-size:.85rem;line-height:1;position:absolute;bottom:2px;right:3px}.door-dialog{box-sizing:border-box;border:0;border-radius:14px;width:min(26rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1rem 1.1rem 1.1rem;overflow:auto;box-shadow:0 10px 40px #00000059}.door-dialog::backdrop{background:#050f2399}.door-dialog-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.door-dialog-title{color:var(--bar-bg);margin:0;font-size:1.3rem}.door-dialog-close{background:var(--tabs-bg);width:2.25rem;height:2.25rem;color:var(--bar-bg);cursor:pointer;border:0;border-radius:50%;padding:.45rem;display:flex}.door-dialog-close svg{width:100%;height:100%}.door-photo{aspect-ratio:1;background:#f0f3f8;border:2px dashed #b9c3d3;border-radius:10px;justify-content:center;align-items:center;width:min(100%,16rem);margin:0 auto .75rem;display:flex;overflow:hidden}.door-photo img{object-fit:cover;width:100%;height:100%}.door-photo:has(img){border-style:solid;border-color:#0000}.door-photo-empty{color:#5b6677}.door-photo-buttons{gap:.5rem;margin-bottom:.75rem;display:flex}.door-photo-buttons .account-button{text-align:center;flex:1;margin-top:0}.door-choose{cursor:pointer;position:relative}.door-choose input{opacity:0;cursor:pointer;position:absolute;inset:0}.door-choose:focus-within{outline-offset:1px;outline:3px solid #f2b600}.door-message-label{color:#1c2a3e;justify-content:space-between;font-size:.9rem;font-weight:600;display:flex}.door-counter{color:#5b6677;font-weight:400}.door-dialog textarea{width:100%;font:inherit;resize:vertical;box-sizing:border-box;border:1px solid #b9c3d3;border-radius:8px;margin-top:.3rem;padding:.6rem .7rem;font-size:max(1rem,16px)}.door-dialog textarea:focus-visible{outline-offset:1px;outline:3px solid #f2b600}.test-accounts{background:#fff8e0;border:1px dashed #d9a400;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.2rem 0 .1rem;padding:.45rem .5rem;display:flex}.test-accounts-label{color:#6b5200;flex-basis:100%;font-size:.75rem}.test-account{color:#4a3a00;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9a400;border-radius:999px;padding:.3rem .6rem;font-size:.85rem}.test-account:hover{background:#ffefb3}.calendar-box{background:#fff;border:1px solid #dfe5ee;border-radius:12px;margin-top:1rem;padding:.9rem 1rem 1rem}.calendar-box>.area-subheading:first-child{margin-top:0}.calendar-box--title .calendar-list-meta{margin:0}.calendar-box--title .area-heading{margin-bottom:.35rem}.calendar-name-label{color:#4a5566;margin:0 0 .1rem;font-size:.8rem;font-weight:600}@media (width<=400px){.calendar-box{padding:.75rem .65rem .8rem}}.share-form label{color:#1c2a3e;margin-bottom:.3rem;font-size:.9rem;font-weight:600;display:block}.share-form-row{gap:.5rem;display:flex}.share-form-row input{min-width:0;font:inherit;border:1px solid #b9c3d3;border-radius:8px;flex:1;padding:.6rem .7rem;font-size:max(1rem,16px)}.share-form-row input:focus-visible{outline-offset:1px;outline:3px solid #f2b600}.share-form-row .account-button{margin-top:0;padding-inline:1.1rem}.share-list{margin:.25rem 0 0;padding:0;list-style:none}.share-row{border-bottom:1px solid #e3e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 0;display:flex}.share-who{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.2rem .5rem;min-width:0;display:flex}.share-status{white-space:nowrap;border-radius:999px;padding:.05rem .45rem;font-size:.75rem}.share-status--shared{color:#1f6b35;background:#e6f4ea}.share-status--pending{color:#7a5b00;background:#fff4d6}.share-status--declined{color:#9b1c1c;background:#fde8e8}.share-action{color:var(--bar-bg);font:inherit;cursor:pointer;background:#fff;border:1px solid #b9c3d3;border-radius:999px;flex-shrink:0;padding:.3rem .7rem;font-size:.85rem}.share-action:hover{border-color:var(--bar-bg)}.message-list{margin:0;padding:0;list-style:none}.message{background:#fff;border:1px solid #dfe5ee;border-left:4px solid #b3121b;border-radius:10px;margin-bottom:.75rem;padding:.9rem}.message-text{margin:0 0 .2rem}.message .account-error:empty{display:none}.area-tab-count,.tab-badge{color:#fff;background:#d61f2b;border-radius:999px;justify-content:center;align-items:center;min-width:1.2em;height:1.2em;padding:0 .3em;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.site-tabs a{position:relative}.tab-badge{box-shadow:0 0 0 2px var(--bar-bg);position:absolute;top:.1rem;right:.35rem}.share-link{background:#f4f7fb;border-radius:10px;margin-top:1rem;padding:.85rem}.share-link-heading{color:var(--bar-bg);margin:0 0 .25rem;font-size:.95rem}.share-link-help{color:#4a5566;margin:0 0 .6rem;font-size:.9rem}.share-link-address{color:#1c2a3e;text-overflow:ellipsis;background:#fff}.share-link-copied{color:#1f6b35;min-height:1.2em;margin:.35rem 0 0;font-size:.85rem}.share-link-actions{gap:.5rem;margin-top:.35rem;display:flex}.share-link .account-button--secondary{width:100%}main:has(.welcome){justify-content:flex-start}.welcome{text-align:left;width:min(100%,30rem)}.welcome-title{color:var(--bar-bg);text-align:center;margin:.5rem 0 1rem}.welcome-invite{color:#fff;text-align:center;background:linear-gradient(135deg,#b3121b,#7a0710);border-radius:12px;margin:0 0 1rem;padding:1rem}.welcome-invite p{margin:0}.welcome-invite-title{font-size:1.3rem;font-weight:700;margin-top:.35rem!important}.welcome p{line-height:1.5}.welcome-button{text-align:center;margin-top:.6rem;text-decoration:none;display:block}.welcome-app-tip{background:#f4f7fb;border:1px solid #dfe5ee;border-radius:12px;margin-top:1.5rem;padding:.9rem 1rem 1rem}.welcome-app-tip p{margin:0 0 .4rem}.welcome-app-tip .welcome-button{width:100%}main:has(.admin){justify-content:flex-start}.admin{text-align:left;width:min(100%,40rem)}.admin .area-heading{justify-content:space-between;align-items:baseline;display:flex}.admin>.account-error:empty{display:none}.admin-list{margin:0;padding:0;list-style:none}.admin-member{background:#fff;border:1px solid #dfe5ee;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:.6rem;padding:.75rem .9rem;display:flex}.admin-member-main{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.admin-email{overflow-wrap:anywhere}.admin-you{color:#4a5566;font-size:.85rem;font-weight:400}.admin-delete{color:#b3121b;border-color:#e3a1a1;flex-shrink:0}.admin-delete:hover{background:#fdecec;border-color:#b3121b}.share-qr-button{width:100%;margin:.25rem 0 .35rem}.qr-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--bar-bg);background:#fff;border:0;margin:0;padding:0}.qr-dialog::backdrop{background:#fff}body:has(.qr-dialog[open]){overflow:hidden}.qr-dialog .lightbox-close{background:var(--bar-bg);border-color:var(--bar-bg);color:#fff}.qr-content{height:100%;padding:calc(4.5rem + var(--safe-top)) 1.25rem calc(1.5rem + var(--safe-bottom));box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.qr-intro{color:#4a5566;margin:0;font-size:1rem}.qr-title{margin:.2rem 0 1rem;font-size:1.4rem;font-weight:700}.qr-code{aspect-ratio:1;justify-content:center;align-items:center;width:min(88vw,100dvh - 17rem,30rem);display:flex}.qr-code svg{width:100%;height:100%}.qr-help{color:#4a5566;max-width:22rem;margin:1rem 0 0;font-size:.95rem}@media (height<=500px){.qr-content{padding-top:calc(1rem + var(--safe-top));text-align:left;grid-template-columns:auto minmax(0,20rem);place-content:center;column-gap:1.5rem;display:grid}.qr-code{grid-area:1/1/4;width:min(70dvh,45vw)}.qr-intro,.qr-title,.qr-help{grid-column:2}.qr-help{align-self:start}.qr-intro{align-self:end}}.calendar-from{opacity:.9;margin-top:.1rem;font-size:.8rem;font-weight:500;display:block}.calendar--home:has(.home-card){justify-content:center;align-items:center}.home-card{color:#1c2a3e;text-align:center;background:#fffffff2;border-radius:14px;width:min(100%,24rem);padding:1.25rem 1.25rem 1.1rem;box-shadow:0 8px 30px #00000059}.home-card h2{color:var(--bar-bg);text-shadow:none;margin:0 0 .6rem}.home-card p{margin:0 0 .9rem;line-height:1.45}.home-card-button{margin-top:.5rem;text-decoration:none;display:block}.calendar-door.is-open .calendar-door-note{font-size:clamp(.55rem, calc(var(--tile) * .12), .85rem);color:var(--bar-bg);text-shadow:none}.calendar-door.is-open .calendar-door-note--message{font-size:clamp(1rem, calc(var(--tile) * .35), 2.5rem)}.lightbox-caption{text-align:center;flex-direction:column;align-items:center;gap:.35rem;max-width:40rem;display:flex}.lightbox-message{white-space:pre-wrap;font-size:1.1rem;font-weight:400;line-height:1.45}.lightbox-message:empty{display:none}.lightbox--message-only .lightbox-figure{justify-content:center}.lightbox--message-only .lightbox-message{font-size:clamp(1.3rem,5vw,2rem)}.calendar-list-item.is-on-home{border-color:#2e7d4f;box-shadow:0 0 0 1px #2e7d4f}.received-item{flex-direction:row;align-items:center;gap:.75rem}.received-info{flex-direction:column;flex:1;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.home-switch{color:#4a5566;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:.2rem;padding:.2rem;display:flex}.home-switch-label{white-space:nowrap;font-size:.68rem;font-weight:700}.home-switch[aria-checked=true]{color:#17603a;cursor:default}.home-switch[aria-checked=true] .preview-switch{background:#1f8a4c}.home-switch[aria-checked=true] .preview-switch-knob{transform:translate(1.1rem)}.home-switch:focus-visible{outline-offset:1px;outline:3px solid #f2b600}@media (width<=360px){.received-item{flex-wrap:wrap;justify-content:flex-end;row-gap:.4rem}.received-info{flex-basis:100%}}.received-view{background:var(--bar-bg);color:#fff;border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.received-view svg{width:1.1rem;height:1.1rem}.received-view:hover{background:#16407f}.received-view:focus-visible{outline-offset:2px;outline:3px solid #f2b600}.calendar-list-item .account-error:empty{display:none}.preview-button{text-align:center;margin-top:1rem;text-decoration:none;display:block}.preview-bar{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.preview-label{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#00000059;border-radius:999px;margin-right:auto;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.preview-toggle{color:var(--bar-bg);font:inherit;cursor:pointer;background:#ffffff80;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .4rem .35rem .8rem;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 2px 8px #00000059}.preview-switch{background:#b8c2d1;border-radius:999px;flex-shrink:0;width:2.6rem;height:1.5rem;transition:background-color .2s;position:relative}.preview-switch-knob{background:#fff;border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .2s;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 3px #00000059}.preview-toggle[aria-checked=true] .preview-switch{background:#1f8a4c}.preview-toggle[aria-checked=true] .preview-switch-knob{transform:translate(1.1rem)}@media (prefers-reduced-motion:reduce){.preview-switch,.preview-switch-knob{transition:none}}.preview-close{box-sizing:border-box;width:2.5rem;height:2.5rem;color:var(--bar-bg);background:#fff;border-radius:50%;flex-shrink:0;padding:.5rem;display:flex;box-shadow:0 2px 8px #00000059}.preview-close svg{width:100%;height:100%}.preview-toggle:hover{background:#e6ecf5a6}.preview-close:hover{background:#e6ecf5}.preview-toggle:focus-visible,.preview-close:focus-visible{outline-offset:2px;outline:3px solid #f2b600}@media (height<=500px){.preview-bar{margin-bottom:.3rem}.preview-toggle{padding:.2rem .3rem .2rem .65rem;font-size:.8rem}.preview-close{width:2rem;height:2rem;padding:.4rem}}@media (width<=280px){.preview-bar{gap:.3rem}.preview-label{padding:.15rem .4rem;font-size:.65rem}.preview-toggle{gap:.3rem;padding:.2rem .25rem .2rem .5rem;font-size:.75rem}}.add-calendar{margin:0 0 1.25rem}.scan-button{width:100%;margin:.5rem 0 .9rem}.add-calendar .account-error:empty{display:none}.add-calendar-notice{color:#17603a;background:#e5f4eb;border-radius:8px;margin:.5rem 0 0;padding:.6rem .75rem;font-weight:600}.scan-dialog{background:#000;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.scan-dialog::backdrop{background:#000}body:has(.scan-dialog[open]){overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan-frame{aspect-ratio:1;border:3px solid #ffffffe6;border-radius:18px;width:min(65vw,65dvh,18rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #00000059}.scan-status{left:1rem;right:1rem;bottom:calc(1.5rem + var(--safe-bottom));color:#fff;text-align:center;background:#0009;border-radius:12px;max-width:26rem;margin:0 auto;padding:.7rem 1rem;font-weight:600;position:absolute}.scan-status--error{color:#a3121b;background:#fffffff2}.area-panel>.add-calendar-notice{margin:0 0 1rem}main:has(.swap){justify-content:flex-start}.swap{text-align:left;width:min(100%,36rem);margin:0 auto}.swap-title{color:var(--bar-bg);text-align:center;margin:.25rem 0;font-size:1.3rem}.swap .area-subheading{margin-top:0}.swap .area-note{margin:.25rem 0 .75rem}.swap .account-error:empty{display:none}.swap-scan{justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.85rem 1rem;font-size:1.05rem;display:flex}.swap-scan svg{width:1.6rem;height:1.6rem}.swap-sign-in,.swap-make{text-align:center;text-decoration:none;display:block}.swap-list{margin:0;padding:0;list-style:none}.swap-item{border-top:1px solid #e3e8f0;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.5rem 0;display:flex}.swap-item-title{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.swap-qr{background:var(--bar-bg);color:#fff;cursor:pointer;border:0;border-radius:10px;flex-shrink:0;width:2.9rem;height:2.9rem;padding:.5rem;display:flex}.swap-qr svg{width:100%;height:100%}.swap-qr:hover{background:#16407f}.swap-qr:disabled{opacity:.6}.swap-qr:focus-visible{outline-offset:2px;outline:3px solid #f2b600}.swap-item .account-error{flex-basis:100%;margin:0}.my-calendars .area-panel{padding-top:.25rem}.my-calendars-sign-in{text-align:center;text-decoration:none;display:block}.view-bar{justify-content:flex-end}
