/* Shared bento surfaces and rounded controls for the public dictionary. */
:root { --rose-surface:#f2e7ec; --rose-ink:#552139; }
[data-theme="dark"] { --rose-surface:#352630; --rose-ink:#f4d8e2; }
.navbar-nyt .nav-link, .navbar.navbar-nyt .nav-link.language-dropdown,
.navbar.navbar-nyt .nav-link.btn-login, .navbar-nyt .navbar-toggler { border-radius:999px !important; }
.navbar-nyt, .navbar-nyt .navbar-collapse { border:0 !important; }
.navbar-nyt .navbar-nav { gap:10px !important; }
.global-search-bar { padding:14px 0; border:0; }
.global-search-form { max-width:900px; gap:10px; }
.global-search-form input { border-radius:999px; min-height:52px; padding:14px 22px; border:0; box-shadow:inset 0 0 0 1px var(--line); }
.global-search-form > button { min-height:52px; border-radius:999px; padding:14px 24px; background:linear-gradient(125deg,#bf1746,#9d1235); }
.global-search-form .search-quick-filters { gap:8px; }
.global-search-form .search-quick-filters button { border-radius:999px; min-height:36px; padding:8px 14px; }
.search-suggestions, .dropdown-menu { border-radius:20px; padding:8px; }
.dropdown-item, .search-suggestions a { border-radius:12px; }
.home-nyt .page-header, .word-detail-nyt .page-header, .instruction-page .page-header { border:0 !important; background:var(--canvas) !important; color:var(--ink) !important; }
.home-nyt .page-header > .container { display:grid; grid-template-columns:1fr 1.25fr; gap:20px; align-items:stretch; }
.dictionary-intro { padding:36px; background:var(--rose-surface); color:var(--rose-ink); border-radius:24px; display:flex; flex-direction:column; justify-content:center; }
.home-nyt .dictionary-intro h1 { text-align:left; font-size:clamp(32px,4vw,52px) !important; font-weight:650; margin-bottom:20px; }
.home-nyt .dictionary-intro .subtitle { text-align:left; color:var(--rose-ink) !important; font-size:18px; }
.home-nyt .dictionary-project { padding:30px; margin:0; max-width:none; border-radius:24px; background:var(--surface); text-align:left !important; font-size:15px; line-height:1.8; }
.dictionary-project br { display:none; }
.home-nyt .filters-section, .home-nyt .results-section { background:var(--canvas) !important; border:0 !important; }
.home-nyt .filter-card, .home-nyt .word-card, .word-detail-nyt .main-content,
.word-detail-nyt .sidebar, .word-detail-nyt .info-card, .word-detail-nyt .translation-card,
.instruction-page .instruction-card, .instruction-page .video-section, .login-card { border:0 !important; border-radius:24px !important; background:var(--surface) !important; color:var(--ink) !important; box-shadow:none !important; overflow:hidden; }
.home-nyt .filter-header, .home-nyt .word-card-header, .home-nyt .word-footer,
.word-detail-nyt .info-card .card-header, .login-card .card-header, .login-card .card-footer { border:0 !important; background:transparent !important; color:var(--ink) !important; }
.home-nyt .word-card:hover { box-shadow:0 8px 28px rgba(0,0,0,.08) !important; border:0 !important; }
.home-nyt .word-title { text-transform:none; font-weight:650 !important; }
.home-nyt .word-language, .category-badge, .difficulty-badge { border:0 !important; border-radius:999px !important; padding:6px 11px !important; }
.styled-select-trigger, select, .form-control, .login-input { border-radius:16px !important; min-height:48px; }
.styled-select-options { border-radius:16px !important; }
.alphabet-letter { border:0 !important; border-radius:10px !important; }
.home-nyt .detail-button, .word-detail-nyt .btn-nyt-outline, .detail-button,
.btn-login-submit, .btn-google-oauth, .instruction-page .btn { border-radius:999px !important; min-height:44px; padding:12px 20px !important; display:inline-flex; align-items:center; justify-content:center; gap:12px; }
.home-nyt .word-card .detail-button { background:linear-gradient(125deg,#bf1746,#9d1235) !important; font-size:14px; font-weight:500; }
.detail-button .bento-arrow { position:relative; display:inline-block; width:22px; height:22px; overflow:hidden; flex:0 0 22px; }
.detail-button .bento-arrow svg { position:absolute; inset:0; width:22px; height:22px; transition:transform .3s ease,opacity .3s ease; }
.detail-button .bento-arrow svg:last-child { transform:translate(-22px,22px); opacity:0; }
.detail-button:hover .bento-arrow svg:first-child { transform:translate(22px,-22px); opacity:0; }
.detail-button:hover .bento-arrow svg:last-child { transform:translate(0,0); opacity:1; }
.global-search-form button, .detail-button, .navbar-nyt .nav-link { transition:background .2s ease,box-shadow .2s ease,filter .2s ease; }
.global-search-form > button:hover, .home-nyt .word-card .detail-button:hover { filter:brightness(1.1); box-shadow:0 5px 18px rgba(188,18,59,.22); }
.catalog-notes details { border-radius:24px; padding:24px; }
.pagination { gap:6px; flex-wrap:wrap; }
.page-link, .page-item:first-child .page-link, .page-item:last-child .page-link { border:0 !important; border-radius:12px !important; min-height:44px; min-width:44px; display:flex; align-items:center; justify-content:center; }
.instruction-page .page-header h1, .instruction-page .step-title { color:var(--ink) !important; }
.instruction-page .step-description, .instruction-page .page-header .subtitle { color:var(--muted) !important; }
.instruction-page .step-number { border-radius:14px !important; background:#a80f32 !important; color:white !important; }
.footer { border:0 !important; background:var(--surface) !important; color:var(--ink) !important; margin-top:40px; }
.footer a, .footer p, .footer h5 { color:var(--ink) !important; }
@media(max-width:991px) { .home-nyt .page-header > .container { grid-template-columns:1fr; } .dictionary-intro { padding:30px; } }
@media(max-width:575px) { .global-search-form > button { padding:14px 18px; } .global-search-form input { padding:14px 16px; } .dictionary-intro, .home-nyt .dictionary-project { padding:24px; border-radius:20px; } .home-nyt .word-card, .home-nyt .filter-card, .word-detail-nyt .main-content, .word-detail-nyt .sidebar { border-radius:20px !important; } .home-nyt .word-footer .word-actions { margin-left:0; } .global-search-form .search-quick-filters { gap:6px; } .global-search-form .search-quick-filters button { font-size:11px; padding:8px 10px; } }
@media(prefers-reduced-motion:reduce) { .detail-button .bento-arrow svg { transition:none; } }
/* Search follows the content grid; reading pages use a single compact row. */
.global-search-form { max-width:none; }
.global-search-bar { box-shadow:0 8px 18px rgba(0,0,0,.035); }
.word-detail-nyt, .word-detail-nyt .content-section { background:var(--canvas) !important; }
.word-detail-nyt .page-header { padding:30px 0 !important; }
.word-detail-nyt .page-header h1 { text-align:left; text-transform:none !important; }
.word-detail-nyt .page-header .subtitle { text-align:left; font-size:15px; letter-spacing:0; text-transform:none; }
.word-detail-nyt .related-content-section, .word-detail-nyt .related-section { background:transparent !important; border:0 !important; box-shadow:none !important; padding:24px 0 !important; border-radius:0; }
.word-detail-nyt .related-section > .container { padding:0; }
.word-detail-nyt .section-title { color:var(--ink) !important; border:0 !important; padding-bottom:0 !important; margin-bottom:24px; text-transform:none; font-size:26px; }
.word-detail-nyt .section-title::after { display:none !important; }
.word-detail-nyt .related-section .card-header { padding:24px 24px 12px !important; border:0 !important; gap:16px; }
.word-detail-nyt .related-section .card-header h5 { font-size:19px; line-height:1.5; overflow-wrap:anywhere; }
.word-detail-nyt .related-section .card-body { padding:16px 24px !important; background:transparent !important; }
.word-detail-nyt .related-section .tinymce-content { background:transparent !important; color:var(--ink) !important; font:400 16px/1.75 'Roboto',sans-serif; }
.word-detail-nyt .related-section .card-footer { background:transparent !important; border:0 !important; padding:8px 24px 24px !important; text-align:left !important; }
.word-detail-nyt .related-section .detail-button { background:var(--rose-surface) !important; color:var(--rose-ink) !important; border:0 !important; text-decoration:none !important; text-transform:none; letter-spacing:0; }
.word-detail-nyt .related-section .badge { border-radius:999px; background:var(--canvas) !important; color:var(--muted) !important; font:500 12px/1.5 'Roboto',sans-serif; }
.word-detail-nyt .category-link { border:0 !important; border-radius:12px !important; padding:12px 16px !important; background:var(--canvas) !important; }
.word-detail-nyt .main-content hr, .word-detail-nyt .sidebar hr { display:none; }
.word-detail-nyt .main-content .definition-block { border:0 !important; }
@media(max-width:575px) { .word-detail-nyt .page-header h1 { font-size:30px !important; } .global-search-bar { padding:10px 0; } .word-detail-nyt .section-title { font-size:23px; } }
.word-detail-nyt .container.home-nyt { background:transparent !important; }
.word-detail-nyt .related-section .word-card { border:0 !important; border-radius:24px !important; background:var(--surface) !important; padding:0 !important; }
.word-detail-nyt .related-section .word-card .tinymce-content { max-height:8.75em; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; }
.word-detail-nyt .main-content div, .word-detail-nyt .sidebar div { border-top:0 !important; border-bottom:0 !important; }
/* One compact filter panel rather than three uneven cards. */
.home-nyt .filters-section { padding:24px 0 30px !important; }
.home-nyt .filters-section > .container { background:var(--surface); border-radius:24px; padding:24px; }
.filter-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; color:var(--ink); font-size:17px; font-weight:500; }
.filter-reset { display:inline-flex; gap:8px; align-items:center; min-height:40px; border:0; border-radius:999px; padding:9px 14px; font-size:13px; font-weight:400; background:var(--canvas); color:var(--muted) !important; text-decoration:none !important; }
.filter-reset:hover { background:var(--rose-surface); color:var(--rose-ink) !important; }
.home-nyt .filter-layout { row-gap:20px; }
.home-nyt .filter-layout .filter-card { border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important; overflow:visible !important; }
.home-nyt .filter-layout .filter-header { padding:0 0 10px !important; margin:0 !important; }
.home-nyt .filter-layout .filter-header h6 { text-transform:none; letter-spacing:0; font-size:14px; font-weight:500; }
.home-nyt .filter-layout .filter-header i { display:none; }
.home-nyt .filter-layout .card-body { padding:0 !important; }
.home-nyt .filter-layout .styled-select-trigger { background:var(--canvas); box-shadow:none; border:0; }
.home-nyt .alphabet-filter .alphabet-letters { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:6px; }
.home-nyt .alphabet-filter .alphabet-letter { display:flex; align-items:center; justify-content:center; width:36px; height:38px; margin:0 !important; padding:0 !important; background:var(--canvas) !important; font-size:14px; animation:none !important; opacity:1 !important; transform:none !important; }
.home-nyt .alphabet-filter .alphabet-letter:hover { background:var(--rose-surface) !important; color:var(--rose-ink) !important; }
.home-nyt .alphabet-filter .alphabet-letter.active { background:#a80f32 !important; color:white !important; }
@media(max-width:575px) { .home-nyt .filters-section > .container { width:calc(100% - 36px); padding:20px; border-radius:20px; } .filter-toolbar { font-size:16px; gap:8px; } .filter-reset { font-size:12px; padding:8px 10px; } .home-nyt .alphabet-filter .alphabet-letter { width:34px; } }
/* Mobile navigation: one surface, restrained active state and clear account actions. */
@media(max-width:991px) {
 .navbar-nyt .navbar-collapse { background:var(--surface) !important; color:var(--ink); border-radius:20px !important; padding:14px !important; margin-top:12px !important; max-height:calc(100dvh - 100px); box-shadow:0 12px 30px rgba(0,0,0,.15); }
 .navbar-nyt .navbar-collapse .navbar-nav { gap:6px !important; padding:0 !important; margin:0 !important; }
 .navbar-nyt .navbar-collapse .navbar-nav + .navbar-nav { border:0 !important; margin-top:16px !important; padding-top:0 !important; }
 .navbar-nyt .navbar-collapse .nav-link { border:0 !important; border-radius:12px !important; color:var(--ink) !important; background:transparent !important; padding:13px 16px !important; font-size:15px !important; font-weight:500; letter-spacing:0 !important; text-transform:none !important; text-decoration:none !important; box-shadow:none !important; min-height:48px; }
 .navbar-nyt .navbar-collapse .nav-link::before, .navbar-nyt .navbar-collapse .nav-link::after { display:none !important; }
 .navbar-nyt .navbar-collapse .nav-link.active, .navbar-nyt .navbar-collapse .nav-link:hover { color:var(--rose-ink) !important; background:var(--rose-surface) !important; }
 .navbar-nyt .navbar-collapse .nav-link.language-dropdown { background:var(--canvas) !important; display:flex; align-items:center; gap:10px; }
 .navbar-nyt .navbar-collapse .nav-link.btn-login { background:var(--canvas) !important; text-align:center; }
 .navbar-nyt .navbar-collapse .nav-link.btn-register { background:#a80f32 !important; color:#fff !important; text-align:center; white-space:normal; line-height:1.5; }
 .navbar-nyt .navbar-collapse .dropdown-menu { border:0 !important; background:var(--canvas) !important; margin-top:6px; }
 .navbar-nyt .navbar-toggler { width:44px; height:44px; border:0 !important; background:rgba(255,255,255,.08) !important; box-shadow:none !important; }
 .navbar-nyt .navbar-toggler:focus:not(:focus-visible), .navbar-nyt #theme-toggle:focus:not(:focus-visible) { outline:none !important; box-shadow:none !important; }
}
@media(max-width:991px) {
 .navbar-nyt #navbarNav .nav-link.btn-register, [data-theme="dark"] .navbar-nyt #navbarNav .nav-link.btn-register { color:#fff !important; -webkit-text-fill-color:#fff !important; background:#a80f32 !important; width:100% !important; border-radius:12px !important; }
 .navbar-nyt #navbarNav .nav-link.btn-register i { color:inherit !important; }
 .navbar-nyt #navbarNav .language-dropdown, .navbar-nyt #navbarNav .btn-login { border-radius:12px !important; }
 .navbar-nyt #navbarNav { max-width:100%; min-width:0; box-sizing:border-box; }
}
mark.search-match { background:#ffe29a !important; color:#35220a !important; padding:1px 3px; border-radius:4px; font-weight:inherit; }
[data-theme="dark"] mark.search-match { background:#f4ca72 !important; color:#251b0c !important; }
.suggestions-summary { position:sticky; top:-8px; background:var(--surface); color:var(--muted); padding:10px 12px; font-size:13px; z-index:1; }
.search-suggestions a.suggestions-all { position:sticky; bottom:-8px; background:var(--rose-surface); color:var(--rose-ink); font-size:14px; font-weight:500; padding:14px 12px; margin-top:6px; }
