/* Settings owns its layout here. Existing action IDs and locale bindings stay stable. */
#gearMenu{padding:0;background:var(--surface);box-shadow:none;overscroll-behavior:contain;color:var(--text)}
#gearMenu .gear-menu-panel{max-width:520px;min-height:100%;flex-shrink:0;padding:0 24px max(24px,env(safe-area-inset-bottom));gap:0;background:var(--surface);box-shadow:none;box-sizing:border-box}
#gearMenu .gear-menu-head{position:sticky;top:0;z-index:2;flex-shrink:0;margin:0 -24px;padding:calc(16px + env(safe-area-inset-top)) 24px 16px;background:var(--surface);gap:16px}
#gearMenu .gear-menu-title{font:500 26px/1.35 var(--serif);margin:0;min-width:0;overflow-wrap:anywhere}
#gearMenu .gear-menu-close{flex:none;border-radius:50%;padding:0;background:var(--surface-raised)}
#gearMenu .gear-menu-list{padding-top:12px;gap:4px}
#gearMenu .nightline-tools{padding:12px 0;margin:0;border:0;gap:16px;flex-wrap:wrap}
#gearMenu .nightline-tools label{font-size:16px;line-height:1.5;flex:1;min-width:90px}
#gearMenu .nightline-tools select{flex:1;min-width:140px;max-width:100%;width:auto;font-size:16px;min-height:48px;background:var(--surface-raised)}
#gearMenu .gear-menu-group-label{margin:22px 0 6px;padding:16px 0 0;border-top:1px solid var(--line-ui);font-size:14px;line-height:1.5}
#gearMenu .gear-menu-list>button{border-radius:10px;min-height:52px;padding:12px 0;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
#gearMenu .gear-menu-list>button::before{flex-shrink:0}
#gearMenu .gear-lang{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:0}
#gearMenu .gear-lang::before{display:none}
#gearMenu .gear-lang-option{width:100%;padding:12px 6px;justify-content:center;gap:4px;font-size:14px;white-space:normal;line-height:1.5;min-height:48px;border:1px solid var(--line-ui);border-radius:10px;background:var(--surface-raised)}
#gearMenu .gear-lang-option[aria-pressed="true"]{background:var(--accent-wash);color:var(--accent);border-color:var(--accent)}
#gearMenu .gear-lang-option .lang-flag{display:none}
#gearMenu .gear-menu-legal{padding:18px 0 0;flex-wrap:wrap;gap:12px 24px}
#gearMenu .gear-menu-legal a{font-size:14px;line-height:1.5}
#gearNewPuzzleBtn{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18M15 3v18'/%3E%3C/svg%3E")}
@media(max-width:360px){#gearMenu .gear-menu-panel{padding-inline:16px}#gearMenu .gear-menu-head{margin-inline:-16px;padding-inline:16px}#gearMenu .gear-lang{grid-template-columns:1fr}#gearMenu .gear-lang-option{justify-content:flex-start;padding-inline:14px}}
@media(min-width:721px){#gearMenu{inset:24px 24px 24px auto;width:min(520px,calc(100vw - 48px));border:1px solid var(--line-ui);border-radius:24px;box-shadow:var(--shadow-raised)}#gearBackdrop{background:var(--overlay)}}
/* Text-heavy dialogs must fit translated copy and enlarged system text. */
#dashboardModal .nightline-account .modal-warm-copy{min-width:0;overflow-wrap:anywhere}
#dashboardModal .nightline-account .modal-warm-copy h2{font-size:24px;line-height:1.4}
#dashboardModal .nightline-account :is(button,a){white-space:normal;overflow-wrap:anywhere;line-height:1.5}
