:root,:root[data-theme=light]{color-scheme:light;--bg: #f6f8fb;--bg-gradient: radial-gradient(1200px 600px at 50% -10%, #eef3fb 0%, #f6f8fb 55%);--surface: #ffffff;--surface-soft: #f2f5f9;--surface-hover: #eef2f7;--border: #e6eaf0;--border-strong: #d5dbe4;--text: #1b2430;--text-secondary: #5b6675;--text-tertiary: #9aa4b2;--accent: #2f6df6;--accent-soft: rgba(47, 109, 246, .1);--accent-contrast: #ffffff;--star: #f5a623;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .06);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--en-accent: #3763c4}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1419;--bg-gradient: radial-gradient(1200px 600px at 50% -10%, #172230 0%, #0f1419 55%);--surface: #16181c;--surface-soft: #1a1d22;--surface-hover: #1f242b;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #e7e9ea;--text-secondary: #9aa4af;--text-tertiary: #63707d;--accent: #4c9bff;--accent-soft: rgba(76, 155, 255, .14);--accent-contrast: #0b1220;--star: #f5a623;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--en-accent: #8fb0ff}*{box-sizing:border-box;margin:0}html,body{margin:0;min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,sans-serif;background:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased}.dict-app{display:grid;grid-template-columns:380px 1fr;height:100vh}.search-column{display:flex;flex-direction:column;border-right:1px solid var(--border);height:100vh;overflow:hidden;background:var(--surface)}.brand-bar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 6px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),#7aa7ff);display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px;box-shadow:var(--shadow-sm)}.brand-name{font-size:18px;font-weight:700;letter-spacing:.2px}.brand-sub{font-size:12px;color:var(--text-tertiary);margin-top:1px}.theme-toggle{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}.search-input-wrap{padding:12px 16px 10px;position:relative}.search-input{width:100%;padding:12px 40px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface-soft);color:var(--text);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.search-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px var(--accent-soft)}.search-input::placeholder{color:var(--text-tertiary)}.search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search-spinner{position:absolute;right:30px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.result-list{flex:1;overflow-y:auto;padding:4px 10px 14px}.result-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .12s,border-color .12s}.result-item:hover{background:var(--surface-hover)}.result-item.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.result-word{font-weight:650;font-size:15px;grid-column:1;grid-row:1}.result-brief{font-size:13px;color:var(--text-secondary);grid-column:1 / -1;grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-hint{padding:28px 20px;text-align:center;color:var(--text-secondary);font-size:14px;line-height:1.7}.list-hint.error{color:var(--text)}.list-hint .hint-emoji{font-size:26px;display:block;margin-bottom:8px}.retry-btn{margin-top:12px;padding:7px 16px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}.retry-btn:hover{background:var(--accent-soft)}.detail-column{height:100vh;overflow-y:auto;padding:48px 56px}.detail-loading{color:var(--text-secondary);padding:40px 0}.empty-state{max-width:560px;margin:8vh auto 0;text-align:center}.empty-logo{width:64px;height:64px;border-radius:18px;margin:0 auto 20px;background:linear-gradient(135deg,var(--accent),#7aa7ff);display:grid;place-items:center;color:#fff;font-weight:800;font-size:30px;box-shadow:var(--shadow)}.empty-title{font-size:24px;font-weight:750;margin-bottom:8px}.empty-desc{color:var(--text-secondary);font-size:15px;line-height:1.7;margin-bottom:24px}.example-label{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.example-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.example-chip{padding:8px 16px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s,border-color .12s,color .12s}.example-chip:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.detail-error{max-width:480px;margin:12vh auto 0;text-align:center;color:var(--text-secondary)}.detail-error .hint-emoji{font-size:34px;display:block;margin-bottom:12px}.entry-detail{max-width:720px;animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.entry-header{margin-bottom:18px}.entry-word{font-size:40px;font-weight:750;letter-spacing:-.5px;margin-bottom:10px}.entry-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.collins-stars{color:var(--star);font-size:14px;letter-spacing:1px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.oxford{background:var(--accent-soft);color:var(--accent)}.badge.tag{background:var(--surface-soft);color:var(--text-secondary);border:1px solid var(--border)}.phonetic-row{display:flex;gap:12px;margin-bottom:26px;flex-wrap:wrap}.phonetic-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface-soft);padding:8px 14px;border-radius:999px;cursor:pointer;color:var(--text);transition:border-color .12s,background .12s}.phonetic-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.phonetic-speaker{color:var(--accent);flex-shrink:0}.phonetic-label{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase}.phonetic-value{font-size:15px;color:var(--text);font-family:Noto Sans,sans-serif}.entry-section{margin-bottom:26px;padding-top:22px;border-top:1px solid var(--border)}.entry-section h3{font-size:12px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.definition-list{display:grid;gap:8px}.def-item{display:flex;gap:12px;line-height:1.65;font-size:15.5px}.def-item dt{color:var(--accent);font-weight:700;font-size:13px;min-width:26px;padding-top:3px;flex-shrink:0;text-align:right}.def-item dd{margin:0;color:var(--text)}.definition-list.en .def-item dt{color:var(--en-accent)}.definition-list.en .def-item dd{color:var(--text-secondary)}.exchange-list{display:flex;flex-wrap:wrap;gap:10px 24px}.exchange-item{display:flex;align-items:center;gap:8px}.exchange-label{font-size:13px;color:var(--text-secondary)}.exchange-words{display:flex;gap:4px;flex-wrap:wrap}.exchange-link{color:var(--accent);text-decoration:none;font-size:14px;padding:2px 8px;border-radius:6px;transition:background .12s}.exchange-link:hover{background:var(--accent-soft)}.freq-row{display:flex;gap:24px;flex-wrap:wrap}.freq-item{font-size:14px;color:var(--text-secondary)}.freq-item strong{color:var(--text)}@media(max-width:820px){.dict-app{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh}.search-column{height:auto;max-height:46vh;border-right:none;border-bottom:1px solid var(--border)}.detail-column{height:auto;padding:28px 22px}.entry-word{font-size:32px}.empty-state{margin-top:4vh}}
