/* Approved v3 geometry; colors from design-tokens-v3.json. Layout never replaces a canvas. */
html#uxV3App[data-ux-layout="v3"].ux-v3 { --v3-bg:#171717; --v3-card:#212121; --v3-text:#fff; --v3-muted:#afafaf; --v3-line:rgba(255,255,255,.15); --v3-hover:rgba(255,255,255,.08); --v3-brand:#3b82f6; --v3-side:56px; --v3-header:52px; --v3-right:0px; --v3-panel-width:360px; --v3-ease:cubic-bezier(.32,.72,0,1); }
html#uxV3App[data-ux-layout="v3"].ux-v3.app-shell-open { --v3-side:260px; }
html#uxV3App[data-ux-layout="v3"].ux-v3:has(body.theme-light) { --v3-bg:#fff; --v3-card:#fff; --v3-text:#0d0d0d; --v3-muted:#5d5d5d; --v3-line:rgba(0,0,0,.10); --v3-hover:rgba(0,0,0,.05); --v3-brand:#2563eb; }
html#uxV3App[data-ux-layout="v3"].ux-v3 body { color:var(--v3-text); font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',sans-serif; padding-left:var(--v3-side)!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #appShell { --as-bg:var(--v3-bg); --as-ink:var(--v3-text); --as-muted:var(--v3-muted); --as-line:var(--v3-line); --as-hover:var(--v3-hover); --as-active:var(--v3-hover); width:var(--v3-side)!important; transform:none!important; visibility:visible; z-index:10; padding:8px; transition:width 240ms var(--v3-ease); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .as-logo img { max-width:170px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #appShellToggle,html#uxV3App[data-ux-layout="v3"].ux-v3 .as-modules { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SidebarSearch { display:flex; gap:10px; width:100%; min-height:36px; padding:0 12px; justify-content:flex-start; color:var(--v3-text); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .as-scroll { font-size:14px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .as-more { width:32px; height:32px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .as-login { background:var(--v3-card); color:var(--v3-text); border-color:var(--v3-line); }
html#uxV3App[data-ux-layout="v3"].ux-v3:not(.app-shell-open) #appShell :is(.as-logo,.as-scroll,.as-search,.as-user-label,.as-register) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3:not(.app-shell-open) #appShell :is(.as-new,.as-icon) { width:40px; height:40px; padding:0; justify-content:center; }
html#uxV3App[data-ux-layout="v3"].ux-v3:not(.app-shell-open) #appShell :is(.as-new span,#v3SidebarSearch span) { display:none; }
html#uxV3App[data-ux-layout="v3"].ux-v3:not(.app-shell-open) .as-works-toggle { display:flex; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .as-account-menu { color:var(--v3-text); background:var(--v3-card); border-color:var(--v3-line); z-index:30; }
@media(max-width:767.98px) {
 html#uxV3App[data-ux-layout="v3"].ux-v3 { --v3-side:0px; --v3-header:48px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3.app-shell-open { --v3-side:0px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #appShell { width:260px!important; max-width:82vw; transform:translateX(-100%)!important; visibility:hidden; z-index:30; }
 html#uxV3App[data-ux-layout="v3"].ux-v3.app-shell-open #appShell { transform:none!important; visibility:visible; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 .app-shell-backdrop { z-index:29!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #appShell :is(button,a,summary) { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { html#uxV3App[data-ux-layout="v3"].ux-v3 *,html#uxV3App[data-ux-layout="v3"].ux-v3 *::before,html#uxV3App[data-ux-layout="v3"].ux-v3 *::after { transition-duration:0ms!important; animation-duration:0ms!important; } }
html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar { position:fixed!important; inset:0 0 auto var(--v3-side)!important; width:auto!important; height:var(--v3-header)!important; min-height:0!important; padding:0 16px!important; display:flex!important; flex-wrap:nowrap!important; gap:16px; z-index:10; background:var(--v3-bg)!important; border-color:var(--v3-line)!important; backdrop-filter:blur(12px) saturate(180%); box-sizing:border-box; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-title { display:flex; align-items:center; flex:1; min-width:0; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #redesignWorkName { width:100%; max-width:320px; min-width:0; color:var(--v3-text); font-size:14px; background:transparent; border:0; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-history,html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-top-actions { display:flex; align-items:center; gap:8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar button { min-width:32px; min-height:32px; height:32px; border-radius:8px; color:var(--v3-text); font-size:14px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #redesignPresent { background:var(--v3-brand)!important; color:var(--v3-text)!important; padding:0 14px; white-space:nowrap; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #redesignSidebar { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3EndPresentation { display:none; position:fixed; top:12px; right:12px; z-index:60; width:44px; height:44px; border-radius:50%; background:var(--v3-card); color:var(--v3-text); }
html#uxV3App[data-ux-layout="v3"].ux-v3[data-v3-presenting] #v3EndPresentation { display:block; }
html#uxV3App[data-ux-layout="v3"].ux-v3[data-v3-presenting] body { padding-left:0!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3[data-v3-presenting] :is(#appShell,#topNavbar,#leftSidebar,#ai-assistant-bar,#pageManagerDock,#zoomDock,#v3SpaceSwitch,#v3Welcome,#v3OnboardingPill,#v3RightPanel) { display:none!important; }
@media(max-width:767.98px) {
 html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar { padding:0 8px!important; gap:4px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar button { min-height:44px; min-width:44px; height:44px; box-sizing:border-box; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar #redesignPresent { height:44px; min-height:44px; padding:0 12px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar :is(.v3-history,#btnShareChalk) { display:none!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #redesignSidebar { display:flex!important; align-items:center; justify-content:center; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #redesignWorkName { font-size:16px; }
}
html#uxV3App[data-ux-layout="v3"].ux-v3 #leftSidebar { position:fixed!important; inset:calc(var(--v3-header) + 24px) auto auto calc(var(--v3-side) + 16px)!important; width:44px!important; max-height:calc(100dvh - 220px); display:flex!important; flex-direction:column!important; gap:4px; padding:4px!important; border-radius:12px!important; color:var(--v3-text)!important; background:var(--v3-card)!important; border:1px solid var(--v3-line)!important; z-index:10!important; box-sizing:content-box; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #leftSidebar > button { flex:none; width:36px!important; height:36px!important; min-width:36px!important; min-height:36px!important; border:0; border-radius:8px; background:transparent; color:inherit; font-size:20px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #leftSidebar > button[aria-pressed=true] { background:var(--v3-hover); outline:1px solid var(--v3-line); }
html#uxV3App[data-ux-layout="v3"].ux-v3 :is(#r4Rail,#r4QuickRail,#redesignContext,#gbBottomTools,#s1UndoBar,#s1TopMore,#topbarLogo,#btnGeometryLive,.as-modules,#workspaceTools,#onboardingTour,#redesignIntro,#appShellLegalFooter) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SpaceSwitch { position:fixed; right:calc(var(--v3-right) + 16px); bottom:16px; display:flex; padding:4px; gap:4px; border:1px solid var(--v3-line); border-radius:12px; background:var(--v3-card); z-index:10; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SpaceSwitch button { min-height:32px; padding:0 12px; font-size:12px; border:0; border-radius:8px; background:transparent; color:var(--v3-muted); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SpaceSwitch button[aria-pressed=true] { background:var(--v3-hover); color:var(--v3-text); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock { position:fixed!important; left:calc(var(--v3-side) + 80px)!important; right:auto!important; bottom:16px!important; transform:none!important; z-index:10!important; background:var(--v3-card)!important; color:var(--v3-text)!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #zoomDock { position:fixed!important; left:calc(var(--v3-side) + 240px)!important; right:auto!important; bottom:16px!important; transform:none!important; z-index:10!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #view3dControls .v3d-mode { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 :is(#shapePanel,#formulaModal,#t1021ToolOpts,.ui-library) { color:var(--v3-text)!important; background:var(--v3-card)!important; border-color:var(--v3-line)!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 :is(#ai-assistant-reopen,#ai-assistant-close,#ai-assistant-histbtn,#ai-trial-remaining,.roles-quick,#emptyHint,.workspace-intro,#redesignHero) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-bar { display:flex!important; position:fixed!important; left:calc(var(--v3-side) + (100vw - var(--v3-side) - var(--v3-right))/2)!important; right:auto!important; bottom:64px!important; transform:translateX(-50%)!important; width:min(640px,calc(100vw - var(--v3-side) - var(--v3-right) - 144px))!important; min-height:52px!important; max-height:200px!important; padding:8px 10px!important; gap:8px!important; border-radius:24px!important; border:1px solid var(--v3-line)!important; background:var(--v3-card)!important; color:var(--v3-text)!important; box-shadow:none!important; z-index:10!important; box-sizing:border-box!important; visibility:visible!important; pointer-events:auto!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-input { height:32px; min-height:32px!important; max-height:176px; padding:4px 0; resize:none; font:16px/24px var(--font-ui,system-ui); color:var(--v3-text)!important; box-sizing:border-box; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-input::placeholder { color:var(--v3-muted); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-bar button { width:32px!important; height:32px!important; min-width:32px; color:var(--v3-text); background:transparent; border-radius:50%; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-send { background:var(--v3-brand)!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu { position:fixed; left:calc(var(--v3-side) + max(72px,(100vw - var(--v3-side) - var(--v3-right) - 640px)/2)); bottom:124px; width:260px; max-height:calc(100dvh - 200px); overflow:auto; z-index:30; padding:8px; border:1px solid var(--v3-line); border-radius:14px; background:var(--v3-card); color:var(--v3-text); box-shadow:0 10px 30px rgba(0,0,0,.4); animation:v3-pop 120ms cubic-bezier(.16,1,.3,1); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu[hidden] { display:none; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu p { margin:8px 10px 4px; color:var(--v3-muted); font-size:12px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu button { display:block; width:100%; min-height:36px; padding:6px 10px; border:0; border-radius:8px; text-align:left; color:inherit; background:transparent; font-size:14px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu button:hover,html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu button:focus-visible { background:var(--v3-hover); }
html#uxV3App[data-ux-layout="v3"].ux-v3 [data-mobile-share] { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3Welcome { position:fixed; left:calc(var(--v3-side) + 96px); right:calc(var(--v3-right) + 32px); top:32vh; text-align:center; color:var(--v3-text); z-index:5; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3Welcome h1 { font-size:28px; line-height:36px; font-weight:600; letter-spacing:-.02em; margin:0 0 12px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3Welcome p { color:var(--v3-muted); font-size:16px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-welcome-cards { display:grid; grid-template-columns:repeat(2,minmax(0,240px)); gap:12px; justify-content:center; margin-top:28px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-welcome-cards button { min-height:72px; border:1px solid var(--v3-line); border-radius:14px; background:var(--v3-card); color:var(--v3-text); font-size:14px; text-align:left; padding:16px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3OnboardingPill { position:fixed; left:calc(var(--v3-side) + (100vw - var(--v3-side))/2); transform:translateX(-50%); bottom:132px; font-size:12px; color:var(--v3-muted); white-space:nowrap; z-index:5; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3OnboardingPill button { padding:4px 8px; color:inherit; background:transparent; border:0; }
html#uxV3App[data-ux-layout="v3"].ux-v3 [hidden] { display:none!important; }
@keyframes v3-pop { from {opacity:0;transform:translateY(4px)} to {opacity:1;transform:translateY(0)} }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel { position:fixed;inset:var(--v3-header) 0 0 auto;width:var(--v3-panel-width);display:flex;flex-direction:column;z-index:20;background:var(--v3-bg);color:var(--v3-text);border-left:1px solid var(--v3-line);animation:v3-panel-in 200ms var(--v3-ease); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel>header { display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelTitle { font-size:18px;line-height:24px;font-weight:600;margin:0; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelClose { width:32px;height:32px;font-size:22px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel button { background:transparent;color:inherit;border:0;border-radius:8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel button:hover { background:var(--v3-hover); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel [role=tablist] { display:flex;padding:0 8px 8px;gap:2px;border-bottom:1px solid var(--v3-line); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel [role=tab] { flex:1;min-height:36px;padding:4px;font-size:12px;white-space:nowrap; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel [role=tab][aria-selected=true] { background:var(--v3-hover); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody { flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelResize { position:absolute;inset:0 auto 0 -4px;width:8px;cursor:col-resize;touch-action:none; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-panel-message { font-size:14px;line-height:22px;color:var(--v3-muted); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-property { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:14px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-property input { width:100px;min-height:36px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody [data-v3-panel-content] { position:static!important;inset:auto!important;transform:none!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:var(--v3-bg)!important;opacity:1!important;visibility:visible!important;overflow:visible!important;padding:0!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody :is(.of-panel,.lg-panel,.share-panel,.export-panel,.ui-dialog) { width:100%!important;max-width:100%!important;max-height:none!important;min-width:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:var(--v3-bg)!important;color:var(--v3-text)!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody :is(.u3d-head,.ui-library-head,.of-head,.lg-head,.tv-head) { flex-wrap:wrap; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody :is(.u3d-close,.ui-library-close,.of-close,.lg-close,.tv-close,#btnClose3DPanel,#btnCloseShare,#btnCloseExport) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody :is(input,textarea,select) { max-width:100%;box-sizing:border-box;background:var(--v3-card);color:var(--v3-text);border-color:var(--v3-line); }
html#uxV3App[data-ux-layout="v3"].ux-v3[data-v3-panel-open] #objectToolbar { display:none!important; }
@keyframes v3-panel-in { from {opacity:0;transform:translateX(16px)} to {opacity:1;transform:none} }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandPalette { position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.32); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-command-box { position:absolute;top:18vh;left:50%;transform:translateX(-50%);width:min(640px,calc(100vw - 32px));max-height:380px;display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--v3-line);background:var(--v3-card);color:var(--v3-text);box-shadow:0 20px 50px rgba(0,0,0,.55);overflow:hidden;animation:v3-command-in 140ms cubic-bezier(.16,1,.3,1); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-command-search { display:flex;padding:8px 12px;gap:8px;border-bottom:1px solid var(--v3-line); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-command-search input { flex:1;min-width:0;height:44px;color:inherit;font-size:16px;background:transparent;border:0;outline:none; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandPalette button { border:0;background:transparent;color:inherit;border-radius:8px;min-height:36px;padding:8px 12px;font-size:14px;text-align:left; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-command-tabs { display:flex;padding:8px;gap:8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandResults { overflow-y:auto;min-height:0;padding:0 8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandResults button { width:100%; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandPalette button:is(:hover,[aria-selected=true]) { background:var(--v3-hover); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-command-hint,html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-command-empty { font-size:12px;color:var(--v3-muted);margin:12px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandPalette[data-slash=true] { background:transparent;pointer-events:none; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandPalette[data-slash=true] .v3-command-box { pointer-events:auto;top:auto;bottom:124px;left:calc(var(--v3-side) + (100vw - var(--v3-side) - var(--v3-right))/2);width:min(640px,calc(100vw - var(--v3-side) - var(--v3-right) - 144px)); }
@keyframes v3-command-in { from {opacity:0;scale:.98} to {opacity:1;scale:1} }
html#uxV3App[data-ux-layout="v3"].ux-v3 :is(#v3MobileUndo,#v3SheetHandle,#v3SheetBackdrop) { display:none; }
html#uxV3App[data-ux-layout="v3"].ux-v3 :is(#gbAppRail,#geoToolsDock,#startupFeatureStatus) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 body #appShell { background:var(--v3-bg)!important;color:var(--v3-text)!important;border-color:var(--v3-line)!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 body #appShell :is(button,a,summary,input) { color:var(--v3-text)!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 body #v3SidebarSearch { display:flex!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 body #appShell :is(.as-register,.as-selectbar) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 body #topNavbar :is(#formula-scene-open,#formula-growth-open) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 body #redesignPresent { background:var(--v3-brand)!important;border:0!important;color:#fff!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody>button { display:block;min-height:44px;width:100%;text-align:left;padding:12px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelBody :is(.of-head,.lg-head) button:last-child { display:none!important; }
@media(max-width:767.98px) {
 html#uxV3App[data-ux-layout="v3"].ux-v3 { --v3-safe:max(34px,env(safe-area-inset-bottom,0px));--v3-keyboard:0px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #leftSidebar { inset:auto 12px calc(var(--v3-safe) + var(--v3-keyboard) + 60px)!important;width:calc(100vw - 24px)!important;height:50px!important;min-height:50px!important;max-height:50px;box-sizing:border-box;flex-direction:row!important;justify-content:space-between;padding:2px!important;gap:0;overflow-x:auto;overflow-y:hidden; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #leftSidebar>button { width:44px!important;min-width:44px!important;flex:0 0 44px;height:44px!important;min-height:44px!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3MobileUndo { display:block; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-bar { bottom:calc(var(--v3-safe) + var(--v3-keyboard))!important;left:8px!important;right:8px!important;transform:none!important;width:calc(100vw - 16px)!important;padding:3px!important;gap:0!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-bar button { min-width:44px!important;width:44px!important;height:44px!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-input { min-width:0;font-size:16px;min-height:44px!important;height:44px; }
 /* Preserve the hit box while a tap is active; feedback uses the existing surface tint. */
 html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar button { transform:none!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock { left:12px!important;bottom:calc(var(--v3-safe) + var(--v3-keyboard) + 116px)!important;height:44px!important;max-width:180px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock button { min-width:44px;min-height:44px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SpaceSwitch { right:12px;bottom:calc(var(--v3-safe) + var(--v3-keyboard) + 116px);height:44px;padding:0 2px;gap:0; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SpaceSwitch button { min-height:44px;padding:0 8px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #zoomDock { display:none!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3Welcome { top:20vh;left:16px;right:16px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3Welcome h1 { font-size:22px;line-height:28px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-welcome-cards { gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-welcome-cards button { padding:12px;min-height:80px;font-size:14px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3OnboardingPill { left:50%;bottom:calc(var(--v3-safe) + var(--v3-keyboard) + 174px);max-width:calc(100vw - 24px);font-size:11px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 [data-mobile-share] { display:block!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu { left:8px;right:8px;bottom:calc(var(--v3-safe) + var(--v3-keyboard) + 60px);width:auto;max-height:40dvh;border-radius:18px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu button { min-height:44px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-command-box,html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandPalette[data-slash=true] .v3-command-box { left:8px;right:8px;top:auto;bottom:calc(var(--v3-safe) + var(--v3-keyboard) + 60px);width:auto;transform:none;max-height:min(380px,60dvh); }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3CommandPalette button { min-height:44px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel { inset:auto 0 var(--v3-keyboard);width:100%;height:var(--v3-sheet-height,70dvh);max-height:calc(100dvh - var(--v3-keyboard) - 8px);border-radius:18px 18px 0 0;border:1px solid var(--v3-line);padding-bottom:var(--v3-safe);box-sizing:border-box;animation:v3-sheet-in 200ms var(--v3-ease); }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelResize { display:none; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SheetHandle { display:block;align-self:center;width:100%;min-height:28px;flex:none;touch-action:none;cursor:ns-resize; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SheetHandle::after { content:'';display:block;width:36px;height:4px;margin:8px auto;background:var(--v3-muted);border-radius:2px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel :is(button,input,select,summary) { min-height:44px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3RightPanel #v3SheetHandle { min-height:28px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PanelClose { width:44px;height:44px; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3SheetBackdrop { display:block;position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:19; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #ui-toast-host { position:fixed!important;inset:calc(var(--v3-header) + 12px) 12px auto!important;max-width:calc(100vw - 24px); }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #appShell { transition:transform 240ms var(--v3-ease); }
}
@keyframes v3-sheet-in { from {opacity:0;transform:translateY(16px)} to {opacity:1;transform:none} }

/* v3 owns viewport geometry; legacy s1 selectors are intentionally inactive. */
html.ux-v3, html.ux-v3 body { height:100%;overflow:hidden!important;overscroll-behavior:none; }
html.ux-v3 body { position:fixed;inset:0;max-width:100vw;box-sizing:border-box; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #workbenchWrapper { position:fixed!important;inset:var(--v3-header) var(--v3-right) 0 var(--v3-side)!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:8px!important;overflow:hidden!important;touch-action:none;transition:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar > .v3-title { display:flex!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar #redesignWorkName { display:block!important; }
@media(max-width:767.98px) {
 html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar #redesignSidebar { display:flex!important;width:44px!important;flex:none; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PlusMenu { overflow-y:auto; }
}

html.ux-v3 :is(#seoArticleSection,#globalFooter) { display:none!important; }

/* Chrome owns geometry even when old feature styles are loaded on demand. */
html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar #redesignPresent { position:static!important;inset:auto!important;width:auto!important;flex:none;box-shadow:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar #redesignPresent::after { content:none; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #topNavbar>.v3-title { flex:1 1 auto!important;width:auto!important;max-width:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock { display:flex!important;align-items:center;box-sizing:border-box;height:40px!important;padding:0 4px!important;gap:0!important;width:auto!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock :is(.page-strip,#pageStripToggle) { display:none!important; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock #btnAddPage { display:inline-flex!important;align-items:center;justify-content:center; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock button { padding:0!important;box-sizing:border-box; }
html#uxV3App[data-ux-layout="v3"].ux-v3 #leftSidebar>button { padding:0!important;box-sizing:border-box; }
@media(max-width:767.98px) {
 html#uxV3App[data-ux-layout="v3"].ux-v3 #pageManagerDock { height:44px!important;padding:0!important;max-width:none; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #leftSidebar>button { flex:0 0 44px!important; }
 html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-mic { min-height:44px; }
}
@media(min-width:768px) {
 html#uxV3App[data-ux-layout="v3"].ux-v3 #ai-assistant-bar #ai-assistant-mic { min-height:32px;min-width:32px; }
}

/* F13 classroom room-prep panel */
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-task-tabs { display:flex;gap:4px;margin:0 0 12px;flex-wrap:wrap; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-task-tabs > button { flex:1 1 auto;min-height:44px;border:1px solid var(--v3-border,rgba(255,255,255,.12));border-radius:10px;background:transparent;color:var(--v3-fg,#e8eaed);padding:8px 12px;cursor:pointer; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-task-tabs > button[aria-selected="true"] { background:color-mix(in srgb,var(--v3-brand) 18%,transparent);border-color:var(--v3-brand);color:#fff; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-class-body { display:flex;flex-direction:column;gap:12px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-room-code { font-size:32px;font-weight:650;letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums;padding:12px;border-radius:12px;background:rgba(255,255,255,.04); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-room-qr { display:flex;justify-content:center;min-height:120px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-room-qr svg { width:148px;height:148px;background:#fff;border-radius:8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-task-actions { display:flex;flex-wrap:wrap;gap:8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-task-actions > :is(button,a) { min-height:44px;padding:8px 14px;border-radius:10px;border:1px solid var(--v3-border,rgba(255,255,255,.12));background:rgba(255,255,255,.04);color:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-task-actions > .v3-primary { background:var(--v3-brand);border-color:var(--v3-brand);color:#fff;font-weight:600; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-status-pill { min-height:32px;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--v3-brand) 45%,transparent);background:color-mix(in srgb,var(--v3-brand) 16%,transparent);color:#dce9ff;font-size:12px;cursor:pointer; }

/* F01 pen / eraser / select options */
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PenOptions { position:fixed; z-index:var(--z-popover,40); width:min(320px,calc(100vw - 24px)); max-height:min(70vh,520px); overflow:auto; padding:12px; border-radius:14px; border:1px solid var(--v3-line,rgba(255,255,255,.12)); background:var(--v3-card,#1c1c1e); color:var(--v3-text,#f5f5f7); box-shadow:0 18px 48px rgba(0,0,0,.45); }
html#uxV3App[data-ux-layout="v3"].ux-v3 #v3PenOptions[data-placement=sheet] { left:0!important; right:0!important; bottom:0!important; top:auto!important; width:100vw; max-width:100vw; max-height:70vh; border-radius:16px 16px 0 0; padding-bottom:calc(12px + env(safe-area-inset-bottom,0px)); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-section-title { font-size:12px; opacity:.72; margin:8px 0 6px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-card { min-height:44px; border-radius:10px; border:1px solid var(--v3-line,rgba(255,255,255,.12)); background:rgba(255,255,255,.04); color:inherit; font-size:12px; cursor:pointer; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-card[aria-pressed=true] { outline:2px solid var(--v3-brand); background:color-mix(in srgb,var(--v3-brand) 18%,transparent); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-colors { display:flex; flex-wrap:wrap; gap:8px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-swatch { width:44px; height:44px; border-radius:999px; border:2px solid rgba(255,255,255,.18); cursor:pointer; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-swatch[aria-pressed=true] { outline:2px solid var(--v3-brand); outline-offset:2px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-sizes { display:flex; flex-wrap:wrap; gap:6px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-size { min-height:40px; min-width:64px; padding:0 10px; border-radius:10px; border:1px solid var(--v3-line,rgba(255,255,255,.12)); background:rgba(255,255,255,.04); color:inherit; cursor:pointer; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-size[aria-pressed=true] { outline:2px solid var(--v3-brand); }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-slider { width:100%; height:44px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-toggle { display:flex; align-items:center; gap:10px; min-height:44px; font-size:14px; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-link, html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-danger { width:100%; min-height:44px; margin-top:8px; border-radius:10px; border:1px solid var(--v3-line,rgba(255,255,255,.12)); background:rgba(255,255,255,.04); color:inherit; cursor:pointer; }
html#uxV3App[data-ux-layout="v3"].ux-v3 .v3-pen-danger { border-color:rgba(239,68,68,.45); color:#fecaca; }


/* F02 formula panel */
#v3FormulaOptions{position:fixed;z-index:var(--layer-stack-40,40);min-width:280px;max-width:360px;padding:12px;border-radius:14px;background:var(--g-surface,#1c1c1f);color:var(--g-fg,#fafafa);box-shadow:0 12px 40px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08)}
#v3FormulaOptions[data-placement=sheet]{left:0;right:0;bottom:0;max-width:none;border-radius:16px 16px 0 0;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.v3-formula-tabs{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}
.v3-formula-tab{flex:1;min-height:40px;border-radius:10px;border:0;background:rgba(255,255,255,.06);color:inherit;font-size:13px}
.v3-formula-tab[aria-selected=true]{background:rgba(59,130,246,.35)}
.v3-formula-input{width:100%;min-height:72px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;padding:10px;resize:vertical;font-size:16px;box-sizing:border-box}
.v3-formula-hint{margin:8px 0;font-size:12px;opacity:.75}


/* F03 subject tools */
.v3-subject{display:flex;flex-direction:column;gap:10px;min-height:0;height:100%}
.v3-subject-search input{width:100%;min-height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;padding:0 12px;font-size:16px;box-sizing:border-box}
.v3-subject-groups{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.v3-subject-group{flex:0 0 auto;padding:0 12px;border-radius:10px;border:0;background:rgba(255,255,255,.06);color:inherit;font-size:13px;white-space:nowrap}
.v3-subject-group[aria-selected=true]{background:color-mix(in srgb,var(--v3-brand) 35%,transparent)}
.v3-subject-size{display:flex;gap:6px}
.v3-subject-size-btn{flex:1;border-radius:10px;border:0;background:rgba(255,255,255,.06);color:inherit}
.v3-subject-size-btn[aria-pressed=true]{background:color-mix(in srgb,var(--v3-brand) 35%,transparent)}
.v3-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:auto;padding-bottom:12px}
@media (min-width:420px){.v3-subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v3-subject-card{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:inherit;padding:10px;text-align:left}
.v3-subject-card-title{font-size:13px;line-height:1.35}


/* F07 net progress + section tip */
.v3-net-progress{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:var(--layer-stack-50,50);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(28,28,31,.92);color:#fafafa;box-shadow:0 8px 28px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1)}
.v3-net-progress[hidden]{display:none!important}
.v3-net-progress button{min-width:44px;min-height:44px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:inherit;font-size:16px}
.v3-net-progress input[type=range]{width:min(40vw,220px);accent-color:var(--v3-brand)}
.v3-section-tip{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:var(--layer-stack-50,50);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-section-tip[hidden]{display:none!important}
.v3-section-tip button{min-height:40px;padding:0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:inherit}


/* F04 · 3D 画板模式胶囊 */
.v3-draw3d-capsule{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:var(--layer-stack-50,50);display:flex;flex-direction:column;align-items:center;gap:8px}
.v3-draw3d-capsule[hidden]{display:none!important}
.v3-draw3d-body{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-draw3d-body[hidden]{display:none!important}
.v3-draw3d-dot{min-width:40px;min-height:40px;border:0;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-weight:700;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-draw3d-dot[hidden]{display:none!important}
.v3-draw3d-body button,.v3-draw3d-opts button{min-height:40px;padding:0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:inherit}
.v3-draw3d-opts{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:16px;background:rgba(28,28,31,.96);color:#fafafa;font-size:13px;min-width:220px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-draw3d-opts[hidden]{display:none!important}
.v3-draw3d-seg{display:flex;flex-wrap:wrap;gap:6px}
.v3-draw3d-seg button[aria-pressed="true"]{background:rgba(90,160,255,.35)}


/* F05 · 3D 空间上下文与手机回平面 · 摇杆显隐 */
.v3-space-context{display:inline-flex;align-items:center;height:28px;padding:0 10px;margin-right:8px;border-radius:999px;background:rgba(59,130,246,.2);color:#93c5fd;font-size:12px;font-weight:600;white-space:nowrap}
.v3-space-context[hidden]{display:none!important}
.v3-space-back-flat{position:fixed;right:16px;bottom:96px;z-index:var(--layer-stack-50,50);min-height:44px;padding:0 14px;border:0;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-space-back-flat[hidden]{display:none!important}
html.v3-joystick-hidden [data-camera-joystick]{display:none!important}


/* F08 · 插入页签与搜索 */
.v3-insert-chrome{display:flex;flex-direction:column;gap:10px;padding:10px 12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.v3-insert-chrome[hidden]{display:none!important}
.v3-insert-tabs{display:flex;flex-wrap:wrap;gap:6px}
.v3-insert-tabs button{min-height:40px;padding:0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:inherit}
.v3-insert-tabs button[aria-selected="true"]{background:rgba(90,160,255,.35)}
.v3-insert-search{min-height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;padding:0 12px}
.v3-insert-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:8px 0 12px;max-height:40vh;overflow:auto}
.v3-insert-card{min-height:56px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:inherit;padding:10px;text-align:left}


/* F09 · 导入进度卡（关面板后右下） */
.v3-import-progress{position:fixed;right:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:var(--layer-stack-50,50);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:13px;box-shadow:0 8px 28px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1)}
.v3-import-progress[hidden]{display:none!important}
.v3-import-progress button{min-height:40px;padding:0 12px;border:0;border-radius:999px;background:color-mix(in srgb,var(--v3-brand) 35%,transparent);color:inherit}


/* F10 · 演示底控条 + 暂停即编辑浮层 */
.v3-present-bar{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:var(--layer-stack-60,60);display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.35);transition:opacity .25s}
.v3-present-bar[hidden],.v3-present-bar[data-faded="1"]{opacity:0;pointer-events:none}
.v3-present-bar[hidden]{display:none!important}
.v3-present-bar button{min-width:40px;min-height:40px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:inherit}
.v3-present-edit{position:fixed;inset:0;z-index:var(--layer-stack-70,70);display:flex;align-items:center;justify-content:center;background:transparent}
.v3-present-edit[hidden]{display:none!important}
.v3-present-edit-body{min-width:220px;padding:16px;border-radius:16px;background:rgba(28,28,31,.96);color:#fafafa;box-shadow:0 12px 40px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:10px}
.v3-present-edit-body button{min-height:44px;border:0;border-radius:999px;background:color-mix(in srgb,var(--v3-brand) 35%,transparent);color:inherit}

/* F11 · 录制胶囊 + 队列胶囊 */
.v3-record-capsule{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:var(--layer-stack-60,60);display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-record-capsule[hidden]{display:none!important}
.v3-record-dot{color:#f87171}
.v3-record-capsule button{min-height:40px;padding:0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:inherit}
.v3-queue-capsule{position:fixed;right:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:var(--layer-stack-50,50);min-height:40px;padding:0 14px;border:0;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:13px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-queue-capsule[hidden]{display:none!important}

/* F12 · 成课进度卡 */
.v3-lesson-progress{position:fixed;right:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:var(--layer-stack-50,50);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(28,28,31,.94);color:#fafafa;font-size:13px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
.v3-lesson-progress[hidden]{display:none!important}

/* F14 · 分享导出页签 */
.v3-share-chrome{display:flex;flex-direction:column;gap:8px;padding:10px 12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.v3-share-chrome[hidden]{display:none!important}
.v3-share-tabs{display:flex;gap:6px}
.v3-share-tabs button{min-height:40px;padding:0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:inherit}
.v3-share-tabs button[aria-selected="true"]{background:rgba(90,160,255,.35)}

/* F15 · 作品课程库侧栏 */
.v3-library-rail{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;background:rgba(20,20,22,.98);color:#fafafa;padding:12px}
.v3-library-rail[hidden]{display:none!important}
.v3-library-tabs{display:flex;gap:6px;margin-bottom:8px}
.v3-library-tabs button{min-height:40px;padding:0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:inherit}
.v3-library-tabs button[aria-selected="true"]{background:rgba(90,160,255,.35)}
.v3-library-q{min-height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;padding:0 12px;margin-bottom:8px}
.v3-library-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1}
.v3-library-item{min-height:44px;padding:10px 12px;border-radius:10px;cursor:pointer}
.v3-library-item:hover{background:rgba(255,255,255,.06)}
.v3-library-empty{opacity:.7;font-size:13px}

/* F16 · 设置整页（Claude 设置页式：左页签 + 正文 ≤768px；色值全走 v3 令牌） */
.v3-settings-page{--p-bg:var(--v3-bg);--p-card:var(--v3-card);--p-soft:var(--v3-hover);--p-ink:var(--v3-text);--p-muted:var(--v3-muted);--p-line:var(--v3-line);--p-solid:var(--v3-brand);--p-ok:var(--g-green);--p-danger:var(--v3-danger);position:fixed;inset:0;z-index:var(--layer-stack-80,80);display:flex;background:var(--v3-bg);color:var(--v3-text);font-family:var(--v3-font-ui,inherit)}
.v3-settings-page[hidden]{display:none!important}
.v3-settings-nav{flex:none;width:220px;padding:16px 8px;border-right:1px solid var(--v3-line);display:flex;flex-direction:column;gap:2px;overflow:auto}
.v3-settings-nav button{min-height:36px;text-align:left;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--v3-muted);font-size:14px;cursor:pointer}
.v3-settings-nav button:hover{background:var(--v3-hover);color:var(--v3-text)}
.v3-settings-nav button[aria-current="true"]{background:var(--v3-hover);color:var(--v3-text);font-weight:600}
.v3-settings-nav .v3-settings-back{margin-bottom:12px;color:var(--v3-text)}
.v3-settings-main{flex:1;min-width:0;padding:40px 32px;overflow:auto}
.v3-settings-main > *{max-width:768px;margin-left:auto;margin-right:auto}
.v3-settings-title{margin-top:0;margin-bottom:24px;font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.015em;outline:none}
.v3-settings-body.st-dialog{width:auto;height:auto;max-width:768px;display:block;overflow:visible;background:transparent;font-size:15px}
.v3-settings-note{color:var(--v3-muted);font-size:14px;line-height:20px}
.v3-settings-primary{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--v3-brand);color:#fff;text-decoration:none;font-weight:600}
.v3-settings-link{min-height:44px;padding:0;border:0;background:none;color:var(--v3-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.v3-settings-links{list-style:none;margin:0;padding:0;border:1px solid var(--v3-line);border-radius:12px}
.v3-settings-links li + li{border-top:1px solid var(--v3-line)}
.v3-settings-links a{display:flex;align-items:center;min-height:48px;padding:0 16px;color:var(--v3-text);text-decoration:none}
.v3-settings-links a:hover{background:var(--v3-hover)}
@media (max-width:767px){.v3-settings-page{flex-direction:column}.v3-settings-nav{width:auto;flex-direction:row;padding:8px;border-right:0;border-bottom:1px solid var(--v3-line);overflow-x:auto}.v3-settings-nav button{flex:none;min-height:44px}.v3-settings-nav .v3-settings-back{margin:0 8px 0 0}.v3-settings-main{padding:24px 16px calc(24px + env(safe-area-inset-bottom))}}

/* F16b · 定价页按钮热区 ≥44（CSS 变量已在 pricing.css；此处仅 shell 侧占位标记） */
.v3-f16b-pricing-mark{display:none}

/* F22 · 背景与光影 */
.v3-bg-chrome{display:flex;flex-direction:column;gap:12px;padding:12px;min-height:200px}
.v3-bg-chrome[hidden]{display:none!important}
.v3-bg-tabs{display:flex;gap:6px;flex-wrap:wrap}
.v3-bg-tabs button{min-height:40px;padding:0 14px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:inherit}
.v3-bg-tabs button[aria-selected="true"]{background:rgba(90,160,255,.35)}
.v3-bg-preview{margin:0;font-size:13px;opacity:.85}
.v3-bg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.v3-bg-tile{min-height:60px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit;cursor:pointer}
.v3-bg-tile:hover{outline:2px solid rgba(90,160,255,.7)}

/* F20 · Agent */
.v3-agent-connect{position:fixed;inset:10% 20%;z-index:var(--layer-stack-70,70);background:#141416;color:#fafafa;border-radius:16px;padding:24px;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.v3-agent-connect[hidden]{display:none!important}
.v3-agent-clients{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.v3-agent-clients button{min-height:40px;padding:0 14px;border-radius:999px;border:0;background:rgba(255,255,255,.08);color:inherit}
.v3-agent-clients button[aria-selected="true"]{background:rgba(90,160,255,.35)}
.v3-agent-config{background:rgba(0,0,0,.35);padding:12px;border-radius:10px;font-size:12px;overflow:auto;max-height:240px}
.v3-agent-copy{min-height:44px;margin-top:12px;border:0;border-radius:999px;padding:0 18px;background:var(--v3-brand);color:#fff}
.v3-agent-capsule{min-height:36px;padding:0 12px;border-radius:999px;border:0;background:rgba(59,130,246,.25);color:#dbeafe;margin-left:8px}
.v3-agent-capsule[hidden]{display:none!important}

/* F21 · 生成通道标记 */
.v3-f21-flow-mark{display:none}
/* F17 reply card + context capsule */
.v3-ai-reply-card{
  position:fixed; left:50%; bottom:88px; transform:translateX(-50%);
  z-index:45; width:min(520px, calc(100vw - 32px));
  background:var(--surface-1, #16181d); color:var(--text-1, #f2f4f8);
  border:1px solid var(--border-1, #2a2e36); border-radius:12px;
  padding:12px 14px; box-shadow:0 8px 28px rgba(0,0,0,.35);
}
.v3-ai-reply-card[hidden]{display:none!important}
.v3-ai-reply-steps{margin:0; padding:0; list-style:none}
.v3-ai-reply-steps li{display:flex; justify-content:space-between; gap:8px; padding:4px 0; font-size:13px}
.v3-ai-reply-steps code{opacity:.7; font-size:11px}
.v3-ai-reply-actions{display:flex; gap:8px; margin-top:8px}
.v3-ai-reply-actions button{
  flex:1; height:36px; border-radius:8px; border:1px solid var(--border-1,#2a2e36);
  background:var(--surface-2,#1e2229); color:inherit; cursor:pointer;
}
.v3-ai-reply-model,.v3-ai-reply-summary,.v3-ai-reply-missing{margin:8px 0 0; font-size:12px; opacity:.75}
.v3-ai-context{
  display:inline-flex; align-items:center; gap:6px;
  margin:0 0 6px; padding:4px 8px; border-radius:999px;
  background:var(--surface-2,#1e2229); font-size:12px;
}
.v3-ai-context[hidden]{display:none!important}
.v3-ai-context button{border:0; background:transparent; color:inherit; cursor:pointer; font-size:14px}
/* F19: hide topbar notification bell — entry via account menu */
#systemNotificationBell[data-v3-f19-hidden="1"],
#systemNotificationBell[hidden]{display:none!important}
.v3-toast-pending{font-size:11px;opacity:.7;margin-top:4px}
