/* Shared navigation; the board remains LTR so its coordinate system never flips. */
.site-menu .language-options a{text-align:left}
html[dir=rtl] .site-menu:not([dir]) .language-options a,.site-menu[dir=rtl] .language-options a{text-align:right}
.site-menu{position:relative;z-index:30;flex-shrink:0;font:14px/1.5 Arial,sans-serif;color:#eef2ff;letter-spacing:normal;text-align:start}.site-menu summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;border:1px solid #485775;border-bottom:4px solid #26344f;border-radius:14px;padding:10px 14px;background:#172442;min-height:46px;font-weight:700;white-space:nowrap}.site-menu summary::-webkit-details-marker{display:none}.site-menu[open] summary{border-color:#c4fa72}.site-menu summary:focus-visible,.site-menu a:focus-visible{outline:3px solid #56c8f2;outline-offset:3px}.site-menu .current-language{font-size:11px;font-weight:400;color:#c4fa72;margin-inline-start:4px}.site-menu .site-menu-panel{position:absolute;inset-inline-end:0;top:calc(100% + 12px);display:flex;flex-direction:column;gap:5px;width:min(300px,calc(100vw - 40px));padding:16px;border:1px solid #465875;border-radius:20px;background:#111c35;box-shadow:0 12px 0 #060c1d80,0 20px 50px #0006;font:14px/1.5 Arial,sans-serif;max-height:70dvh;overflow:auto}.site-menu-panel a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:#f5f7ff!important;letter-spacing:normal}.site-menu-panel a:hover,.site-menu-panel a[aria-current=true]{background:#2b3e54;color:#c4fa72!important}.site-menu-panel a[aria-current=true]:after{content:' ✓';color:#c4fa72}.language-heading{border-top:1px solid #334361;padding:14px 12px 4px;color:#a9bcdf;font-size:12px}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:4px}.break-games{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,5vw,70px);padding:45px 0 20px;margin-top:30px;border-top:1px solid #2c3955}.break-games h2{font-size:clamp(25px,4vw,38px);line-height:1.2;letter-spacing:-1px}.break-games h3{font-size:18px;color:#c4fa72;margin-top:22px}.break-games p:not(.eyebrow){color:#b9c6df;line-height:1.8;font-size:15px}.board,.tray,.mini-grid,.floating{direction:ltr}.revolving-logo,.maiolica-wordmark,.maiolica-byline,.holding-horizontal{direction:ltr;unicode-bidi:isolate}.site-menu a[lang]{unicode-bidi:isolate}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] .eyebrow,html[dir=rtl] .tags{letter-spacing:normal}html[dir=rtl] .topic{text-align:right}html[dir=rtl] .intro,html[dir=rtl] .profile-label{text-align:right}html[dir=rtl] .game .scores{direction:rtl}.legal-language-note{background:#172442;color:#c4fa72;border-radius:12px;padding:12px 18px;font:14px/1.6 Arial,sans-serif;margin:12px auto;max-width:850px}header{position:relative}.maiolica-identity{min-width:0}body:has(#board) header{flex-wrap:wrap}body:has(#board) header>.site-menu{margin-inline-start:auto}body:has(#board) header .toolbar{margin-inline-start:auto}
@media(max-width:650px){.site-menu summary{padding:8px 10px;font-size:12px;gap:6px}.site-menu .current-language{display:none}.break-games{grid-template-columns:1fr;gap:8px;padding-top:26px}header{gap:10px!important}body:has(#board) header>.site-menu{margin-inline-start:0}body:has(#board) header .maiolica-identity{flex:1 1 170px}body:has(#board) header .maiolica-wordmark{font-size:clamp(28px,7vw,44px)}html[dir=rtl] .hero h1{font-size:clamp(45px,12vw,76px);line-height:1.2}.tray-heading{gap:8px;flex-wrap:wrap}.rotation-controls #rotation-tip{line-height:1.5}.mode-choice small{white-space:normal}html[lang=zh-Hans] .hero h1{letter-spacing:0}}
@media(prefers-reduced-motion:no-preference){.site-menu a{transition:background .12s}}
.cover .maiolica-identity{max-width:100%;align-items:center}.cover .maiolica-tagline{white-space:normal;text-align:center;max-width:100%}body[data-page=index] .section-title{gap:16px;flex-wrap:wrap}html[dir=rtl] .hero .sticker{max-width:80%;font-size:18px}html[dir=rtl] .maiolica-tagline{letter-spacing:normal}@media(max-width:380px){body header>.revolving-logo .revolving-word{font-size:23px}body header>.revolving-logo .revolving-tag{font-size:6px;letter-spacing:1px}body:has(#board) header .maiolica-identity{flex-basis:150px}body:has(#board) header .toolbar{gap:5px}}

/* Equal editorial columns and a shared typographic rhythm. */
.break-games{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:24px;align-items:start}
.break-games>.eyebrow{grid-column:1/-1;margin:0;font-size:11px;line-height:1.5;letter-spacing:2px}
.break-games .break-column{min-width:0}
.break-games .break-column h2,.break-games .break-column h3{font-family:inherit;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.3px;color:#f5f5ff;margin:0 0 16px}
.break-games .break-column p{font-family:inherit;font-size:15px;font-weight:400;line-height:1.8;letter-spacing:normal;color:#b9c6df;margin:0}
@media(max-width:850px){.break-games{grid-template-columns:1fr;gap:26px}.break-games .break-column h2,.break-games .break-column h3{font-size:21px;margin-bottom:10px}}

html[lang=ja] .hero h1{letter-spacing:0;font-size:clamp(40px,7vw,86px);line-height:1.2}
html[lang=ja] .break-games h2,html[lang=ja] .break-games h3{letter-spacing:normal}

/* Contact footer: one aligned row with consistent type. */
body footer.contact-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:20px;padding-block:24px;font:11px/1.6 Arial,Helvetica,sans-serif;color:#afbedb}
.contact-footer>span{white-space:nowrap}
body .contact-footer .legal-links{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:16px;font:inherit;color:inherit}
.contact-footer .legal-links a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){body footer.contact-footer{flex-wrap:wrap;justify-content:center;gap:12px 24px}.contact-footer .legal-links{order:2;flex-basis:100%}}
@media(max-width:480px){body .contact-footer .legal-links{flex-wrap:wrap;gap:8px 16px}}

/* Keep the contact footer at the viewport bottom instead of leaving blank space below. */
body[data-page=contact]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body[data-page=contact]>header,body[data-page=contact]>main,body[data-page=contact]>footer{width:100%}
body[data-page=contact]>main{padding-bottom:30px}
body[data-page=contact]>footer.contact-footer{margin-top:auto;margin-bottom:0;padding-block:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
