.sanctuary-shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--app-bg);color:var(--app-text)}.sanctuary-shell[data-immersive=true]{height:100dvh;overflow:hidden}.sanctuary-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-shrink:0;min-height:56px;padding:7px 20px;background:var(--app-bg);border-bottom:1px solid var(--app-border-strong);z-index:80}.sanctuary-brand{display:flex;align-items:center;gap:7px;color:var(--app-accent-2);font:19px Georgia,serif;letter-spacing:.04em;white-space:nowrap}.sanctuary-bar nav{display:flex;align-items:center;gap:5px}.sanctuary-bar nav a{display:flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid transparent;border-radius:5px;color:var(--app-muted);font-size:12px}.sanctuary-bar nav a[aria-current=page]{color:var(--app-accent-2);background:var(--app-accent-2-soft);border-color:var(--app-accent-2-border)}.sanctuary-bar nav a:hover{color:var(--app-text);background:var(--app-panel)}.sanctuary-utilities{display:flex;align-items:center;gap:8px}.sanctuary-account>button,.sanctuary-utilities>button{min-height:36px;width:36px;border:1px solid var(--app-border-strong);border-radius:5px;padding:8px;color:var(--app-muted)}.sanctuary-account{position:relative}.sanctuary-account-menu{position:absolute;right:0;top:calc(100% + 12px);min-width:200px;border:1px solid var(--app-border-strong);border-radius:5px;background:var(--app-bg);box-shadow:var(--app-shadow-soft);padding:8px}.sanctuary-account-menu p{padding:8px;color:var(--app-muted);font-size:12px}.sanctuary-account-menu a,.sanctuary-account-menu button{display:flex;gap:8px;align-items:center;padding:10px 8px;width:100%;font-size:12px;text-align:left}.sanctuary-content{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.sanctuary-shell[data-immersive=true] .sanctuary-content{overflow:hidden}.sanctuary-bar a:focus-visible,.sanctuary-bar button:focus-visible{outline:2px solid var(--app-accent-2);outline-offset:3px}@media (max-width:60rem){.sanctuary-bar{gap:5px;padding:7px 8px;flex-wrap:wrap}.sanctuary-brand{font-size:16px}.sanctuary-bar nav{order:3;width:100%;justify-content:space-between;gap:2px;flex-wrap:wrap}.sanctuary-bar nav a{padding:8px 7px;gap:5px;font-size:11px}.sanctuary-utilities{margin-left:auto}}.sanctuary-bar nav .sanctuary-teacher-link{min-height:36px;border-color:var(--app-accent-2-border);background:var(--app-accent-2-soft);color:var(--app-accent-2);white-space:nowrap}