.royal-brand{display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1.15;white-space:normal;text-align:center}.royal-brand .royal-name{font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,2.4vw,30px);font-weight:500;letter-spacing:.16em;color:#edcd83;background:linear-gradient(110deg,#af8040,#ffedb4 30%,#d0a359 55%,#fff0bd 76%,#b98a46);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 5px #0005)}.royal-brand .royal-origin{font-family:Georgia,'Times New Roman',serif;font-size:12px;font-style:italic;font-weight:400;letter-spacing:.08em;color:#d6bd8c}.brand:has(.royal-brand){letter-spacing:normal!important}.site-brand{min-width:0}header:has(.royal-brand){background:linear-gradient(180deg,#322718ee,#21180df0);border-bottom:1px solid #ad854657;box-shadow:0 4px 24px #0002}.royal-hero{padding:20px 0 10px;text-align:center;position:relative}.royal-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(35px,5.5vw,66px);font-weight:400;letter-spacing:.1em;line-height:1.2;margin:14px 0 10px;color:#f0d396;background:linear-gradient(120deg,#bb8f49,#fff0bb 32%,#d2aa65 56%,#ffe8a6 77%,#b38a47);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 6px 30px #d3a45618}.royal-flourish{font-size:28px;color:#dec28b}.royal-hero-origin{font:italic 18px/1.5 Georgia,'Times New Roman',serif;letter-spacing:.1em;color:#d2bd94;margin:0}.royal-rule{height:1px;background:linear-gradient(90deg,transparent,#cfad6f,transparent);width:75%;margin:22px auto 0}.royal-tagline{font-size:23px;text-align:center;line-height:1.5;font-weight:400}.welcome .intro{border:1px solid #ba975933;padding:30px;border-radius:110px 110px 20px 20px;background:radial-gradient(ellipse at 50% 0,#b18a4820,transparent 70%),#32261540}.welcome .lead{margin-top:22px}.welcome .button{box-shadow:0 6px 28px #c59e4420;border:1px solid #fff0be66;background:linear-gradient(125deg,#c69b53,#f0d59c,#caa15f)}@media(max-width:700px){.royal-brand .royal-name{font-size:18px;letter-spacing:.1em}.royal-brand .royal-origin{font-size:10px;letter-spacing:.03em}.welcome .intro{padding:24px 16px;border-radius:65px 65px 16px 16px}.royal-hero h1{font-size:clamp(27px,7.4vw,45px);letter-spacing:.07em}.royal-hero-origin{font-size:15px}.royal-tagline{font-size:20px}header:has(.royal-brand){gap:12px}}@media(max-width:360px){.royal-brand .royal-name{font-size:15px}.royal-brand .royal-origin{font-size:9px}}
/* Keep the puzzle at its original size beside the larger title. */
.site-header #room-menu,#mirror-preview .site-header #room-menu{flex:0 0 48px;min-width:48px;width:48px;height:48px;min-height:48px}
.site-header #room-menu img{width:48px;height:48px;max-width:none;object-fit:contain;transform:scale(1.35)}
.brand>img{flex-shrink:0}.site-brand>.brand{min-width:0}.site-header #profile-menu{flex-shrink:0}
/* Size the puzzle in proportion to the two-line wordmark. */
header:has(.royal-brand){--puzzle-size:clamp(50px,4.6vw,64px)}
.site-header #room-menu,#mirror-preview .site-header #room-menu{flex:0 0 var(--puzzle-size);width:var(--puzzle-size);height:var(--puzzle-size);min-width:var(--puzzle-size);min-height:var(--puzzle-size)}
.site-header #room-menu img{width:100%;height:100%;transform:scale(1.35)}
header .brand>img{width:var(--puzzle-size);height:var(--puzzle-size);flex:0 0 var(--puzzle-size);object-fit:contain}
@media(max-width:700px){header:has(.royal-brand){--puzzle-size:44px}}
@media(max-width:360px){header:has(.royal-brand){--puzzle-size:40px}}
