
:root {
	--wsd-accent: #e8a13a;
	--wsd-line: rgba(128, 128, 128, 0.28);
	--wsd-soft: rgba(128, 128, 128, 0.10);
}
.wsd-hero { margin: 0 0 2rem; }
.wsd-searchwrap { position: relative; max-width: 720px; margin: 0 auto; }
.wsd-searchwrap::before {
	content: ""; position: absolute; left: 1.05rem; top: 50%; width: 20px; height: 20px;
	transform: translateY(-50%); pointer-events: none; opacity: 0.55;
	background: currentColor;
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.5" y2="16.5"/></svg>') center / contain no-repeat;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.5" y2="16.5"/></svg>') center / contain no-repeat;
}
.wsd-hero .wsd-searchwrap input.wsd-input {
	width: 100%; box-sizing: border-box;
	padding: 1rem 1.15rem 1rem 2.9rem; font-size: 1.08rem; font-family: inherit;
	border: 1.5px solid var(--wsd-line); border-radius: 14px;
	background: var(--wsd-input-bg, rgba(255, 255, 255, 0.05));
	color: inherit; outline: none; box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.wsd-hero .wsd-searchwrap input.wsd-input::placeholder { color: inherit; opacity: 0.45; }
.wsd-hero .wsd-searchwrap input.wsd-input:focus {
	border-color: var(--wsd-accent);
	background: var(--wsd-input-bg-focus, rgba(255, 255, 255, 0.07));
	box-shadow: 0 0 0 3px rgba(232, 161, 58, 0.18);
}
.wsd-results {
	position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 40;
	display: none; border: 1px solid var(--wsd-line); border-radius: 14px;
	background: var(--wsd-panel, #151b2b); color: inherit;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45); overflow: hidden;
}
.wsd-results.is-open { display: block; }
.wsd-result, .wsd-suggest {
	display: block; width: 100%; text-align: left; box-sizing: border-box;
	padding: 0.75rem 1.05rem; border: 0; border-bottom: 1px solid var(--wsd-soft);
	background: transparent; color: inherit; cursor: pointer; font: inherit;
	text-decoration: none;
}
.wsd-result:last-child, .wsd-suggest:last-child { border-bottom: 0; }
.wsd-result:hover, .wsd-suggest:hover { background: var(--wsd-soft); }
.wsd-result strong { color: var(--wsd-accent); letter-spacing: 0.05em; }
.wsd-result small { display: block; opacity: 0.8; margin-top: 3px; }
.wsd-card-word { cursor: default; }
.wsd-card-word:hover { background: transparent; }
.wsd-cdef { display: block; margin-top: 5px; opacity: 0.92; font-style: italic; }
.wsd-cstat { display: block; margin-top: 4px; opacity: 0.75; font-size: 0.88em; }
.wsd-lvlgroup { padding: 0.55rem 1.05rem 0.7rem; border-bottom: 1px solid var(--wsd-soft); }
.wsd-lvlgroup:last-child { border-bottom: 0; }
.wsd-lvllabel { display: block; font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; opacity: 0.6; margin: 0 0 6px; }
.wsd-lvls { display: flex; flex-wrap: wrap; gap: 6px; max-height: 132px; overflow-y: auto; }
.wsd-lvl {
	display: inline-block; padding: 0.18rem 0.55rem; border-radius: 8px;
	border: 1px solid var(--wsd-line); text-decoration: none; color: inherit;
	font-size: 0.86rem; line-height: 1.4;
}
.wsd-lvl:hover { border-color: var(--wsd-accent); color: var(--wsd-accent); }
.wsd-cards {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
	max-width: 860px; margin: 1.1rem auto 0;
}
.wsd-card {
	display: block; padding: 0.95rem 1.05rem; border: 1px solid var(--wsd-line);
	border-radius: 12px; text-decoration: none; color: inherit;
	transition: border-color 0.15s ease, transform 0.15s ease;
}
.wsd-card:hover { border-color: var(--wsd-accent); transform: translateY(-2px); }
.wsd-card-title { display: block; font-weight: 700; }
.wsd-card-sub { display: block; font-size: 0.85rem; opacity: 0.75; margin-top: 3px; }
@media (max-width: 640px) { .wsd-cards { grid-template-columns: 1fr; } }
.wsd-band {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
	margin: 1.5rem 0;
}
.wsd-band > div {
	border: 1px solid var(--wsd-line); border-radius: 12px;
	padding: 0.85rem 1rem; text-align: center;
}
.wsd-band > div strong { display: block; font-size: 1.5rem; color: var(--wsd-accent); }
.wsd-band > div span { font-size: 0.85rem; opacity: 0.8; }
@media (max-width: 640px) { .wsd-band { grid-template-columns: repeat(2, 1fr); } }
.wsd-table { width: 100%; border-collapse: collapse; margin: 1.2rem 0; }
.wsd-table th, .wsd-table td {
	padding: 0.55rem 0.7rem; border-bottom: 1px solid var(--wsd-soft); text-align: left;
}
.wsd-table th { border-bottom: 2px solid var(--wsd-line); }
.wsd-table td:last-child, .wsd-table th:last-child { text-align: right; }
.wsd-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 1rem 0 1.4rem; }
.wsd-chip {
	display: inline-block; padding: 0.3rem 0.65rem; border-radius: 999px;
	border: 1px solid var(--wsd-line); background: transparent; color: inherit;
	font: inherit; font-size: 0.88rem; letter-spacing: 0.04em;
	text-decoration: none; cursor: pointer;
}
.wsd-chip:hover { border-color: var(--wsd-accent); color: var(--wsd-accent); }
.wsd-letternav { display: flex; flex-wrap: wrap; gap: 6px; margin: 1rem 0; }
.wsd-letternav a {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 34px; height: 34px; border: 1px solid var(--wsd-line);
	border-radius: 8px; text-decoration: none; color: inherit; font-weight: 700;
}
.wsd-letternav a:hover { border-color: var(--wsd-accent); color: var(--wsd-accent); }
.wsd-letter { border: 1px solid var(--wsd-line); border-radius: 12px; margin: 0 0 10px; }
.wsd-letter summary {
	display: flex; align-items: center; gap: 12px; cursor: pointer;
	padding: 0.75rem 1rem; list-style: none;
}
.wsd-letter summary::-webkit-details-marker { display: none; }
.wsd-letter-mark { font-size: 1.25rem; font-weight: 800; color: var(--wsd-accent); }
.wsd-letter-count { font-size: 0.85rem; opacity: 0.7; }
.wsd-entry { padding: 0.8rem 1rem 0.9rem; border-top: 1px solid var(--wsd-soft); }
.wsd-entry.wsd-flash { animation: wsdflash 1.6s ease 1; }
@keyframes wsdflash {
	0% { background: rgba(232, 161, 58, 0.28); }
	100% { background: transparent; }
}
.wsd-word { margin: 0 0 0.25rem; font-size: 1.05rem; letter-spacing: 0.06em; }
.wsd-def { margin: 0 0 0.3rem; }
.wsd-stat { margin: 0; font-size: 0.88rem; opacity: 0.8; }
.wsd-stat a { color: var(--wsd-accent); }
.wsd-ixgroup { padding: 0.75rem 1rem 0.85rem; border-top: 1px solid var(--wsd-soft); }
.wsd-ixlabel { display: block; font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; opacity: 0.6; margin: 0 0 6px; }
.wsd-ixblock { margin: 0; font-size: 0.92rem; line-height: 2; opacity: 0.9; word-spacing: 0.4em; }
.wsd-ixw { cursor: pointer; }
.wsd-ixw:hover { color: var(--wsd-accent); }
.wsd-toc { font-size: 0.92rem; opacity: 0.85; line-height: 1.9; }
.wsd-toc a { text-decoration: none; color: var(--wsd-accent); }
.wsd-toc a:hover { text-decoration: underline; }
