@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap');

:root {
    --bg:#f7fbfd; --surface:#fff; --surface-2:#eef7fa; --text:#163449; --muted:#667b8a;
    --primary:#087fb8; --primary-2:#0a5f93; --teal:#1aa99e; --accent:#f4a62a;
    --border:#dceaf0; --shadow:0 16px 50px rgba(19,65,91,.10); --radius:22px;
}
[data-theme="dark"] {
    --bg:#071827; --surface:#0c2335; --surface-2:#102d41; --text:#eff9ff; --muted:#a7bfcc;
    --primary:#43afe6; --primary-2:#1684bb; --teal:#36c7b8; --accent:#ffbd4d;
    --border:#1c3b4e; --shadow:0 18px 55px rgba(0,0,0,.28);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Vazirmatn,Tahoma,sans-serif;line-height:1.9}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
.nav-wrap{min-height:78px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:10px;min-width:210px}
.brand img{width:50px;height:50px}
.brand strong{display:block;font-size:15px}.brand small{display:block;color:var(--muted);font-size:10px}
.main-nav{display:flex;align-items:center;gap:4px;margin-right:auto}
.main-nav a{padding:9px 12px;font-size:13px;font-weight:600;color:var(--muted);border-radius:12px}
.main-nav a:hover{color:var(--primary);background:var(--surface-2)}
.nav-cta{background:var(--primary)!important;color:#fff!important;padding-inline:18px!important}
.theme-toggle,.mobile-menu-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;width:42px;height:42px;cursor:pointer}
.mobile-menu-btn{display:none}
.hero{position:relative;overflow:hidden;min-height:650px;background:linear-gradient(135deg,#f7fcff 0%,#e9f7f6 55%,#fff3df 100%)}
[data-theme="dark"] .hero{background:linear-gradient(135deg,#061522,#0a2b3c 55%,#172a31)}
.hero-art{position:absolute;inset:0;background:
radial-gradient(circle at 78% 28%,rgba(255,189,77,.35),transparent 24%),
radial-gradient(circle at 20% 75%,rgba(26,169,158,.22),transparent 28%)}
.hero-art:after{content:"";position:absolute;width:560px;height:560px;left:-100px;bottom:-250px;border-radius:50%;background:rgba(8,127,184,.09)}
.hero-content{position:relative;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;min-height:650px}
.eyebrow{color:var(--primary);font-weight:800;font-size:12px;letter-spacing:.2px}
.hero h1{font-size:clamp(44px,6vw,76px);line-height:1.15;margin:14px 0}
.hero h1 span{color:var(--primary)}
.hero-copy p{max-width:650px;color:var(--muted);font-size:17px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:14px;padding:12px 22px;cursor:pointer;font-weight:800}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--teal));color:#fff;box-shadow:0 12px 30px rgba(8,127,184,.22)}
.btn-ghost{border:1px solid var(--border);background:var(--surface);color:var(--text)}
.btn-full{width:100%}
.countdown-card{background:color-mix(in srgb,var(--surface) 91%,transparent);border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(15px)}
.countdown-title{text-align:center;font-weight:800;margin-bottom:18px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;direction:rtl}
.countdown div{background:var(--surface-2);border-radius:15px;text-align:center;padding:14px 5px}.countdown strong{display:block;font-size:32px;color:var(--primary);line-height:1.2}.countdown span{font-size:11px;color:var(--muted)}
.countdown-date{text-align:center;margin-top:15px;color:var(--muted);font-size:13px}
.section{padding:85px 0}.section-soft{background:var(--surface-2)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-heading h2{margin:3px 0;font-size:30px}.text-link{color:var(--primary);font-weight:700;font-size:13px}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.category-card,.info-card,.prize-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;transition:.2s;box-shadow:0 8px 30px rgba(0,0,0,.03)}
.category-card:hover,.info-card:hover,.prize-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.category-icon,.big-icon{font-size:30px}.category-card h3,.info-card h3,.prize-card h3{margin:12px 0 5px}.category-card p,.info-card p,.prize-card p{font-size:12px;color:var(--muted);margin:0}
.poster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.poster-card{overflow:hidden;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.poster-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.poster-caption{padding:14px}.poster-caption strong,.poster-caption span{display:block}.poster-caption span{font-size:11px;color:var(--muted)}
.story-section{padding:90px 0;background:linear-gradient(135deg,var(--primary-2),var(--teal));color:white}.story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.story-grid p{opacity:.88}.quote-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:35px}.quote-card span{font-size:60px;line-height:.6}.quote-card p{font-size:27px;font-weight:800}.quote-card small{opacity:.75}
.participant-grid,.prize-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info-card{text-align:center}.info-card .big-icon{font-size:40px}.prize-grid{grid-template-columns:repeat(3,1fr)}.prize-card{text-align:center}.prize-icon{font-size:50px}
.site-footer{background:#092235;color:#dceaf0;padding-top:55px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-bottom:40px}.footer-brand strong{color:#fff}.footer-grid h4{color:#fff}.footer-grid>div>a:not(.brand){display:block;color:#a9c1cd;font-size:13px;margin:6px 0}.footer-grid p{color:#9db5c1;font-size:12px}.socials{display:flex;gap:8px}.socials a{display:grid!important;place-items:center;width:38px;height:38px;border-radius:12px;background:#12354b;color:#fff!important}.footer-bottom{text-align:center;border-top:1px solid #17394d;padding:16px;font-size:11px;color:#8da8b6}
.page-hero{padding:85px 0 70px;background:linear-gradient(135deg,var(--surface-2),var(--bg));border-bottom:1px solid var(--border)}.page-hero h1{font-size:46px;margin:7px 0}.page-hero p{color:var(--muted);margin:0}
.prose{max-width:1050px}.prose>p{color:var(--muted);font-size:16px}.theme-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:35px}.theme-cards article{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:20px}.theme-cards span{font-size:32px}.theme-cards h3{font-size:16px}.theme-cards p{font-size:12px;color:var(--muted)}
.rules-layout{display:grid;grid-template-columns:250px 1fr;gap:35px}.rules-nav{position:sticky;top:100px;height:max-content;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px}.rules-nav strong{display:block;margin-bottom:10px}.rules-nav a{display:block;padding:9px;border-radius:10px;font-size:13px;color:var(--muted)}.rules-nav a:hover{background:var(--surface-2);color:var(--primary)}.rule-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:28px;margin-bottom:18px}.rule-title{display:flex;gap:16px;align-items:center}.rule-title>span{font-size:32px}.rule-title h2{margin:0}.rule-title p,.rule-card>p{color:var(--muted);font-size:13px}.rule-card h4{margin-top:25px}.check-list{padding:0 22px;color:var(--muted)}.check-list li{margin:8px 0}.check-list li::marker{color:var(--teal)}
.participant-large-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.participant-large{display:flex;gap:20px;align-items:center;padding:30px;background:var(--surface);border:1px solid var(--border);border-radius:22px}.participant-large h2{margin:0}.participant-large p{color:var(--muted)}
.narrow{max-width:800px}
.form-layout{display:grid;grid-template-columns:1fr 320px;gap:25px}.submission-form,.side-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:28px}.submission-form>label,.form-row label{display:block;font-size:13px;font-weight:700}.submission-form input,.submission-form textarea,.submission-form select{width:100%;margin-top:7px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:11px;outline:none}.submission-form input:focus,.submission-form textarea:focus,.submission-form select:focus{border-color:var(--primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.submission-form>label{margin-bottom:15px}.upload-box{border:2px dashed var(--border);padding:25px;text-align:center}.upload-box span,.upload-box strong,.upload-box small,.upload-box em{display:block}.upload-box span{font-size:35px}.upload-box small,.upload-box em{font-size:11px;color:var(--muted);font-style:normal}.upload-box input{margin-top:14px}.checkbox-label{display:flex!important;align-items:center;gap:9px}.checkbox-label input{width:auto!important}.form-message{margin-top:12px;font-size:13px}.submission-side{display:flex;flex-direction:column;gap:15px}.side-card span{font-size:30px}.side-card h3{margin:4px 0}.side-card p{font-size:12px;color:var(--muted)}
.winner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.winner-card{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:22px}.winner-card img,.winner-placeholder{width:100%;aspect-ratio:1/1;object-fit:cover}.winner-placeholder{display:grid;place-items:center;background:var(--surface-2);font-size:70px}.winner-body{padding:22px}.rank{color:var(--accent);font-weight:800;font-size:12px}.winner-body h2{margin:6px 0}.winner-body h3{margin:0;font-size:15px}.winner-body p{font-size:12px;color:var(--muted)}
.empty-state{text-align:center;padding:80px 20px;background:var(--surface);border:1px solid var(--border);border-radius:28px}.empty-state>div{font-size:70px}.empty-state h2{margin:5px}.empty-state p{color:var(--muted)}
.toast{position:fixed;bottom:25px;right:25px;z-index:100;background:#123449;color:#fff;padding:13px 18px;border-radius:13px;transform:translateY(120px);transition:.3s;opacity:0}.toast.show{transform:none;opacity:1}
.admin-warning{background:#fff4d9;color:#6d5113;border:1px solid #f0d78f;padding:14px;border-radius:14px;margin-bottom:20px;font-size:13px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.admin-stats div{background:var(--surface);border:1px solid var(--border);padding:20px;border-radius:18px}.admin-stats strong,.admin-stats span{display:block}.admin-stats strong{font-size:30px;color:var(--primary)}.admin-stats span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px}table{width:100%;border-collapse:collapse;min-width:800px}th,td{padding:12px;text-align:right;border-bottom:1px solid var(--border);font-size:12px}th{background:var(--surface-2)}td a{color:var(--primary)}td select{padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}
.social-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    display: block;
}

/* ============================================================
   Public festival momentum / refreshed UI
   ============================================================ */
.hero-proof{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:20px;color:var(--muted);font-size:12px}
.hero-proof strong{color:var(--text);font-size:15px}
.hero-proof a{color:var(--primary);font-weight:800;margin-right:6px}
.hero-proof-dot,.live-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);display:inline-block;box-shadow:0 0 0 5px color-mix(in srgb,var(--teal) 12%,transparent)}
.stats-section{padding:72px 0;background:var(--surface)}
.stats-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.stats-intro h2{font-size:34px;margin:4px 0 7px}
.stats-intro p{max-width:690px;margin:0;color:var(--muted);font-size:14px}
.stats-cta{white-space:nowrap}
.stats-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:14px}
.stat-card{position:relative;overflow:hidden;padding:23px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:0 10px 32px rgba(19,65,91,.055)}
.stat-card:before{content:"";position:absolute;inset:auto -20px -35px auto;width:120px;height:120px;border-radius:50%;background:var(--surface-2);z-index:0}
.stat-card>*{position:relative;z-index:1}
.stat-featured{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--primary) 24%,var(--border))}
.stat-icon{font-size:24px;margin-bottom:8px}
.stat-value{font-size:38px;line-height:1.15;font-weight:900;color:var(--primary)}
.stat-featured .stat-value{font-size:46px}
.stat-label{font-weight:800;font-size:14px;margin-top:5px}
.stat-note{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.7}
.stats-bottom{display:grid;grid-template-columns:1.4fr .6fr;gap:16px;margin-top:16px}
.category-stats,.join-card{background:var(--surface-2);border:1px solid var(--border);border-radius:22px;padding:22px}
.mini-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}
.mini-heading strong{font-size:15px}
.mini-heading span{font-size:10px;color:var(--muted)}
.category-stat{margin-top:13px}
.category-stat-top{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.category-stat-top b{font-size:17px;margin-left:5px}
.category-stat-top strong{font-size:12px}
.category-progress{height:7px;margin-top:7px;border-radius:999px;background:color-mix(in srgb,var(--border) 65%,transparent);overflow:hidden}
.category-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--teal));transition:width .7s ease}
.join-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(145deg,var(--surface-2),color-mix(in srgb,var(--teal) 8%,var(--surface)));text-align:right}
.join-card-icon{font-size:32px;margin-bottom:6px}
.join-card h3{font-size:21px;margin:5px 0}
.join-card p{font-size:12px;color:var(--muted);margin:0 0 18px}
.join-card .btn{width:100%}
.stats-live-note{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:10px;margin-top:18px}
@keyframes pulse-live{0%,100%{opacity:1}50%{opacity:.45}}
.stats-live-note .live-dot{animation:pulse-live 1.8s ease-in-out infinite}

.category-card{position:relative}
.category-card:after{content:"↗";position:absolute;left:16px;top:15px;color:var(--primary);font-size:15px;opacity:0;transform:translate(5px,5px);transition:.2s}
.category-card:hover:after{opacity:1;transform:none}
.hero-actions .btn-primary{padding-inline:25px}
