@layer theme{:root,:host{--spacing:.25rem;--default-font-family:Arial, Helvetica, sans-serif;--default-mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.min-h-screen{min-height:100vh}.bg-\[var\(--paper\)\]{background-color:var(--paper)}.text-\[var\(--ink\)\]{color:var(--ink)}}:root{--paper:#fbf7ef;--paper-deep:#efe3d3;--ink:#302820;--muted:#74685d;--line:#dfd1bf;--rose:#c96f5b;--green:#466f61;--blue:#587482;--cream:#fffaf2;--shadow:0 24px 70px #402b1f29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.login-shell{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:100vh;display:grid}.login-photo,.hero-image{position:relative;overflow:hidden}.login-photo:after,.hero-image:after{content:"";pointer-events:none;background:linear-gradient(120deg,#30282029,#0000 44%),linear-gradient(#0000 62%,#30282033);position:absolute;inset:0}.login-photo img,.hero-image img{object-fit:cover;width:100%;height:100%;min-height:100vh}.login-panel{background:radial-gradient(circle at top right, #c96f5b24, transparent 34%), linear-gradient(180deg, var(--cream), var(--paper));flex-direction:column;justify-content:center;padding:clamp(32px,6vw,88px);display:flex}.eyebrow{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:760}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin-bottom:20px;font-size:clamp(3rem,7vw,6.8rem);font-weight:760;line-height:.95}h2{margin-bottom:14px;font-size:clamp(2rem,4.5vw,4.6rem);font-weight:730;line-height:1}h3{margin-bottom:8px;font-size:1.2rem;line-height:1.15}.login-copy,.hero-copy p,.admin-copy p{max-width:620px;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem);line-height:1.7}.login-form,.admin-form{width:100%;max-width:620px;margin-top:26px}label{color:var(--ink);gap:9px;font-size:.92rem;font-weight:680;display:grid}.code-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:9px;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fffaf2db;border-radius:8px;outline:none;padding:15px 16px;transition:border-color .16s,box-shadow .16s,background .16s}textarea{resize:vertical;min-height:116px}input:focus,select:focus,textarea:focus{border-color:var(--green);background:#fffdf8;box-shadow:0 0 0 4px #466f6124}button,.hero-actions a,.admin-page-hero a{background:var(--ink);min-height:50px;color:var(--cream);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 20px;font-weight:740;text-decoration:none;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}button:hover,.hero-actions a:hover,.admin-page-hero a:hover{background:#1f1a15;transform:translateY(-1px);box-shadow:0 12px 28px #3028202e}.secondary-link,.ghost-button{border:1px solid var(--line);color:var(--ink)!important;background:0 0!important}.secondary-link:hover,.ghost-button:hover{border-color:var(--ink);background:#fffaf2b8!important}.hint,.form-message{color:var(--muted);margin:12px 0 0;font-size:.9rem}.form-message{color:var(--green);font-weight:680}.album-hero{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);min-height:min(820px,92vh);display:grid}.album-hero h1{font-size:clamp(3.2rem,6vw,7rem)}.hero-copy{background:radial-gradient(circle at 88% 18%, #5874822e, transparent 30%), linear-gradient(180deg, var(--paper), var(--cream));flex-direction:column;justify-content:center;padding:clamp(36px,6vw,96px);display:flex}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.memory-strip{border-block:1px solid var(--line);background:var(--cream);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.memory-strip div{border-right:1px solid var(--line);align-content:center;gap:4px;min-height:122px;padding:24px clamp(20px,5vw,72px);display:grid}.memory-strip div:last-child{border-right:0}.memory-strip strong{font-size:clamp(2rem,4vw,4rem);line-height:.95}.memory-strip span{color:var(--muted)}.content-band{padding:clamp(46px,7vw,104px) clamp(18px,5vw,72px)}.section-heading{max-width:860px}.category-tabs{flex-wrap:wrap;gap:10px;margin:30px 0 34px;display:flex}.category-tabs button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:0 0;padding-inline:16px}.category-tabs button.active{border-color:var(--green);background:var(--green);color:var(--cream)}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,28px);display:grid}.photo-card{background:var(--cream);border:1px solid #dfd1bfeb;border-radius:8px;overflow:hidden;box-shadow:0 18px 46px #402b1f14}.photo-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.photo-body{padding:18px}.photo-body span{color:var(--rose);text-transform:uppercase;margin-bottom:9px;font-size:.78rem;font-weight:760;display:block}.photo-body p{color:var(--muted);margin-bottom:0;line-height:1.55}.photo-date{font-size:.92rem;font-weight:680;color:var(--green)!important;margin:-2px 0 8px!important}.admin-form{max-width:none;box-shadow:var(--shadow);background:#fffaf2bd;border:1px solid #dfd1bff2;border-radius:8px;gap:16px;margin-top:0;padding:clamp(18px,3vw,30px);display:grid}.admin-form.compact{align-self:start}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.file-drop{border:1.5px dashed var(--green);min-height:112px;color:var(--green);cursor:pointer;text-align:center;background:#fffaf28f;border-radius:8px;place-items:center}.file-drop input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-drop span{overflow-wrap:anywhere;max-width:100%;padding:0 16px}.admin-actions{flex-wrap:wrap;gap:12px;display:flex}.danger-button{background:#9f4639;min-height:38px;margin-top:14px;padding-inline:14px}.empty-state{border:1px solid var(--line);color:var(--muted);background:#fffaf2c2;border-radius:8px;padding:clamp(22px,4vw,38px)}.empty-state h3{color:var(--ink)}.empty-state.compact{padding:22px}.admin-login-shell h1{font-size:clamp(2.8rem,6vw,5.9rem)}.admin-page-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 92% 20%, #5874822e, transparent 30%), linear-gradient(180deg, var(--cream), var(--paper));justify-content:space-between;align-items:flex-start;gap:24px;padding:clamp(34px,6vw,82px) clamp(18px,5vw,72px);display:flex}.admin-page-hero h1{margin-bottom:14px;font-size:clamp(2.9rem,6vw,6rem)}.admin-page-hero p{max-width:720px;color:var(--muted);font-size:1.08rem;line-height:1.65}.admin-workspace{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(18px,4vw,34px);padding:clamp(28px,5vw,60px) clamp(18px,5vw,72px);display:grid}.admin-column{gap:clamp(18px,3vw,28px);display:grid}.admin-card{background:#fffaf2c7;border:1px solid #dfd1bff2;border-radius:8px;padding:clamp(18px,3vw,30px);box-shadow:0 18px 44px #402b1f14}.admin-card h2,.admin-form h2{font-size:clamp(1.7rem,3vw,2.8rem)}.folder-form{margin:18px 0}.folder-list,.admin-photo-list{gap:12px;display:grid}.folder-row,.admin-photo-row{background:#ffffff5c;border:1px solid #dfd1bfd1;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.folder-row strong,.admin-photo-row strong{display:block}.folder-row span,.admin-photo-row span,.admin-photo-row p{color:var(--muted);margin:0;font-size:.88rem}.folder-row .danger-button,.admin-photo-row .danger-button{margin-top:0}.admin-photo-row{grid-template-columns:86px minmax(0,1fr) auto}.admin-photo-row img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:86px}@media (max-width:980px){.login-shell,.album-hero,.admin-workspace{grid-template-columns:1fr}.login-photo img,.hero-image img{min-height:42vh}.login-panel,.hero-copy{padding:34px 22px 46px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){h1{font-size:clamp(2.7rem,16vw,4.1rem)}.code-row,.field-grid,.memory-strip,.photo-grid{grid-template-columns:1fr}.memory-strip div{border-right:0;border-bottom:1px solid var(--line);min-height:96px}.memory-strip div:last-child{border-bottom:0}.hero-actions a,.admin-actions button,.code-row button{width:100%}.content-band,.admin-workspace,.admin-page-hero{padding-inline:16px}.admin-page-hero,.folder-row,.admin-photo-row{grid-template-columns:1fr}.admin-page-hero{display:grid}.admin-photo-row img{aspect-ratio:4/3;width:100%}}
