/* Public presentation only. Fiction mechanics and membership remain unchanged. */
.royal-header { padding-block: 8px; gap: 12px; min-height: 0; }
.royal-header img { height: 38px; width: auto; max-width: 178px; object-fit: contain; }
.royal-header button, .royal-header a { min-height: 36px; }
.royal-header #language-links { gap: 10px; }
.court-dialog { width: min(640px, calc(100vw - 24px)); min-height: 0; max-height: calc(100dvh - 24px); padding: 0; overflow: auto; }
.court-dialog .dialog-frame { padding: 24px; min-height: 0; }
.court-dialog .character-dialog { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: start; }
.court-dialog .character-dialog .portrait { width: 96px; min-width: 0; margin: 0; }
.court-dialog .portrait svg { display: block; width: 100%; height: auto; }
.court-dialog .character-info { min-width: 0; padding-right: 24px; }
.court-dialog .character-info h2 { margin-block: 4px 10px; font-size: clamp(1.6rem, 4vw, 2.3rem); line-height: 1.1; }
.court-dialog .character-main { grid-column: 1 / -1; width: auto; min-width: 0; }
.court-dialog .court-quote { max-width: 100%; margin-block: 0 14px; font-size: clamp(1.125rem, 2.3vw, 1.5rem); line-height: 1.4; }
.court-dialog .royal-aside, .court-dialog .mission-feedback { max-width: 100%; margin-block: 12px; line-height: 1.55; }
.court-dialog .dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.court-dialog .dialog-actions button { flex: 1 1 180px; min-height: 44px; white-space: normal; }
.court-dialog .simulation-note { margin-bottom: 0; font-size: 12px; }
.court-dialog .close-dialog { top: 8px; right: 8px; width: 44px; height: 44px; }
.tv-sound { border: 1px solid currentColor; border-radius: 999px; padding: 8px 12px; font: inherit; color: inherit; background: transparent; min-height: 44px; }
.tv-sound:focus-visible { outline: 3px solid #d5b36b; outline-offset: 4px; }
@media (max-width: 600px) {
  .royal-header { padding: 6px 12px; gap: 6px; }
  .royal-header img { height: 31px; max-width: 146px; }
  .royal-header #language-links { gap: 8px; }
  .court-dialog .dialog-frame { padding: 18px; }
  .court-dialog .character-dialog { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; }
  .court-dialog .character-dialog .portrait { width: 68px; }
  .court-dialog .character-main { grid-column: 1 / -1; }
  .court-dialog .character-info h2 { font-size: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) { .court-dialog { scroll-behavior: auto; } }
/* Compact public header; all six languages remain visible. */
.royal-header{display:grid;grid-template-columns:minmax(176px,1fr) auto auto 44px;grid-template-rows:44px;align-items:center;justify-content:stretch;gap:8px 16px;height:60px;min-height:0;padding:7px 20px;position:relative;z-index:20}
.royal-header .brand{grid-column:1;grid-row:1;justify-self:start;justify-content:flex-start;width:176px;min-width:0;height:44px;min-height:44px;margin:0;flex:none}
.royal-header .brand img{display:block;width:176px;min-width:0;max-width:100%;height:auto;max-height:38px}
.royal-header #language-links{grid-column:2;grid-row:1;justify-self:stretch;display:flex;align-items:center;justify-content:center;gap:0;width:auto;min-width:264px;height:44px;margin:0}
.royal-header #language-links a{display:flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;flex:0 0 44px}
.royal-header .product-escape{grid-column:3;grid-row:1;width:auto;min-width:0;min-height:44px;margin:0;padding:8px 12px;font-size:12px;line-height:1.25;white-space:normal;text-align:center;justify-content:center}
.royal-header .tv-header-menu{grid-column:4;grid-row:1;position:relative;width:44px;margin:0}
.tv-header-menu>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;box-sizing:border-box;padding:8px;font-size:18px;line-height:1;cursor:pointer;list-style:none;border:1px solid #d5b36b60;border-radius:4px}
.tv-header-menu>summary::-webkit-details-marker{display:none}
.tv-header-menu>summary:focus-visible{outline:3px solid #d5b36b;outline-offset:3px}
.tv-header-panel{position:absolute;right:0;top:calc(100% + 6px);width:284px;padding:12px;background:#17372c;color:#f7f4ee;border:1px solid #d5b36b70;border-radius:5px;box-shadow:0 10px 30px #0005;z-index:25;display:grid;gap:10px}
.royal-header .tv-header-panel .header-tools{display:flex;justify-content:flex-start;gap:10px;width:auto;height:auto;margin:0}
.royal-header .tv-header-panel .header-tools button{min-width:44px;min-height:44px}
.royal-header .tv-sound{font-size:12px;text-align:left;min-height:44px}
.game-shell{height:calc(100dvh - 60px)}
@media(max-width:760px){
.royal-header{grid-template-columns:150px 44px minmax(0,1fr);grid-template-rows:44px 44px;gap:4px;height:104px;padding:5px 12px}
.royal-header .brand{grid-column:1;grid-row:1;width:150px;min-width:0;justify-self:start}
.royal-header .brand img{width:150px;min-width:0;max-width:150px;max-height:32px}
.royal-header .tv-header-menu{grid-column:2;grid-row:1;position:static;width:44px}
.royal-header .product-escape{grid-column:3;grid-row:1;min-height:44px;padding:6px;font-size:11px;max-width:none}
.royal-header #language-links{grid-column:1 / -1;grid-row:2;justify-self:stretch;width:100%;min-width:0;max-width:100%}
.royal-header .tv-header-panel{top:calc(100% + 4px);right:12px;width:min(284px,calc(100vw - 24px))}
.game-shell{height:calc(100dvh - 104px)}
}
