@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:100 900;font-display:swap;font-style:normal}html{--aura-background-color-light:#f6f7f4;--aura-accent-color-light:#205c50;--aura-contrast-level:2;--aura-font-family:Vazirmatn,sans-serif;--aura-base-font-size:15;--aura-base-radius:6;--vaadin-font-family:Vazirmatn,sans-serif;--ink:#25362f;--muted:#68766e;--green:#205c50;--line:#e2e8e1;direction:rtl;font-family:Vazirmatn,sans-serif;color:var(--ink);background:#f6f7f4}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.04em;line-height:1.6}h2{font-size:1.2rem}p{line-height:1.9}button,input,textarea,.ql-editor,.ql-toolbar{font-family:Vazirmatn,sans-serif}vaadin-button{cursor:pointer}vaadin-text-field,vaadin-text-area,vaadin-combo-box{max-width:100%;font-family:Vazirmatn,sans-serif}.admin-page{max-width:1500px;margin:auto;padding:36px 40px 64px}.page-heading>span{color:#789083;font-size:.8rem;font-weight:700;letter-spacing:.03em}.page-heading h1{margin:8px 0 10px}.page-heading p{color:var(--muted);margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 7px 30px #15332a04;margin-block:20px}.brand{padding:32px 24px 22px}.brand>span{display:inline-flex;background:#205c50;color:#fff;align-items:center;justify-content:center;border-radius:15px;width:42px;height:42px;font-size:1.8rem;float:right;margin-left:12px}.brand h2{margin-bottom:4px;font-size:1.35rem}.brand p{color:var(--muted);font-size:.75rem}.admin-shell vaadin-side-nav{padding:0 14px}.admin-shell vaadin-side-nav-item{margin-block:4px;border-radius:10px}.logout-button{margin:28px 20px}.admin-bar{display:flex;align-items:center;gap:12px;width:100%;padding:8px 22px;background:white;border-bottom:1px solid var(--line)}.admin-bar>span:last-child{margin-inline-start:auto;font-size:.8rem;color:var(--muted)}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;background:#eaf1e9;border:1px solid #d7e5d6;border-radius:24px;padding:28px 32px;margin-bottom:24px}.dashboard-hero .page-heading p{margin-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:16px}.stat-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px;position:relative}.stat-card h2{font-size:2rem;margin:12px 0 0;font-weight:700}.stat-card>span{color:var(--muted);font-size:.8rem}.stat-icon{color:#438273;background:#eff5ef;border-radius:10px;padding:5px;width:30px;height:30px;display:block;margin-bottom:12px}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.recent-row{padding:14px 0;border-bottom:1px solid #eff1ed;display:flex;flex-direction:column;gap:7px}.recent-row>span{color:var(--muted);font-size:.75rem}.quick-create>a{display:inline-block;padding:12px 18px;background:#eef3ed;border-radius:12px;margin:5px}.filter-bar{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.filter-bar>span{margin-inline-start:auto;padding-bottom:12px;color:var(--muted)}.cover-thumbnail{width:50px;height:40px;object-fit:cover;border-radius:8px}.badge{font-size:.72rem;border-radius:30px;padding:5px 10px;white-space:nowrap}.badge.published{color:#276645;background:#eaf5eb}.badge.draft{color:#8b6a2b;background:#faf2df}.desktop-list{border:1px solid var(--line);border-radius:18px;overflow:hidden}.mobile-list{display:none}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:24px}.writing-card{background:white;padding:18px;border:1px solid var(--line);border-radius:18px}.writing-card>span{display:block;margin-block:10px;color:var(--muted);font-size:.75rem}.writing-card>div{display:flex;align-items:center;gap:18px}.mobile-cover{height:130px;width:100%;object-fit:cover;border-radius:10px;margin-bottom:18px}.editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}.editor-metadata>*{width:100%}.editor-main{min-width:0}.cover-picker-preview{height:140px;object-fit:cover;border-radius:12px;margin-top:18px}.editor-toolbar{position:sticky;bottom:14px;z-index:3;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#ffffffed;backdrop-filter:blur(14px);padding:14px 20px;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 40px #203a2520}.editor-toolbar>span{margin-inline-end:auto;color:var(--muted);font-size:.8rem}najva-editor{display:block;min-width:0}.ql-toolbar.ql-snow{border-color:var(--line);border-radius:12px 12px 0 0;background:#f8faf7;direction:ltr}.ql-container.ql-snow{border-color:var(--line);border-radius:0 0 12px 12px;font-size:17px;min-height:360px}.ql-editor{min-height:360px;line-height:2.15;text-align:right;padding:24px;overflow-wrap:anywhere}.ql-editor.ql-blank:before{left:auto;right:24px;font-style:normal;color:#9aaba0}.ql-editor p{margin-bottom:1em}.ql-editor .ql-align-center,.prose .ql-align-center{text-align:center}.ql-editor .ql-align-left,.prose .ql-align-left{text-align:left}.ql-editor .ql-align-right,.prose .ql-align-right{text-align:right}.ql-editor .ql-align-justify,.prose .ql-align-justify{text-align:justify}.prose .ql-direction-rtl{direction:rtl}.chapter-row{margin-top:16px}.chapter-row>div:last-child{display:flex;gap:10px;margin-top:14px}.default-panel{max-width:760px}.qr-image{display:block;width:min(300px,100%);margin:auto}.share-dialog vaadin-text-field{margin-block:18px}.share-dialog div{display:flex;gap:10px;flex-wrap:wrap}.button-link{display:inline-block;border-radius:10px;padding:10px 14px;background:#e9f1e9}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#f8faf6;align-items:center;padding:8vh 9vw;gap:7vw}.login-intro>span{color:var(--green);font-size:1.8rem;font-weight:700}.login-intro h1{font-size:clamp(2.5rem,5vw,4.6rem);white-space:pre-line;line-height:1.75;margin-block:32px}.login-intro p{color:var(--muted);max-width:350px;font-size:1.1rem}.login-card{background:white;border:1px solid var(--line);border-radius:28px;padding:40px 24px;box-shadow:0 25px 80px #20432b0b;max-width:440px}.login-card>h2,.login-card>p{padding-inline:18px}.login-card>p{color:var(--muted)}.reader-page{background:#fcfaf5;min-height:100vh;padding:0 28px}.reader-topbar{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid #e7e7da}.reader-topbar>a{font-size:1.4rem;font-weight:700}.reader-topbar>span{font-size:.8rem;color:#7d8874}.reader-content{max-width:780px;margin:52px auto 80px}.reader-heading{text-align:center;margin-bottom:32px}.reader-meta{font-size:.78rem;color:#7c8775}.reader-heading h1{font-size:clamp(2rem,4vw,3.2rem);margin:18px 0}.reader-heading p{color:#7b8575;font-size:1.1rem}.reader-cover{width:100%;height:260px;object-fit:cover;border-radius:22px;margin-bottom:38px}.prose{font-size:19px;line-height:2.3;color:#354034;overflow-wrap:anywhere}.prose p{margin-bottom:1.3em}.prose h1,.prose h2,.prose h3{line-height:1.8;margin-block:1.5em .6em}.prose blockquote{border-inline-start:3px solid #a6bca0;padding-inline-start:20px;color:#6b7b5e}.prose a{text-decoration:underline}.prose li{margin-bottom:.7em}.prose li[data-list=bullet]{list-style-type:disc}.prose pre{white-space:pre-wrap;background:#eff1e9;padding:18px;border-radius:12px;direction:ltr;text-align:left}.chapter-navigation{border-block:1px solid #e3e6d9;padding:24px 0;margin-bottom:35px}.chapter-navigation a{display:inline-block;padding:9px 14px;margin:4px;border-radius:10px;background:#f0f2e9}.chapter-navigation a.active{background:#205c50;color:#fff}.chapter-pagination{display:flex;justify-content:space-between;gap:16px;margin-top:40px;border-top:1px solid #e3e6d9;padding-top:22px}.reader-footer{text-align:center;color:#8c9481;padding:24px 0 40px;font-size:.8rem}.reader-footer p{font-size:1.3rem}.reader-empty{max-width:650px;margin:100px auto;text-align:center}.reader-empty>span{display:block;font-size:5rem;color:#8ca480}.reader-empty p{color:var(--muted)}@media(max-width:1000px){.admin-page{padding:24px}.editor-workspace{grid-template-columns:1fr}.editor-metadata{display:grid;grid-template-columns:1fr 1fr;gap:12px;order:-1}.editor-metadata>img{display:none}.login-page{padding:8vh 5vw;gap:4vw}.dashboard-columns{grid-template-columns:1fr}.dashboard-hero{padding:22px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.admin-page{padding:20px 16px 40px}.dashboard-hero{flex-direction:column;align-items:start;gap:20px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:16px}.desktop-list{display:none}.mobile-list{display:grid;gap:16px}.filter-bar{gap:10px;padding:16px}.filter-bar>*{width:100%}.filter-bar>span{padding-bottom:0}.panel{padding:20px;border-radius:16px}.editor-metadata{display:flex;flex-direction:column}.editor-toolbar{gap:8px;padding:12px;bottom:6px}.editor-toolbar>span{width:100%}.editor-toolbar vaadin-button{flex:1;font-size:.78rem;min-width:90px}.ql-editor{padding:18px;font-size:16px}.ql-toolbar.ql-snow{padding:6px}.login-page{display:block;padding:32px 20px}.login-intro{margin-bottom:24px}.login-intro h1{font-size:2.2rem;margin-block:18px}.login-intro p{font-size:.95rem}.login-card{padding:28px 14px;margin:auto}.reader-page{padding:0 20px}.reader-topbar{padding:22px 0}.reader-topbar>span{display:none}.reader-content{margin:36px auto 60px}.reader-cover{height:190px;border-radius:16px}.prose{font-size:17px;line-height:2.2}.reader-heading p{font-size:1rem}.admin-bar{padding-inline:8px}.admin-bar>span:last-child{display:none}}@media(prefers-reduced-motion:no-preference){a,vaadin-button{transition:background .15s,color .15s}.stat-card{transition:transform .15s}.stat-card:hover{transform:translateY(-2px)}}.brand{display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center}.brand>span{float:none;margin:0;grid-column:1;grid-row:1/3}.brand h2{grid-column:2;margin:0}.brand p{grid-column:2;margin:4px 0 0;line-height:1.7}.stat-icon{display:flex;align-items:center;justify-content:center}h1,h2,h3{color:var(--ink)}.dashboard-columns .panel>p{color:var(--muted)}.ql-snow .ql-picker.ql-header .ql-picker-label::before,.ql-snow .ql-picker.ql-header .ql-picker-item::before{content:'متن معمولی'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value='1']::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before{content:'عنوان ۱'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value='2']::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before{content:'عنوان ۲'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value='3']::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before{content:'عنوان ۳'}.ql-snow .ql-tooltip::before{content:'پیوند:'}.ql-snow .ql-tooltip[data-mode='link']::before{content:'نشانی پیوند:'}.ql-snow .ql-tooltip a.ql-action::after{content:'ویرایش'}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{content:'ذخیره'}.ql-snow .ql-tooltip a.ql-remove::before{content:'حذف'}