@font-face{font-family:"IRANSansX";font-style:normal;font-weight:400;font-display:swap;src:url("/static/fonts/iransansx-fanum-regular.woff2") format("woff2")}
@font-face{font-family:"IRANSansX";font-style:normal;font-weight:600;font-display:swap;src:url("/static/fonts/iransansx-fanum-demibold.woff2") format("woff2")}
@font-face{font-family:"IRANSansX";font-style:normal;font-weight:700;font-display:swap;src:url("/static/fonts/iransansx-fanum-bold.woff2") format("woff2")}
:root{color-scheme:light;--bg:#fbf8f1;--surface:#fffdf8;--ink:#201d19;--muted:#6f6960;--line:#ded7ca;--soft:#f1ebe0;--accent:#7b3f18;--accent-ink:#fffaf2;--primary-button:#d59a6d;--primary-button-ink:#21150d;--danger:#a7322c;--focus:#9c5b2f;--measure:720px;--sans:"IRANSansX",Tahoma,Arial,sans-serif;--serif:"IRANSansX",Tahoma,Arial,sans-serif}
html[data-theme=dark]{color-scheme:dark;--bg:#171512;--surface:#1e1b17;--ink:#eee9df;--muted:#aaa297;--line:#3b3630;--soft:#29251f;--accent:#d59a6d;--accent-ink:#21150d;--danger:#ec8178;--focus:#e0a77d}
@media(prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark;--bg:#171512;--surface:#1e1b17;--ink:#eee9df;--muted:#aaa297;--line:#3b3630;--soft:#29251f;--accent:#d59a6d;--accent-ink:#21150d;--danger:#ec8178;--focus:#e0a77d}}
*{box-sizing:border-box}html{background:var(--bg);font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,label,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 50%,transparent);outline-offset:3px}button{cursor:pointer}.muted{color:var(--muted)}.eyebrow{margin:0 0 .45rem;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-weight:650;transition:background .18s,border-color .18s}.button:hover{background:var(--soft)}.button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button.primary:hover{filter:brightness(.94)}.button.danger{border-color:var(--danger);color:var(--danger);background:transparent}.link-button{padding:0;border:0;background:none;color:var(--muted)}.link-button:hover{color:var(--ink)}.danger{color:var(--danger)!important}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:2rem;height:64px;padding:0 clamp(1rem,4vw,4rem);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px)}.brand{font-family:var(--serif);font-weight:700}.app-nav{display:flex;align-items:center;gap:1.5rem;margin-left:auto;font-size:.9rem}.app-nav a,.app-nav button{color:var(--muted)}.app-nav a:hover,.app-nav a[aria-current=page]{color:var(--ink)}.nav-toggle{display:none;margin-left:auto;min-width:44px;min-height:44px;border:0;background:none}.page-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:clamp(3rem,8vw,7rem) 0}.page-shell.narrow{max-width:900px}.hero-row,.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.hero-row h1,.page-title h1{margin:.15rem 0;font-family:var(--serif);font-size:clamp(2rem,5vw,4rem);line-height:1.05}.counts{display:flex;gap:2rem;margin:4rem 0 3rem;padding:1.1rem 0;border-block:1px solid var(--line);color:var(--muted)}.counts strong{margin-right:.35rem;color:var(--ink)}.writing-section{max-width:820px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-heading h2{font-family:var(--serif);font-size:1.35rem}.section-heading a{color:var(--accent);font-size:.9rem}.entry-list{border-top:1px solid var(--line)}.entry-row{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:.9rem .25rem;border-bottom:1px solid var(--line);transition:padding .18s,background .18s}.entry-row:hover{padding-inline:.75rem;background:var(--soft)}.entry-row span:first-child{min-width:0}.entry-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-size:1.08rem}.entry-row small{display:block;margin-top:.2rem;color:var(--muted)}.empty{padding:4rem 0}.empty h2{font-family:var(--serif)}.filters{display:grid;grid-template-columns:minmax(200px,1fr) 140px 150px auto;align-items:end;gap:.75rem;margin:3rem 0 1.5rem}.filters label,.dialog-card>label,.login-form label{display:grid;gap:.4rem;color:var(--muted);font-size:.82rem;font-weight:650}.filters input,.filters select,.dialog-card input,.dialog-card select,.dialog-card textarea,.login-form input{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.active-filter{padding:.6rem .8rem;background:var(--soft);font-size:.9rem}.active-filter a{float:right;color:var(--accent)}.tag-cloud{display:flex;flex-wrap:wrap;gap:.65rem;margin:2.5rem 0 5rem}.tag-cloud a,.article-tags span{padding:.4rem .7rem;border:1px solid var(--line);border-radius:999px}.settings-block{padding-top:2rem;border-top:1px solid var(--line)}.settings-block h2{font-family:var(--serif)}
.auth-page{display:grid;min-height:100svh;place-items:center;padding:1rem}.auth-shell{width:min(420px,100%)}.wordmark{margin-bottom:3rem;text-align:center;font-family:var(--serif);font-size:1.2rem}.login-form{display:grid;gap:1.25rem;padding:clamp(1.5rem,6vw,3rem);border:1px solid var(--line);background:var(--surface)}.login-form h1{margin:0;font-family:var(--serif);font-size:2rem}.login-form p{margin-top:-1rem}.notice{padding:.75rem;border-left:3px solid var(--danger);background:var(--soft)}
.editor-page{min-height:100svh;background:var(--surface)}.editor-header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:0 max(1rem,env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px)}.icon-text{justify-self:start;min-height:44px;display:flex;align-items:center;gap:.5rem;color:var(--muted)}.save-state{color:var(--muted);font-size:.82rem}.save-state[data-state=saving]{color:var(--accent)}.save-state[data-state=error]{color:var(--danger)}.icon-button{justify-self:end;min-width:44px;min-height:44px;border:0;background:transparent;font-size:1.25rem}.editor-shell{width:min(var(--measure),calc(100% - 2rem));min-height:calc(100svh - 160px);margin:0 auto;padding:clamp(2.5rem,7vw,6rem) 0 6rem}.title-input,.writing-input{display:block;width:100%;border:0;outline:0;background:transparent;color:var(--ink);text-align:start}.title-input{margin-bottom:2rem;font-family:var(--serif);font-size:clamp(2rem,5vw,3.3rem);font-weight:700;line-height:1.2}.writing-input{min-height:60vh;resize:none;overflow:hidden;font-family:var(--serif);font-size:clamp(1.18rem,2.3vw,1.38rem);line-height:2;unicode-bidi:plaintext}.writing-input::placeholder,.title-input::placeholder{color:color-mix(in srgb,var(--muted) 65%,transparent)}.attachment-bar{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:4}.attach-button{display:flex;min-height:44px;align-items:center;padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 6px 20px rgb(30 24 16/.08);color:var(--muted);cursor:pointer;font-size:.85rem}.attach-button input{position:absolute;width:1px;height:1px;opacity:0}.metadata-dialog{width:min(480px,calc(100% - 1rem));max-height:calc(100svh - 1rem);margin:0 0 0 auto;padding:0;border:0;background:var(--surface);color:var(--ink)}.metadata-dialog::backdrop{background:rgb(15 12 9/.4)}.dialog-card{display:grid;gap:1.2rem;padding:2rem}.dialog-heading{display:flex;align-items:start;justify-content:space-between}.dialog-heading h2{margin:0;font-family:var(--serif);font-size:2rem}.dialog-card label small{font-weight:400;line-height:1.4}.dialog-card fieldset{display:grid;gap:.5rem;margin:0;padding:1rem;border:1px solid var(--line)}.radio-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.6rem!important}.radio-row input{width:auto!important;min-height:0!important}.radio-row img{width:42px;height:42px;object-fit:cover}.media-list h3{font-size:.85rem}.media-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.85rem}.danger-zone{padding:0 2rem 2rem}
.public-page{min-height:100svh}.public-header{display:flex;align-items:center;justify-content:space-between;width:min(1120px,calc(100% - 2rem));height:72px;margin:auto;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.public-nav,.public-header>div{display:flex;align-items:center;gap:1.2rem}.public-name,.public-nav a{display:flex;min-height:44px;align-items:center}.public-name{font-family:var(--serif);font-size:1.05rem;font-weight:700}.public-nav a{color:var(--muted);font-size:.86rem}.public-nav a:hover{color:var(--ink)}.theme-button{min-height:44px;padding-inline:.25rem;border:0;background:none;color:var(--muted);font-size:.86rem}.theme-button:hover{color:var(--ink)}.public-shell{width:min(960px,calc(100% - 2rem));margin:0 auto;padding:clamp(5rem,10vw,8rem) 0}.public-intro{max-width:760px;margin-bottom:clamp(6rem,12vw,10rem)}.public-intro .eyebrow{margin-bottom:1rem}.public-intro h1{max-width:700px;margin:0;font-family:var(--serif);font-size:clamp(3rem,8vw,5.8rem);font-weight:700;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.public-lede{max-width:610px;margin:1.5rem 0 0;color:var(--muted);font-family:var(--serif);font-size:clamp(1.18rem,2.4vw,1.45rem);line-height:1.9}.intro-link{display:inline-flex;min-height:44px;align-items:center;gap:.55rem;margin-top:1.6rem;color:var(--accent);font-size:.9rem;font-weight:600}.intro-link span{transition:transform .2s ease}.intro-link:hover span{transform:translateY(3px)}.featured-section,.public-empty{scroll-margin-top:2rem}.section-kicker{margin:0 0 .8rem;color:var(--accent);font-size:.75rem;font-weight:700}.featured-post{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);overflow:hidden;border-block:1px solid var(--line);background:var(--surface);transition:border-color .2s ease,background .2s ease}.featured-post:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 86%,var(--soft))}.featured-post>img{width:100%;height:100%;min-height:390px;object-fit:cover}.featured-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2rem,5vw,4.25rem)}.featured-copy time,.post-row time{color:var(--muted);font-size:.78rem}.featured-copy>strong{margin-top:.9rem;font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.35;text-wrap:balance}.post-summary{color:var(--muted);line-height:1.8}.featured-copy>.post-summary{margin-top:1rem;font-size:1rem}.post-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.post-tags>span{padding:.28rem .6rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem}.read-more{display:inline-flex;align-items:center;gap:.55rem;margin-top:2rem;color:var(--accent);font-size:.86rem;font-weight:600}.read-more span,.post-arrow{transition:transform .2s ease}.featured-post:hover .read-more span,.post-row:hover .post-arrow{transform:translateX(-4px)}.featured-post:not(:has(img)){grid-template-columns:1fr}.featured-post:not(:has(img)) .featured-copy{max-width:760px}.post-index{margin-top:clamp(5rem,10vw,8rem);border-top:0}.index-heading{margin-bottom:1.25rem}.index-heading .section-kicker{margin-bottom:.35rem}.index-heading h2,.public-empty h2{margin:0;font-family:var(--serif);font-size:clamp(1.7rem,4vw,2.35rem)}.post-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;min-height:130px;padding:1.6rem .25rem;border-top:1px solid var(--line);transition:padding .2s ease,background .2s ease}.post-row:last-child{border-bottom:1px solid var(--line)}.post-row:hover{padding-inline:1rem;background:var(--soft)}.post-row-copy{display:grid;min-width:0;gap:.45rem}.post-row-copy>strong{overflow:hidden;text-overflow:ellipsis;font-family:var(--serif);font-size:clamp(1.2rem,2.5vw,1.55rem);line-height:1.45}.post-row-copy>.post-summary{max-width:700px;font-size:.86rem}.post-arrow{color:var(--accent);font-size:1.2rem}.public-empty{padding-block:3rem;border-block:1px solid var(--line)}.public-empty .muted{margin-bottom:0}.public-footer{display:flex;align-items:center;justify-content:space-between;width:min(1120px,calc(100% - 2rem));min-height:100px;margin:auto;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.public-footer a{display:flex;min-height:44px;align-items:center}.public-footer a:hover{color:var(--ink)}.public-page a,.public-page button{touch-action:manipulation}.article-shell{width:min(var(--measure),calc(100% - 2rem));margin:0 auto;padding:clamp(4rem,10vw,8rem) 0}.article-header{margin-bottom:3rem}.article-header h1{margin:0 0 1rem;font-family:var(--serif);font-size:clamp(2.5rem,7vw,4.5rem);line-height:1.15;text-wrap:balance}.article-header time{color:var(--muted)}.article-cover{width:100%;max-height:650px;margin-bottom:3rem;object-fit:cover}.prose{font-family:var(--serif);font-size:clamp(1.12rem,2vw,1.3rem);line-height:2;overflow-wrap:anywhere}.prose h2,.prose h3{margin:2.2em 0 .7em;line-height:1.3}.prose img,.prose video{max-width:100%;height:auto}.prose pre{overflow:auto;padding:1rem;background:var(--soft);direction:ltr;text-align:left}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;direction:ltr;unicode-bidi:embed}.prose blockquote{margin-inline:0;padding-inline-start:1.2rem;border-inline-start:3px solid var(--accent);color:var(--muted)}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
@media(max-width:720px){.app-header{height:56px}.nav-toggle{display:block}.app-nav{position:absolute;top:56px;right:0;left:0;display:none;align-items:stretch;gap:0;padding:.5rem 1rem 1rem;border-bottom:1px solid var(--line);background:var(--bg)}.app-nav[data-open=true]{display:grid}.app-nav a,.app-nav form{min-height:48px;display:flex;align-items:center}.hero-row,.page-title{align-items:start;flex-direction:column}.hero-row form,.page-title form,.new-entry{width:100%}.counts{gap:1rem;justify-content:space-between;margin:2.5rem 0}.counts a{display:grid}.filters{grid-template-columns:1fr 1fr}.filters .search-label{grid-column:1/-1}.filters .button{grid-column:1/-1}.editor-header{height:56px}.icon-text span{display:none}.editor-shell{width:calc(100% - 2rem);padding:2.2rem 0 7rem}.title-input{font-size:2rem}.writing-input{font-size:1.16rem;line-height:1.9}.attachment-bar{right:50%;transform:translateX(50%);width:calc(100% - 2rem)}.attach-button{justify-content:center}.metadata-dialog{width:100%;max-height:92svh;margin:auto 0 0;border-radius:12px 12px 0 0}.public-header{height:64px}.public-nav{gap:.65rem}.public-nav a{font-size:.78rem}.public-shell{padding:4.5rem 0 6rem}.public-intro{margin-bottom:6rem}.public-intro h1{font-size:clamp(2.75rem,14vw,4.2rem)}.public-lede{font-size:1.12rem}.featured-post{grid-template-columns:1fr}.featured-post>img{min-height:0;aspect-ratio:16/10}.featured-copy{padding:2rem 1.25rem}.featured-copy>strong{font-size:1.75rem}.post-index{margin-top:5rem}.post-row{min-height:116px;gap:1rem;padding-block:1.4rem}.post-row:hover{padding-inline:.5rem}.post-row-copy>.post-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.public-footer{min-height:88px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:720px){.metadata-dialog{max-width:none}}

/* Persian interface, stable navigation, and lightweight cross-page motion. */
html[dir=rtl] body{text-align:right}
html[dir=rtl] .eyebrow{letter-spacing:0;text-transform:none}
html[dir=rtl] .button,html[dir=rtl] .filters label,html[dir=rtl] .dialog-card>label,html[dir=rtl] .login-form label{font-weight:600}
html[dir=rtl] .hero-row h1,html[dir=rtl] .page-title h1{line-height:1.2}
.button.primary{border-color:var(--primary-button);background:var(--primary-button);color:var(--primary-button-ink)}
.has-app-header{padding-top:64px}
.app-header{position:fixed;inset-block-start:0;inset-inline:0;margin:0;view-transition-name:app-header}
.app-nav{margin-left:0;margin-inline-start:auto}
.nav-toggle{margin-left:0;margin-inline-start:auto}
.counts strong{margin-right:0;margin-inline-end:.35rem}
.active-filter a{float:inline-end}
.page-shell,.public-shell,.article-shell,.editor-shell{view-transition-name:page-content}
.editor-header{view-transition-name:app-header}
.app-nav a{position:relative}
.app-nav a[aria-current=page]::after{position:absolute;inset-inline:0;bottom:-.55rem;height:1px;background:var(--accent);content:""}

@view-transition{navigation:auto}
::view-transition-old(app-header),::view-transition-new(app-header){animation:none}
::view-transition-old(page-content){animation:page-out 120ms ease-in both}
::view-transition-new(page-content){animation:page-in 220ms cubic-bezier(.22,.8,.3,1) both}
@keyframes page-out{to{opacity:0;transform:translateY(-3px)}}
@keyframes page-in{from{opacity:0;transform:translateY(6px)}}

@media(min-width:721px){.metadata-dialog{height:100dvh;max-height:none;margin:0 auto 0 0;overflow:auto;border-inline-start:1px solid var(--line)}.metadata-dialog[open]{animation:side-sheet-in 220ms cubic-bezier(.22,.8,.3,1) both}.metadata-dialog::backdrop{animation:backdrop-in 160ms ease-out both}}
@keyframes side-sheet-in{from{opacity:.75;transform:translateX(-18px)}}
@keyframes backdrop-in{from{background:transparent}}

@media(max-width:720px){.has-app-header{padding-top:56px}.app-nav a[aria-current=page]::after{inset-inline-start:0;inset-inline-end:auto;bottom:.5rem;width:2rem}}
@media(prefers-reduced-motion:reduce){.metadata-dialog[open],.metadata-dialog::backdrop,::view-transition-old(root),::view-transition-new(root),::view-transition-old(page-content),::view-transition-new(page-content){animation-duration:.01ms!important}}
.skip-link{position:fixed;inset-block-start:.75rem;inset-inline-start:.75rem;z-index:100;padding:.65rem .9rem;background:var(--ink);color:var(--bg);transform:translateY(-160%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}
.public-footer-actions{display:flex;align-items:center;gap:.75rem}.theme-icon-button{display:grid;width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);transition:color .18s ease,background .18s ease}.theme-icon-button:hover{background:var(--soft);color:var(--ink)}.theme-icon-button svg{width:20px;height:20px;overflow:visible}.theme-icon-button circle{fill:none;stroke:currentColor;stroke-width:1.5}.theme-icon-button path{fill:currentColor}
