/* Shared Outspell visual theme for public pages. Game mechanics remain in their own styles. */
:root{--ink:#102e68;--soft-ink:#315381;--blue:#1268d6;--deep-blue:#0c3578;--sky:#e6f3ff;--paper:#f9fcff;--line:#bbd7f4;--focus:#ffbf43;--shadow:0 12px 26px #8bb9e64d}
body{background:radial-gradient(circle at 20% 15%,#fff,#eaf6ff 56%,#d8ecff);background-image:none;color:var(--ink)}
h1,h2,h3{font-family:Poppins,system-ui,sans-serif;letter-spacing:-.035em}
a{color:#0b58c5}a:hover{color:#063b91}
.site-header.home-header{position:relative;z-index:5;background:#0d2d68;border:0;box-shadow:0 3px 15px #05245c55}
.site-header.home-header .header-inner{min-height:68px}
.site-header.home-header .brand{font-size:26px;font-weight:700;color:#fff;letter-spacing:-.04em;white-space:nowrap}
.site-header.home-header .brand-domain{color:#80d7ff}
.site-header.home-header .brand-mark{width:55px;height:42px;border:0;border-radius:0;background:none;box-shadow:none;color:#8bd0ff}
.site-header.home-header .brand-mark svg{width:55px;height:42px;filter:drop-shadow(0 3px 2px #041a48)}
.site-header.home-header .primary-nav{gap:12px}
.site-header.home-header .primary-nav a{color:#fff;font-size:16px;padding:0 18px;border-radius:24px}
.site-header.home-header .primary-nav a:hover,.site-header.home-header .primary-nav a[aria-current]{background:linear-gradient(#1d64c8,#11449e);box-shadow:inset 0 1px 1px #70b6ff55;color:#fff}
.site-header.home-header .menu-toggle{color:white}
.home-search{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2867ba,#0c3677);border:1px solid #509be6;color:white;box-shadow:0 4px 8px #041a48}
.home-search svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
main.container{padding-top:26px}
.page-intro{position:relative;overflow:hidden;min-height:165px;align-items:center;margin:0 0 24px;padding:28px 38px;border:4px solid #489dff;border-radius:25px;background:radial-gradient(circle at 70% 80%,#216bbd,#10468e 68%,#0b397c);color:white;box-shadow:0 7px 0 #0a397c,0 15px 25px #8ab4e366}
.page-intro:before{content:"";position:absolute;width:290px;height:125px;right:-25px;bottom:-70px;border-radius:50%;background:#428bd455;box-shadow:-110px -35px 0 #357cc94d,-250px 25px 0 #286cbe33;pointer-events:none}
.page-intro>div,.page-intro>p{position:relative;z-index:1}
.page-intro h1{color:white;font-size:clamp(34px,4.2vw,50px);text-shadow:0 3px 0 #062c6c}
.page-intro .breadcrumb,.page-intro .breadcrumb a,.page-intro>p{color:#d7edff}
.page-intro>p{font-size:15px;max-width:330px}
.game-shell{border:3px solid #439bf0;border-radius:24px;background:#eaf6ff;box-shadow:0 7px 0 #0e4a95,0 16px 28px #8bb8e96b}
.game-toolbar{background:linear-gradient(130deg,#175ab3,#0b397f);border-bottom:2px solid #448ed7;color:#fff}
.game-toolbar h2{color:#fff;font-size:22px}.game-toolbar p{color:#d7ebff}
.game-toolbar .text-button{color:#fff;border:1px solid #70b3f0;border-radius:22px;background:#195aab;padding-inline:14px}
.game-toolbar .text-button:hover{background:#287add;color:white}
.game-main,.hangman-stage,.guess-boards,.anagram-stage,.hunt-stage,.waffle-stage,.weaver-stage,.bee-stage,.boxed-stage,.codeword-stage{background:#ebf7ff;color:#102f6b}
.game-sidebar,.hangman-controls,.multiword-controls,.anagram-side,.hunt-side,.waffle-side,.weaver-controls,.bee-side,.boxed-sidepanel,.codeword-side{background:#d8ebff;color:#102f6b;border-color:#a8cff5}
.game-shell .game-status{color:#21497c}
.button,.hub-card .button{border-radius:12px;box-shadow:0 3px 0 #0e4b9c}
.button-primary{background:linear-gradient(#2887ed,#0b5cc9);border-color:#2081df;color:white}
.button-primary:hover{background:linear-gradient(#1474df,#084bab)}
.button-secondary{background:#e6f4ff;border-color:#71aeec;color:#0b4da3}
.button-secondary:hover{background:#fff}
.button:disabled{box-shadow:none}
.board-frame{background:#0b418e;border:3px solid #4c9ce9;box-shadow:0 4px 0 #0b3472}
.board-cell,.guess-cell,.hunt-cell,.waffle-cell,.codeword-cell,.rack-tile,.letter-key{box-shadow:0 2px 0 #8cbce9}
.below-game,.hub-guide{padding-top:65px}
.reading-column{font-size:16px;line-height:1.75}.reading-column h2,.trust-content h2{color:#103878}.reading-column h3,.trust-content h3{color:#18447f}
.reading-column p,.reading-column li,.trust-content p,.trust-content li{color:#36577e}
.hub-controls,.hub-card,.feature-grid article,.trust-content,.trust-rail,.dictionary-shell,.comparison-table{background:#f8fcff;border-color:#b8d7f4;box-shadow:0 4px 10px #a9cae651}
.hub-card{position:relative;overflow:hidden;border-radius:16px;padding-top:38px}
.hub-card:before{content:"";position:absolute;inset:0 0 auto;height:12px;background:linear-gradient(90deg,#60b6ff,#1665d5)}
.hub-card:nth-child(4n+1):before{background:linear-gradient(90deg,#8065ee,#b692ff)}
.hub-card:nth-child(4n+3):before{background:linear-gradient(90deg,#65ccf4,#238ae7)}
.hub-card h2{color:#133775}.hub-card .hub-meta{color:#216bc4}
.trust-content,.trust-rail{border-radius:18px}.trust-rail a:hover{background:#e3f2ff}
.related-shelf.theme-related{padding:10px 0 72px}
.related-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.related-heading h2{margin:0;color:#102e69;font-size:29px}
.related-heading>a{text-decoration:none;font-size:14px;white-space:nowrap}
.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.related-grid a{position:relative;display:block;min-width:0;min-height:0;padding:0 0 0;border:0;border-radius:14px;background:#f6faff;overflow:hidden;box-shadow:0 4px 8px #a8c7e57d;text-decoration:none}
.related-grid a:hover{background:#f6faff;transform:translateY(-3px);box-shadow:0 9px 18px #9bbde0}
.related-art{height:106px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:linear-gradient(130deg,#2d76d5,#65b1ff)}
.related-art:before{content:"A  B  C  D  E  F  G  H  I";position:absolute;inset:14px 6px;color:#d7eaff33;font-size:25px;letter-spacing:.1em;line-height:1.5;word-spacing:15px;text-align:center;font-weight:800}
.related-art>span{position:relative;z-index:1;margin:0 8px;color:#fff;font-size:clamp(19px,2.3vw,28px);font-weight:800;line-height:1.05;text-align:center;letter-spacing:-.06em;text-shadow:-2px -2px #0a3579,2px -2px #0a3579,-2px 2px #0a3579,2px 2px #0a3579,0 4px #062a65}
.related-grid a:nth-child(4n+1) .related-art{background:linear-gradient(125deg,#7564f3,#9d8bff)}
.related-grid a:nth-child(4n+3) .related-art{background:linear-gradient(125deg,#55b7f7,#9cdbff)}
.related-grid a:nth-child(4n+4) .related-art{background:linear-gradient(125deg,#2a72d4,#4c8df1)}
.related-grid a[data-art="board"] .related-art:before{content:"A C   D W   T L   E R   S O"}
.related-grid a[data-art="hive"] .related-art:before{content:"⬡   ⬡   ⬡   ⬡";font-size:36px}
.related-grid a[data-art="crossword"] .related-art:before{content:"▦   ▤   ▦";font-size:43px}
.related-grid a[data-art="search"] .related-art:before{content:"⌕   A B C   ⌕";font-size:31px}
.related-copy{display:block;min-height:77px;padding:11px 52px 12px 14px}
.related-copy strong{display:block;color:#102f6a;font-size:16px;line-height:1.2}
.related-copy span{display:block;color:#315381;font-size:12px;line-height:1.35;margin-top:3px}
.related-play{position:absolute;right:13px;bottom:20px;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;padding-left:2px;background:linear-gradient(#2d8cf7,#1263d3);color:white!important;font-size:14px!important;box-shadow:0 2px 4px #8aadd1}
.theme-footer{position:relative;overflow:hidden;background:#0d2d68;color:#dceeff;border-top:5px solid #3388e8}
.theme-footer:before{content:"";position:absolute;width:320px;height:120px;right:-65px;top:18px;border-radius:50%;background:#1c559d66;box-shadow:-145px 25px 0 #1b4d8c55;pointer-events:none}
.theme-footer .footer-inner{position:relative;display:grid;grid-template-columns:minmax(220px,1.15fr) 2fr;gap:60px;padding:54px 0 46px}
.footer-brand{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:24px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}
.footer-brand span:last-child{color:#7bd4ff}.footer-mark{width:43px;height:32px;color:#8bd0ff}.footer-mark svg{width:43px;height:32px}
.footer-about p{max-width:300px;color:#c6e2ff;font-size:14px;line-height:1.5}
.footer-action{display:inline-flex;align-items:center;gap:10px;margin-top:11px;padding:10px 19px;border-radius:24px;background:linear-gradient(#2680e5,#1555b9);color:#fff;text-decoration:none;font-size:13px;font-weight:700}
.footer-action:hover{color:#fff;background:#2c8ef8}
.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.footer-links h2{margin:0 0 13px;color:#fff;font-size:15px;letter-spacing:0}
.footer-links a{display:block;width:fit-content;padding:5px 0;color:#c5e3ff;font-size:13px;text-decoration:none}
.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-bottom{position:relative;border-top:1px solid #3b65a0}
.footer-bottom .container{display:flex;justify-content:space-between;gap:12px;padding:16px 0;color:#b7d7f5;font-size:12px}
.site-dialog{border:2px solid #60a7ec;box-shadow:0 18px 50px #04265966}.site-dialog h2{color:#103672}
@media(max-width:900px){.site-header.home-header .brand{font-size:21px}.site-header.home-header .primary-nav a{font-size:14px;padding-inline:11px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-footer .footer-inner{gap:25px}}
@media(max-width:650px){.site-header.home-header .header-inner{min-height:60px}.site-header.home-header .brand{font-size:20px}.site-header.home-header .brand-mark,.site-header.home-header .brand-mark svg{width:39px;height:34px}.site-header.home-header .primary-nav{top:60px;gap:0;background:#0d2d68;border-color:#1e5eab}.site-header.home-header .primary-nav a{color:#fff}.home-search{display:none}main.container{padding-top:16px}.page-intro{min-height:145px;display:block;padding:20px 22px;border-width:3px;margin-bottom:20px}.page-intro h1{font-size:33px}.page-intro>p{margin:8px 0 0;font-size:13px}.game-toolbar h2{font-size:18px}.game-toolbar .text-button{padding-inline:8px;font-size:12px}.related-heading h2{font-size:23px}.related-grid{gap:10px}.related-art{height:87px}.related-art>span{font-size:21px}.related-copy{min-height:78px;padding:9px 36px 10px 10px}.related-copy strong{font-size:14px}.related-copy span{font-size:11px}.related-play{right:7px;bottom:16px;width:26px;height:26px;font-size:11px!important}.theme-footer .footer-inner{grid-template-columns:1fr;gap:32px;padding-block:38px}.footer-links{gap:10px}.footer-links h2{font-size:13px}.footer-links a{font-size:11px}.footer-bottom .container{display:block}.footer-bottom span{display:block}.footer-bottom span+span{margin-top:4px}}
:root[data-theme="dark"] body{background:#0e203b;color:#eaf4ff}:root[data-theme="dark"] .page-intro{color:#fff}:root[data-theme="dark"] .game-shell{background:#1a385b}:root[data-theme="dark"] .game-main,:root[data-theme="dark"] .hangman-stage,:root[data-theme="dark"] .guess-boards,:root[data-theme="dark"] .anagram-stage,:root[data-theme="dark"] .hunt-stage,:root[data-theme="dark"] .waffle-stage,:root[data-theme="dark"] .weaver-stage,:root[data-theme="dark"] .bee-stage,:root[data-theme="dark"] .boxed-stage,:root[data-theme="dark"] .codeword-stage,:root[data-theme="dark"] .game-sidebar,:root[data-theme="dark"] .hangman-controls,:root[data-theme="dark"] .multiword-controls,:root[data-theme="dark"] .anagram-side,:root[data-theme="dark"] .hunt-side,:root[data-theme="dark"] .waffle-side,:root[data-theme="dark"] .weaver-controls,:root[data-theme="dark"] .bee-side,:root[data-theme="dark"] .boxed-sidepanel,:root[data-theme="dark"] .codeword-side{background:#193b5e;color:#eaf4ff}:root[data-theme="dark"] .game-shell .game-status,:root[data-theme="dark"] .reading-column p,:root[data-theme="dark"] .reading-column li,:root[data-theme="dark"] .trust-content p,:root[data-theme="dark"] .trust-content li{color:#c2d8ee}:root[data-theme="dark"] .reading-column h2,:root[data-theme="dark"] .reading-column h3,:root[data-theme="dark"] .trust-content h2,:root[data-theme="dark"] .trust-content h3,:root[data-theme="dark"] .related-heading h2{color:#eaf4ff}:root[data-theme="dark"] .hub-card,:root[data-theme="dark"] .hub-controls,:root[data-theme="dark"] .feature-grid article,:root[data-theme="dark"] .trust-content,:root[data-theme="dark"] .trust-rail,:root[data-theme="dark"] .dictionary-shell,:root[data-theme="dark"] .related-grid a{background:#1b3755;color:#eaf4ff}:root[data-theme="dark"] .related-copy strong,:root[data-theme="dark"] .hub-card h2{color:#eaf4ff}:root[data-theme="dark"] .related-copy span{color:#c2d8ee}
/* Six links need the compact menu before they crowd the desktop header. */
@media(min-width:1061px){.site-header.home-header .primary-nav{gap:5px}.site-header.home-header .primary-nav a{font-size:14px;padding-inline:13px}}
@media(max-width:1060px){.site-header.home-header .header-inner{min-height:64px}.site-header.home-header .menu-toggle.icon-button{display:grid;order:3;color:#fff;border:1px solid #60a8ed;background:#15529e}.site-header.home-header .primary-nav{display:none;position:absolute;z-index:10;top:64px;left:0;right:0;padding:10px max(24px,calc((100vw - 1080px)/2)) 20px;background:#0d2d68;border-bottom:2px solid #3f90e5;box-shadow:0 12px 18px #071d4899}.site-header.home-header .primary-nav[data-open="true"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.site-header.home-header .primary-nav a{padding:10px 13px}.site-header.home-header .home-search{margin-left:auto}}
@media(max-width:650px){.site-header.home-header .header-inner{min-height:60px}.site-header.home-header .primary-nav{top:60px;padding:10px 16px 18px}.site-header.home-header .primary-nav[data-open="true"]{grid-template-columns:1fr}.site-header.home-header .home-search{display:none}}
.home-search{padding:0;cursor:pointer}
.related-play{width:auto;min-width:60px;height:30px;padding:0 9px!important;border-radius:18px;font-size:11px!important;white-space:nowrap}
.related-copy{padding-right:75px}
.site-search-dialog{width:min(700px,calc(100% - 28px));max-height:min(86vh,850px);padding:0;border:3px solid #4b9ceb;border-radius:22px;background:#edf7ff;color:#102f6b;box-shadow:0 22px 80px #071d4eb3;overflow:auto}
.site-search-dialog::backdrop{background:#041938bb}
.site-search-header{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:21px 25px;background:linear-gradient(120deg,#1658ae,#0b397e);color:#fff}
.site-search-header p{margin:0 0 3px;color:#99d6ff;font-size:10px;font-weight:800;letter-spacing:.15em}
.site-search-header h2{margin:0;color:#fff;font-size:25px}
.site-search-close{display:grid;place-items:center;flex:none;width:38px;height:38px;border:2px solid #78b7ef;border-radius:50%;background:#1b60ae;color:#fff;font-size:26px;line-height:1}
.site-search-close:hover{background:#2e86e9}
.site-search-form{padding:21px 25px 12px}
.site-search-form label{display:block;margin-bottom:8px;color:#17447d;font-size:13px;font-weight:700}
.site-search-form>div{display:flex;align-items:center;gap:9px;min-height:51px;padding:0 13px;border:2px solid #8abdea;border-radius:12px;background:#fff;box-shadow:inset 0 2px 6px #d6eafa}
.site-search-form svg{width:22px;height:22px;fill:none;stroke:#1d65be;stroke-width:2.4;stroke-linecap:round}
.site-search-form input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#102f6b;font-size:16px}
.site-search-count{margin:0;padding:0 25px 7px;color:#315783;font-size:12px;font-weight:700}
.site-search-results{display:grid;gap:7px;padding:0 25px 25px}
.site-search-result{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 15px;border:1px solid #b1d2f2;border-radius:11px;background:#fafdff;text-decoration:none;box-shadow:0 2px 5px #bfd9f180}
.site-search-result:hover{border-color:#5da6e9;background:#e0f1ff}
.site-search-result>span:first-child{min-width:0}
.site-search-result small{display:block;color:#1e6fbd;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.site-search-result strong{display:block;color:#10346e;font-size:16px}
.site-search-result span span{display:block;color:#416187;font-size:12px;line-height:1.35}
.site-search-result>span:last-child{color:#176acb;font-size:24px}
.site-search-empty{margin:3px 0 0;padding:22px;border:1px dashed #9dc4e9;border-radius:10px;color:#315783;text-align:center}
@media(max-width:650px){.site-search-header{padding:17px}.site-search-header h2{font-size:20px}.site-search-form{padding:17px 17px 10px}.site-search-count{padding-inline:17px}.site-search-results{padding:0 17px 17px}.site-search-result strong{font-size:14px}.site-search-result span span{font-size:11px}.related-play{min-width:50px;padding-inline:6px!important;font-size:10px!important}.related-copy{padding-right:62px}}
:root[data-theme="dark"] .site-search-dialog{background:#153555;color:#eaf4ff}
:root[data-theme="dark"] .site-search-form label,:root[data-theme="dark"] .site-search-count{color:#c4dcf4}
:root[data-theme="dark"] .site-search-result{background:#1d4368;border-color:#386d9d}
:root[data-theme="dark"] .site-search-result strong{color:#eaf4ff}
:root[data-theme="dark"] .site-search-result span span{color:#c3d9ef}
@media(max-width:650px){.site-header.home-header .home-search{display:grid;width:38px;height:38px;margin-left:auto}}
@media(max-width:650px){.site-header.home-header .header-inner{gap:8px}.site-header.home-header .brand{font-size:18px}.site-header.home-header .brand-mark,.site-header.home-header .brand-mark svg{width:34px;height:30px}}

:focus-visible{outline-color:#0b55b7}
.site-header :focus-visible,.theme-footer :focus-visible,.category-hero :focus-visible,.game-toolbar :focus-visible,.hero-game :focus-visible{outline-color:#ffcf54}
:root[data-theme="dark"] :focus-visible{outline-color:#ffcf54}
.home-search:hover{background:linear-gradient(145deg,#3987e5,#1554a7);border-color:#9dd4ff;transform:translateY(-2px)}
.site-search-form>div:focus-within{outline:3px solid #0b55b7;outline-offset:3px}
.site-header.home-header .brand:hover{color:#bfeaff}
.theme-footer .footer-brand:hover{color:#bfeaff}
.page-intro .breadcrumb a:hover,.category-hero .breadcrumb a:hover,.related-heading>a:hover{text-decoration:underline}
.dictionary-faq-list summary:hover{background:#e6f3ff;color:#0c59b5}
:root[data-theme="dark"] .dictionary-faq-list summary:hover{background:#28537e;color:#fff}
:root[data-theme="dark"] .site-search-result small,:root[data-theme="dark"] .category-kicker,:root[data-theme="dark"] .hub-card .hub-meta{color:#9fd7ff}
:root[data-theme="dark"] .reading-column a,:root[data-theme="dark"] .trust-content a,:root[data-theme="dark"] .hub-guide a,:root[data-theme="dark"] .dictionary-info-card a,:root[data-theme="dark"] .dictionary-side a,:root[data-theme="dark"] .comparison-card-copy>a,:root[data-theme="dark"] .related-heading>a,:root[data-theme="dark"] .section-heading a{color:#9fd7ff}
