/* Hormozjan cards — studio, word-of-the-day, quiz, card maker. Uses the theme's tokens (base.css). */

/* ---------- studio ---------- */
.hzk-studio{display:grid;gap:26px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}
@media (max-width:900px){.hzk-studio{grid-template-columns:1fr}}
.hzk-prev{position:relative;display:grid;place-items:center;padding:18px;border-radius:var(--hz-radius);background:var(--hz-navy) var(--hz-lattice);box-shadow:var(--hz-shadow-lg)}
.hzk-prev__card{width:100%;max-width:440px;margin-inline:auto}
.hzk-prev[data-format=story] .hzk-prev__card{max-width:330px}
.hzk-prev canvas{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.hzk-prev__busy{position:absolute;inset:auto auto 26px 26px;width:30px;height:30px;opacity:0;transition:opacity .2s;pointer-events:none}
.hzk-prev__busy span{display:block;width:100%;height:100%;border:3px solid rgba(242,212,138,.3);border-top-color:var(--hz-gold);border-radius:50%;animation:hzk-spin .8s linear infinite}
.hzk-prev.is-busy .hzk-prev__busy{opacity:1}
@keyframes hzk-spin{to{transform:rotate(360deg)}}
.hzk-ctl{display:grid;gap:18px}
.hzk-row{display:grid;gap:9px}
.hzk-row__label{font-weight:700;color:var(--hz-navy);font-size:15px}
.hzk-swatches{display:flex;flex-wrap:wrap;gap:8px}
.hzk-sw{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border:1.5px solid var(--hz-line);border-radius:999px;background:var(--hz-card);font-size:14px;font-weight:500;transition:border-color .2s,transform .2s}
.hzk-sw i{width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.hzk-sw:hover{transform:translateY(-1px)}
.hzk-sw[aria-pressed=true]{border-color:var(--hz-gold-deep);box-shadow:0 0 0 3px rgba(227,168,82,.25)}
.hzk-sw--night i{background:linear-gradient(135deg,#0D2748,#061428);box-shadow:inset 0 0 0 3px #E3A852}
.hzk-sw--sand i{background:linear-gradient(135deg,#FFF8EC,#F3E8D2);box-shadow:inset 0 0 0 3px #B5183A}
.hzk-sw--sea i{background:linear-gradient(135deg,#1F7F90,#0A1F3D)}
.hzk-sw--henna i{background:linear-gradient(135deg,#B5183A,#4A0718);box-shadow:inset 0 0 0 3px #F2D48A}
.hzk-sw--palm i{background:linear-gradient(135deg,#0C7F5B,#033726)}
.hzk-sw--dusk i{background:linear-gradient(135deg,#E0623F,#B4195F 55%,#2A2C76)}
.hzk-sw--mourn i{background:linear-gradient(135deg,#202733,#0A0D12)}
.hzk-cities{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;overscroll-behavior-x:contain}
.hzk-city{flex:none;display:grid;gap:4px;justify-items:center;width:84px;padding:4px;border:1.5px solid transparent;border-radius:14px;background:none;font-size:12.5px;color:var(--hz-ink-2)}
.hzk-city img,.hzk-city b{width:74px;height:52px;border-radius:10px;object-fit:cover;display:grid;place-items:center;background:var(--hz-bg-2);color:var(--hz-muted);font-size:18px}
.hzk-city[aria-pressed=true]{border-color:var(--hz-gold-deep);background:var(--hz-card)}
.hzk-seg{display:inline-flex;border:1.5px solid var(--hz-line);border-radius:999px;padding:3px;background:var(--hz-card);width:max-content}
.hzk-seg button{border:0;background:none;padding:7px 16px;border-radius:999px;font-weight:700;font-size:14px;color:var(--hz-ink-2)}
.hzk-seg button[aria-pressed=true]{background:var(--hz-navy);color:#F4EAD8}
.hzk-acts{display:flex;flex-wrap:wrap;gap:10px}
.hzk-hint{margin:0;font-size:13.5px;color:var(--hz-muted)}

/* ---------- word page CTA + modal ---------- */
.hzk-wordcta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.hzk-wordcta span{font-size:13.5px;color:var(--hz-muted)}
.hzk-dialog{width:min(1040px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:var(--hz-radius);padding:0;background:var(--hz-bg);color:var(--hz-ink);box-shadow:var(--hz-shadow-lg)}
.hzk-dialog::backdrop{background:rgba(4,7,14,.66);backdrop-filter:blur(3px)}
.hzk-dialog__head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--hz-navy);color:#F4EAD8}
.hzk-x{border:0;background:rgba(255,255,255,.1);color:inherit;width:36px;height:36px;border-radius:50%;font-size:16px}
.hzk-dialog__body{padding:18px}

/* ---------- shared page bits ---------- */
.hzk-page{padding-bottom:20px}
.hzk-box{background:var(--hz-card);border:1px solid var(--hz-line);border-radius:var(--hz-radius);box-shadow:var(--hz-shadow);padding:clamp(18px,3vw,28px)}
.hzk-more{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));margin-top:28px}
.hzk-more a{display:flex;gap:14px;align-items:center;padding:18px;border-radius:var(--hz-radius-sm);background:var(--hz-card);border:1px solid var(--hz-line);text-decoration:none;color:var(--hz-ink);box-shadow:var(--hz-shadow);transition:transform .2s var(--hz-ease)}
.hzk-more a:hover{transform:translateY(-2px);color:var(--hz-ink)}
.hzk-more b{display:block;color:var(--hz-navy)}
.hzk-more small{color:var(--hz-muted)}
.hzk-more em{font-style:normal;font-size:30px}

/* ---------- word of the day ---------- */
.hzk-today{display:grid;gap:26px}
.hzk-wotd{position:relative;overflow:hidden;text-align:center;padding:clamp(24px,4vw,40px) 18px;border-radius:var(--hz-radius);background:var(--hz-navy) var(--hz-lattice);color:#F4EAD8;box-shadow:var(--hz-shadow-lg)}
.hzk-wotd::before,.hzk-wotd::after{content:"";position:absolute;inset:0 0 auto;height:10px;background:var(--hz-band) repeat-x center/auto 100%}
.hzk-wotd::after{inset:auto 0 0}
.hzk-wotd__date{display:inline-block;padding:4px 16px;border-radius:999px;background:var(--hz-crimson);font-weight:700;font-size:14px}
.hzk-wotd__word{display:block;margin:10px 0 0;font-size:clamp(54px,11vw,96px);font-weight:900;line-height:1.3;background:var(--hz-goldtext);-webkit-background-clip:text;background-clip:text;color:transparent;text-decoration:none}
.hzk-wotd__pron{direction:ltr;color:rgba(244,234,216,.7)}
.hzk-wotd__mean{margin:12px auto 0;max-width:640px;font-size:clamp(20px,3.4vw,28px);font-weight:700}
.hzk-wotd__ex{margin:16px auto 0;max-width:640px;padding:12px 18px;border-radius:14px;background:rgba(255,248,236,.07);border:1px solid rgba(242,212,138,.25)}
.hzk-wotd__ex small{display:block;color:var(--hz-gold-light);font-weight:700}
.hzk-wotd__acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.hzk-past{display:flex;flex-wrap:wrap;gap:8px}
.hzk-past a{padding:7px 14px;border-radius:999px;background:var(--hz-card);border:1px solid var(--hz-line);text-decoration:none;font-size:14px;color:var(--hz-ink)}
.hzk-past a small{color:var(--hz-muted);margin-inline-start:6px}

/* ---------- quiz ---------- */
.hzk-quiz{max-width:860px;margin-inline:auto}
.hzk-q-intro{text-align:center;display:grid;gap:16px;justify-items:center}
.hzk-q-intro h2{margin:0;font-size:clamp(26px,4.6vw,38px)}
.hzk-chal{display:flex;gap:12px;align-items:center;padding:14px 18px;border-radius:var(--hz-radius-sm);background:linear-gradient(135deg,#FFF1D6,#FBE3E8);border:1px solid #F0C9A2;font-weight:700;color:var(--hz-crimson-deep)}
.hzk-chal em{font-style:normal;font-size:30px}
.hzk-q-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.hzk-q-stats{font-size:14px;color:var(--hz-muted)}
.hzk-q-done{padding:12px 16px;border-radius:14px;background:var(--hz-bg-2);font-size:15px}
.hzk-q-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.hzk-q-prog{display:flex;gap:7px;direction:rtl}
.hzk-q-prog i{width:15px;height:15px;transform:rotate(45deg);border:2px solid var(--hz-line-2);border-radius:3px;background:var(--hz-card)}
.hzk-q-prog i.is-now{border-color:var(--hz-gold-deep);box-shadow:0 0 0 3px rgba(227,168,82,.25)}
.hzk-q-prog i.is-ok{background:var(--hz-emerald);border-color:var(--hz-emerald)}
.hzk-q-prog i.is-no{background:var(--hz-crimson);border-color:var(--hz-crimson)}
.hzk-q-num{font-weight:700;color:var(--hz-muted);font-size:14px}
.hzk-q-card{text-align:center;padding:clamp(22px,4vw,36px) clamp(16px,3vw,30px);border-radius:var(--hz-radius);background:var(--hz-navy) var(--hz-lattice);color:#F4EAD8;box-shadow:var(--hz-shadow-lg);position:relative;overflow:hidden}
.hzk-q-card::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:var(--hz-band) repeat-x center/auto 100%}
.hzk-q-ask{margin:6px 0 0;font-size:16px;color:rgba(244,234,216,.75)}
.hzk-q-word{display:block;margin:6px 0 4px;font-size:clamp(40px,9vw,72px);font-weight:900;line-height:1.35;background:var(--hz-goldtext);-webkit-background-clip:text;background-clip:text;color:transparent}
.hzk-q-word.is-fa{font-size:clamp(30px,6vw,46px)}
.hzk-q-opts{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}
@media (max-width:560px){.hzk-q-opts{grid-template-columns:1fr}}
.hzk-q-opt{min-height:64px;padding:12px 16px;border-radius:16px;border:2px solid rgba(242,212,138,.28);background:rgba(255,248,236,.06);color:#FFF8EC;font-size:clamp(18px,3vw,22px);font-weight:700;transition:transform .15s,background .2s,border-color .2s}
.hzk-q-opt:hover:not(:disabled){transform:translateY(-2px);border-color:var(--hz-gold);background:rgba(255,248,236,.12)}
.hzk-q-opt:disabled{cursor:default}
.hzk-q-opt.is-ok{background:var(--hz-emerald);border-color:#3FD3A0;color:#fff}
.hzk-q-opt.is-no{background:var(--hz-crimson);border-color:#FF7D98;color:#fff}
.hzk-q-opt.is-dim{opacity:.45}
.hzk-q-fb{min-height:52px;margin-top:16px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-weight:700}
.hzk-q-fb a{color:var(--hz-gold-light)}
.hzk-q-fb .hz-btn{min-width:150px}
.hzk-res{display:grid;gap:24px}
.hzk-res__top{text-align:center}
.hzk-res__emoji{font-size:64px;line-height:1}
.hzk-res__score{font-size:clamp(46px,9vw,74px);font-weight:900;color:var(--hz-navy);line-height:1.3}
.hzk-res__title{margin:0;font-size:clamp(24px,4.5vw,34px);color:var(--hz-crimson)}
.hzk-res__line{margin:6px 0 0;color:var(--hz-ink-2)}
.hzk-res__stats{margin-top:10px;font-size:15px;color:var(--hz-muted)}
.hzk-res__name{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hzk-res__name .hz-input{max-width:260px}
.hzk-review{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.hzk-review li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--hz-card);border:1px solid var(--hz-line)}
.hzk-review li b{color:var(--hz-navy)}
.hzk-review li.is-no{border-inline-start:4px solid var(--hz-crimson)}
.hzk-review li.is-ok{border-inline-start:4px solid var(--hz-emerald)}
.hzk-review a{margin-inline-start:auto;font-size:14px}

/* ---------- card maker ---------- */
.hzk-maker{display:grid;gap:22px}
.hzk-occ{display:flex;flex-wrap:wrap;gap:8px}
.hzk-occ button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--hz-line);background:var(--hz-card);font-weight:700;font-size:14.5px;color:var(--hz-ink-2);transition:border-color .2s,transform .2s}
.hzk-occ button:hover{transform:translateY(-1px)}
.hzk-occ button[aria-pressed=true]{background:var(--hz-navy);border-color:var(--hz-navy);color:#F4EAD8}
.hzk-field{display:grid;gap:7px}
.hzk-field label,.hzk-field .hzk-lab{font-weight:700;color:var(--hz-navy);font-size:15px}
.hzk-field textarea{min-height:110px;resize:vertical;font-size:19px;line-height:1.8}
.hzk-count{font-size:13px;color:var(--hz-muted);text-align:left}
.hzk-two{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:560px){.hzk-two{grid-template-columns:1fr}}
.hzk-ready{display:flex;flex-wrap:wrap;gap:8px}
.hzk-ready button{text-align:start;padding:8px 14px;border-radius:14px;border:1.5px dashed var(--hz-line-2);background:var(--hz-paper);font-size:15px;line-height:1.7}
.hzk-ready button small{display:block;color:var(--hz-muted);font-size:12.5px}
.hzk-help{padding:14px;border-radius:var(--hz-radius-sm);background:var(--hz-bg-2)}
.hzk-help summary{cursor:pointer;font-weight:700;color:var(--hz-teal-deep)}
.hzk-help__row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.hzk-help__row .hz-input{flex:1 1 240px}
.hzk-note{margin:8px 0 0;font-size:13.5px;color:var(--hz-warn)}
.hzk-check{display:flex;gap:8px;align-items:center;font-size:15px}

/* ---------- poem cards (single hz_text) ---------- */
.hzk-wordcta--top{margin:0 0 14px}
.hzl-line{position:relative}
.hzk-linebtn{position:absolute;inset-inline-end:-6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid var(--hz-line);background:var(--hz-card);font-size:15px;line-height:1;opacity:0;transition:opacity .2s;box-shadow:var(--hz-shadow)}
.hzl-line:hover .hzk-linebtn,.hzk-linebtn:focus-visible{opacity:1}
@media (hover:none){.hzk-linebtn{opacity:.55;width:30px;height:30px;font-size:13px}}
.hzk-lines{display:grid;gap:6px;max-height:260px;overflow-y:auto;padding:4px;border:1px solid var(--hz-line);border-radius:var(--hz-radius-sm);background:var(--hz-paper);overscroll-behavior:contain}
.hzk-lines hr{margin:4px 0;height:1px}
.hzk-lines button{display:grid;gap:2px;text-align:start;padding:8px 12px;border:1.5px solid transparent;border-radius:12px;background:none;font-size:15.5px;line-height:1.7;font-weight:700;color:var(--hz-ink)}
.hzk-lines button small{font-weight:400;color:var(--hz-muted);font-size:13px}
.hzk-lines button:hover{background:var(--hz-bg-2)}
.hzk-lines button[aria-pressed=true]{border-color:var(--hz-gold-deep);background:#FFF1D6}
