:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#243453;background:#f5f8ff}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:#3766bb;text-decoration:none}a:hover{text-decoration:underline}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px clamp(16px,4vw,42px);background:#fff;border-bottom:1px solid #e5eaf7;flex-wrap:wrap}.brand{font-weight:850;font-size:20px;color:#244178}.brand span{font-size:14px;font-weight:600;color:#6376a0;margin-left:8px}nav{display:flex;align-items:center;gap:15px;flex-wrap:wrap}nav .hello{color:#76829b;font-size:13px}nav form{display:inline}main{max-width:1160px;margin:auto;padding:26px 20px 70px}footer{text-align:center;padding:20px;color:#7384a5}.hero{text-align:center;padding:20px 8px 30px}.hero h1{font-size:clamp(30px,5vw,48px);letter-spacing:-1.6px;margin:8px 0}.hero p{font-size:18px;color:#607390;margin:8px}.eyebrow{color:#6b67c3;font-weight:750}.album-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:22px}.album-card{background:#fff;border:1px solid #e3eafa;border-radius:23px;overflow:hidden;box-shadow:0 8px 25px #24477710;color:inherit;transition:transform .2s}.album-card:hover{transform:translateY(-3px);text-decoration:none}.album-cover{height:195px;background:linear-gradient(145deg,#cee6ff,#fde7f5);display:grid;place-items:center}.album-cover img{height:100%;width:100%;object-fit:cover}.no-cover{font-size:65px}.album-text{padding:18px}.album-text h2{margin:0 0 7px}.album-text p{color:#607390;margin:0 0 10px}.album-text small{color:#7a82aa}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.photo-card,.panel{background:#fff;border:1px solid #e3eafa;border-radius:19px;padding:16px;box-shadow:0 5px 20px #2447770a}.photo-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.photo-card p{margin:8px 0;min-height:15px}.photo-card details{font-size:13px}.panel{margin:18px 0}.panel h2{margin:0 0 12px}.compact{max-width:510px;margin:50px auto;padding:25px}.compact h1{font-size:30px}form{display:flex;flex-direction:column;gap:13px}label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:650}input,select{font:inherit;padding:11px;border-radius:10px;border:1px solid #c5d0e5;background:#fff;width:100%}input:focus,select:focus{outline:2px solid #8aaaf1}.check{flex-direction:row;align-items:center}.check input{width:auto}button,.button{display:inline-block;background:#446acb;border:none;border-radius:12px;padding:12px 17px;font:inherit;font-weight:750;color:white;cursor:pointer;text-align:center}button:hover,.button:hover{background:#3058b3;color:#fff;text-decoration:none}.button.secondary{background:#e9efff;color:#31509c}.nav-btn{padding:6px 10px;font-size:13px;background:#e9efff;color:#34509a}.small{padding:7px 11px;font-size:13px}.danger{background:#a74358}.danger:hover{background:#862b40}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.settings-grid .panel{margin:0}.item-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eef1f6}.inline{display:inline}.compact-form{margin:12px 0}details{margin:12px 0}summary{cursor:pointer;font-weight:700}.hint{color:#7585a0;font-size:13px}.error{padding:15px;background:#ffe4e7;color:#8d213a;border-radius:12px}.notice{padding:15px;background:#e5f8eb;color:#176239;border-radius:12px}.empty{background:#fff;border:1px dashed #b8c8e9;border-radius:20px;padding:70px 20px;text-align:center;font-size:20px}.center{text-align:center}.viewer{max-width:970px;margin:auto}.viewer-photo{display:flex;align-items:center;justify-content:center;min-height:0;max-height:70vh;max-height:70dvh;background:#1b2535;border-radius:18px;overflow:hidden;margin:18px 0}.viewer-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:70vh;max-height:70dvh;object-fit:contain}.viewer .caption{text-align:center;font-size:19px}.viewer-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.upload{max-width:720px;margin:0 auto 28px}@media(max-width:620px){header{padding:12px}main{padding:16px 12px 60px}.brand span{display:block;margin:0}.hero{padding:16px 0}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-card{padding:8px}.viewer-photo{max-height:65vh;max-height:65dvh}.viewer-photo img{max-height:65vh;max-height:65dvh}nav{gap:8px}.settings-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
