.app-button,.app-menu,.app-close{font:inherit;font-size:14px;cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:10px 16px;color:var(--ink);background:#24211d;touch-action:manipulation}
.app-button:hover,.app-close:hover{border-color:var(--accent)}
a.app-button{display:inline-flex;align-items:center;text-decoration:none;margin:4px 6px 4px 0}
.app-button:focus-visible,.app-menu:focus-visible,.app-close:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.app-button[hidden]{display:none!important}
.app-offline{margin:0;padding:12px 6vw;background:#322a1f;color:#f3e3c9;font-size:14px}.app-offline[hidden]{display:none!important}
.app-menu{display:none;background:transparent;color:#201d18;border-color:#b5ac9f}
.app-dialog{background:#181715;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:28px;max-width:min(90vw,520px);box-shadow:0 25px 100px #0008}
.app-dialog::backdrop{background:#000a;backdrop-filter:blur(3px)}
.app-dialog h2{font-size:26px;line-height:1.2;margin:26px 0}.app-close{display:block;margin-left:auto}
.app-drawer{box-sizing:border-box;margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(90vw,420px);max-width:100vw;border-radius:0;border-right:0;padding:24px max(24px,env(safe-area-inset-right)) 32px 28px;animation:app-drawer-in .2s ease-out}
.app-drawer nav{display:grid;gap:4px;margin:20px 0 30px}.app-drawer nav a{padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:18px}.app-drawer nav a[aria-current]{color:var(--accent)}
.app-update{position:fixed;z-index:10;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:16px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#24211d;color:var(--ink);border:1px solid var(--accent);border-radius:10px;box-shadow:0 12px 40px #0008;font-size:14px}
.offline-page{max-width:900px}.offline-page h1{font-size:clamp(42px,8vw,80px);line-height:1.05;letter-spacing:-.04em}.offline-page p{max-width:650px}
@keyframes app-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:850px){.app-enhanced .masthead header{flex-wrap:nowrap;min-height:100px}.app-enhanced .masthead header>nav{display:none}.app-enhanced .app-menu{display:block;flex-shrink:0}.app-enhanced .brand{min-width:0}.app-enhanced .brand img{max-width:min(55vw,240px)}.app-dialog p{font-size:16px}.app-button,.app-menu,.app-close{min-height:44px}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}footer{padding-bottom:max(35px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.app-drawer{animation:none}}

@media(max-width:850px){.app-enhanced .masthead header{min-height:76px;padding-top:12px;padding-bottom:12px}.app-enhanced .brand img{max-width:min(52vw,200px);max-height:52px}}

/* Navigation actions stay accessible in the sticky masthead. */
.app-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.app-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #999083;border-radius:8px;color:#201e1b;background:transparent;cursor:pointer}
.app-search-toggle:hover,.app-search-toggle[aria-expanded="true"]{background:#dfd8cb}
.app-search-toggle:focus-visible,.header-search-close:focus-visible{outline:3px solid #b08242;outline-offset:3px}
.header-search-panel{background:#191714;color:#f1eee7;border-top:1px solid #514735;box-shadow:0 8px 14px #0003}
.header-search-panel[hidden],.header-search-close[hidden]{display:none!important}
.header-search-panel>.wrap{position:relative;padding-top:20px;padding-bottom:24px;padding-right:76px}
.header-search-panel .site-search{max-width:900px;margin:0}
.header-search-panel .site-search label{color:#c6a16c}
.header-search-close{position:absolute;right:20px;top:22px;width:44px;height:44px;padding:0;background:transparent;color:#f1eee7;border:1px solid #79736b;border-radius:8px;font-size:26px;cursor:pointer}
@media(max-width:850px){.app-enhanced .masthead .brand{max-width:min(42vw,180px)}.app-header-actions{gap:8px}.app-enhanced .app-menu{padding:10px 12px}.header-search-panel>.wrap{padding-top:16px;padding-bottom:20px;padding-right:70px}.header-search-close{right:14px;top:16px}}
@media(max-height:520px){.header-search-panel{max-height:55vh;overflow:auto}}
@media(max-width:850px){.app-enhanced .masthead .brand img{max-width:100%;height:auto}}
