/* Orbitrock brand layer: loaded last on every page to unify type, colour and touch targets. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--brand:#0a6cff;--brand-deep:#0052d6;--brand-soft:#e8f2ff;--brand-ring:#0a6cff40;--ink:#0b1240;--muted:#56648f;--line:#e2e9f5;--font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--shadow-sm:0 1px 2px #0b12400a,0 2px 6px #0b124008;--shadow-md:0 2px 4px #0b12400a,0 10px 24px -6px #0b12401f;--radius:14px}

/* Typography */
body,.orbit-brand strong,.orbit-brand small{font-family:var(--font)}
/* Slightly larger reading text on the account, pricing and info pages (site.css defaults to 15px). */
body{text-rendering:optimizeLegibility}
.container,.auth-layout{font-size:16px}
.panel p{font-size:14px}
h1,h2,h3,.page-title{font-family:var(--font);letter-spacing:-.025em;text-wrap:balance}
h1,.page-title{font-weight:800;letter-spacing:-.035em}
p,.lead{text-wrap:pretty}
.orbit-brand strong{font-weight:800;letter-spacing:-.04em}
.eyebrow,.range-eyebrow{color:var(--brand);letter-spacing:.14em}
/* Word lists keep the system stack so every script renders with a matching native font. */
.words{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans","Noto Sans Ethiopic",sans-serif}

/* Header */
.orbit-header{background:#fff;border-bottom-color:#e8eef8}
.orbit-brand strong span{color:var(--brand)}
.orbit-primary a[aria-current],.orbit-primary a:hover,.orbit-account>a:not(.orbit-signup):hover{color:var(--brand)}
.orbit-primary a[aria-current]:after{background:var(--brand)}
.orbit-account .orbit-signup,.orbit-search form button{background:var(--brand)}
.orbit-account .orbit-signup{border-radius:999px;box-shadow:0 1px 2px #0a6cff33,0 4px 14px -4px #0a6cff80;transition:background .15s,transform .15s,box-shadow .15s}
.orbit-account .orbit-signup:hover{background:var(--brand-deep);transform:translateY(-1px)}

/* Buttons */
.button{border-radius:10px;font-weight:650;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s,filter .15s}
.button:active{transform:translateY(1px)}
.button:not(.secondary):not(.copy):not(.download):not(:disabled){box-shadow:0 1px 2px #0b124014}
.button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-ring);outline-offset:2px}
.download{background:#12a150;border-color:#12a150}
.download:hover{background:#0e8a44;filter:none}
.outline{border-color:#b9d5ff}

/* Forms: replace the green-grey leftovers from the old theme */
input,select,textarea{border-color:#d3ddec;border-radius:10px;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#b7c7df}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px #0a6cff1f}
input[type=checkbox],input[type=radio]{accent-color:var(--brand);box-shadow:none}
.button.secondary{border-color:#c9daf3}
.flash{background:#eaf7ef;border-color:#bfe5cc;color:#135c33;border-radius:12px}
.flash.error{background:#fff1f0;border-color:#f5c2bd;color:#8a1f16}
.tag{border-radius:999px;padding:3px 10px;background:#f3f6fb}
.tag.published{background:#e3f6ea;border-color:#bfe5cc;color:#135c33}

/* Surfaces */
.panel,.word-panel,.side-card{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.language-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.language-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#c8dcfa}
.language-card .flag{border-radius:6px;box-shadow:0 0 0 1px #0b12400f,0 4px 10px -4px #0b124033}
.word-range-card{transition:transform .2s,box-shadow .2s,border-color .2s}
.word-range-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.alphabet a{border-radius:10px;transition:background .15s,border-color .15s,color .15s}
.alphabet a:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.alphabet .selected,.alphabet .selected:hover{background:var(--brand);border-color:var(--brand);color:#fff}

/* Hero: soft light and a faint dot grid instead of a flat wash */
.hero{background:radial-gradient(900px 420px at 85% 10%,#d6ebff 0,transparent 60%),radial-gradient(700px 380px at 0 100%,#eaf4ff 0,transparent 60%),linear-gradient(180deg,#f5faff,#eef6ff);position:relative}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#0a6cff14 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none}
.hero h1{background:linear-gradient(100deg,var(--ink) 30%,#1b3fa6);-webkit-background-clip:text;background-clip:text;color:transparent}
.bubble{box-shadow:0 10px 24px -8px #0b124040;font-weight:600}
.benefits i{box-shadow:0 8px 18px -8px currentColor,inset 0 0 12px #ffffff38}

/* Footer */
.orbit-footer{background:linear-gradient(180deg,#f7faff,#eef5ff)}
.orbit-footer nav a:hover{color:var(--brand)}

/* Search: type-ahead suggestions, word results and the per-language search box */
.suggest-anchor{position:relative}
.suggest-list{position:absolute;left:0;top:calc(100% + 6px);width:min(100%,460px);min-width:240px;max-height:min(60vh,420px);overflow-y:auto;z-index:40;background:#fff;border:1px solid #d6e3f5;border-radius:12px;box-shadow:0 14px 36px -10px #0b124040;padding:6px;text-align:left}
.suggest-option{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:var(--ink);text-decoration:none!important;font-size:15px;min-height:46px}
.suggest-option:hover,.suggest-option[aria-selected=true]{background:var(--brand-soft);color:var(--ink)}
.suggest-main{font-weight:600;overflow-wrap:anywhere}
.suggest-detail{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.suggest-main mark{background:none;color:var(--brand);font-weight:800}
.suggest-heading{padding:10px 12px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.suggest-flag{flex:none;width:28px;height:21px;border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px #0b124014;display:inline-grid;place-items:center;font-size:10px;font-weight:700;background:var(--brand-soft);color:var(--brand)}
.suggest-all{display:block;width:100%;margin-top:4px;padding:10px 12px;border:0;border-top:1px solid var(--line);border-radius:0 0 8px 8px;background:none;color:var(--brand);font:inherit;font-size:14px;font-weight:650;text-align:left;cursor:pointer}
.suggest-all:hover{background:var(--brand-soft)}
.word-results:empty{display:none}
.word-results{margin:0 0 26px}
.word-results h3{font-size:18px;margin:0 0 12px}
.word-results-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.word-result{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column;gap:12px}
.word-result header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.word-result header strong{font-size:16px}
.word-result header span{font-size:13px;color:var(--muted)}
.word-chips{display:flex;flex-wrap:wrap;gap:6px}
.word-chips a{padding:5px 11px;border-radius:999px;background:var(--brand-soft);color:#0b3f99;font-size:15px;text-decoration:none}
.word-chips a:hover{background:#d6e8ff}
.word-result .see-all{font-size:14px;font-weight:650;margin-top:auto}
.language-search{display:flex;gap:8px;align-items:center;max-width:620px;margin:0 0 18px}
.language-search input{flex:1;min-width:0;font-size:16px;padding:11px 14px;background:#fff}
.language-search .clear-search{font-size:14px;white-space:nowrap}
@media(max-width:760px){.word-results-list{grid-template-columns:1fr}.suggest-list{width:100%;min-width:0}.language-search .button{padding:10px 14px}}

/* Menu search: a centred panel on desktop, full screen on phones */
.orbit-search .orbit-search-panel{position:fixed;top:84px;left:50%;right:auto;transform:translateX(-50%);width:min(680px,calc(100vw - 32px));padding:14px;background:#fff;border:1px solid #dfe8f6;border-radius:18px;box-shadow:0 24px 60px -12px #0b124045;z-index:2}
.orbit-search[open] summary::before{content:"";position:fixed;inset:0;background:#0b12402e;z-index:1;cursor:default}
.orbit-search .orbit-search-field{display:flex;align-items:center;gap:10px;height:56px;padding:0 8px 0 16px;border:1.5px solid #cfdcf0;border-radius:12px;background:#f7faff;overflow:visible;transition:border-color .15s,box-shadow .15s}
.orbit-search .orbit-search-field:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px #0a6cff1f}
.orbit-search .orbit-search-icon{flex:none;color:var(--brand)}
.orbit-search .orbit-search-field input{flex:1;height:100%;border:0;background:transparent;padding:0;font-size:18px;color:var(--ink);box-shadow:none;outline:0}
.orbit-search .orbit-search-field input::-webkit-search-cancel-button{display:none}
.orbit-search .orbit-search-close{flex:none;display:inline-flex;align-items:center;height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}
.orbit-search .orbit-search-close:hover{background:#eef3fb;color:var(--ink)}
.orbit-search-hint{margin:10px 4px 2px;font-size:12px;color:var(--muted)}
.orbit-search-hint kbd{display:inline-block;min-width:20px;padding:1px 5px;margin-right:2px;border:1px solid #d6e0ee;border-bottom-width:2px;border-radius:5px;background:#f7faff;font:600 11px/1.4 var(--font);text-align:center;color:var(--ink)}
.orbit-search .suggest-list.suggest-panel{display:block;position:static;width:auto;min-width:0;max-height:min(60vh,520px);overflow-x:hidden;overflow-y:auto;margin:10px 0 0;padding:6px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.orbit-search .suggest-list.suggest-panel[hidden]{display:none}
.orbit-search .suggest-all{display:block;width:100%;background:none;color:var(--brand);padding:12px;border-radius:10px;border-top:0;margin-top:2px}
.orbit-search .suggest-all:hover{background:var(--brand-soft)}
@media(max-width:760px){
  .orbit-search .orbit-search-panel{inset:0;top:0;left:0;transform:none;width:100%;height:100%;height:100dvh;border:0;border-radius:0;padding:12px 16px;display:flex;flex-direction:column}
  .orbit-search .suggest-list.suggest-panel{flex:1;max-height:none}
  .orbit-search-hint{display:none}
  .orbit-search .orbit-search-field{height:52px}
  html.search-open,html.search-open body{overflow:hidden}
}

/* Phones */
@media(max-width:760px){
  .orbit-header-inner{padding:10px 0 4px;row-gap:6px}
  .orbit-brand small{display:none}
  .orbit-brand img{width:38px;height:38px}
  .orbit-brand strong{font-size:27px}
  .orbit-search summary{width:40px;height:40px}
  .orbit-primary{gap:4px;margin-left:-10px}
  .orbit-primary a{font-size:14px;padding:12px 10px;min-height:44px;display:inline-flex;align-items:center}
  .orbit-primary a[aria-current]:after{left:10px;right:10px;bottom:4px}
  .orbit-account{font-size:14px;gap:6px}
  .orbit-account>a:not(.orbit-signup),.orbit-signout{padding:12px 6px;min-height:44px;display:inline-flex;align-items:center}
  .orbit-account .orbit-signup{padding:9px 14px;min-height:40px;border-radius:999px}
  .orbit-search input{font-size:16px}
  input,select,textarea{font-size:16px}
  .button{min-height:44px}
  .hero-inner{padding-top:28px;padding-bottom:28px}
  .benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
  .benefits>div{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 10px;background:#ffffffb3;border:1px solid #dbe8fb;border-radius:12px}
  .benefits i{width:36px;height:36px;font-size:19px}
  .benefits b{font-size:13px;line-height:1.3}
  .benefits small{font-size:12px;line-height:1.35}
  .hero h1,h1{letter-spacing:-.03em}
  .language-card{padding:16px 10px 12px}
  .language-card .outline{min-height:40px;align-items:center}
  .alphabet a{min-height:44px}
  .extra-letters a{display:inline-block;padding:8px 0}
  .words{font-size:17px}
  .panel{border-radius:12px}
  .lead{font-size:16px}
  .container,.auth-layout{font-size:16px}
}
@media(max-width:380px){
  .orbit-primary{gap:0}
  .orbit-primary a{padding:12px 8px;font-size:13px}
  .orbit-account{font-size:13px}
  .orbit-account .orbit-signup{padding:8px 11px}
}
@media(max-width:420px){
  .orbit-header-inner:has(.orbit-account form) .orbit-primary{grid-column:1/-1}
  .orbit-account:has(form){grid-column:1/-1;grid-row:3;justify-self:stretch;max-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:4px;margin-left:-6px;border-top:1px solid #edf2fa;padding-top:2px}
  .orbit-account:has(form) form{flex-basis:auto;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.language-card:hover,.word-range-card:hover,.orbit-account .orbit-signup:hover{transform:none}}
