/* Hush dream dictionary (Oct 2026). Sits on top of guides.css and uses its tokens. */
.dream [hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* dictionary entry: a night card with the Arabic word */
.entry{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;
  margin:28px 0 8px;padding:26px 30px;border-radius:26px;color:#F5F2EA;
  background:linear-gradient(160deg,#050817 0%,#0B1230 45%,#1B1B42 78%,#3E2F4E 100%);box-shadow:0 30px 56px -38px rgba(11,18,48,.75)}
.entry::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;background:url(/assets/img/girih-dark.svg) center/56px 56px repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 45%,#000 100%);mask-image:linear-gradient(90deg,transparent 45%,#000 100%)}
.en-ar{grid-column:2;grid-row:1;font:400 clamp(44px,7vw,64px)/1.3 var(--ar);color:#F0DCA8;direction:rtl;text-align:right;white-space:nowrap;
  text-shadow:0 0 28px rgba(231,184,104,.28)}
.en-body{grid-column:1;grid-row:1;min-width:0}
.en-k{font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#E7B868}
.en-k i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;color:#C9C3D6}
.en-name{margin-top:6px;font:700 clamp(26px,3.6vw,32px)/1.15 var(--sans);letter-spacing:-.025em;color:#FBF6EA}
.en-glance{margin:8px 0 0;font:500 16.5px/1.5 var(--sans);color:#E4DEEC}
.en-line{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(245,242,234,.12);font:500 13px/1.5 var(--sans);color:#A9A3B8}

/* scripture and hadith */
.verse .ar{font:400 clamp(24px,3vw,30px)/2 var(--ar);direction:rtl;text-align:right;color:var(--ink);margin:0 0 14px}
.hadith{margin:24px 0 10px;padding:22px 26px;border-radius:22px;background:var(--card);box-shadow:0 18px 40px -32px rgba(29,29,31,.45),inset 0 0 0 1px var(--line2);border-left:3px solid var(--gold3)}
.hadith .q{margin:0;font:400 clamp(19px,1.8vw,21px)/1.6 var(--scripture);color:var(--ink)}
.hadith .src,.verse .src{margin:12px 0 0;font:13px var(--sans);color:var(--muted)}
.verse .v strong{font-weight:700;background:linear-gradient(transparent 62%,rgba(231,184,104,.35) 62%)}
.gnote{margin:0 0 8px;color:var(--ink2)}

/* readings */
.readings{list-style:none;margin:16px 0 0;padding:0}
.readings li{position:relative;margin:0;padding:14px 0 14px 30px;border-top:1px solid var(--line2)}
.readings li:last-child{border-bottom:1px solid var(--line2)}
.readings li::before{content:"۞";position:absolute;left:2px;top:13px;font:400 17px/1 var(--ar);color:var(--gold3)}

/* Layla */
.layla{display:flex;gap:14px;align-items:flex-start;margin:28px 0 8px;padding:20px 22px;border-radius:22px;background:var(--card);box-shadow:0 18px 40px -32px rgba(29,29,31,.45),inset 0 0 0 1px var(--line2)}
.layla img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;margin-top:2px}
.layla b{display:block;font:700 15px var(--sans);color:var(--ink)}
.layla b span{font-weight:500;color:var(--muted)}
.layla p{margin:6px 0 0;font-size:16.5px;line-height:1.65;color:var(--ink2)}

/* when you wake */
.wake{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 12px}
.wake>div{padding:20px 22px;border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.wake .w-bad{background:var(--tint);box-shadow:inset 0 0 0 1px rgba(138,95,26,.16)}
.wake b{display:block;font:700 16px var(--sans);color:var(--ink);margin-bottom:6px}
.wake p{margin:0 0 6px;font-size:15.5px;color:var(--ink2)}
.wake ol{margin:4px 0 8px;padding-left:20px;font-size:15.5px;color:var(--ink2)}
.wake li{margin:3px 0}
.wake .src{font:13px var(--sans);color:var(--muted);margin:6px 0 0}
.kindlink{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin:0 0 8px;padding:16px 20px;border-radius:18px;
  text-decoration:none;background:var(--bg2);color:var(--ink2);transition:background-color .2s}
.kindlink:hover{background:#ECE9E1}
.kindlink b{font:700 15px var(--sans);color:var(--ink)}
.kindlink b::after{content:" →"}

/* related */
.drel{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.drel h2{font-size:22px;margin-top:0}
.drel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.drel-grid a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);text-decoration:none;transition:box-shadow .2s}
.drel-grid a:hover{box-shadow:inset 0 0 0 1px var(--gold3)}
.drel-grid b{font:700 16px var(--sans);color:var(--ink)}
.drel-grid span{font:500 13.5px/1.45 var(--sans);color:var(--muted)}
.drel-more{margin:16px 0 0;font:600 15px var(--sans)}
.drel-more a{color:var(--ink)}

/* hub: search */
.dsearch{margin:28px 0 10px;padding:22px;border-radius:26px;background:var(--card);box-shadow:0 18px 40px -30px rgba(29,29,31,.4),inset 0 0 0 1px var(--line2)}
.ds-box{display:flex;align-items:center;gap:12px;padding:0 18px;border-radius:18px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);transition:box-shadow .2s}
.ds-box:focus-within{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
.ds-box input{flex:1;min-width:0;border:0;background:none;padding:17px 0;font:600 18px var(--sans);color:var(--ink);outline:none;-webkit-appearance:none;appearance:none}
.ds-box input::placeholder{color:#A9A7A1;font-weight:500}
.ds-box input::-webkit-search-cancel-button{-webkit-appearance:none}
.ds-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font:600 13px var(--sans);color:var(--muted)}
.ds-chips a{padding:7px 12px;border-radius:999px;background:var(--bg2);color:var(--ink2);text-decoration:none;transition:background-color .2s}
.ds-chips a:hover{background:#ECE9E1;color:var(--ink)}
.ds-res{display:grid;gap:8px}
.ds-res:not(:empty){margin-top:14px}
.ds-res a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:16px;background:var(--bg);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line2)}
.ds-res a:first-child{box-shadow:inset 0 0 0 1.5px var(--gold3)}
.ds-res b{font:700 16px var(--sans);color:var(--ink)}
.ds-res span{font:500 14px var(--sans);color:var(--muted)}
.ds-none{margin-top:14px;padding:20px;border-radius:18px;background:var(--tint)}
.ds-none b{display:block;font:700 17px/1.35 var(--sans);color:var(--ink)}
.ds-none p{margin:8px 0 14px;font-size:15.5px;color:var(--ink2)}
.ds-act{display:flex;flex-wrap:wrap;gap:10px}
.ds-act .btn.ghost,.k-res .btn{margin-left:0}

/* hub: which kind */
.kind{margin:40px 0 10px;padding:26px;border-radius:26px;background:var(--tint);box-shadow:inset 0 0 0 1px rgba(138,95,26,.14)}
.kind h2{margin-top:0}
.kind>p{color:var(--ink2)}
.k-q{margin-top:18px}
.k-q b{display:block;font:700 16px var(--sans);color:var(--ink);margin-bottom:10px}
.k-opts{display:flex;flex-wrap:wrap;gap:8px}
.k-opts button{border:0;cursor:pointer;padding:11px 16px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font:600 14.5px var(--sans);color:var(--ink2);transition:box-shadow .2s,background-color .2s,color .2s}
.k-opts button:hover{color:var(--ink)}
.k-opts button[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
.k-opts button:active{transform:scale(.97)}
.k-res{margin-top:20px;padding:20px 22px;border-radius:20px;background:var(--card);box-shadow:0 18px 40px -32px rgba(29,29,31,.45)}
.k-res>b{display:block;font:700 19px var(--sans);letter-spacing:-.01em;color:var(--ink)}
.k-res p{margin:8px 0 0;color:var(--ink2)}
.k-res ol{margin:10px 0 0;padding-left:20px;color:var(--ink2)}
.k-res .src{font:13px var(--sans);color:var(--muted)}
.k-res .btn{margin-top:16px}
.k-note{margin:14px 0 0;font:500 13px var(--sans);color:var(--muted)}

/* hub: dreams the Prophet ﷺ interpreted */
.pds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 8px}
.pd{padding:20px 22px;border-radius:22px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2)}
.pd-k{font:700 17px var(--sans);color:var(--ink)}
.pd-k span{color:var(--gold3);font-weight:400;margin:0 4px}
.pd p{margin:8px 0 0;font-size:15.5px;color:var(--ink2)}
.pd .q{font:400 18px/1.55 var(--scripture);color:var(--ink)}
.pd .src{font:13px var(--sans);color:var(--muted)}
.pd .src a{color:var(--ink)}

/* hub: shelves */
.shelf{margin-top:26px}
.shelf h3{margin:0 0 10px;font:700 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.shelf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.shelf-grid a{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px 16px 14px 18px;border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);text-decoration:none;overflow:hidden;transition:box-shadow .2s}
.shelf-grid a:hover{box-shadow:inset 0 0 0 1px var(--gold3)}
.shelf-grid .hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.shelf-grid b{font:700 15.5px var(--sans);color:var(--ink)}
.shelf-grid .g{font:500 13.5px/1.45 var(--sans);color:var(--muted)}
.shelf-grid .ar{flex:none;font:400 21px/1.2 var(--ar);color:var(--gold3);opacity:.85;direction:rtl}

@media(max-width:700px){
  .entry{grid-template-columns:1fr;padding:22px 20px;gap:4px}
  .en-ar{grid-column:1;grid-row:1;text-align:right}
  .en-body{grid-row:2}
  .wake,.pds,.shelf-grid,.drel-grid{grid-template-columns:1fr}
  .dsearch{padding:16px}
  .kind{padding:20px}
}
@media(prefers-reduced-motion:reduce){.ds-box,.k-opts button,.drel-grid a,.shelf-grid a,.kindlink{transition:none}}
