@font-face{font-family:Vazirmatn;src:url('font/Vazirmatn-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
body,h1,h2,h3,.brand,.form-field input:not([type=checkbox]),.form-field textarea,.form-field select,button,input,textarea,select{font-family:Vazirmatn,Tahoma,sans-serif}h1,h2,h3,.brand{font-weight:800}h1{letter-spacing:-.6px}.brand-logo{width:48px;height:48px;border-radius:12px;object-fit:contain;flex-shrink:0}.navlinks{gap:19px;flex-wrap:wrap}.nav{gap:20px}.navlinks a{white-space:nowrap}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:30px 0}.dashboard-stats>div{display:flex;flex-direction:column;gap:5px;background:#121b23;border:1px solid var(--line);border-radius:12px;padding:23px;color:var(--muted);font-size:13px}.stat-value{font-size:34px;color:var(--green);font-weight:800;line-height:1.4}.upload-choices{margin:28px 0 50px}.upload-choices h2{font-size:22px}.upload-choices .textlink{display:inline-block;margin-top:22px}.dashboard-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.dashboard-tabs a{padding:10px 19px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--muted)}.dashboard-tabs .selected{color:var(--green);border-color:#779e4e;background:#b5f36b0c}.submission-list{display:grid;gap:13px}.submission-row{display:flex;gap:20px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.submission-icon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;background:#20302c;color:var(--green);border-radius:9px;font:22px monospace}.submission-title{flex:1;min-width:0}.submission-title>.muted{font-size:11px}.submission-title h3{font-size:17px;overflow-wrap:anywhere}.submission-row .status{margin:0;white-space:nowrap;align-self:center}.review-note{font-size:12px;color:#e5c68b;margin-top:8px}.pagination{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:35px;font-size:13px}.content-search{display:flex;gap:12px;margin-bottom:30px;align-items:center;flex-wrap:wrap}.content-search input{min-width:0;flex:1;border:1px solid var(--line);background:#111b24;color:var(--text);border-radius:8px;padding:13px;font-size:14px}.content-search input:focus{outline:2px solid var(--green)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.publication-video{display:block;width:100%;max-height:650px;border-radius:14px;border:1px solid var(--line);background:#030608;margin-bottom:30px}.reading-panel{max-width:880px;margin:auto}.reading-panel .prose{font-size:17px;line-height:2.4}.reading-panel .button{margin-top:15px}.upload-feedback{font-size:13px;color:var(--green);margin-top:12px}.upload-feedback.error{color:#ffb4b4}.file-hint{display:block;margin-top:6px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.card,.project-card{transition:transform .25s,border-color .25s,box-shadow .25s}.card:hover,.project-card:hover{transform:translateY(-4px);border-color:#566f53;box-shadow:0 12px 35px #0003}.reading-progress{position:fixed;top:0;right:0;height:3px;background:var(--green);transform:scaleX(0);transform-origin:right;z-index:20;width:100%;pointer-events:none}.back-top{position:fixed;bottom:22px;left:22px;width:42px;height:42px;border-radius:12px;background:#1a2b22;color:var(--green);border:1px solid #577346;cursor:pointer;z-index:10}.back-top[hidden]{display:none}.reveal-enter{animation:soft-reveal .55s ease both}@keyframes soft-reveal{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.nav{flex-wrap:wrap;padding-block:16px}.navlinks{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:12px}.actions{margin-right:auto}.brand-logo{width:44px;height:44px}}
@media(max-width:700px){.navlinks{gap:12px 19px;font-size:12px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-stats>div{padding:18px}.stat-value{font-size:29px}.submission-row{flex-wrap:wrap;gap:12px}.submission-title{flex-basis:calc(100% - 65px)}.submission-row .textlink{margin-right:auto}.reading-panel .prose{font-size:15px}.content-search input{flex-basis:65%}.upload-choices{margin-bottom:35px}.back-top{bottom:15px;left:15px}}
@media(prefers-reduced-motion:reduce){.reveal-enter{animation:none!important}.card,.project-card{transition:none}.card:hover,.project-card:hover{transform:none}}

.ticket-thread{display:grid;gap:14px;margin:26px 0}.ticket-message{border:1px solid var(--line);background:#111a24;padding:18px 20px;border-radius:12px}.ticket-message.admin{border-color:#5b8b5d;background:#142419}.ticket-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin-bottom:9px}.ticket-message p{white-space:pre-wrap;overflow-wrap:anywhere}.ticket-compose{margin-top:30px}.ticket-closed{color:#ead38c;margin:20px 0}.upload-choices .card{transition:transform .2s,border-color .2s}.upload-choices .card:hover{transform:translateY(-4px);border-color:#6f9546}

/* Enhanced visual layer */
body{overflow-x:hidden}.site-ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.site-ambient i{position:absolute;width:var(--size);height:var(--size);right:var(--x);top:var(--y);border-radius:50%;background:radial-gradient(circle,#b5f36b35 0%,#79d9cc10 42%,transparent 70%);filter:blur(1px);animation:ambient-drift var(--duration) ease-in-out infinite alternate}.js-enhanced .header{backdrop-filter:blur(16px);box-shadow:0 1px 0 #ffffff08}.js-enhanced .navlinks a{position:relative;transition:color .22s ease}.js-enhanced .navlinks a::after{content:"";position:absolute;height:2px;left:50%;right:50%;bottom:-8px;background:var(--green);transition:left .22s ease,right .22s ease;box-shadow:0 0 14px #b5f36b}.js-enhanced .navlinks a:hover::after,.js-enhanced .navlinks .current::after{left:0;right:0}.js-enhanced .button{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.js-enhanced .button:hover{box-shadow:0 12px 26px #0004}.button-ripple{position:absolute;border-radius:50%;background:#fff7;transform:translate(-50%,-50%) scale(0);animation:button-ripple .55s ease-out;pointer-events:none;z-index:-1}.js-enhanced .card,.js-enhanced .project-card,.js-enhanced .submission-row,.js-enhanced .panel{will-change:transform;transform-style:preserve-3d}.js-enhanced .card::before,.js-enhanced .project-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(400px circle at var(--glow-x,50%) var(--glow-y,50%),#b5f36b18,transparent 40%);opacity:0;transition:opacity .25s;pointer-events:none}.js-enhanced .card:hover::before,.js-enhanced .project-card:hover::before{opacity:1}.js-enhanced .dashboard-stats>div{position:relative;overflow:hidden}.js-enhanced .dashboard-stats>div::after{content:"";position:absolute;inset:auto -10% -70% 25%;height:120px;background:radial-gradient(ellipse,#b5f36b26,transparent 66%);transition:transform .4s ease}.js-enhanced .dashboard-stats>div:hover::after{transform:translateY(-28px)}.js-enhanced .reveal-ready:not(.reveal-enter){opacity:0;transform:translateY(20px) scale(.985)}.js-enhanced .reveal-enter{animation:soft-reveal .65s cubic-bezier(.2,.75,.25,1) both}.input-active{border-color:#b5f36b!important;box-shadow:0 0 0 5px #b5f36b12!important}@keyframes button-ripple{to{transform:translate(-50%,-50%) scale(5);opacity:0}}@keyframes ambient-drift{from{transform:translate3d(-24px,-16px,0) scale(.92)}to{transform:translate3d(30px,34px,0) scale(1.1)}}@media(max-width:700px){.site-ambient i:nth-child(n+8){display:none}.js-enhanced .navlinks a::after{bottom:-5px}}@media(prefers-reduced-motion:reduce){.site-ambient{display:none}.js-enhanced .reveal-ready:not(.reveal-enter){opacity:1;transform:none}.js-enhanced .button,.js-enhanced .card,.js-enhanced .project-card,.js-enhanced .submission-row,.js-enhanced .panel{transition:none!important;transform:none!important}}

.site-ambient{z-index:0}.header,main,.footer,.back-top{position:relative;z-index:1}

/* Profile uploads */
.profile-summary{display:flex;align-items:center;gap:1.25rem;margin-block:1.5rem;flex-wrap:wrap}
.profile-avatar{width:80px;height:80px;object-fit:cover;border-radius:50%;flex-shrink:0}
.profile-placeholder{display:grid;place-items:center;background:var(--surface,#172033);font-size:2rem}
.profile-editor{max-width:640px;margin-inline:auto}.profile-editor .profile-avatar{margin-block-end:1rem}
.gallery-grid figure{margin:0;min-width:0}.gallery-grid figcaption{padding-block:.5rem}
.form-field input[type=file]{max-width:100%}
@media(max-width:600px){.profile-summary{align-items:flex-start}.profile-editor{padding:1rem}}

/* Account notifications and upload policy */
.notification-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;min-height:40px;color:var(--green)}
.notification-badge{display:inline-flex;min-width:21px;height:21px;padding-inline:5px;align-items:center;justify-content:center;border-radius:12px;background:var(--green);color:#14220d;font:bold 11px Tahoma,sans-serif}
.notification-badge[hidden]{display:none}.account-status{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.account-status h2{font-size:20px}.account-status .button{margin-top:12px}
.upload-policy{font-size:13px;line-height:2;color:var(--muted);margin-block:12px 20px;overflow-wrap:anywhere}.upload-policy strong{color:var(--green)}
.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.notification-toolbar .dashboard-tabs{margin-bottom:0}
.notification-list{display:grid;gap:14px}.notification-item{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:12px}.notification-item>div{min-width:0}.notification-item h2{font-size:18px;overflow-wrap:anywhere}.notification-item time,.notification-state{font-size:12px;color:var(--muted)}.notification-item.is-unread{border-inline-start:4px solid var(--green)}.is-unread .notification-state{color:var(--green)}.notification-item form{flex-shrink:0}
@media(max-width:700px){.account-status{grid-template-columns:1fr}.notification-item{align-items:flex-start;flex-direction:column;padding:18px}.notification-toolbar{align-items:stretch}.notification-toolbar .button{width:100%}.header .actions{flex-wrap:wrap;gap:10px}.header .notification-link{font-size:12px}.notification-item h2{font-size:16px}}
@media(max-width:420px){.header .actions{width:100%;margin:0;justify-content:space-between}.header .nav{gap:12px}.notification-toolbar .dashboard-tabs{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.notification-link,.notification-item{animation:none!important;transition:none!important}}
.notification-item .button,.notification-toolbar button{background:#1a2b22;color:var(--green);cursor:pointer}.notification-item .button:hover,.notification-toolbar button:hover{background:#253c2d}

/* Web Push opt-in panel */
.push-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:24px;margin-bottom:26px}
.push-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.push-panel h2{font-size:19px;margin:0}
.push-state{font-size:13px;color:var(--muted);margin:0}
.push-state[data-kind],.push-state.is-on{color:var(--green)}
.push-note{margin-top:12px;padding:12px 15px;border-radius:9px;font-size:13px;line-height:1.9;border:1px solid var(--line);background:#131c26;color:var(--muted)}
.push-note[hidden]{display:none}
.push-note[data-kind=warn]{border-color:#6a5a2a;background:#2a2415;color:#ecd79a}
.push-note[data-kind=ok]{border-color:#3f6b34;background:#1a2718;color:#c3e8ab}
.push-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.push-actions button{cursor:pointer}
.push-actions button[hidden]{display:none}
.push-hints{margin:18px 0 0;padding-inline-start:20px;color:var(--muted);font-size:12.5px;line-height:2.1}
.push-hints li{margin-bottom:4px}
@media(max-width:700px){.push-panel{padding:18px}.push-panel-head{align-items:flex-start;flex-direction:column;gap:6px}.push-actions{flex-direction:column;align-items:stretch}.push-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.push-panel,.push-actions button,.push-state,.push-note{animation:none!important;transition:none!important}}
