:root{--paper: #f3ecdf;--ink: #1c3148;--muted: #5c6f82;--card: #fffdf8;--sun: #f2c14e;--sky: #d7ebf8;--leaf: #e3f0cf;--rose: #f8ddd6;--line: #1c3148;--shadow: 4px 4px 0 var(--line);--radius: 18px;color:var(--ink);background:var(--paper);font-family:Nunito,PingFang SC,Hiragino Sans GB,Noto Sans SC,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-image:repeating-linear-gradient(transparent,transparent 31px,rgba(28,49,72,.05) 32px)}button,input,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,p{margin-top:0}h1{font-size:clamp(32px,6vw,48px);line-height:1.15;margin-bottom:16px}h2{font-size:20px;margin-bottom:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.shell{min-height:100vh}.bar{position:sticky;top:0;z-index:10;background:#f3ecdff0;border-bottom:2px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bar-inner{max-width:880px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:12px}.brand{font-weight:800;text-decoration:none;letter-spacing:.02em}.back,.ghost,.primary,.speak,.save,.text-button,.link-button{min-height:44px;border-radius:999px;border:2px solid var(--line);background:var(--card);padding:8px 16px;cursor:pointer;text-decoration:none}.back{background:var(--sun);font-weight:700}.primary,.link-button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;font-weight:700}.ghost{background:transparent}.speak{background:var(--sky);font-weight:700}.save.is-on{background:#f3c1c1}.speak-off{color:var(--muted);font-size:14px}.text-button{margin-left:8px;background:var(--sun);font-weight:700}.app{max-width:880px;margin:0 auto;padding:24px 16px 48px}.kicker{margin-bottom:4px;color:var(--muted);font-weight:700}.kicker a{color:var(--ink)}.lead,.result-count,.footnote,.form-hint{color:var(--muted)}.footnote{margin-top:36px;font-size:14px}.segment{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;margin-bottom:14px;background:#fff;border:2px solid var(--line);border-radius:999px;width:min(100%,360px)}.segment.slim{width:min(100%,240px);margin:0}.segment button{min-height:40px;border:0;border-radius:999px;background:transparent;cursor:pointer;font-weight:700}.segment button.is-on{background:var(--sun)}.search-wrap{position:relative;margin-bottom:18px}.search{display:flex;gap:8px}.search input,.translate-box textarea{width:100%;border:2px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px;box-shadow:var(--shadow)}.search input{min-height:56px;font-size:18px}.search button,.translate-box .primary{flex:none;box-shadow:var(--shadow)}.search button{background:var(--ink);color:#fff;font-weight:700;border-radius:16px}.suggest{position:absolute;z-index:8;left:0;right:88px;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;background:var(--card);border:2px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.suggest button{width:100%;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;text-align:left;border:0;background:transparent;border-radius:12px;padding:8px 10px;cursor:pointer}.suggest button:hover,.suggest button:focus-visible{background:var(--sky)}.suggest-en{font-weight:800}.suggest-ph{color:var(--muted)}.suggest-zh{grid-column:1 / -1}.translate-box{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.translate-box label{font-weight:700}.dir-row,.sample-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sample-row button,.grade-switch a,.letter-grid a{min-height:44px;border:2px solid var(--line);background:var(--card);border-radius:12px;text-decoration:none}.shortcuts,.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 18px}.shortcuts a,.topic-card,.card-grid a{display:flex;flex-direction:column;gap:4px;min-height:96px;padding:14px;text-decoration:none;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.shortcuts a span,.topic-card span,.card-grid small{color:var(--muted)}.topic-animals{background:var(--rose)}.topic-school{background:var(--sky)}.topic-colors{background:var(--sun)}.topic-family{background:var(--leaf)}.topic-food{background:#ffe7c2}.topic-actions{background:#e7e2f8}.today{display:grid;gap:2px;padding:18px;text-decoration:none;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.today-label{display:inline-flex;width:fit-content;padding:2px 8px;border-radius:999px;background:var(--sun);font-size:13px;font-weight:800}.today-en{font-size:clamp(36px,8vw,56px);font-weight:800;letter-spacing:-.03em}.today-ph,.phonetic,.suggest-ph,.word-row-meta{color:var(--muted);font-family:Noto Sans,Segoe UI,sans-serif}.phonetic,.today-ph{font-size:18px}.today-zh,.hero-zh{font-size:28px;font-weight:800}.today-ex.zh,.today-grade{color:var(--muted)}.recent{margin-top:22px}.recent-row,.chip-row,.grade-switch{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.recent-row a,.chip{display:flex;flex-direction:column;flex:none;min-width:112px;padding:10px 12px;text-decoration:none;background:var(--card);border:2px solid var(--line);border-radius:14px}.chip span,.recent-row span{color:var(--muted);font-size:14px}.word-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.word-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"en zh" "meta zh";gap:2px 12px;align-items:center;padding:12px 14px;text-decoration:none;background:var(--card);border:2px solid var(--line);border-radius:16px}.word-row-en{grid-area:en;font-size:22px;font-weight:800}.word-row-meta{grid-area:meta;color:var(--muted);font-size:14px}.word-row-zh{grid-area:zh;justify-self:end;font-weight:700}.dot{margin:0 4px}.notebook-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.notebook-item .word-row{min-width:0}.hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.hero h1{margin-bottom:0}.hero-actions{display:flex;flex-direction:column;gap:8px}.tags,.plain-list,.senses,.examples,.pairs,.tip-list{padding:0}.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.tags li,.pos{display:inline-flex;align-items:center;min-height:32px;padding:2px 10px;border-radius:999px;background:var(--sky);border:2px solid var(--line);font-weight:700}.tags a{text-decoration:none}.senses,.examples,.plain-list{display:flex;flex-direction:column;gap:10px}.senses li,.examples li{list-style:none;padding:12px 14px;background:var(--card);border:2px solid var(--line);border-radius:16px}.examples .zh{color:var(--muted)}.inline-word{color:#0b4f8a;font-weight:800;text-decoration-thickness:2px}.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;margin-bottom:16px}.letter-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;font-weight:800;box-shadow:none}.letter-grid small{color:var(--muted);font-weight:600}.letter-grid a[aria-current=true],.grade-switch a[aria-current=page]{background:var(--sun)}.letter-grid a.has-words{background:var(--card)}.letter-grid a.has-words[aria-current=true]{background:var(--sun)}.grade-switch{margin-bottom:14px}.grade-switch a{display:inline-flex;align-items:center;padding:8px 12px;flex:none}.result-card{padding:16px;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.result-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.source-line{font-size:20px}.output-line{font-size:32px;font-weight:800;margin-bottom:8px}.pairs{list-style:none;display:flex;flex-direction:column;gap:6px;margin:8px 0 12px}.pairs li{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--leaf)}.pairs li.is-unknown{background:transparent;border:2px dashed var(--muted)}.pairs a{font-weight:800}.empty-block{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.empty{color:var(--muted)}.sample-row button{padding:8px 10px;cursor:pointer;box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ef9f27;outline-offset:2px}@media(max-width:640px){.hero{flex-direction:column}.hero-actions{flex-direction:row;flex-wrap:wrap}.search{flex-direction:column}.suggest{right:0}.word-row{grid-template-columns:1fr;grid-template-areas:"en" "zh" "meta"}.word-row-zh{justify-self:start}.shortcuts,.card-grid{grid-template-columns:1fr 1fr}}@media(min-width:800px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
