
  .gempro-wrap{
    --gempro-bg1:#f7f1e0; --gempro-bg2:#f3ecd8; --gempro-bg3:#e8dec3;
    --gempro-surface:#fbf7ec; --gempro-surface-2:#f5edd7;
    --gempro-ink:#20212e; --gempro-ink-soft:#4a4b5c; --gempro-muted:#857c63;
    --gempro-line:#d9cdab; --gempro-line-soft:#e4dabf;
    --gempro-gold:#b08d2e; --gempro-gold-deep:#8a6c1c; --gempro-gold-soft:#efe3bf;
    --gempro-accent:#7a5cc4; --gempro-accent-soft:#ece6f8;
    --gempro-good:#3c7d54; --gempro-good-soft:#e1efe4;
    --gempro-page-bg:linear-gradient(155deg,#fbf3df 0%,#f6e6cf 30%,#ecd9ef 65%,#dce6f9 100%);
  }
  .gempro-wrap[data-theme="dark"]{
    --gempro-bg1:#16171f; --gempro-bg2:#1a1b24; --gempro-bg3:#101117;
    --gempro-surface:#21222d; --gempro-surface-2:#1b1c26;
    --gempro-ink:#ece7d6; --gempro-ink-soft:#b8b2a0; --gempro-muted:#8e886f;
    --gempro-line:#343543; --gempro-line-soft:#2a2b36;
    --gempro-gold:#d9b85a; --gempro-gold-deep:#cda843; --gempro-gold-soft:#2e2a1c;
    --gempro-accent:#a78be8; --gempro-accent-soft:#272036;
    --gempro-good:#7cc491; --gempro-good-soft:#1e2b22;
    --gempro-page-bg:linear-gradient(155deg,#1c1733 0%,#161620 45%,#0f1626 100%);
  }
  *{box-sizing:border-box;}
  .gempro-wrap{
    color:var(--gempro-ink);font-family:"Inter",system-ui,sans-serif;line-height:1.55;
    background:var(--gempro-page-bg);
    padding:clamp(16px,3vw,32px);border-radius:22px;
    max-width:880px;margin:0 auto;box-sizing:border-box;
  }
  .gempro-wrap *{box-sizing:border-box;}
  .gempro-wrap h2{font-family:"Cormorant Garamond",serif;font-weight:700;font-size:clamp(26px,5vw,38px);margin:0;line-height:1;letter-spacing:-.01em;}
  
  header.gempro-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:6px;flex-wrap:wrap;}
  .gempro-brand .gempro-eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gempro-gold-deep);font-weight:600;margin-bottom:4px;}
  .gempro-brand .gempro-eyebrow .heb{font-family:"Frank Ruhl Libre",serif;font-size:17px;letter-spacing:0;}
  .gempro-topbtns{display:flex;gap:8px;}
  .gempro-iconbtn{width:40px;height:40px;border-radius:11px;border:1px solid var(--gempro-line);background:var(--gempro-surface);color:var(--gempro-ink-soft);cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center;transition:.15s;}
  .gempro-iconbtn:hover{border-color:var(--gempro-gold);color:var(--gempro-gold-deep);}
  nav.gempro-tabs{display:flex;gap:4px;margin:22px 0 18px;border-bottom:1px solid var(--gempro-line);flex-wrap:wrap;}
  .gempro-tab{font-family:inherit;font-size:14px;font-weight:500;padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;color:var(--gempro-muted);cursor:pointer;transition:.15s;margin-bottom:-1px;}
  .gempro-tab:hover{color:var(--gempro-ink);}
  .gempro-tab[aria-selected="true"]{color:var(--gempro-gold-deep);border-bottom-color:var(--gempro-gold);}
  .gempro-panel{display:none;}
  .gempro-panel.gempro-active{display:block;animation:fade .2s ease;}
  @keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
  .gempro-field{position:relative;margin-bottom:14px;}
  textarea#gempro-text,input.gempro-t,textarea.gempro-t,select.gempro-t{width:100%;font-family:inherit;font-size:16px;padding:14px;background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:13px;color:var(--gempro-ink);outline:none;transition:.18s;resize:vertical;}
  textarea#gempro-text{font-family:"Cormorant Garamond",serif;font-size:clamp(22px,4vw,30px);min-height:74px;line-height:1.3;}
  textarea#gempro-text[dir="rtl"]{font-family:"Frank Ruhl Libre","Noto Naskh Arabic",serif;}
  .gempro-t:focus,textarea#gempro-text:focus{border-color:var(--gempro-gold);box-shadow:0 0 0 4px var(--gempro-gold-soft);}
  textarea#gempro-text.drag{border-color:var(--gempro-accent);box-shadow:0 0 0 4px var(--gempro-accent-soft);}
  ::placeholder{color:var(--gempro-muted);opacity:.7;}
  .gempro-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:11px;z-index:20;overflow:hidden;display:none;}
  .gempro-suggest.show{display:block;}
  .gempro-suggest div{padding:9px 14px;font-size:15px;cursor:pointer;}
  .gempro-suggest div:hover,.gempro-suggest div.sel{background:var(--gempro-surface-2);color:var(--gempro-gold-deep);}
  .gempro-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
  .gempro-chip{font-family:inherit;font-size:13px;font-weight:500;padding:7px 13px;border-radius:999px;background:transparent;border:1px solid var(--gempro-line);color:var(--gempro-ink-soft);cursor:pointer;transition:.15s;}
  .gempro-chip:hover{border-color:var(--gempro-gold);color:var(--gempro-gold-deep);}
  .gempro-chip[aria-pressed="true"]{background:var(--gempro-ink);border-color:var(--gempro-ink);color:var(--gempro-bg2);}
  .gempro-chip .gempro-g{font-family:"Frank Ruhl Libre","Noto Naskh Arabic",serif;margin-right:5px;}
  .gempro-grow{flex:1;}
  .gempro-stat{font-size:12px;color:var(--gempro-muted);}
  .gempro-stat b{color:var(--gempro-ink-soft);font-weight:600;font-family:"JetBrains Mono",monospace;}
  .gempro-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
  .gempro-btn{font-family:inherit;font-size:13px;font-weight:500;padding:9px 14px;border-radius:10px;border:1px solid var(--gempro-line);background:var(--gempro-surface);color:var(--gempro-ink);cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:6px;}
  .gempro-btn:hover{border-color:var(--gempro-gold);color:var(--gempro-gold-deep);}
  .gempro-btn.gempro-solid{background:var(--gempro-ink);border-color:var(--gempro-ink);color:var(--gempro-bg2);}
  .gempro-btn.gempro-solid:hover{opacity:.9;color:var(--gempro-bg2);}
  .gempro-btn.gempro-sm{padding:5px 9px;font-size:12px;}
  .gempro-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;margin-bottom:26px;}
  .gempro-card{background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:13px;padding:14px 16px;position:relative;}
  .gempro-card.primary{border-color:var(--gempro-gold);box-shadow:0 0 0 1px var(--gempro-gold) inset;}
  .gempro-card .gempro-lab{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--gempro-muted);font-weight:600;display:flex;justify-content:space-between;align-items:center;}
  .gempro-card .gempro-lab .gempro-pin{cursor:pointer;opacity:.45;font-size:13px;}
  .gempro-card .gempro-lab .gempro-pin:hover,.gempro-card .gempro-lab .gempro-pin.on{opacity:1;color:var(--gempro-gold-deep);}
  .gempro-card .gempro-val{font-family:"Cormorant Garamond",serif;font-size:38px;font-weight:600;line-height:1.05;margin-top:2px;}
  .gempro-card.primary .gempro-val{color:var(--gempro-gold-deep);}
  .gempro-card .gempro-dsc{font-size:11px;color:var(--gempro-muted);margin-top:1px;line-height:1.3;}
  .gempro-subhead{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--gempro-muted);font-weight:600;margin:0 0 11px;display:flex;align-items:center;gap:10px;}
  .gempro-subhead::after{content:"";flex:1;height:1px;background:var(--gempro-line);}
  .gempro-strip{display:flex;flex-wrap:wrap;gap:6px;min-height:54px;margin-bottom:8px;}
  .gempro-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:40px;background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:9px;padding:7px 5px 5px;}
  .gempro-cell .gempro-g{font-size:20px;line-height:1;}
  .gempro-cell.heb .gempro-g,.gempro-cell.grk .gempro-g,.gempro-cell.arabic .gempro-g{font-family:"Frank Ruhl Libre","Noto Naskh Arabic",serif;}
  .gempro-cell .gempro-n{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--gempro-gold-deep);}
  .gempro-cell .gempro-run{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--gempro-muted);}
  .gempro-empty{color:var(--gempro-muted);font-size:14px;align-self:center;padding:14px 0;}
  details.gempro-box{background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:13px;padding:4px 16px;margin-bottom:22px;}
  details.gempro-box summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--gempro-ink-soft);padding:10px 0;list-style:none;}
  details.gempro-box summary::-webkit-details-marker{display:none;}
  details.gempro-box summary::before{content:"▸ ";color:var(--gempro-gold);}
  details.gempro-box[open] summary::before{content:"▾ ";}
  .gempro-anlz{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin:6px 0 14px;}
  .gempro-anlz .gempro-m{background:var(--gempro-surface-2);border-radius:9px;padding:9px 11px;}
  .gempro-anlz .gempro-m .gempro-k{font-size:11px;color:var(--gempro-muted);text-transform:uppercase;letter-spacing:.04em;}
  .gempro-anlz .gempro-m .gempro-v{font-family:"JetBrains Mono",monospace;font-size:18px;font-weight:500;}
  .gempro-freq{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
  .gempro-freq .gempro-bar{display:flex;align-items:center;gap:8px;font-size:12px;}
  .gempro-freq .gempro-bar .gempro-lt{width:18px;text-align:center;font-family:"JetBrains Mono",monospace;font-weight:500;}
  .gempro-freq .gempro-bar .gempro-track{flex:1;height:9px;background:var(--gempro-surface-2);border-radius:5px;overflow:hidden;}
  .gempro-freq .gempro-bar .gempro-fill{height:100%;background:var(--gempro-gold);border-radius:5px;}
  .gempro-freq .gempro-bar .gempro-ct{width:24px;text-align:right;font-family:"JetBrains Mono",monospace;color:var(--gempro-muted);}
  .gempro-kb{display:none;margin-top:14px;background:var(--gempro-surface-2);border:1px solid var(--gempro-line);border-radius:13px;padding:12px;}
  .gempro-kb.show{display:block;}
  .gempro-kbrow{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px;}
  .gempro-key{font-family:"Frank Ruhl Libre","Noto Naskh Arabic",serif;font-size:19px;min-width:36px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:8px;color:var(--gempro-ink);transition:.1s;}
  .gempro-key:hover{background:var(--gempro-ink);color:var(--gempro-bg2);}
  .gempro-key.gempro-util{font-family:"Inter";font-size:12px;min-width:60px;color:var(--gempro-ink-soft);}
  table.gempro-cmp{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px;}
  table.gempro-cmp th,table.gempro-cmp td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--gempro-line);font-family:"JetBrains Mono",monospace;}
  table.gempro-cmp th:first-child,table.gempro-cmp td:first-child{text-align:left;font-family:"Inter";font-weight:500;}
  table.gempro-cmp th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--gempro-muted);font-weight:600;font-family:"Inter";}
  table.gempro-cmp td.match{background:var(--gempro-good-soft);color:var(--gempro-good);font-weight:500;}
  .gempro-scrollx{overflow-x:auto;}
  .gempro-summary{background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:13px;padding:14px 16px;margin-top:16px;font-size:13px;line-height:1.7;}
  .gempro-summary b{color:var(--gempro-ink-soft);font-weight:600;}
  .gempro-pill{display:inline-block;font-size:12px;font-family:"JetBrains Mono",monospace;background:var(--gempro-good-soft);color:var(--gempro-good);padding:2px 8px;border-radius:6px;margin:2px 3px 0 0;}
  .gempro-listitem{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:11px;margin-bottom:7px;}
  .gempro-listitem .gempro-word{flex:1;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .gempro-listitem .gempro-word[dir="rtl"]{font-family:"Frank Ruhl Libre","Noto Naskh Arabic",serif;}
  .gempro-listitem .gempro-meta{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--gempro-muted);}
  .gempro-listitem .gempro-act{background:none;border:none;cursor:pointer;color:var(--gempro-muted);font-size:15px;padding:4px;transition:.15s;}
  .gempro-listitem .gempro-act:hover{color:var(--gempro-gold-deep);}
  .gempro-listitem .gempro-act.on{color:var(--gempro-gold);}
  .gempro-cipherbox{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:11px;margin-bottom:7px;}
  .gempro-cipherbox .gempro-info{flex:1;min-width:0;}
  .gempro-cipherbox .gempro-nm{font-size:14px;font-weight:500;}
  .gempro-cipherbox .gempro-ds{font-size:11px;color:var(--gempro-muted);}
  .gempro-cipherbox .gempro-grp{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--gempro-gold-deep);background:var(--gempro-gold-soft);padding:2px 7px;border-radius:5px;font-weight:600;}
  .gempro-cipherbox .gempro-ord{display:flex;flex-direction:column;gap:1px;}
  .gempro-cipherbox .gempro-ord button{background:none;border:none;cursor:pointer;color:var(--gempro-muted);font-size:11px;line-height:1;padding:1px;}
  .gempro-cipherbox .gempro-ord button:hover{color:var(--gempro-gold-deep);}
  .gempro-cipherbox .gempro-cact{background:none;border:1px solid var(--gempro-line);border-radius:7px;cursor:pointer;color:var(--gempro-ink-soft);font-size:11px;padding:4px 7px;}
  .gempro-cipherbox .gempro-cact:hover{border-color:var(--gempro-gold);color:var(--gempro-gold-deep);}
  .gempro-switch{position:relative;width:40px;height:23px;flex:none;}
  .gempro-switch input{opacity:0;width:0;height:0;}
  .gempro-slider{position:absolute;inset:0;background:var(--gempro-line);border-radius:999px;cursor:pointer;transition:.2s;}
  .gempro-slider::before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:var(--gempro-surface);border-radius:50%;transition:.2s;}
  .gempro-switch input:checked+.gempro-slider{background:var(--gempro-gold);}
  .gempro-switch input:checked+.gempro-slider::before{transform:translateX(17px);}
  .gempro-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  @media(max-width:560px){.gempro-grid2{grid-template-columns:1fr;}}
  label.gempro-fld{font-size:12px;color:var(--gempro-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px;}
  .gempro-hint{font-size:13px;color:var(--gempro-muted);line-height:1.6;border-top:1px solid var(--gempro-line);padding-top:16px;margin-top:24px;}
  .gempro-hint b{color:var(--gempro-ink-soft);font-weight:600;}
  .gempro-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--gempro-ink);color:var(--gempro-bg2);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;opacity:0;pointer-events:none;transition:.25s;z-index:60;}
  .gempro-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
  #gempro-qrWrap{display:none;margin:0 0 22px;padding:16px;background:var(--gempro-surface);border:1px solid var(--gempro-line);border-radius:13px;text-align:center;}
  #gempro-qrWrap.show{display:block;}
  #gempro-qrWrap canvas,#gempro-qrWrap img{margin:0 auto;}
  kbd{font-family:"JetBrains Mono",monospace;font-size:11px;background:var(--gempro-surface-2);border:1px solid var(--gempro-line);border-radius:5px;padding:1px 5px;}
  @media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
  @media print{
    .gempro-topbtns,nav.gempro-tabs,.gempro-row,.gempro-toolbar,.gempro-kb,details.gempro-box summary,.gempro-suggest,.gempro-hint,#gempro-qrWrap{display:none!important;}
    .gempro-wrap{background:#fff;color:#000;padding:0;}
    .gempro-panel{display:none!important;}#gempro-calc{display:block!important;}
    .gempro-card{break-inside:avoid;border:1px solid #ccc;}
  }
