/* TW Dictionary website: the app's look. Navy #0E1C44 header, white pages, gold #E8B23A accents,
   Source Serif 4 (English), IBM Plex Sans (UI), Tiro Devanagari Hindi (Hindi). Dark mode uses the app's navy surfaces. */
:root{--paper:#fff;--panel:#F4F5F9;--ink:#0E1C44;--text:#1F2438;--muted:#6B7088;--link:#2E4A8F;--hin:#7A1F2E;
  --gram:#176A5B;--gold:#E8B23A;--rule:#E4E7EE;--rule2:#CDD2DE;--bar:#0E1C44;--field:#fff;--shadow:0 1px 2px rgba(14,28,68,.06),0 4px 16px rgba(14,28,68,.06);
  --ok:#1E7A4B;--bad:#B3261E;--which:#FFF6DC}
@media (prefers-color-scheme:dark){:root{--paper:#0C1430;--panel:#121C3F;--ink:#F3EBD6;--text:#E2DDCF;--muted:#9AA3C4;--link:#F0C45C;
  --hin:#F0A6B1;--gram:#7DD3BF;--rule:#243060;--rule2:#34427A;--bar:#070D24;--field:#182352;--shadow:none;--ok:#5CCB8B;--bad:#F28B82;--which:#2A2A1C}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--paper);color:var(--text);font:18px/1.6 'Source Serif 4',Georgia,serif;-webkit-text-size-adjust:100%}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}
[lang=hi],.hi,.lh{font-family:'Tiro Devanagari Hindi',serif}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}

/* Header (navy, like the app bar) */
.top{background:var(--bar);color:#fff}
.topin{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.brand{display:flex;gap:12px;align-items:center;color:#fff}.brand:hover{text-decoration:none}
.brand img{border-radius:50%}
.brand b{display:block;font:700 26px/1.1 'Source Serif 4',serif;letter-spacing:.2px}
.brand small{display:block;font:500 15px 'IBM Plex Sans',sans-serif;color:var(--gold);margin-top:2px}
.topnav{display:flex;gap:6px;align-items:center;font:500 15px 'IBM Plex Sans',sans-serif}
.topnav a{color:#D6DCEE;padding:8px 12px;border-radius:999px}.topnav a:hover{background:rgba(255,255,255,.08);text-decoration:none;color:#fff}
.topnav .getapp{background:var(--gold);color:#0E1C44;font-weight:600}.topnav .getapp:hover{background:#F2C24E;color:#0E1C44}

/* Search (white field, like the app) */
.searchbar{background:var(--paper);border-bottom:1px solid var(--rule);padding:14px 0}
.search{position:relative;display:flex;align-items:center;max-width:760px;margin:0 auto}
.search svg{position:absolute;left:16px;color:var(--muted);pointer-events:none}
.search input{width:100%;padding:13px 16px 13px 50px;border-radius:14px;border:2px solid var(--rule2);background:var(--field);color:var(--text);
  font:19px 'Source Serif 4',serif;outline:none;-webkit-appearance:none;appearance:none}
.search input:focus{border-color:var(--gold)}
.search input::placeholder{color:#8A90A6}
.search.big input{padding:17px 18px 17px 54px;font-size:20px;border-color:transparent;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.sugg{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--paper);border:1px solid var(--rule);border-radius:14px;z-index:20;overflow:hidden;box-shadow:0 12px 32px rgba(14,28,68,.18);text-align:left}
.sugg a{display:flex;gap:10px;align-items:baseline;padding:10px 16px;color:var(--ink);border-bottom:1px solid var(--rule);font-weight:600}
.sugg a:last-child{border:0}.sugg a.on,.sugg a:hover{background:var(--panel);text-decoration:none}
.sugg i{font-weight:400;color:var(--muted);font-size:15px}
.sugg span{color:var(--hin);font:400 17px 'Tiro Devanagari Hindi',serif;margin-left:auto;text-align:right}

main.wrap{padding-top:8px;padding-bottom:40px}
h1,h2{color:var(--ink)}
.crumbs{font:14px 'IBM Plex Sans',sans-serif;color:var(--muted);margin:14px 0 6px}.crumbs a{color:var(--muted)}

/* Word page layout */
.two{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.entry{min-width:0}
.jumps{position:sticky;top:0;z-index:5;background:var(--paper);display:flex;gap:8px;overflow-x:auto;padding:10px 0;border-bottom:1px solid var(--rule);
  scrollbar-width:none;margin-bottom:6px}
.jumps::-webkit-scrollbar{display:none}
.jumps a{flex:none;background:var(--panel);color:var(--ink);border-radius:999px;padding:6px 16px;font:500 15px 'IBM Plex Sans',sans-serif}
.jumps a:hover{text-decoration:none;background:var(--rule)}
.whead h1{font:700 56px/1.1 'Source Serif 4',serif;margin:18px 0 8px;letter-spacing:-.5px;overflow-wrap:anywhere}
.pron{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 6px}
.ipa{font:400 22px 'Source Serif 4',serif;color:var(--text)}
.say{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--rule2);background:transparent;color:var(--ink);cursor:pointer}
.say:hover{border-color:var(--gold)}
.wpos{font:italic 600 24px 'Source Serif 4',serif;color:var(--link)}
.uch{margin:0 0 6px;font-size:17px;color:var(--muted)}.uch b{color:var(--ink);font-size:21px;margin-left:6px}
.bighi{font-size:32px;line-height:1.35;color:var(--hin);margin:4px 0 12px}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.badge{font:600 16px 'IBM Plex Sans',sans-serif;border:2px solid var(--gold);border-radius:999px;padding:4px 16px;color:var(--link)}
.badge.pyq{background:var(--gold);color:#0E1C44}
.asked{background:var(--panel);border-left:4px solid var(--gold);border-radius:4px 14px 14px 4px;padding:14px 18px;margin:0 0 20px}
.asked h2{font:600 18px 'IBM Plex Sans',sans-serif;color:var(--link);margin:0}
.kinds{font:15px 'IBM Plex Sans',sans-serif;color:var(--muted);margin:2px 0 8px}
.exams{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.exam{font:15px 'IBM Plex Sans',sans-serif;border:1px solid var(--rule2);border-radius:999px;padding:4px 14px;background:var(--paper);color:var(--text)}
.morepyq{display:contents}.morepyq summary{list-style:none;cursor:pointer;font:600 15px 'IBM Plex Sans',sans-serif;color:var(--link);padding:4px 6px}
.morepyq summary::-webkit-details-marker{display:none}.morepyq[open] summary{display:none}

/* Part-of-speech card */
.block{border:1px solid var(--rule2);border-radius:18px;margin:0 0 18px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}
.bhead{background:var(--panel);border-bottom:1px solid var(--rule2);padding:12px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pos{background:var(--bar);color:#fff;border-radius:999px;padding:3px 20px;font:italic 700 22px 'Source Serif 4',serif}
.bmeta{font:15px 'IBM Plex Sans',sans-serif;color:var(--muted)}
.senses{list-style:none;margin:0;padding:0}
.sense{display:flex;gap:14px;padding:18px 22px;border-bottom:1px solid var(--rule)}.sense:last-child{border:0}
.num{flex:none;width:30px;height:30px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:600 15px 'IBM Plex Sans',sans-serif;color:var(--ink);margin-top:2px}
.sb{min-width:0;flex:1}
.sb p{margin:0}
.gram{font:15px 'IBM Plex Sans',sans-serif;margin-bottom:2px!important}
.gcode{color:var(--gram);font-weight:600}.gpat{color:var(--ink);font-weight:600}.glb{color:var(--muted);font-style:italic;margin-left:4px}
.def{font-size:20px;line-height:1.55;color:var(--text)}
.shi{font-size:20px;color:var(--hin);margin-top:2px!important}
.ex{background:var(--panel);border-left:4px solid var(--gold);border-radius:4px 14px 14px 4px;padding:8px 18px;margin:12px 0 4px}
.ex ul{list-style:none;margin:0;padding:0}
.ex li{font-style:italic;position:relative;padding:4px 0 4px 22px;color:var(--text)}
.ex li:before{content:'';position:absolute;left:2px;top:.85em;width:7px;height:7px;border-radius:50%;background:var(--link)}
.more summary{list-style:none;cursor:pointer;font:600 16px 'IBM Plex Sans',sans-serif;color:var(--link);padding:4px 0}
.more summary::-webkit-details-marker{display:none}.more[open] summary{display:none}
.rel{line-height:2.3;margin-top:8px!important}.rel b{font:600 14px 'IBM Plex Sans',sans-serif;color:var(--muted);margin-right:6px}
.chip{display:inline-block;border:1px solid var(--gold);border-radius:10px;padding:1px 12px;margin:2px 2px;line-height:1.6;color:var(--link)}
.chip:hover{background:var(--panel);text-decoration:none}.chip.off{border-color:var(--rule2);color:var(--muted)}
.xref{font-weight:700;color:var(--link)}.xref.off{color:var(--ink)}

/* Closed add-on boxes (like the app's dropdowns) */
.drop{border:1px solid var(--rule2);border-radius:14px;margin:12px 0;background:var(--paper);box-shadow:var(--shadow)}
.drop.which{border-color:var(--gold)}.drop.which>summary{background:var(--which);border-radius:14px}
.drop>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:16px 20px;font:600 18px 'IBM Plex Sans',sans-serif;color:var(--ink)}
.drop>summary::-webkit-details-marker{display:none}
.drop .ic{width:22px;text-align:center;color:var(--link);font-weight:700}
.drop .dt{flex:1}.count{color:var(--muted);font-weight:500;margin-left:6px}
.chev{width:10px;height:10px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(-45deg);margin-right:6px;transition:transform .15s}
.drop[open] .chev{transform:rotate(45deg)}
.drop[open]>summary{border-bottom:1px solid var(--rule)}
.dbody{padding:4px 22px 12px}
.row{padding:12px 0;border-bottom:1px solid var(--rule)}.row:last-child{border:0}
.row p{margin:2px 0}.row .ex{margin-top:8px}
.rh{font:600 18px 'IBM Plex Sans',sans-serif;color:var(--ink)}.rh.gold{color:var(--link)}
.cw{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0!important}.cw span{background:var(--panel);border:1px solid var(--rule);border-radius:8px;padding:1px 10px;font-size:16px;color:var(--ink)}
.no{color:var(--bad)}.ok{color:var(--ok);font-weight:600}
.lab{font:600 14px 'IBM Plex Sans',sans-serif;color:var(--muted);margin:10px 0 0!important;text-transform:uppercase;letter-spacing:.6px}
.fams{display:flex;flex-wrap:wrap;gap:6px 22px}.fams i{color:var(--muted)}
.syll{font:700 30px 'Source Serif 4',serif;color:var(--ink);letter-spacing:1px}.syll .alt{color:var(--link)}
.pn{display:flex;justify-content:space-between;font:500 16px 'IBM Plex Sans',sans-serif;margin:26px 0 0;padding-top:16px;border-top:1px solid var(--rule)}

/* Sidebar */
.side{position:sticky;top:16px;margin-top:22px;display:grid;gap:18px}
.appcard{background:linear-gradient(160deg,#1B2C66,#0E1C44 60%);color:#D6DCEE;border-radius:18px;padding:22px 20px 20px;position:relative;overflow:hidden}
.appcard img{float:right;width:110px;height:auto;margin:-6px -8px 0 6px}
.ak{display:inline-block;background:var(--gold);color:#0E1C44;font:700 12px 'IBM Plex Sans',sans-serif;letter-spacing:1.5px;border-radius:999px;padding:3px 10px;margin:0 0 10px}
.appcard b{display:block;color:#fff;font:700 21px/1.25 'Source Serif 4',serif}
.appcard p{font-size:15px;margin:8px 0 14px;clear:none}
.playbtn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#0E1C44;font:600 16px 'IBM Plex Sans',sans-serif;padding:11px 18px;border-radius:999px;clear:both}
.playbtn:hover{text-decoration:none;background:#F2C24E}
.nearby h2{font:600 16px 'IBM Plex Sans',sans-serif;color:var(--muted);margin:0 0 6px}
.nearby .lrow{padding:8px 4px}.nearby .lw b{font-size:18px}.nearby .lh{font-size:16px}

/* Dictionary list rows (like the app's list) */
.list{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.lrow{display:grid;grid-template-columns:1fr auto;align-items:center;padding:12px 6px;border-bottom:1px solid var(--rule);color:var(--text)}
.lrow:hover{background:var(--panel);text-decoration:none}
.lw b{font:700 21px 'Source Serif 4',serif;color:var(--ink)}.lw i{color:var(--muted);font-size:16px}
.lh{grid-column:1/-1;color:var(--hin);font-size:18px;line-height:1.4}
.pyp{font:600 13px 'IBM Plex Sans',sans-serif;color:var(--link);border:2px solid var(--gold);border-radius:999px;padding:1px 10px}
.ptitle{font:700 40px/1.15 'Source Serif 4',serif;margin:22px 0 4px}
.psub{font:16px 'IBM Plex Sans',sans-serif;color:var(--muted);margin:0 0 16px}
.az{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px;margin:10px 0 18px}
.az a{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bar);color:var(--gold);border-radius:12px;padding:10px 0;min-height:54px}
.az a b{font:700 20px 'IBM Plex Sans',sans-serif}.az a small{font:500 11px 'IBM Plex Sans',sans-serif;color:#AEB7D6}
.az a:hover{text-decoration:none;background:#1B2C66}.az a.on{background:var(--gold);color:#0E1C44}.az a.on small{color:#0E1C44}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;font:600 15px 'IBM Plex Sans',sans-serif}
.pager a,.pager b{min-width:38px;text-align:center;padding:6px 10px;border-radius:10px;border:1px solid var(--rule2)}
.pager b{background:var(--bar);color:#fff;border-color:var(--bar)}

/* Home */
.hero{position:relative;background:radial-gradient(circle at 75% 30%,#3A4A7E 0,#1B2C66 35%,#0E1C44 75%);color:#fff;border-radius:0 0 28px 28px;
  margin:0 -20px 10px;padding:46px 40px 40px;display:flex;align-items:flex-end;gap:20px;overflow:visible;min-height:420px}
.heroin{flex:1;max-width:640px;position:relative;z-index:2}
.kicker{display:inline-block;background:var(--gold);color:#0E1C44;font:700 15px 'IBM Plex Sans',sans-serif;letter-spacing:2px;border-radius:999px;padding:6px 16px}
.hero h1{color:#fff;font:700 54px/1.1 'Source Serif 4',serif;margin:18px 0 12px}
.lead{color:#F3DFA8;font-size:21px;margin:0 0 24px}
.hero .search{margin:0}
.herobtns{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.herobtns a{border-radius:999px;padding:10px 22px;font:600 16px 'IBM Plex Sans',sans-serif;text-decoration:none}
.herobtns .gold{background:var(--gold);color:#0E1C44}.herobtns .ghost{border:2px solid rgba(255,255,255,.45);color:#fff}
.heroimg{width:330px;height:auto;align-self:flex-end;margin-bottom:-40px}
.sec{font:600 20px 'IBM Plex Sans',sans-serif;color:var(--muted);margin:30px 0 12px;display:flex;justify-content:space-between;align-items:baseline}
.seeall{font-size:16px}
.wotd{background:var(--panel);border-left:6px solid var(--gold);border-radius:6px 18px 18px 6px;padding:22px 28px}
.wotd p{margin:0}.wdate{font:16px 'IBM Plex Sans',sans-serif;color:var(--muted)}
.ww a{font:700 44px 'Source Serif 4',serif;color:var(--ink)}.ww i{font-size:24px;color:var(--link);margin-left:8px}
.wd{font-size:22px}.wh{font-size:24px;color:var(--hin)}.wx{font-style:italic;color:var(--muted);font-size:21px;margin:10px 0 16px!important}
.outline{display:inline-block;border:2px solid var(--rule2);border-radius:999px;padding:8px 22px;font:600 17px 'IBM Plex Sans',sans-serif;color:var(--ink)}
.outline:hover{border-color:var(--gold);text-decoration:none}
.appband{display:flex;align-items:center;gap:22px;background:linear-gradient(120deg,#1B2C66,#0E1C44);color:#D6DCEE;border-radius:20px;padding:20px 26px;margin:34px 0 0}
.appband img{border-radius:50%;width:96px;height:96px;object-fit:cover;border:3px solid var(--gold);flex:none}
.appband div{flex:1}.appband b{color:#fff;font:700 24px 'Source Serif 4',serif}.appband p{margin:4px 0 0;font-size:16px}

footer{background:var(--bar);color:#C9D0E8;margin-top:40px;font:15px 'IBM Plex Sans',sans-serif}
.foot{padding:30px 20px;text-align:center}
.fbrand{display:inline-flex;align-items:center;gap:12px;text-align:left}.fbrand img{border-radius:50%}
.fbrand b{display:block;color:#fff;font:700 22px 'Source Serif 4',serif}.fbrand span{color:var(--gold)}
.tag{font-size:19px;color:#fff;margin:14px 0 2px}.mantra{color:#F3DFA8;font-size:17px;margin:0 0 12px}
.flinks{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 20px;margin:10px 0}.flinks a{color:var(--gold)}
.copy{color:#8E97B8;margin:6px 0 0;font-size:14px}

@media (max-width:980px){.two{grid-template-columns:1fr}.side{position:static}.heroimg{width:240px}}
@media (max-width:760px){
  body{font-size:17px}.wrap{padding:0 16px}
  .topin{min-height:64px}.brand img{width:40px;height:40px}.brand b{font-size:21px}.brand small{font-size:13px}
  .topnav a:not(.getapp):not([href="/dictionary"]){display:none}.topnav a[href="/dictionary"]{padding:7px 8px;font-size:14px}.topnav .getapp{padding:7px 12px;font-size:14px}
  .whead h1{font-size:44px}.bighi{font-size:27px}.def,.shi{font-size:18px}
  .sense{padding:16px 14px;gap:10px}.bhead{padding:10px 14px}.dbody{padding:4px 14px 10px}.drop>summary{padding:14px;gap:12px;font-size:17px}
  .list{grid-template-columns:1fr}
  .hero{margin:0 -16px 10px;padding:30px 20px 0;flex-direction:column;align-items:stretch;min-height:0;border-radius:0 0 22px 22px}
  .hero h1{font-size:38px}.lead{font-size:18px}.heroimg{width:190px;align-self:flex-end;margin:-10px -6px 0 0}
  .ww a{font-size:36px}.wotd{padding:18px 18px}
  .appband{flex-wrap:wrap;padding:18px}.appband img{width:72px;height:72px}
  .ptitle{font-size:32px}
  .search input{font-size:16px;padding-left:44px}.search svg{left:13px}.search.big input{font-size:17px;padding-left:46px}
}

/* Dictionary page: the app's Dictionary tab (search, category chips, word list, A–Z rail) */
.dtools{position:sticky;top:0;z-index:5;background:var(--paper);padding:14px 0 10px;border-bottom:1px solid var(--rule)}
.dsearch{position:relative;display:flex;align-items:center}
.dsearch svg{position:absolute;left:16px;color:var(--muted);pointer-events:none}
.dsearch input{width:100%;box-sizing:border-box;padding:14px 16px 14px 48px;border:2px solid var(--rule2);border-radius:14px;background:var(--paper);color:var(--ink);font:18px 'Source Serif 4',serif}
.dsearch input:focus{outline:none;border-color:var(--ink)}
.chips{display:flex;gap:8px;overflow-x:auto;margin-top:12px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1.5px solid var(--rule2);background:var(--paper);color:var(--ink);border-radius:999px;padding:7px 16px;font:500 15px 'IBM Plex Sans',sans-serif;cursor:pointer}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.dbody{display:grid;grid-template-columns:1fr 30px;gap:6px}
.dlist{display:block}.dlist .lrow{padding:14px 6px}
.rail{position:sticky;top:150px;height:calc(100vh - 170px);max-height:640px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:6px 0}
.rail button{border:0;background:none;color:var(--ink);font:600 13px 'IBM Plex Sans',sans-serif;cursor:pointer;padding:0 6px;line-height:1}
.rail button.on{color:var(--link);font-size:16px}
.dnone{color:var(--muted);padding:24px 6px;font:16px 'IBM Plex Sans',sans-serif}
@media (max-width:760px){.dtools{margin:0 -16px;padding:12px 16px 8px}.dsearch input{font-size:17px}.rail{top:140px;height:calc(100vh - 160px)}}
