@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@200;300;400;500&display=swap');
:root{--paper:#f8f7f4;--ink:#151515;--muted:#777771;--line:#d9d8d3;--font:Vazirmatn,Tahoma,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:300;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:2px solid #777;outline-offset:3px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mark{font:300 11px/1.2 Georgia,serif;letter-spacing:2px;direction:ltr}.eyebrow{letter-spacing:1.2px;font-size:10px;color:#8e8e88;direction:ltr;text-align:center}.button{border:1px solid var(--ink);color:var(--ink);background:transparent;min-height:48px;padding:10px 15px;font-size:12px;font-weight:300;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:2px;transition:transform .15s,background .15s}.button:active{transform:scale(.98)}.button.dark{background:var(--ink);color:var(--paper)}.button.small{min-height:35px;padding:7px 11px;font-size:11px}.help{color:var(--muted);font-size:11px;line-height:2}.message{font-size:12px;min-height:24px;line-height:1.9;text-align:center;color:#85514c}.rule{width:30px;height:1px;background:var(--ink);margin:14px auto}.topline{display:flex;align-items:center;justify-content:space-between;direction:ltr;color:#767670;font-size:11px}.orb{width:min(48vw,200px);aspect-ratio:1;border-radius:50%;background:var(--ink);border:none;color:#fff;display:grid;place-items:center;position:relative;margin:auto;flex:none}.orb::after{content:'';position:absolute;inset:-14px;border:1px solid #aaa9a477;border-radius:50%;animation:breathe 2.8s ease-in-out infinite}.orb svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.2;fill:none}.nameblock{text-align:center;line-height:1.7}.nameblock h1{font-weight:200;font-size:clamp(30px,8vw,43px);line-height:1.75;margin:14px 0 5px}.nameblock h1 span{display:block}.nameblock h1 em{display:block;font-style:normal;font-size:19px;color:#8a8a85;line-height:1}.slotrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;direction:ltr;max-width:320px;margin:0 auto 16px;width:100%}.slot{position:relative;aspect-ratio:3/4;border:1px solid #d0cfc9;display:flex;align-items:center;justify-content:center;color:#999993;background:#ffffff28;overflow:hidden;font:300 12px Georgia,serif}.slot.filled{border-color:#222}.slot .num{letter-spacing:1px}.slot .tick{font-family:var(--font);font-size:20px;color:#333}.actionrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.privacy{text-align:center;font-size:11px;color:#898983;line-height:2}.backlink{color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px;background:none;border:none}.photoPreview{display:block;object-fit:contain;max-height:min(48dvh,430px);height:auto;width:min(76vw,310px);background:#e8e8e4;margin:20px auto}.upload-spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.error{color:#9d3232}.empty{text-align:center;color:var(--muted);font-size:12px;padding:40px 12px;border:1px solid var(--line)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.04);opacity:.4}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
