:root{--bg:#fff8ec;--card:#fff;--ink:#241a12;--muted:#84776b;--line:#f0e3cf;--accent:#ff9f1c;--accent-2:#2ec4b6;--shadow:0 2px 0 var(--line), 0 10px 24px #241a120f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Rubik,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#17120d;--card:#211a13;--ink:#f6ecdf;--muted:#a8998a;--line:#33291f;--shadow:0 2px 0 #0e0b08;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}a{color:var(--accent)}button{font:inherit;color:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{width:min(1100px,100% - 32px);margin-inline:auto;padding-bottom:32px}.hero{text-align:center;padding-block:48px 20px}.hero h1{letter-spacing:-.03em;margin:0;font-size:clamp(2.6rem,8vw,4.4rem);font-weight:800}.hero p{color:var(--muted);font-size:1.1rem}.search{border:2px solid var(--line);background:var(--card);max-width:620px;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;margin:20px auto 0;padding:6px 16px;display:flex}.search:focus-within{border-color:var(--accent)}.search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:10px 0;font-size:1.05rem}.count{color:var(--muted);white-space:nowrap;font-size:14px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 24px;display:flex}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tab,.fav-toggle{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;padding:7px 14px;font-weight:500}.tab.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.tab-count{opacity:.6;font-size:13px}.fav-toggle.on{background:var(--accent);border-color:var(--accent);color:#241a12}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;transition:transform .2s;animation:.3s both pop;display:flex}.card:hover{transform:translateY(-4px)rotate(-.4deg)}.card-main{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:20px 20px 0 0;flex:1;gap:4px;padding:18px 18px 8px;display:grid}.glyph{font-size:3rem;line-height:1.1;transition:transform .2s}.card:hover .glyph{transform:scale(1.15)rotate(-6deg)}.name{font-weight:700}.meaning{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.card-actions{gap:6px;padding:10px 14px 14px;display:flex}.card-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;padding:6px 12px;font-size:14px}.card-actions button:hover{border-color:var(--accent-2)}.fav{margin-left:auto;font-size:1.1rem!important}.fav.on{color:var(--accent);border-color:var(--accent)!important}.empty{text-align:center;color:var(--muted);padding:48px}.detail{background:var(--card);width:min(440px,100% - 32px);color:var(--ink);border:0;border-radius:24px;padding:0;box-shadow:0 30px 80px #0000004d}.detail::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#241a1273}.detail-body{text-align:center;padding:28px}.detail-glyph{margin:0;font-size:5rem;line-height:1}.detail h2{margin:8px 0}.detail dl{text-align:left;grid-template-columns:auto 1fr;gap:6px 12px;font-size:14px;display:grid}.detail dt{color:var(--muted)}.detail dd{margin:0}.detail-actions{justify-content:center;gap:8px;margin-top:16px;display:flex}.detail-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:12px;padding:10px 18px}.detail-actions .primary{background:var(--accent);border-color:var(--accent);color:#241a12;font-weight:700}.toast{background:var(--ink);color:var(--bg);opacity:0;border-radius:999px;padding:10px 18px;font-weight:500;transition:transform .25s,opacity .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,150%)}.toast.show{opacity:1;transform:translate(-50%)}:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.footer{text-align:center;color:var(--muted);margin-top:40px;font-size:14px}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
