body{margin:0;font-family:system-ui,sans-serif}.scene{z-index:-1;background:url(/background.png) 50%/cover no-repeat;position:fixed;inset:0}.content{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex;position:relative}.card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;text-align:center;background:#ffffffe0;border-radius:16px;width:100%;max-width:480px;padding:32px 24px;box-shadow:0 10px 30px #00000026}h1{color:#2f4a2d;margin:0 0 8px;font-size:clamp(28px,6vw,40px)}.subtitle{color:#4a5d47;margin:0 0 24px;font-size:15px}.upload{flex-direction:column;align-items:center;gap:12px;display:flex}#photo-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.upload-label{box-sizing:border-box;color:#35502f;cursor:pointer;background:#eef3ea;border:2px dashed #7a9b6d;border-radius:10px;width:100%;padding:14px 20px;font-size:16px;font-weight:600;display:block}.upload-button{box-sizing:border-box;color:#fff;cursor:pointer;background:#4a7a43;border:none;border-radius:10px;width:100%;padding:14px 24px;font-size:16px;font-weight:600}.upload-button:disabled{opacity:.6;cursor:not-allowed}.message{margin:0;font-size:14px}.message.success{color:#2d6a2d}.message.error{color:#a3312f}
