:root{--paper:#f6f3eb;--ink:#253b33;--muted:#6c766d;--green:#315548;--lime:#dbeaa6;--line:#d8ded1;--white:#fffefa;--orange:#df754d;--shadow:0 22px 65px #233b3312;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.site-header{max-width:1440px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;font-size:25px;font-weight:700;letter-spacing:-1px}.brand-icon{width:44px;height:44px;border:2px solid var(--ink);border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:29px;position:relative}.brand-icon span{font-size:10px;position:absolute;right:5px;bottom:4px;color:var(--orange)}.brand-dot{color:var(--orange)}.brand small{display:block;font-size:9px;letter-spacing:1.5px;margin-top:5px}.main-link{text-decoration:none;font-size:13px;font-weight:700}.main-link span{margin-left:16px}.landing{max-width:1360px;margin:auto;padding:70px 5% 50px;display:grid;grid-template-columns:1.2fr .85fr;gap:9%;align-items:start}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 23px;display:flex;align-items:center;gap:10px}.tiny-dot{width:8px;height:8px;background:var(--orange);border-radius:50%}h1,h2,h3,p{margin-top:0}.landing h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,5.3vw,75px);font-weight:400;line-height:1.04;letter-spacing:-3px;margin-bottom:25px}.landing h1 em{color:var(--orange);font-weight:400}.intro{font-size:15px;line-height:1.8;max-width:460px;color:var(--muted)}.intro strong{color:var(--ink);font-weight:600}.steps{display:flex;gap:35px;margin:37px 0 28px}.steps div{display:flex;flex-direction:column;gap:12px}.steps span{font-size:11px;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:8px}.steps p{font-size:11px;line-height:1.6;margin-bottom:0}.access-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);padding:34px;border-radius:20px;margin-top:3px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.card-icon{font-size:32px;line-height:1;color:var(--orange)}.pill{font-size:8px;letter-spacing:1px;font-weight:700;border:1px solid var(--line);padding:8px 10px;border-radius:30px}.access-card h2{font-family:Georgia,serif;font-size:29px;letter-spacing:-.8px;font-weight:400;margin-bottom:10px}.access-card>p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:26px}label:not(.select-all):not(.availability){display:block;font-size:11px;font-weight:700;margin:20px 0 9px}input:not([type=checkbox]):not([type=file]){width:100%;height:49px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:0 13px;font-size:13px}input::placeholder{color:#919a90}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;cursor:pointer}.password-field{position:relative}.password-field input{padding-right:65px!important}.password-field button{position:absolute;right:13px;top:15px;color:var(--muted);border:0;background:none;font-size:10px;font-weight:700;padding:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:46px;padding:12px 20px;border-radius:9px;border:1px solid transparent;font-size:11px;font-weight:700;text-decoration:none}.primary{background:var(--green);color:white}.primary:hover{background:#244236}.outline{border-color:var(--line);color:var(--ink);background:var(--white)}.outline:hover{border-color:var(--green)}.wide{width:100%}.access-card .button{margin-top:24px;justify-content:space-between}.access-card .access-note{font-size:10px;color:var(--muted);line-height:1.7;margin:18px 0 22px;display:flex;gap:10px}.access-note>span{font-size:16px;color:var(--green)}.card-help{font-size:10px;line-height:1.7;text-align:center;padding-top:22px;border-top:1px dashed var(--line);color:var(--muted)}.card-help strong{color:var(--ink)}.memory-art{height:135px;position:relative;max-width:430px;margin-top:32px}.film-strip{background:var(--green);padding:12px 16px;display:flex;gap:8px;transform:rotate(-5deg);width:315px;box-shadow:4px 7px 0 #263c3218;border-radius:3px;position:absolute;left:8px;top:8px}.film-strip span{border:1px solid #e6ecc350;background:#ffffff0d;color:var(--lime);width:88px;height:67px;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:1px;transform:none}.art-star{position:absolute;right:25px;top:-3px;font-size:60px;color:var(--orange);transform:rotate(14deg)}.art-caption{position:absolute;right:25px;bottom:12px;font-family:Georgia,serif;font-style:italic;font-size:15px;transform:rotate(-5deg)}.home-bottom{border-top:1px solid var(--line);padding:29px 5% 35px;text-align:center}.home-bottom span{font-family:Georgia,serif;font-size:23px}.home-bottom p{margin:10px 0 0;font-size:11px;color:var(--muted)}.site-footer{max-width:1440px;padding:24px 5%;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);line-height:1.8}.site-footer>span:first-child{font-weight:700}.site-footer a{text-underline-offset:3px}.owner-link{display:inline-block;margin-left:17px}.notice{max-width:1200px;margin:20px auto 0;padding:14px 22px;border-radius:10px;background:#e7efdc;font-size:13px;line-height:1.6}.notice.error{background:#f6e4db;color:#88402c}.single-card{max-width:460px;margin:65px auto 85px;padding:32px;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.single-card h1{font-family:Georgia,serif;font-weight:400;font-size:38px;letter-spacing:-1px;margin-bottom:15px}.single-card p{font-size:13px;line-height:1.7;color:var(--muted)}.single-card .button{margin-top:25px}.small,.field-note{font-size:11px!important;line-height:1.7;color:var(--muted)}.field-note{margin:8px 0 0}.single-card .small{margin:22px 0 0}.gallery-main,.owner-main{max-width:1360px;margin:0 auto;padding:55px 5% 65px}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.gallery-heading h1{font-family:Georgia,serif;font-size:clamp(32px,4vw,49px);font-weight:400;letter-spacing:-1.7px;margin-bottom:12px}.gallery-heading .eyebrow{margin-bottom:17px}.gallery-heading p:last-child{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:0}.separator{margin:0 9px}.selection-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.selection-actions,.download-actions{display:flex;align-items:center;gap:24px}.select-all{font-size:11px;font-weight:700;display:flex;align-items:center;gap:8px}.text-button{background:none;border:0;padding:8px 0;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px}.download-actions>span{font-size:11px;color:var(--muted)}.gallery-hint{font-size:11px;color:var(--muted);line-height:1.8;margin:19px 0 26px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.photo-card{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.photo-card.selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.photo-open{padding:0;width:100%;border:0;display:block;background:#e5e8df;aspect-ratio:4/3;position:relative}.photo-open img{display:block;object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.zoom-label{position:absolute;bottom:10px;right:10px;background:#fffefae6;font-size:9px;padding:7px 9px;border-radius:20px;color:var(--ink);opacity:0;transition:opacity .15s}.photo-open:hover .zoom-label,.photo-open:focus-visible .zoom-label{opacity:1}.photo-caption{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;min-height:45px;font-size:10px}.photo-caption label{display:flex!important;align-items:center;gap:7px;margin:0!important;font-size:10px!important;cursor:pointer}.photo-number{font-family:monospace;color:var(--muted);letter-spacing:1px}.download-note{font-size:10px;color:var(--muted);margin-top:30px;line-height:1.8}.empty-state{text-align:center;padding:60px 25px;border:1px dashed var(--line);border-radius:15px;background:var(--white)}.empty-state>span,.new-event-help>span{display:block;font-size:56px;color:var(--orange);margin-bottom:20px}.empty-state h2{font-family:Georgia,serif;font-size:30px;font-weight:400}.empty-state p{font-size:13px;color:var(--muted);line-height:1.8}.lightbox{border:0;background:var(--ink);padding:35px 20px 12px;border-radius:15px;width:min(1000px,95vw);max-height:94vh;color:white;box-shadow:0 30px 100px #0006}.lightbox::backdrop{background:#13241de6}.lightbox img{display:block;max-width:100%;max-height:78vh;margin:auto;object-fit:contain}.lightbox p{font-size:11px;text-align:center;margin:12px 0 0;overflow-wrap:anywhere}.lightbox-close{position:absolute;right:10px;top:2px;border:0;background:none;color:white;font-size:28px;line-height:1;padding:3px 10px}.owner-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.back-link{font-size:11px;text-decoration:none}.storage-card{display:flex;justify-content:space-between;gap:20px;background:#e7ebdc;border-radius:10px;padding:20px 24px;font-size:12px;margin-bottom:28px}.event-list{display:grid;gap:15px}.event-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;background:var(--white);border:1px solid var(--line);border-radius:14px;text-decoration:none}.event-row:hover{border-color:var(--green)}.event-row h2{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:13px 0 10px}.event-row p{font-size:11px;color:var(--muted);margin-bottom:0}.event-status{font-size:8px;background:#e7efdc;padding:5px 8px;border-radius:20px;font-weight:700}.event-status.paused{background:#eee4d9;color:#835337}.event-row-right{text-align:right;display:flex;flex-direction:column;gap:18px;font-size:11px}.event-row code{font-size:15px;letter-spacing:1px}.owner-columns{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px;align-items:start}.event-details,.upload-panel{border:1px solid var(--line);border-radius:16px;background:var(--white);padding:30px}.event-details h2,.upload-panel h2,.owner-photos h2{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.5px}.availability{display:flex;gap:9px;align-items:center;font-size:11px;font-weight:700;margin-top:22px}.event-details .button{margin-top:23px}.upload-panel>p,.new-event-help>p{font-size:12px;color:var(--muted);line-height:1.8}.upload-panel .eyebrow{font-size:9px}.upload-picker{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:14px;border:1px dashed #a8bca6;padding:30px;border-radius:12px;background:#f3f6e9;cursor:pointer;font-size:12px!important;margin-top:25px!important}.upload-picker>span:last-child{font-size:10px;color:var(--muted);font-weight:400}.upload-symbol{font-size:35px}.file-input{display:block;max-width:100%;font-size:11px;margin:12px 0}.upload-panel progress{display:block;width:100%;height:12px;margin-top:24px;accent-color:var(--green)}#upload-status,#upload-errors{font-size:11px;line-height:1.8;overflow-wrap:anywhere;margin-top:15px}#upload-errors{color:#88402c;padding-left:18px}#upload-done{margin-top:12px}.host-details{border-top:1px dashed var(--line);margin-top:32px;padding-top:26px}.host-details h3{font-size:13px}.host-details p{font-size:12px;line-height:2;color:var(--muted)}.host-details strong{color:var(--ink)}.new-event-help{padding:10px 5px}.new-event-help ol{font-size:12px;line-height:2.4;padding-left:20px;margin-top:25px}.owner-photos{margin-top:40px}
@media(min-width:1500px){.landing{padding-top:85px;padding-bottom:65px}}@media(max-width:1000px){.landing{gap:5%;grid-template-columns:1fr .9fr;padding-top:50px}.landing h1{font-size:54px}.steps{gap:20px}.access-card{padding:25px}.memory-art{max-width:340px}.art-star{right:0}.art-caption{right:0}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-columns{gap:20px}.event-details,.upload-panel{padding:24px}}@media(max-width:700px){.site-header{padding:23px 6%;gap:16px}.brand{font-size:21px;gap:9px}.brand-icon{width:36px;height:36px;font-size:24px;border-radius:10px}.brand small{font-size:7px;letter-spacing:1px}.main-link{font-size:10px;text-align:right;max-width:100px;line-height:1.5}.main-link span{margin-left:3px}.landing{padding:39px 6% 35px;display:flex;flex-direction:column;gap:28px}.landing-copy{width:100%}.landing h1{font-size:51px;letter-spacing:-2px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:22px}.intro{font-size:13px;max-width:440px}.steps{justify-content:space-between;gap:16px;margin:26px 0 0}.steps p{font-size:10px}.memory-art{display:none}.access-card{width:100%;padding:26px;margin:0}.access-card h2{font-size:29px}.card-top{margin-bottom:22px}.home-bottom{padding:27px 6%}.home-bottom span{font-size:19px}.home-bottom p{font-size:10px;line-height:1.7}.site-footer{padding:22px 6%;flex-direction:column;gap:4px;font-size:8px}.single-card{margin:35px 6% 45px;max-width:none;padding:25px}.single-card h1{font-size:34px}.notice{margin:15px 6% 0;font-size:12px}.gallery-main,.owner-main{padding:35px 6% 45px}.gallery-heading{align-items:flex-start;margin-bottom:25px;gap:15px}.gallery-heading h1{font-size:34px;letter-spacing:-1.1px;overflow-wrap:anywhere}.gallery-heading .button{padding:10px 12px;font-size:9px;white-space:nowrap;min-height:38px}.gallery-heading .eyebrow{font-size:7px;line-height:1.5}.gallery-heading p:last-child{font-size:10px}.selection-bar{flex-direction:column;align-items:stretch;padding:12px 0;gap:12px}.selection-actions{justify-content:space-between}.download-actions{justify-content:space-between;gap:12px}.download-actions .button{min-height:41px;font-size:10px;gap:10px;padding:10px 12px}.download-actions>span{font-size:9px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-caption{padding:8px}.photo-caption label{font-size:9px!important;gap:4px}.photo-number{font-size:9px}.gallery-hint{font-size:10px;margin:15px 0 20px}.owner-columns{grid-template-columns:1fr;gap:20px}.storage-card{font-size:10px;padding:17px}.event-row{padding:20px;gap:15px}.event-row h2{font-size:21px}.event-row-right{font-size:9px}.event-row code{font-size:12px}.empty-state{padding:40px 20px}.empty-state h2{font-size:26px}.empty-state p{font-size:12px}.owner-toolbar{margin-bottom:23px}}

#host-message-form label{display:block;font-size:12px;margin:18px 0 10px}#host-message-text{width:100%;max-width:100%;font:12px/1.7 sans-serif;padding:12px;border:1px solid var(--line);border-radius:8px;resize:vertical}#copy-host-message{margin-top:14px}

.photo-management-heading,.photo-management-heading nav,.photo-management-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.photo-management-heading{justify-content:space-between;margin-bottom:16px}.photo-management-bar{position:sticky;top:0;z-index:5;padding:14px;background:#f7f5ec;border:1px solid #c7d0c6;border-radius:10px;margin:18px 0}.photo-management-bar label{display:flex;align-items:center;gap:10px;margin:0}.photo-management-bar input,.owner-photo-card .photo-caption input{width:24px;height:24px;accent-color:#205247}.owner-photo-card .photo-caption label{display:flex;align-items:center;gap:8px;margin:0}.photo-delete{background:#9a2334!important;color:#fff!important;border-color:#9a2334!important}.photo-delete:hover{background:#751a28!important}.owner-photo-card>button[type=submit]{min-height:48px;width:calc(100% - 24px);margin:0 12px 12px}.owner-photo-card.selected{outline:3px solid #205247}.photo-management-bar .button{min-height:48px}
