/* IranRelations NEXUS OMEGA v5.4 — Core UI System */
:root{--ir-focus:0 0 0 3px color-mix(in srgb,var(--primary,#b99048) 38%,transparent);--ir-shadow-1:0 8px 24px rgba(30,24,15,.08);--ir-shadow-2:0 18px 48px rgba(30,24,15,.13);--ir-radius-1:12px;--ir-radius-2:18px;--ir-content:72ch}
html{font-size:16px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-padding-top:145px}body{min-height:100dvh;overflow-x:hidden}::selection{background:color-mix(in srgb,var(--primary,#b99048) 28%,transparent)}
img,svg,video,canvas{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,[role="button"]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}p,li{overflow-wrap:anywhere}p{max-width:var(--ir-content)}h1,h2,h3{line-height:1.16;text-wrap:balance}
.skip-link{position:fixed;left:12px;top:12px;z-index:100000;transform:translateY(-190%);padding:10px 14px;border-radius:10px;background:#111;color:#fff;text-decoration:none;font-weight:850;transition:transform .18s ease}.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--ir-focus)}
.topbar{transition:box-shadow .2s ease,border-color .2s ease}.topbar.is-scrolled{box-shadow:var(--ir-shadow-2);border-color:color-mix(in srgb,var(--primary,#b99048) 30%,var(--border))}.main-nav a{position:relative}.main-nav a[aria-current="page"]{color:var(--text);font-weight:900}.main-nav a[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:2px;background:var(--primary)}
.card,.panel,.highlight,.nexus-post,.filter-panel{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover,.nexus-post:hover{transform:translateY(-2px);box-shadow:var(--ir-shadow-1);border-color:color-mix(in srgb,var(--primary,#b99048) 27%,var(--border))}.card>:first-child,.panel>:first-child,.highlight>:first-child{margin-top:0}.card>:last-child,.panel>:last-child,.highlight>:last-child{margin-bottom:0}
.primary-btn,.secondary-btn,.ghost-btn,.app-btn,.nexus-action{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.primary-btn:not(:disabled):hover,.secondary-btn:hover,.ghost-btn:hover,.app-btn:hover,.nexus-action:hover{transform:translateY(-1px)}
input,select,textarea{min-height:46px;transition:border-color .15s ease,box-shadow .15s ease}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--ir-focus)}[aria-invalid="true"]{border-color:#b42318!important;background:#fff7f6!important}.field-error{color:#b42318;font-size:.84rem;font-weight:750}
.table-wrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:var(--ir-radius-2);background:var(--surface)}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:start;vertical-align:top}th{background:color-mix(in srgb,var(--surface2) 60%,var(--surface));font-size:.88rem}tr:last-child td{border-bottom:0}
.ir-backtop{position:fixed;right:18px;bottom:18px;z-index:500;width:46px;height:46px;border:1px solid var(--border);border-radius:50%;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);box-shadow:var(--ir-shadow-1);backdrop-filter:blur(10px);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.ir-backtop.is-visible{opacity:1;visibility:visible;transform:none}
.ir-toast-region{position:fixed;right:16px;bottom:76px;z-index:10000;display:grid;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}.ir-toast{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--ir-shadow-2);color:var(--text);pointer-events:auto}
.nav-toggle{flex-shrink:0}.footer{border-top:1px solid var(--border);max-width:var(--max);width:calc(100% - 28px)}[dir="rtl"] .ir-backtop{right:auto;left:18px}
@media(max-width:940px){.main-nav a[aria-current="page"]::after{display:none}.main-nav a[aria-current="page"]{background:color-mix(in srgb,var(--primary,#b99048) 12%,transparent)}.section{scroll-margin-top:110px}}
@media(max-width:640px){html{font-size:15.5px;scroll-padding-top:95px}.section{padding-top:52px}.section-head{align-items:flex-start;flex-direction:column}.hero-box{padding:28px 20px;border-radius:22px}.actions>*{width:100%}.card,.panel,.highlight{padding:18px}.footer{width:calc(100% - 18px)}.top-actions{width:100%}.top-actions select{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card:hover,.nexus-post:hover{transform:none!important}}
@media print{.topbar,.contact-strip,.nav-toggle,.ir-backtop,.ir-toast-region,.gate{display:none!important}.site-shell.locked{filter:none;pointer-events:auto;max-height:none}.section{padding:20px 0}.card,.panel,.highlight{box-shadow:none;break-inside:avoid}body{background:#fff!important;color:#000!important}}

/* v5.4.4 additive responsive and accessibility recovery */
:where(.grid,.form-grid,.search-row,.profile-card,.match-grid)>*{min-width:0}
:where(pre,code){max-width:100%}pre{overflow:auto;-webkit-overflow-scrolling:touch}
:where(dialog,.gate-card,.modal,.panel,.card){max-width:calc(100vw - 24px)}
:where(input,select,textarea,button){min-width:0}
.contact-strip{flex-wrap:wrap}.main-nav{-webkit-overflow-scrolling:touch;scrollbar-width:thin}
@supports not (color:color-mix(in srgb,#000 50%,#fff)){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--primary,#b99048);outline-offset:2px}.card:hover,.nexus-post:hover{border-color:var(--primary,#b99048)}}
@media(max-width:480px){.topbar{gap:10px}.brand-text{font-size:.95rem}.contact-strip{font-size:.82rem}.offer-card{min-width:min(250px,calc(100vw - 56px))}.ir-backtop{right:12px;bottom:12px}.ir-toast-region{right:10px;bottom:68px;width:calc(100vw - 20px)}[dir="rtl"] .ir-backtop{right:auto;left:12px}}
@media(hover:none){.card:hover,.nexus-post:hover,.primary-btn:not(:disabled):hover,.secondary-btn:hover,.ghost-btn:hover,.app-btn:hover,.nexus-action:hover{transform:none}}
@media(forced-colors:active){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid CanvasText;outline-offset:3px}.card,.panel,.highlight,.table-wrap{border:1px solid CanvasText}}
