/* ===== فونت پیدا — کاملاً محلی ===== */
@font-face{font-family:"Peyda";src:url("../fonts/PeydaWeb-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Peyda";src:url("../fonts/PeydaWeb-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Peyda";src:url("../fonts/PeydaWeb-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Peyda";src:url("../fonts/PeydaWeb-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Peyda";src:url("../fonts/PeydaWeb-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Peyda";src:url("../fonts/PeydaWeb-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}

/* ===== توکن‌ها ===== */
:root{
  --night-1:#0d1018; --night-2:#121824; --night-3:#182131;
  --lilac:#9fb2c9; --lilac-soft:#cfdae8;
  --rose:#c9743f; --rose-deep:#a8552c;
  --gold:#dda343; --gold-soft:#f0c884;
  --mint:#4fb3a0; --sky:#6aa9d8;
  --text:#e9eff7; --muted:#8ea0b6;
  --panel:rgba(255,255,255,.05);
  --panel-2:rgba(255,255,255,.09);
  --border:rgba(159,178,201,.2);
  --border-2:rgba(159,178,201,.36);
  --shadow:0 22px 54px rgba(3,6,12,.62);
  --ease:cubic-bezier(.22,1,.36,1);
  --safe-b:env(safe-area-inset-bottom,0px);
  --r-lg:14px; --r-md:11px; --r-sm:8px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;overscroll-behavior:none}
body{
  font-family:"Peyda","Tahoma",system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1100px 700px at 80% -10%, rgba(221,163,67,.10), transparent 62%),
    radial-gradient(900px 600px at 8% 108%, rgba(79,179,160,.10), transparent 60%),
    linear-gradient(165deg,var(--night-1),var(--night-2) 55%,var(--night-3));
  min-height:100dvh;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
  user-select:none; -webkit-user-select:none;
  touch-action:manipulation;
}
body.playing{overflow:hidden;position:fixed;inset:0}
button{font-family:inherit}
input{font-family:inherit}

.sky{position:fixed;inset:0;z-index:0;pointer-events:none}
.sky canvas{width:100%;height:100%;display:block;opacity:.5}
.screen{position:relative;z-index:2}
[hidden]{display:none !important}

/* ===== دکمه‌ها ===== */
.btn{
  border:0;cursor:pointer;border-radius:var(--r-md);
  padding:.75em 1.6em;font-size:1rem;font-weight:700;color:var(--night-1);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease);
}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--rose));
  box-shadow:0 10px 26px rgba(255,150,190,.3), inset 0 1px 0 rgba(255,255,255,.5)}
.btn-ghost{background:var(--panel);color:var(--text);border:1px solid var(--border)}
.btn-danger{background:rgba(255,120,150,.16);color:#ffc9d8;border:1px solid rgba(255,140,170,.35)}
.btn:active{transform:scale(.97)}
@media (hover:hover){.btn:hover{transform:translateY(-3px)}}
.btn:focus-visible,.icon-btn:focus-visible,.dbtn:focus-visible,.act-btn:focus-visible,
.close-btn:focus-visible,.slot:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.key{display:inline-block;padding:.1em .55em;border-radius:8px;
  background:rgba(255,255,255,.12);border:1px solid var(--border);font-size:.85em;font-weight:600}

/* ===== صفحه‌ی شروع ===== */
.title-screen{
  min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(16px,4vw,36px) clamp(14px,4vw,36px) calc(18px + var(--safe-b));text-align:center;
}
.title-art{width:min(300px,58vw);filter:drop-shadow(0 20px 40px rgba(255,200,120,.28))}
.title-art svg{width:100%;height:auto;display:block}
.title-name{
  margin:.3rem 0 0;font-weight:900;line-height:1.35;font-size:clamp(1.85rem,7.5vw,3.4rem);
  background:linear-gradient(120deg,var(--gold-soft),var(--rose),var(--lilac));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.title-name span{font-size:.55em;opacity:.75;font-weight:600}
.title-sub{margin:.6rem auto 0;max-width:44ch;line-height:1.9;color:var(--muted);font-size:clamp(.9rem,3.4vw,1.05rem)}

.profiles{display:flex;flex-direction:column;gap:.55rem;margin-top:1.3rem;width:min(100%,420px)}
.slot{
  position:relative;display:flex;align-items:center;gap:.8rem;cursor:pointer;text-align:start;
  padding:.7rem .9rem;border-radius:var(--r-md);color:var(--text);
  background:linear-gradient(140deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
  border:1px solid var(--border);transition:.22s var(--ease);width:100%;
}
.slot:active{transform:scale(.985)}
@media (hover:hover){.slot:hover{border-color:var(--border-2);background:rgba(255,255,255,.12)}}
.slot .av{width:44px;height:44px;flex:0 0 44px;border-radius:14px;overflow:hidden;
  background:rgba(255,255,255,.07);border:1px solid var(--border);display:grid;place-items:center}
.slot .av svg{width:100%;height:100%}
.slot .meta{flex:1;min-width:0}
.slot .meta b{display:block;font-size:1rem;font-weight:700}
.slot .meta span{font-size:.8rem;color:var(--muted)}
.slot.empty .meta b{color:var(--lilac)}
.slot .del{
  width:32px;height:32px;flex:0 0 32px;border-radius:11px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--muted);
  display:grid;place-items:center;transition:.2s var(--ease);
}
.slot .del:hover{background:rgba(255,120,150,.24);color:#ffc9d8}
.slot .prog{display:flex;gap:.22rem;margin-top:.3rem}
.slot .prog i{width:9px;height:9px;border-radius:3px;background:rgba(255,255,255,.14)}
.slot .prog i.on{background:var(--gold);box-shadow:0 0 8px rgba(255,212,121,.6)}

.name-entry{
  margin-top:1.1rem;width:min(100%,420px);display:flex;flex-direction:column;gap:.7rem;
  background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:20px;padding:1rem;
}
.name-entry label{font-size:.92rem;color:var(--lilac-soft);font-weight:600}
.name-entry input{
  width:100%;padding:.75rem 1rem;border-radius:14px;font-size:1.05rem;text-align:center;
  background:rgba(255,255,255,.08);border:1px solid var(--border-2);color:var(--text);
}
.name-entry input:focus{outline:2px solid var(--gold);outline-offset:1px}
.name-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.title-buttons{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1.1rem}
.title-credit{margin-top:1.3rem;color:rgba(183,169,214,.7);font-size:.8rem}

/* ===== صفحه‌ی بازی ===== */
.game-screen{
  position:fixed;inset:0;display:flex;flex-direction:column;
  padding:calc(6px + env(safe-area-inset-top,0px)) 8px calc(6px + var(--safe-b));
}
.hud{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  width:min(100%,1180px);margin:0 auto .45rem;flex:0 0 auto}
.hud-side{display:flex;gap:.4rem}
.hud-center{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0}
.chapter{font-weight:700;font-size:clamp(.8rem,3.4vw,1rem);color:var(--lilac-soft);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.shards{display:flex;gap:.28rem}
.shard{width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.06);
  border:1px solid var(--border);display:grid;place-items:center;transition:.35s var(--ease)}
.shard svg{width:14px;height:14px;opacity:.2}
.shard.on{background:linear-gradient(140deg,rgba(255,212,121,.32),rgba(255,179,209,.22));
  border-color:rgba(255,212,121,.6);box-shadow:0 0 14px rgba(255,212,121,.35)}
.shard.on svg{opacity:1}
.icon-btn{position:relative;width:38px;height:38px;border-radius:12px;cursor:pointer;
  background:var(--panel);border:1px solid var(--border);color:var(--lilac-soft);
  display:grid;place-items:center;transition:.22s var(--ease)}
@media (hover:hover){.icon-btn:hover{background:var(--panel-2);transform:translateY(-2px)}}
.icon-btn.muted .wave{opacity:.18}
.icon-btn .dot{position:absolute;top:5px;inset-inline-end:5px;width:8px;height:8px;border-radius:50%;
  background:var(--rose-deep);box-shadow:0 0 8px var(--rose-deep)}

.stage-wrap{
  position:relative;flex:1;min-height:0;display:flex;
  flex-direction:column;align-items:center;justify-content:flex-start;
}
.stage-frame{
  position:relative;width:100%;max-width:1180px;
  aspect-ratio:3/4;max-height:100%;flex:0 1 auto;
  border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--border-2);background:#120b24;
  box-shadow:var(--shadow), 0 0 0 5px rgba(255,255,255,.03);
}
/* روی صفحه‌ی افقی و دسکتاپ، تصویر کلِ فضا را می‌گیرد */
@media (min-aspect-ratio:1/1){
  .stage-frame{aspect-ratio:auto;height:100%;flex:1}
}
body.no-touch .stage-frame{aspect-ratio:auto;height:100%;flex:1}
#stage{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}
.scene-fade{position:absolute;inset:0;background:#0d0720;opacity:0;pointer-events:none;
  transition:opacity .3s linear;z-index:5}
.scene-title{
  position:absolute;top:50px;inset-inline:0;margin:0 auto;width:max-content;max-width:86%;
  background:rgba(22,14,43,.8);border:1px solid var(--border-2);border-radius:999px;
  padding:.4rem 1.1rem;font-size:.9rem;font-weight:700;color:var(--gold-soft);
  backdrop-filter:blur(8px);z-index:4;animation:sceneIn .5s var(--ease);pointer-events:none;
}
@keyframes sceneIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

.hint-bubble{
  position:absolute;inset-inline:0;margin:0 auto;width:max-content;bottom:14px;
  background:rgba(22,14,43,.85);border:1px solid var(--border-2);border-radius:999px;
  padding:.35rem .95rem;font-size:.82rem;color:var(--lilac-soft);backdrop-filter:blur(8px);
  animation:bob 1.6s ease-in-out infinite;pointer-events:none;z-index:4;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* گفت‌وگو — روی صحنه */
.dialogue{
  position:absolute;inset-inline:10px;bottom:10px;z-index:7;cursor:pointer;
  display:flex;gap:.7rem;align-items:flex-start;
  background:linear-gradient(160deg,rgba(58,35,96,.95),rgba(26,16,52,.96));
  border:1px solid var(--border-2);border-radius:var(--r-md);
  padding:.7rem .85rem;box-shadow:0 -8px 30px rgba(8,4,24,.5);
  animation:slideUp .26s var(--ease);backdrop-filter:blur(6px);
}
@keyframes slideUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.dialogue-face{width:52px;height:52px;flex:0 0 52px;border-radius:15px;overflow:hidden;
  background:rgba(255,255,255,.08);border:1px solid var(--border)}
.dialogue-face svg{width:100%;height:100%;display:block}
.dialogue-body{flex:1;min-width:0}
.dialogue-name{font-weight:800;color:var(--gold);font-size:.9rem;margin-bottom:.1rem}
.dialogue-text{margin:0;line-height:1.85;font-size:clamp(.88rem,3.5vw,1rem);min-height:1.85em}
.dialogue-next{display:flex;align-items:center;gap:.25rem;color:var(--muted);font-size:.74rem;
  margin-top:.25rem;animation:bob2 1.4s ease-in-out infinite}
@keyframes bob2{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}

.guide{
  position:absolute;top:12px;inset-inline:0;margin:0 auto;width:max-content;z-index:4;
  display:flex;align-items:center;gap:.45rem;pointer-events:none;
  background:rgba(10,14,22,.72);border:1px solid var(--border-2);border-radius:999px;
  padding:.32rem .8rem;font-size:.82rem;font-weight:600;color:var(--lilac-soft);
  backdrop-filter:blur(8px);
}
.guide .g-arrow{display:grid;place-items:center;color:var(--gold);transition:transform .12s linear}
.guide .g-dist{font-variant-numeric:tabular-nums;opacity:.85}
.guide.near{border-color:var(--gold);color:var(--gold-soft)}
.title-credit .heart{color:var(--rose);font-size:1.05em}

/* ناحیه‌ی چرخاندن نگاه — کلِ تصویر */
.look-pad{position:absolute;inset:0;z-index:3;touch-action:none;cursor:grab}
.look-pad:active{cursor:grabbing}

/* فانوس در دست */
.hand{
  position:absolute;bottom:-6px;left:50%;width:min(30%,190px);
  transform:translateX(-50%);z-index:4;pointer-events:none;
  filter:drop-shadow(0 -6px 26px rgba(255,200,120,.4));
  animation:sway 4.2s ease-in-out infinite;
}
.hand svg{width:100%;height:auto;display:block}
@keyframes sway{
  0%,100%{transform:translateX(-50%) translateY(0) rotate(-1.2deg)}
  50%{transform:translateX(-50%) translateY(-7px) rotate(1.2deg)}
}
.hand.walking{animation-duration:1.15s}

/* نشانگر وسط */
.reticle{
  position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;
  border-radius:50%;background:rgba(255,240,210,.5);z-index:4;pointer-events:none;
  box-shadow:0 0 0 1px rgba(0,0,0,.35);transition:.2s var(--ease);
}
.reticle.hot{background:var(--gold);width:11px;height:11px;margin:-5.5px 0 0 -5.5px;
  box-shadow:0 0 12px var(--gold),0 0 0 1px rgba(0,0,0,.35)}

.loading{
  position:absolute;inset:0;z-index:8;display:grid;place-items:center;gap:.6rem;
  background:rgba(12,7,26,.9);color:var(--lilac-soft);font-size:.95rem;
  grid-auto-flow:row;align-content:center;
}
.loading span{
  width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.15);
  border-top-color:var(--gold);animation:spin .9s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* کنترل لمسی — زیرِ تصویر (روی موبایل) و روی تصویر (افقی) */
.touch{position:absolute;inset:0;z-index:6;pointer-events:none}
body.talking .touch .stick,
body.talking .touch .act-btn{opacity:0;pointer-events:none}
.stick{
  position:absolute;left:14px;bottom:14px;width:128px;height:128px;pointer-events:auto;
  border-radius:50%;touch-action:none;display:grid;place-items:center;
  background:radial-gradient(circle,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(201,182,255,.25);backdrop-filter:blur(4px);
}
.stick-ring{position:absolute;inset:26px;border-radius:50%;border:1px dashed rgba(201,182,255,.2)}
.knob{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(150deg,rgba(227,216,255,.85),rgba(160,140,220,.7));
  box-shadow:0 6px 18px rgba(0,0,0,.4), inset 0 2px 0 rgba(255,255,255,.5);
  transition:transform .06s linear;
}
.act-btn{
  position:absolute;right:16px;bottom:26px;pointer-events:auto;
  width:78px;height:78px;border-radius:50%;cursor:pointer;border:0;
  background:rgba(58,35,96,.5);color:rgba(227,216,255,.45);
  display:grid;place-items:center;backdrop-filter:blur(5px);
  transition:background .2s var(--ease),color .2s var(--ease);
}
.act-btn.ready{
  background:linear-gradient(140deg,var(--gold),var(--rose));color:#2a1230;
  box-shadow:0 10px 26px rgba(255,150,190,.34), inset 0 2px 0 rgba(255,255,255,.5);
  animation:pulse 1.5s ease-in-out infinite;
}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.act-btn:active{transform:scale(.92)}
body.no-touch .stick{display:none}

/* ===== لایه‌ها ===== */
.overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;
  padding:clamp(10px,3vw,26px);padding-bottom:calc(clamp(10px,3vw,26px) + var(--safe-b));
  background:rgba(11,6,26,.74);backdrop-filter:blur(10px);animation:fade .2s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.panel{
  width:min(100%,660px);max-height:92dvh;overflow:auto;-webkit-overflow-scrolling:touch;
  background:linear-gradient(165deg,rgba(58,35,96,.97),rgba(26,16,52,.98));
  border:1px solid var(--border-2);border-radius:var(--r-lg);
  box-shadow:var(--shadow);padding:clamp(14px,3.5vw,24px);animation:pop .28s var(--ease);
}
.panel-narrow{width:min(100%,400px)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.panel-head h2{margin:0;font-size:clamp(1.05rem,4vw,1.35rem);font-weight:800;color:var(--gold-soft)}
.close-btn{width:34px;height:34px;border-radius:11px;cursor:pointer;flex:0 0 34px;
  background:rgba(255,255,255,.07);border:1px solid var(--border);color:var(--text);
  display:grid;place-items:center;transition:.2s var(--ease)}
.close-btn:hover{background:rgba(255,140,170,.22)}

.puzzle-brief{margin:0 0 .9rem;line-height:1.9;color:var(--lilac-soft);font-size:.93rem}
.puzzle-body{display:grid;place-items:center;gap:.9rem}
.puzzle-foot{margin-top:1rem;display:flex;flex-direction:column;gap:.55rem;align-items:flex-start}
.btn-hint{background:rgba(143,216,255,.14);color:var(--sky);border:1px solid rgba(143,216,255,.32);
  display:inline-flex;align-items:center;gap:.4rem;padding:.5em 1.1em;font-size:.88rem}
.hint-text{color:var(--gold-soft);line-height:1.85;font-size:.9rem;
  background:rgba(255,212,121,.09);border:1px solid rgba(255,212,121,.22);
  border-radius:14px;padding:.55rem .85rem;width:100%}
.hint-text:empty{display:none}

.bag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.bag-item{background:var(--panel);border:1px solid var(--border);border-radius:16px;
  padding:.7rem;display:flex;gap:.6rem;align-items:center}
.bag-item .ic{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center}
.bag-item .ic svg{width:100%;height:100%}
.bag-item b{display:block;font-size:.9rem;margin-bottom:.1rem}
.bag-item span{font-size:.76rem;color:var(--muted);line-height:1.55}
.bag-empty{color:var(--muted);line-height:1.9}

.journal-goal{background:rgba(255,212,121,.1);border:1px solid rgba(255,212,121,.24);
  border-radius:16px;padding:.7rem .95rem;margin-bottom:.9rem;line-height:1.85;font-size:.93rem}
.journal-goal b{color:var(--gold)}
.journal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.journal-list li{background:var(--panel);border:1px solid var(--border);border-radius:14px;
  padding:.6rem .85rem;line-height:1.8;font-size:.9rem}
.journal-list li.done{opacity:.5}
.journal-list li b{color:var(--lilac)}

.menu-list{display:flex;flex-direction:column;gap:.5rem}
.menu-list .btn{width:100%}
.menu-note{color:var(--muted);font-size:.8rem;line-height:1.8;margin:.8rem 0 0;text-align:center}
.howto p{line-height:1.95;margin:.45rem 0;font-size:.92rem}
.howto b{color:var(--gold-soft)}

/* ===== پایان ===== */
.end-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:clamp(16px,4vw,36px)}
.end-art{width:min(280px,56vw)}
.end-art svg{width:100%;height:auto;display:block}
.end-title{margin:.5rem 0 0;font-size:clamp(1.4rem,5.5vw,2.4rem);font-weight:900;
  background:linear-gradient(120deg,var(--gold-soft),var(--rose));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.end-text{max-width:46ch;line-height:2;color:var(--lilac-soft);margin:.7rem auto 0;font-size:clamp(.9rem,3.4vw,1.02rem)}

.toast{position:fixed;z-index:40;inset-inline:0;top:calc(12px + env(safe-area-inset-top,0px));
  margin:0 auto;width:max-content;max-width:88vw;text-align:center;
  background:linear-gradient(140deg,rgba(255,212,121,.96),rgba(255,179,209,.96));
  color:#2a1230;font-weight:700;padding:.55rem 1.1rem;border-radius:999px;font-size:.92rem;
  box-shadow:0 16px 36px rgba(255,150,190,.28);animation:toastIn .3s var(--ease)}
@keyframes toastIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}

/* ===== معماها ===== */
.fireflies{display:flex;gap:clamp(8px,3vw,18px);flex-wrap:wrap;justify-content:center}
.ff{width:clamp(62px,17vw,84px);height:clamp(62px,17vw,84px);border-radius:22px;cursor:pointer;
  border:2px solid var(--border);background:rgba(255,255,255,.05);
  display:grid;place-items:center;transition:.16s var(--ease)}
.ff svg{width:58%;height:58%;opacity:.45;transition:.16s var(--ease)}
.ff.lit{transform:scale(1.08)}
.ff.lit svg{opacity:1}
.ff.f0.lit{background:rgba(255,212,121,.42);border-color:var(--gold);box-shadow:0 0 28px rgba(255,212,121,.6)}
.ff.f1.lit{background:rgba(142,240,210,.42);border-color:var(--mint);box-shadow:0 0 28px rgba(142,240,210,.6)}
.ff.f2.lit{background:rgba(255,179,209,.42);border-color:var(--rose);box-shadow:0 0 28px rgba(255,179,209,.6)}
.ff.f3.lit{background:rgba(143,216,255,.42);border-color:var(--sky);box-shadow:0 0 28px rgba(143,216,255,.6)}
.pz-status{color:var(--lilac-soft);font-size:.9rem;line-height:1.85;text-align:center;min-height:1.85em}
.pz-round{display:flex;gap:.35rem;justify-content:center}
.pz-round i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.16)}
.pz-round i.on{background:var(--gold);box-shadow:0 0 10px var(--gold)}

/* آینه‌های غار */
.mirror-grid{display:grid;gap:6px;width:min(100%,360px)}
.mcell{position:relative;aspect-ratio:1;border-radius:12px;cursor:pointer;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  display:grid;place-items:center;transition:.15s var(--ease);padding:0}
.mcell.fixed{cursor:default;background:rgba(255,255,255,.02)}
@media (hover:hover){.mcell:not(.fixed):hover{background:rgba(255,255,255,.1)}}
.mcell svg{width:100%;height:100%}
.mcell.lit{box-shadow:0 0 16px rgba(143,216,255,.5) inset}

/* شهر ساعت */
.cog-q{font-size:clamp(.98rem,3.8vw,1.12rem);line-height:2.05;text-align:center;max-width:38ch}
.cog-opts{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center}
.cog-opt{min-width:70px;padding:.8rem 1.15rem;border-radius:16px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);
  font-size:1.2rem;font-weight:800;transition:.16s var(--ease)}
@media (hover:hover){.cog-opt:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}}
.cog-opt.right{background:rgba(142,240,210,.28);border-color:var(--mint)}
.cog-opt.wrong{background:rgba(255,120,150,.25);border-color:var(--rose-deep)}

/* دریای ستاره */
.star-sky{position:relative;width:min(100%,340px);aspect-ratio:1;border-radius:20px;
  background:radial-gradient(circle at 50% 45%,rgba(58,35,96,.75),rgba(14,8,30,.92));
  border:1px solid var(--border);overflow:hidden}
.star-sky svg.links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.star{position:absolute;width:38px;height:38px;transform:translate(-50%,-50%);cursor:pointer;
  display:grid;place-items:center;transition:filter .18s var(--ease);background:none;border:0;padding:0}
.star svg{width:100%;height:100%;opacity:.45;transition:.18s var(--ease)}
.star.on svg,.star.hot svg{opacity:1}
.star.on{filter:drop-shadow(0 0 10px var(--gold))}
.star.hot{filter:drop-shadow(0 0 14px var(--mint))}

.pz-note{color:var(--muted);font-size:.83rem;line-height:1.75;text-align:center}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
