:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090909;--fg:#f6edf3;--muted:#f6edf3b8;--card-border:#ffffff24;--accent:#ff69b4}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top, #ff69b438, transparent 30%), radial-gradient(circle at bottom, #ffffff0a, transparent 24%), linear-gradient(180deg, #160811 0%, var(--bg) 100%);min-height:100%;color:var(--fg);margin:0;font-family:Georgia,Times New Roman,serif;overflow-x:hidden}button,input{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell,.viewer-shell{width:100%;min-height:100svh}.auth-shell{place-items:center;padding:1.5rem;display:grid}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffff14,#ffffff05);border:1px solid #ffffff1a;border-radius:28px;width:min(460px,100%);padding:2.5rem 2.1rem;box-shadow:0 18px 80px #0000006b}.auth-card h1{color:var(--accent);letter-spacing:-.03em;margin:0;font-size:clamp(2.4rem,8vw,4.1rem);font-weight:500;line-height:.92}.auth-copy{color:var(--muted);margin:1rem 0 1.6rem;font-size:1rem;line-height:1.5}.auth-form{gap:.85rem;display:grid}.auth-form input,.auth-form button{border:1px solid #ffffff29;border-radius:999px;width:100%;padding:.95rem 1.1rem}.auth-form input{color:var(--fg);background:#00000052}.auth-form input::placeholder{color:#f6edf361}.auth-form button{background:var(--accent);color:#260815;cursor:pointer;font-weight:600}.auth-form button:disabled{opacity:.7;cursor:wait}.auth-error{color:#ffb7b7;margin:1rem 0 0}.viewer-shell{justify-content:center;align-items:center;padding:1rem;display:flex;position:relative;overflow:hidden}.viewer-actions{top:calc(env(safe-area-inset-top,0px) + 1rem);z-index:3;justify-content:flex-end;display:flex;position:fixed;right:1rem}.upload-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:6;background:#090909ad;place-items:center;display:grid;position:absolute;inset:0}.upload-overlay-card{text-align:center;background:#160811eb;border:1px solid #ffffff24;border-radius:24px;gap:.35rem;min-width:min(320px,100vw - 2rem);padding:1.2rem 1.35rem;display:grid;box-shadow:0 18px 80px #0000006b}.upload-overlay-card p{color:var(--accent);margin:0;font-size:1.25rem}.upload-overlay-card span{color:var(--muted);font-size:.95rem}.upload-button{color:var(--fg);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-variant-numeric:tabular-nums;text-align:center;background:#0000007a;border:1px solid #ffffff29;border-radius:999px;min-width:10.25rem;padding:.8rem 1.05rem}.upload-button:disabled{opacity:.7;cursor:wait}.upload-button-label{text-align:center;min-width:8.5rem;display:inline-block}.photo{object-fit:contain;-webkit-user-select:none;user-select:none;touch-action:manipulation;max-width:100%;max-height:calc(100svh - 2rem)}.moderation-banner{max-width:calc(100vw - 2rem);color:var(--fg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:#00000073;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.empty-state{color:var(--muted);letter-spacing:.03em;text-align:center;font-size:1rem}.photo-credit{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);color:#ffffffeb;text-align:center;z-index:2;text-shadow:0 2px 12px #00000073;font-size:.95rem;position:absolute;transform:translate(-50%)}@media (max-width:640px){.auth-card{border-radius:22px;padding:2rem 1.35rem}.moderation-banner{top:calc(env(safe-area-inset-top,0px) + 4.75rem);text-align:center;border-radius:18px;flex-direction:column;gap:.35rem}.viewer-actions{right:50%;transform:translate(50%)}}
