/* Theatrium shared site chrome (nav, footer, buttons, theme toggle) */
/* Auto-extracted 28 Aug 2026 - see theatrium-seo.md memory for details */

*{margin:0;padding:0;box-sizing:border-box}
.brand-sub{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;letter-spacing:.01em;padding:13px 26px;border-radius:100px;transition:opacity .2s,transform .2s}
.btn-outline{color:var(--ink);border:1px solid var(--line)}
.btn-outline:hover{border-color:var(--ink);background:rgba(127,127,127,.06)}
.btn-primary{background:var(--ink);color:var(--bg)}
.btn-primary:hover{opacity:.86}
.btn-text{display:inline-flex;align-items:center;gap:7px;font-size:15px;color:var(--ink);padding-bottom:3px;border-bottom:1px solid var(--hair)}
.btn-text:hover{border-color:var(--ink)}
.drop-caret{transition:transform .2s}
.drop-menu{position:absolute;top:100%;left:50%;min-width:230px;background:var(--panel);border:1px solid var(--hair);border-radius:12px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateX(-50%) translateY(6px);transition:opacity .18s ease,transform .18s ease;z-index:60}
.drop-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--muted);white-space:nowrap;transition:background .15s,color .15s}
.drop-menu a .dm-sub{display:block;font-size:11px;color:var(--faint);letter-spacing:0;margin-top:2px}
.drop-menu a:hover{background:var(--line);color:var(--ink)}
.drop-trigger{font-family:inherit;font-size:13px;letter-spacing:.04em;color:var(--muted);background:transparent;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:color .2s}
.dropdown{position:relative;padding-bottom:16px;margin-bottom:-16px}
.dropdown:hover .drop-caret,.dropdown:focus-within .drop-caret{transform:rotate(180deg)}
.dropdown:hover .drop-menu,.dropdown:focus-within .drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown:hover .drop-trigger,.dropdown:focus-within .drop-trigger{color:var(--ink)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.foot{display:flex;align-items:center;justify-content:space-between;padding:32px;max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:16px}
.foot .dom{font-size:12px;color:var(--faint);letter-spacing:.04em;margin-left:4px}
.foot .dom{font-size:12px;color:var(--faint);letter-spacing:.04em;margin-left:4px;transition:color .2s}
.foot .dom:hover{color:var(--ink)}
.foot .left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.foot .left .mark{width:26px;height:26px}
.foot .right{font-size:12.5px;color:var(--faint)}
.foot .right{font-size:12.5px;color:var(--faint);line-height:1.5}
.foot .wordmark{font-size:15px}
.foot-credits{max-width:1200px;margin:0 auto;padding:2px 32px 34px;font-size:12px;color:var(--faint);letter-spacing:.02em}
.foot-credits a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);transition:color .2s}
.foot-credits a:hover{color:var(--ink)}
.mark{width:30px;height:30px;border-radius:7px;background:#101012;display:flex;align-items:center;justify-content:center;flex:none}
.mark{width:30px;height:30px;border-radius:7px;background:#101012;display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.mark i{border-radius:1.4px}
.mark span{display:grid;grid-template-columns:repeat(4,4.5px);grid-template-rows:repeat(3,3.5px);gap:1.4px;grid-template-areas:'h h t t' 'h h a b' 'w w c c'}
.mark-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.mobile-menu{display:none}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:1200px;margin:0 auto}
.nav-links .btn{padding:9px 18px;font-size:13px;white-space:nowrap}
.nav-links a.link{font-size:13px;letter-spacing:.04em;color:var(--muted);transition:color .2s}
.nav-links a.link:hover{color:var(--ink)}
.nav-right{display:flex;align-items:center;gap:16px}
.nav-toggle{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center;flex:none}
.notice-bar .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--jade);margin-right:9px;vertical-align:middle;animation:beaconPulse 2.4s ease-out infinite}
.notice-bar a{color:var(--jade);border-bottom:1px solid rgba(54,182,245,.4);text-decoration:none;font-weight:600}
.notice-bar b{font-weight:600;color:var(--jade)}
.notice-bar.nb-hide{max-height:0;opacity:0;padding-top:0;padding-bottom:0;border-bottom-color:transparent}
.soon{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:100px;font-size:10px;font-weight:600;
    letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--hair);
    background:rgba(127,127,127,.10);vertical-align:2px;white-space:nowrap}
.theme-fab{position:fixed;left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:80;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink,#f4f3ef);background:var(--nav-bg,rgba(7,7,8,.66));border:1px solid var(--hair,rgba(255,255,255,.22));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 22px rgba(0,0,0,.28);transition:transform .18s,border-color .18s;padding:0}
.theme-fab .fab-moon{display:none}
.theme-fab svg{display:block}
.theme-fab:hover{transform:translateY(-2px);border-color:var(--muted,rgba(244,243,239,.56))}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:100px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;flex:none;transition:border-color .2s,background .2s,color .2s}
.theme-toggle .ic-moon{display:none}
.theme-toggle svg{display:block}
.theme-toggle:hover{border-color:var(--muted);background:var(--line)}
.tm{font-size:.42em;vertical-align:super;letter-spacing:normal;font-weight:400;margin-left:-.02em;opacity:.85}
.wordmark{font-size:17px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;letter-spacing:.14em}
.wordmark{font-size:17px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
@media (prefers-reduced-motion: reduce){.theme-fab{transition:none}}
@media print{.theme-fab{display:none}}
footer{border-top:1px solid var(--line)}
nav{background:var(--nav-bg);backdrop-filter:blur(16px);position:relative;z-index:200}
nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--hair)}
