:root{--bg:#100a20;--ink:#fffaf7;--muted:#c9bfd9;--pink:#ff6ea8;--pink2:#ff9dbe;--violet:#8f70ff;--glass:rgba(29,18,51,.72);--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Vazirmatn",Tahoma,sans-serif;background:var(--bg);color:var(--ink)}body{min-height:100svh;overflow-x:hidden;background:radial-gradient(circle at 50% 110%,#312059 0,transparent 48%),linear-gradient(145deg,#0c0717,#160c2c 56%,#120b25)}button,input,select{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.aurora{position:fixed;width:42vw;height:42vw;min-width:300px;min-height:300px;border-radius:50%;filter:blur(90px);opacity:.18;pointer-events:none;animation:float 10s ease-in-out infinite}.aurora-one{background:#ff4c9a;top:-18vw;right:-8vw}.aurora-two{background:#7658ff;bottom:-20vw;left:-8vw;animation-delay:-5s}@keyframes float{50%{transform:translate3d(2vw,4vh,0) scale(1.12)}}
.app{min-height:100svh;position:relative;z-index:1;display:flex;flex-direction:column}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,72px);font-size:13px;color:var(--muted)}.brand{display:flex;align-items:center;gap:9px;font-weight:700}.brand-star{color:var(--pink);font-size:21px}.progress-wrap{display:flex;align-items:center;gap:12px}.progress{direction:ltr;width:110px;height:5px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden}.progress i{display:block;width:20%;height:100%;background:linear-gradient(90deg,var(--violet),var(--pink));border-radius:inherit;transition:width .6s cubic-bezier(.22,1,.36,1)}
.stage{display:none;min-height:100svh;padding:92px 20px 42px;align-items:center;justify-content:center;opacity:0;transform:translateY(18px)}.stage.active{display:flex;animation:enter .65s cubic-bezier(.22,1,.36,1) forwards}@keyframes enter{to{opacity:1;transform:none}}.card{position:relative;width:min(620px,100%);text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:34px;padding:clamp(28px,5vw,54px);box-shadow:0 24px 80px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(20px)}.hero-card{width:min(820px,100%);padding-block:clamp(42px,8vw,86px)}.eyebrow{display:inline-flex;align-items:center;color:var(--pink2);font-weight:600;font-size:14px;letter-spacing:.02em;margin-bottom:16px}.hero-card h1{font-size:clamp(46px,9vw,102px);line-height:1.05;margin:0;font-weight:900;letter-spacing:-.045em}.hero-card h1 span{color:transparent;background:linear-gradient(105deg,#fff 0,#ff9ec3 38%,#a891ff 85%);background-clip:text;-webkit-background-clip:text;text-shadow:0 14px 50px rgba(255,110,168,.13)}h2{font-size:clamp(30px,5vw,48px);line-height:1.2;margin:0 0 12px;font-weight:850;letter-spacing:-.03em}.subtitle{color:var(--muted);line-height:1.9;margin:14px auto 28px;max-width:530px;font-size:clamp(14px,2vw,17px)}.actions{display:flex;justify-content:center;gap:12px;margin-top:32px}.btn{border:0;border-radius:16px;padding:15px 24px;min-width:150px;color:#fff;cursor:pointer;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(115deg,#f04f91,#8a68f6);box-shadow:0 12px 32px rgba(229,76,146,.27)}.btn-primary:hover{box-shadow:0 16px 38px rgba(229,76,146,.38)}.btn-ghost{background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--ink)}.btn.full{width:100%;margin-top:18px}.btn:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}.response{min-height:25px;color:#ff9fbd;margin:16px 0 -10px;font-size:14px;font-weight:600}.shake{animation:shake .45s ease}@keyframes shake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.icon-bubble{width:62px;height:62px;border-radius:21px;display:grid;place-items:center;margin:0 auto 20px;background:linear-gradient(145deg,rgba(255,116,170,.22),rgba(143,112,255,.16));border:1px solid rgba(255,255,255,.13);font-size:28px}.field{text-align:right;display:block}.field span{display:block;font-size:13px;color:var(--muted);margin:0 8px 8px}.field input{width:100%;padding:17px 18px;background:rgba(5,3,12,.35);border:1px solid var(--line);border-radius:16px;color:var(--ink);outline:none;text-align:right;transition:border .2s,box-shadow .2s}.field input:focus{border-color:rgba(255,110,168,.7);box-shadow:0 0 0 4px rgba(255,110,168,.09)}.field input::placeholder{color:#766d86}
.calendar{direction:rtl;background:rgba(4,2,10,.3);border:1px solid var(--line);border-radius:22px;padding:16px;margin:24px 0 8px}.calendar-head{display:flex;gap:10px;margin-bottom:16px}.calendar-head select{flex:1;appearance:none;color:var(--ink);background:#24183d;border:1px solid var(--line);border-radius:12px;padding:11px 14px;text-align:center;outline:none}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{font-size:12px;color:#867d96;margin-bottom:6px}.weekdays span{padding:5px}.day{aspect-ratio:1;border:0;border-radius:11px;background:transparent;color:#ddd5e9;cursor:pointer;transition:.2s}.day:hover{background:rgba(255,255,255,.08)}.day.selected{color:white;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 6px 16px rgba(221,80,150,.25)}.day.empty{pointer-events:none}
.calendar-hint{grid-column:1/-1;min-height:180px;display:grid;place-items:center;color:#81768f;font-size:13px;border:1px dashed rgba(255,255,255,.08);border-radius:14px}
.storage-note{margin:14px 2px 0;color:#aaa1b7;font-size:12px;line-height:1.8;text-align:right}
.camera-orbit{width:86px;height:86px;margin:0 auto 24px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,255,255,.1),rgba(255,255,255,.025));border:1px solid var(--line);box-shadow:0 0 0 12px rgba(255,255,255,.018),0 0 0 24px rgba(255,255,255,.01)}.camera-orbit span{font-size:34px}.privacy{display:flex;text-align:right;gap:12px;align-items:flex-start;background:rgba(116,219,181,.07);border:1px solid rgba(116,219,181,.17);border-radius:16px;padding:14px 16px;margin:22px 0;color:#bfe5d6}.privacy p{margin:0;font-size:12px;line-height:1.8}.text-btn{border:0;background:none;color:#978ea7;cursor:pointer;margin-top:15px;font-size:13px}
.photo-card{width:min(650px,100%);padding:18px}.result-view{padding:28px 14px}.hidden{display:none!important}.photo-frame{position:relative;width:min(380px,85%);margin:30px auto;padding:12px;background:#f9f4ec;box-shadow:0 20px 50px rgba(0,0,0,.38)}.photo-frame img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transform:scaleX(-1);background:#ddd}.final-note{color:var(--muted)}
@media(max-width:600px){.topbar{padding:17px 18px}.brand span:last-child{display:none}.progress-wrap{gap:8px}.progress{width:80px}.stage{padding:74px 14px 20px}.card{border-radius:26px;padding:28px 20px}.hero-card{padding-block:54px}.two-actions{flex-direction:column}.btn{width:100%}.calendar{padding:12px 9px}.day{border-radius:9px}.photo-card{padding:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
