.menu-toggle{position:fixed;z-index:7;top:var(--scene-header-center);transform:translateY(-50%);right:clamp(20px,4vw,64px);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--scene-gear,#fff);cursor:pointer}
.menu-toggle svg{width:27px;height:27px;transition:opacity .18s}
.menu-toggle:hover{background:transparent}
.menu-toggle:hover svg{opacity:.78}
.menu-toggle{top:var(--scene-header-center);right:max(clamp(20px,4vw,64px),env(safe-area-inset-right,0px))}
.app-dialog{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:32px}
.app-dialog-shade{position:absolute;inset:0;background:rgb(0 0 0 / .62);backdrop-filter:blur(8px)}
.app-dialog-card{position:relative;display:flex;flex-direction:column;width:min(960px,100%);max-height:calc(100dvh - 64px);border:1px solid var(--sidebar-border);border-radius:var(--radius);background:var(--card);box-shadow:0 24px 64px rgb(0 0 0 / .32);overflow:hidden}
.settings-card{width:min(760px,100%)}
.app-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 36px 24px;border-bottom:1px solid var(--border);flex:none}
.app-dialog-header h1{margin:0;font-size:32px;font-weight:600;line-height:1.3;letter-spacing:-.035em}
.app-dialog-header h1:focus{outline:none}
.app-dialog-close{display:grid;place-items:center;flex:none;width:40px;height:40px;border:0;border-radius:var(--radius-control);background:var(--muted);color:var(--muted-foreground);font-size:28px;line-height:1;cursor:pointer}
.app-dialog-close:hover{color:var(--foreground)}
.app-dialog-body{overflow:auto;overscroll-behavior:contain;padding:28px 36px 36px;scrollbar-width:thin;scrollbar-color:var(--input) transparent}
.account-menu{padding:22px;border:1px solid var(--input);border-radius:var(--radius-control);background:var(--background)}
.account-profile{padding:0 0 20px}
.account-email{font-size:18px}
.account-preferences{font-size:15px;line-height:1.6}
.logout-button{width:auto;min-height:44px;font-size:16px}
.settings-section-title{margin:28px 0 18px;font-size:21px;font-weight:500}
#breathing-settings{padding:22px;border:1px solid var(--input);border-radius:var(--radius-control);background:var(--background)}
#breathing-settings .breath-controls{padding:0;border:0}
#breathing-settings .breath-controls label{font-size:16px}
#breathing-settings select{min-height:48px;font-size:16px;margin:16px 0}
#breathing-settings .breath-caption{font-size:14px;line-height:1.7}
.navigation-description{margin:0 0 26px;color:var(--muted-foreground);font-size:17px;line-height:1.7;max-width:680px}
.navigation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.navigation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.navigation-item{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;padding:26px 22px;border:1px solid var(--input);border-radius:var(--radius-control);background:var(--background);color:var(--foreground);text-align:left;cursor:pointer}
.navigation-item:hover{background:var(--accent);border-color:var(--primary)}
.navigation-item h2{margin:0;font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
.navigation-item p{margin:0;font-size:16px;color:var(--muted-foreground);line-height:1.65}
.navigation-meta,.navigation-item .navigation-meta{font-size:14px;color:var(--accent-foreground);line-height:1.6}
.navigation-note{margin:26px 0 0;font-size:14px;line-height:1.7;color:var(--muted-foreground)}
.navigation-back{min-height:44px;margin:0 0 20px;padding:9px 16px;border:1px solid var(--input);border-radius:var(--radius-control);background:transparent;color:var(--foreground);font-size:16px;cursor:pointer}
.navigation-back:hover{background:var(--muted)}
.technique-label{display:inline-block;margin:14px 0 0;padding:8px 14px;border:1px solid var(--secondary);border-radius:var(--radius-control);color:var(--accent-foreground);background:var(--accent);font-size:15px}
@media(max-width:700px){.menu-toggle{top:var(--scene-header-center);right:10px;width:44px;height:44px;padding:0}.app-dialog{padding:14px}.app-dialog-card{max-height:calc(100dvh - 28px)}.app-dialog-header{padding:22px 24px 18px}.app-dialog-header h1{font-size:27px}.app-dialog-body{padding:22px 24px 28px}.navigation-grid,.navigation-list{grid-template-columns:1fr}.navigation-item{padding:22px}.navigation-item h2{font-size:23px}}
.app-dialog{padding-top:calc(32px + env(safe-area-inset-top,0px));padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}
.app-dialog-card{max-height:calc(100dvh - 64px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
@media(max-width:700px){.menu-toggle{top:var(--scene-header-center);right:max(10px,env(safe-area-inset-right,0px))}.app-dialog{padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}.app-dialog-card{max-height:calc(100dvh - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}
.brand-button{display:block;border:0;padding:0;background:none;cursor:pointer;border-radius:6px}
.controls{left:clamp(20px,4vw,64px);right:auto}
.account-profile{gap:16px;flex-wrap:wrap;align-items:center;padding:0 0 24px}
.account-email{max-width:100%}
.logout-button{padding:8px 14px;background:transparent;color:var(--muted-foreground);border-color:var(--border)}
.preferences-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.preferences-grid label{display:grid;gap:10px;font-size:16px;font-weight:500}
.preferences-grid select{width:100%;min-width:0;height:48px;padding:10px 12px;border:1px solid var(--input);border-radius:var(--radius-control);background:var(--card);color:var(--foreground);font-size:16px;cursor:pointer}
.preferences-grid select:focus-visible,.phase-settings input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.settings-status{margin:16px 0 0;font-size:14px;color:var(--accent-foreground);line-height:1.6}
.settings-status:empty{display:none}
.settings-status.error{color:var(--destructive)}
#breathing-settings{margin-top:24px}
.breath-controls h2{margin:0 0 22px;font-size:21px;font-weight:500}
.breath-patterns{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}
.breath-patterns button{min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--muted-foreground);font-size:15px;cursor:pointer;white-space:nowrap}
.breath-patterns button:hover{background:var(--muted);color:var(--foreground)}
.breath-patterns button[aria-selected=true]{background:var(--accent);border-color:var(--secondary);color:var(--accent-foreground)}
.phase-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}
.phase-settings label{display:grid;gap:10px;font-size:15px;font-weight:400;color:var(--muted-foreground)}
.phase-settings input{width:100%;min-width:0;height:48px;padding:10px 12px;border:1px solid var(--input);border-radius:var(--radius-control);background:var(--card);color:var(--foreground);font-size:18px;font-family:var(--font-mono)}
.phase-settings input:user-invalid{border-color:var(--destructive)}
.phase-settings input:disabled{opacity:.5}
.breath-reset{min-height:48px;padding:10px 14px;border:1px solid var(--input);border-radius:var(--radius-control);background:transparent;color:var(--muted-foreground);font-size:15px;cursor:pointer}
.breath-reset:hover:not(:disabled){background:var(--muted);color:var(--foreground)}
.breath-reset:disabled{opacity:.5;cursor:default}
.breath-caption{line-height:1.6}
#breathing-settings .breath-caption{margin:14px 0 0}
.controls .phase-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
.controls .breath-reset{grid-column:1/-1}
@media(max-width:560px){.controls{left:18px;right:auto}.preferences-grid{gap:14px}.account-menu,#breathing-settings{padding:18px}.phase-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.breath-reset{grid-column:1/-1;justify-self:end}.breath-patterns{gap:4px}.breath-patterns button{padding:10px;font-size:14px}}
