[hidden]{display:none!important}
#help-button,#fullscreen-button{position:fixed;bottom:calc(13px + env(safe-area-inset-bottom,0px));width:44px;height:44px;z-index:5;border:1px solid #f5b5c044;background:#0f0b0a;color:#f5b5c0;font:16px monospace;cursor:pointer;border-radius:50%;opacity:.8;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#help-button{right:calc(13px + env(safe-area-inset-right,0px))}
#help-control{position:fixed;right:calc(13px + env(safe-area-inset-right,0px));bottom:calc(13px + env(safe-area-inset-bottom,0px));width:44px;height:44px;z-index:5;border-radius:50%}
#help-control #help-button{position:relative;inset:auto;z-index:auto;display:block}
#help-control:has(:focus-visible){outline:2px solid #f5b5c0;outline-offset:4px}
#fullscreen-button{left:calc(13px + env(safe-area-inset-left,0px));font-size:22px}
#help-button:hover,#help-button:focus-visible,#fullscreen-button:hover,#fullscreen-button:focus-visible{opacity:1;border-color:#f5b5c0}
#help-dialog,#help-dialog *{box-sizing:border-box}
#help-dialog{--menu-ink:#f3e9d2;--menu-muted:#b9afa7;--menu-gold:#e6c355;position:fixed;inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);margin:auto;width:min(720px,calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:min(780px,calc(100vh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));height:min(780px,calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));max-width:none;max-height:none;overflow:hidden;border:1px solid #706149;border-top:3px solid var(--menu-gold);border-radius:6px;padding:0;background:#151210;color:var(--menu-ink);font:1rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:0 20px 90px #0009;-webkit-user-select:text;user-select:text;touch-action:pan-y pinch-zoom}
#help-dialog[open]{display:flex;flex-direction:column}
#help-dialog::backdrop{background:#080605db}
.help-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:22px 24px 20px}
.help-brand{margin:0 0 6px;color:var(--menu-gold);font-size:.875rem;font-weight:600;letter-spacing:.09em}
#help-dialog h1{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em;font-weight:600;margin:0}
#help-close{flex:none;width:44px;height:44px;border:1px solid #5b4c40;border-radius:3px;background:#211b17;color:var(--menu-ink);font:1.75rem/1 monospace;cursor:pointer;touch-action:manipulation}
.help-tabs{display:grid;grid-template-columns:1.25fr 1fr;flex:none;margin:0 24px;border-bottom:1px solid #51443a;gap:12px}
.help-tabs button{min-height:48px;padding:10px 4px;border:0;border-bottom:3px solid transparent;background:none;color:var(--menu-muted);font:inherit;font-size:.875rem;font-weight:600;text-align:left;cursor:pointer;touch-action:manipulation}
.help-tabs button[aria-selected=true]{color:var(--menu-gold);border-bottom-color:var(--menu-gold)}
.help-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#776449 #151210;padding:18px 24px 24px;scroll-padding:16px;touch-action:pan-y pinch-zoom}
.panel-hint{color:var(--menu-muted);font-size:.875rem;margin:0 0 16px}
#shell-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#shell-buttons button{min-width:0;min-height:52px;padding:12px 10px;background:#241e1a;border:1px solid #59483b;border-radius:3px;color:var(--menu-ink);font:inherit;font-size:.9375rem;line-height:1.35;cursor:pointer;overflow-wrap:anywhere;touch-action:manipulation;text-align:center;box-shadow:0 2px 0 #0b0908;scroll-margin:12px}
#shell-buttons button:active{transform:translateY(1px);box-shadow:none}
#help-dialog button:focus-visible{outline:2px solid var(--menu-gold);outline-offset:3px}
#help-dialog dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;margin:4px 0 28px}
#help-dialog dl div{border-top:1px solid #51443a;padding-top:14px}
#help-dialog dt{color:var(--menu-gold);font-weight:600;font-size:1rem;margin-bottom:6px}
#help-dialog dd{color:var(--menu-ink);font-size:1rem;line-height:1.6;margin:0}
.key-hint{border-top:1px solid #51443a;padding-top:18px;color:var(--menu-muted);font-size:.875rem;line-height:1.8;margin:0}
.key-hint kbd{display:inline-block;min-width:24px;padding:0 6px;border:1px solid #59483b;border-radius:3px;color:var(--menu-ink);font:inherit;text-align:center}
.site-credit{margin:24px 0 0;border-top:1px solid #51443a;padding-top:18px;color:var(--menu-muted);font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
.site-credit a{display:inline-flex;align-items:center;min-height:44px;color:var(--menu-gold);text-decoration:underline;text-underline-offset:4px;touch-action:manipulation}
.site-credit a:hover{color:var(--menu-ink)}
.site-credit a:focus-visible{outline:2px solid var(--menu-gold);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
canvas:focus-visible{outline:1px solid #f5b5c055;outline-offset:-5px}
@media(hover:hover){#shell-buttons button:hover{background:var(--menu-gold);border-color:var(--menu-gold);color:#151210}#help-close:hover{background:#3c3026}.help-tabs button:hover{color:var(--menu-ink)}}
@media(max-width:580px){#help-dialog{width:calc(100% - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));height:calc(100vh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.help-header{padding:18px 16px 16px;gap:12px}.help-brand{font-size:.875rem;letter-spacing:.04em}#help-dialog h1{font-size:1.25rem}.help-tabs{margin:0 16px;gap:8px}.help-tabs button{font-size:.875rem}.help-content{padding:16px 16px 24px}#shell-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#shell-buttons button{padding:12px 6px}#help-dialog dl{grid-template-columns:1fr;gap:20px}}
@media(max-height:500px) and (min-width:581px){.help-header{padding:10px 20px}.help-brand{margin-bottom:2px}#help-dialog h1{font-size:1.125rem}.help-tabs{margin:0 20px}.help-tabs button{min-height:44px;padding:8px 4px}.help-content{padding:12px 20px 20px}#shell-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}}
