/* KAHOD — enhancements (بعد از style.css بارگذاری می‌شود) */
@view-transition{navigation:auto}
/* هایلایت متن: همیشه هم‌رنگ تم همان روز (به‌صورت لایه‌ی شفاف تا شبیه آبیِ پیش‌فرض مرورگر نباشد) */
::selection{background:hsl(var(--h) 90% 55% / .34);color:inherit;-webkit-text-fill-color:currentColor;text-shadow:none}
::-moz-selection{background:hsl(var(--h) 90% 55% / .34);color:inherit}
:root:not([data-theme="light"]) ::selection{background:hsl(var(--h) 95% 62% / .46)}
:root:not([data-theme="light"]) ::-moz-selection{background:hsl(var(--h) 95% 62% / .46)}
html{scrollbar-width:thin;scrollbar-color:hsl(var(--h) 60% 50% / .45) transparent}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:hsl(var(--h) 60% 50% / .45);border-radius:99px}

.h-display{background:linear-gradient(120deg,var(--text) 35%,var(--gold-ink) 62%,var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero::before{content:"";position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:linear-gradient(var(--glass-border) 1px,transparent 1px),linear-gradient(90deg,var(--glass-border) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 0,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 0,#000 20%,transparent 70%)}
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(120%);transition:transform .7s var(--ease)}
.btn-primary:hover::after{transform:translateX(-120%)}

#progress{position:fixed;top:0;inset-inline:0;height:3px;z-index:200;background:linear-gradient(90deg,var(--gold),var(--violet));transform:scaleX(0);transform-origin:right}
.nav{transition:transform .4s var(--ease)}
.nav--hidden{transform:translateY(-130%)}
.nav--scrolled .nav-inner{background:var(--glass-strong)}
.icon-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:color .25s var(--ease),border-color .25s var(--ease)}
.icon-btn:hover{color:var(--text);border-color:var(--glass-border-strong)}
@media(max-width:560px){.icon-btn{display:none}}
#to-top{position:fixed;inset-block-end:1.2rem;inset-inline-start:1.2rem;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s var(--ease);z-index:90}
#to-top.show{opacity:1;visibility:visible;transform:none}

.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
.glass-card,.config-panel{position:relative}
.glass-card::after,.config-panel::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),hsl(var(--h) 70% 56% / .14),transparent 60%)}
.glass-card:hover::after,.config-panel:hover::after{opacity:1}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);padding:var(--space-4);text-align:center}
.stats b{display:block;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:var(--gold-ink);font-variant-numeric:tabular-nums}
.stats span{color:var(--text-dim);font-size:.92rem}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}
.step-n{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;background:var(--glass-strong);color:var(--gold-ink);font-weight:800;margin-bottom:var(--space-2)}

#toasts{position:fixed;inset-block-end:1.2rem;inset-inline-end:1.2rem;display:grid;gap:.6rem;z-index:300}
.toast{padding:.8rem 1.2rem;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--glass-border-strong);box-shadow:var(--shadow-glass);font-size:.92rem;animation:evIn .5s var(--ease)}

#cmdk{position:fixed;inset:0;z-index:400;display:none;align-items:flex-start;justify-content:center;padding-top:14vh;background:rgba(3,10,8,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#cmdk.open{display:flex}
#cmdk .box{width:min(560px,92vw);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-elevated)}
#cmdk input{width:100%;padding:1rem 1.2rem;background:transparent;border:0;border-bottom:1px solid var(--glass-border);outline:0;font-size:1.05rem}
#cmdk ul{max-height:50vh;overflow:auto;padding:.4rem}
#cmdk li{padding:.7rem 1rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dim)}
#cmdk li[aria-selected=true]{background:var(--glass-strong);color:var(--text)}

.tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:var(--space-2)}
.chip{padding:.5em 1em;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass);font-size:.85rem;font-weight:600;color:var(--text-dim);cursor:pointer;transition:.25s var(--ease)}
.chip:hover{color:var(--text);border-color:var(--glass-border-strong)}
#faq-q{flex:1;min-width:200px;padding:.6em 1.1em;background:var(--field-bg);border:1px solid var(--glass-border);border-radius:999px;outline:0}
#faq-q:focus{border-color:var(--gold-ink)}
.pulse{display:inline-block;animation:pop .5s var(--ease)}
@keyframes pop{40%{transform:scale(1.05);color:var(--gold-ink)}}
.range-row input[type=range]{background:linear-gradient(to left,var(--gold) var(--p,0%),var(--glass-strong) var(--p,0%))}

.field select{width:100%;padding:.85em 1.1em;background:var(--field-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text)}
.field select option{background:var(--bg-elevated);color:var(--text)}
.field .err{color:#f87171;font-size:.82rem;margin-top:.35rem}
.field [aria-invalid=true]{border-color:#f87171}
.field .count{font-size:.78rem;color:var(--text-faint);text-align:end;margin-top:.3rem}
.hp{position:absolute;inset-inline-start:-9999px;opacity:0}
.form-note.is-error{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.4);color:#f87171}
.form-note a{text-decoration:underline}

@media print{
  .nav,#progress,#to-top,.orb,#toasts,#cmdk,.footer,.tools,.mobile-panel,.hero,.skip-link{display:none!important}
  body{background:#fff;color:#000}.glass{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .configurator{grid-template-columns:1fr}.config-summary{position:static}.rv{opacity:1;transform:none}
}
