@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+Khmer:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--bg: #09080f;--s0: rgba(255, 242, 208, .038);--s1: rgba(255, 242, 208, .065);--s2: rgba(255, 242, 208, .1);--line: rgba(201, 168, 76, .18);--line2: rgba(201, 168, 76, .42);--text: #ede0c4;--muted: rgba(237, 224, 196, .48);--gold: #c9a84c;--gold2: #e5cc74;--glow: rgba(201, 168, 76, .12);--shadow: 0 16px 48px rgba(0, 0, 0, .65);--shadow-sm: 0 6px 22px rgba(0, 0, 0, .42);--r-xl: 26px;--r-lg: 20px;--r-md: 14px;--r-sm: 10px;font-family:Inter,Noto Sans Khmer,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);transition:background .3s ease,color .3s ease}[data-theme=light]{color-scheme:light;--bg: #f5f0e8;--s0: rgba(138, 92, 0, .06);--s1: rgba(255, 248, 228, .88);--s2: rgba(255, 248, 228, .98);--line: rgba(138, 92, 0, .15);--line2: rgba(138, 92, 0, .36);--text: #2a1800;--muted: rgba(90, 50, 0, .55);--gold: #7a4a00;--gold2: #5c3600;--glow: rgba(138, 92, 0, .1);--shadow: 0 16px 48px rgba(90, 50, 0, .12);--shadow-sm: 0 6px 22px rgba(90, 50, 0, .08)}[data-theme=light] body{background:radial-gradient(circle at top left,rgba(255,200,80,.14),transparent 28rem),radial-gradient(circle at top right,rgba(180,120,20,.08),transparent 24rem),var(--bg)}[data-theme=light] body:before{background:linear-gradient(90deg,transparent 0%,rgba(138,92,0,.4) 20%,#7a4a00 50%,rgba(138,92,0,.4) 80%,transparent 100%)}[data-theme=light] mark{background:#ffb40059;color:#5c3600}[data-theme=light] .topbar,[data-theme=light] .search-panel,[data-theme=light] .term-card,[data-theme=light] .part-tab,[data-theme=light] .info-card,[data-theme=light] .footer,[data-theme=light] .empty{border-color:var(--line)}[data-theme=light] .fab{background:#f5f0e8eb;color:var(--text);border-color:var(--line)}[data-theme=light] .fab-gold{background:#8a5c001f;color:var(--gold);border-color:var(--gold)}[data-theme=light] .toast{background:#2a1800eb;color:#faf5ec}[data-theme=light] .badge{background:linear-gradient(145deg,#8a5c002e,#8a5c0012);border-color:#8a5c0038;color:var(--gold)}[data-theme=light] .search-field{background:#fffcf0f2}[data-theme=light] .search-field input::placeholder{color:#5a320073}[data-theme=light] .chip{background:#fff8e4bf}[data-theme=light] .meta-item{background:#8a5c000a}[data-theme=light] .card-def{color:#2a1800bf}[data-theme=light] .term-card:before{background:linear-gradient(to bottom,transparent,var(--gold),transparent)}[data-theme=light] .part-tab--active{background:#8a5c0014}[data-theme=light] .term-num{background:#8a5c0014;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(138,92,0,.18);box-shadow:0 4px 16px #0000000f;color:#7a4a00}*,*:before,*:after{box-sizing:border-box;margin:0}body{min-width:320px;overflow-x:hidden;transition:background .3s ease;background:radial-gradient(circle at top left,rgba(0,113,227,.13),transparent 28rem),radial-gradient(circle at top right,rgba(201,168,76,.09),transparent 24rem),var(--bg)}body:before{content:"";position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(201,168,76,.5) 20%,#c9a84c 50%,rgba(201,168,76,.5) 80%,transparent 100%);z-index:9999;pointer-events:none}button{cursor:pointer;font:inherit}a{color:inherit;text-decoration:none}mark{padding:0 .14em;border-radius:.2em;background:#c9a84c59;color:var(--gold2)}#bg-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}.shell{position:relative;z-index:1;width:min(1160px,calc(100% - 22px));margin:0 auto;padding:22px 0 80px;display:grid;gap:12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--s1);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);box-shadow:var(--shadow-sm)}.brand{display:flex;align-items:center;gap:12px}.brand-gem{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#a07828,#c9a84c,#e5cc74);color:#0a0c14;font-size:1.1rem;font-weight:900;box-shadow:0 4px 18px #c9a84c61}.brand-text h1{font-size:1.05rem;font-weight:800;line-height:1.2;white-space:nowrap}.brand-text h1 em{font-style:normal;color:var(--gold)}.topbar-end{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--s1);color:var(--text);font-size:.86rem;font-weight:700;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px);background:var(--s2)}.btn-gold{border-color:var(--gold);background:var(--glow);color:var(--gold2)}.btn-gold:hover{background:#c9a84c38;box-shadow:0 4px 16px #c9a84c38}.btn-icon{width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center}.part-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.part-tab{display:grid;grid-template-rows:auto auto auto;align-items:start;gap:5px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--s0);text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .15s ease;cursor:pointer}.part-tab:hover{background:var(--s1);transform:translateY(-1px)}.part-tab--active{border-color:var(--gold);background:var(--glow);box-shadow:0 0 0 1px #c9a84c1f,inset 0 1px #c9a84c1a}.part-tab__tag{display:inline-flex;align-items:center;align-self:start;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--s1);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;width:fit-content}.part-tab--active .part-tab__tag{border-color:var(--gold);background:#c9a84c24;color:var(--gold2)}.part-tab__lang{font-size:1.35rem;font-weight:800;line-height:1.2;color:var(--text);letter-spacing:-.02em}.part-tab--active .part-tab__lang{color:var(--gold2)}.part-tab__count{color:var(--muted);font-size:.82rem;font-weight:600}.search-panel{position:sticky;top:10px;z-index:20;padding:14px;border:1px solid var(--line);border-radius:var(--r-xl);background:#09080fd6;backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%);box-shadow:var(--shadow-sm);transition:padding .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease}.search-panel--collapsed{padding:8px 12px;background:#09080f80;border-color:#c9a84c29;box-shadow:0 8px 24px #00000059}[data-theme=light] .search-panel--collapsed{background:#f5f0e8b8;border-color:#8a5c0024;box-shadow:0 8px 24px #5a320014}.search-panel--collapsed .search-field{min-height:42px;padding:0 10px 0 14px;background:#fff2d00a;border-color:#c9a84c2e}.search-panel--collapsed .search-field input{font-size:.92rem}.search-panel--collapsed .search-icon{width:16px;height:16px}.filter-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:12px;max-height:120px;overflow:hidden;transition:opacity .22s ease,max-height .22s ease,margin-top .22s ease,padding-top .22s ease,padding-bottom .22s ease}.search-panel--collapsed .filter-row{opacity:0;pointer-events:none;max-height:0;margin-top:0;padding-top:0;padding-bottom:0}.search-field{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;min-height:52px;padding:0 12px 0 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--s0);cursor:text;transition:border-color .2s ease,box-shadow .2s ease}.search-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--glow)}.search-icon{width:18px;height:18px;color:var(--muted)}.search-field input{width:100%;height:100%;border:0;outline:none;background:transparent;color:var(--text);font:inherit;font-size:.98rem}.search-field input::placeholder{color:#ede0c44d}.clear-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:var(--s1);color:var(--muted);font-size:.82rem;transition:background .15s ease,color .15s ease}.clear-btn:hover{background:var(--glow);color:var(--gold)}.clear-btn[hidden]{display:none}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{min-height:30px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--s0);color:var(--muted);font-family:Noto Sans Khmer,Inter,sans-serif;font-size:.86rem;font-weight:700;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.chip:hover{transform:translateY(-1px);background:var(--s1)}.chip-active{border-color:var(--gold);background:var(--glow);color:var(--gold2)}.status-line{flex:0 0 auto;margin-top:6px;color:var(--muted);font-size:.82rem;font-weight:600;text-align:right;line-height:1.4;white-space:nowrap}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.term-card{position:relative;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--s1);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease}.term-card:hover{border-color:var(--line2);box-shadow:0 10px 36px #0000008c,0 0 0 1px #c9a84c1a}.term-card:before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(to bottom,transparent,var(--gold),transparent);opacity:.42;transition:opacity .2s ease}.term-card:hover:before{opacity:.9}.card-top{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:start}.badge{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#c9a84c38,#c9a84c14);border:1px solid rgba(201,168,76,.28);color:var(--gold2);font-family:Noto Sans Khmer,sans-serif;font-size:1.1rem;font-weight:800;flex-shrink:0}.card-titles h2{font-family:Noto Sans Khmer,Inter,sans-serif;font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:700;line-height:1.45}.card-sub{margin-top:5px;color:var(--muted);font-size:.9rem;line-height:1.4}.card-btns{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}.term-num{padding:2px 8px;background:#ffffff1f;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 16px #0000001f;border-radius:999px;color:#c9a84c;font-size:.65rem;font-weight:800}.sm-btn{min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--s1);color:var(--muted);font-size:.78rem;font-weight:700;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.sm-btn:hover{transform:translateY(-1px);background:var(--s2);color:var(--text)}.sm-btn-gold{border-color:#c9a84c66;background:var(--glow);color:var(--gold2)}.sm-btn-gold:hover{background:#c9a84c38}.card-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.card-meta--p2{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-item{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--s0)}.meta-item span{display:block;color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.meta-item strong{display:block;margin-top:5px;font-family:Noto Sans Khmer,Inter,sans-serif;font-size:.9rem;font-weight:700;line-height:1.4}.card-def{margin-top:14px;font-family:Noto Sans Khmer,Inter,sans-serif;font-size:.95rem;line-height:1.85;color:#ede0c4bf}.empty{grid-column:1 / -1;padding:42px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--s0);text-align:center}.empty-eyebrow{color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.empty h3{font-size:1.4rem}.empty p{max-width:440px;margin:10px auto 0;color:var(--muted);line-height:1.65}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--s0);color:var(--muted);font-size:.84rem}.footer a{color:var(--gold);font-weight:700}.footer a:hover{color:var(--gold2)}.about-card{padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--s0)}.about-card__title{color:var(--gold);font-size:.82rem;font-weight:800;letter-spacing:.06em;margin-bottom:12px}.about-card__text{color:var(--text);font-size:.92rem;line-height:1.7;margin-bottom:8px}.about-card__text:last-child{margin-bottom:0}.about-card__text--muted{color:var(--muted)}.about-card__text a{color:var(--gold2);font-weight:700;text-decoration:underline;text-decoration-color:#c9a84c4d;text-underline-offset:3px}.about-card__text a:hover{color:var(--gold);text-decoration-color:var(--gold)}.fabs{position:fixed;right:16px;bottom:18px;z-index:50;display:grid;gap:8px}.fab{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:15px;background:#09080fe0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text);font-size:1rem;font-weight:800;box-shadow:var(--shadow-sm);transition:transform .15s ease,border-color .15s ease,background .15s ease}.fab:hover{transform:translateY(-2px);border-color:var(--line2)}.fab-gold{border-color:var(--gold);background:#c9a84c1f;color:var(--gold2)}.fab-gold:hover{background:#c9a84c38;box-shadow:0 8px 28px #c9a84c40}.toast{position:fixed;left:50%;bottom:24px;z-index:100;padding:11px 20px;border:1px solid var(--line);border-radius:999px;background:#0f0e16f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--text);font-size:.88rem;font-weight:600;white-space:nowrap;transform:translate(-50%,14px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.toast-show{opacity:1;transform:translate(-50%)}@media(max-width:900px){.results-grid{grid-template-columns:1fr}}@media(max-width:640px){.shell{padding-top:12px}.topbar{flex-wrap:wrap}.topbar-end{width:100%}.part-tab{padding:14px 16px}.part-tab__lang{font-size:1.1rem}.filter-row{flex-direction:column}.status-line{text-align:left;margin-top:4px}.card-top{grid-template-columns:42px 1fr}.card-btns{grid-column:1 / -1;justify-content:flex-start}.card-meta,.card-meta--p2{grid-template-columns:1fr 1fr}.fabs{right:10px;bottom:10px}}
